SlideShare a Scribd company logo
Направи си сам
Raspberry Pi HAT
Леон Анави
OpenFest 2016
Съдържание
 Raspberry Pi
 Шапки за Raspberry Pi
 Проектиране
 Изработка на прототипи
 Софтуерна поддръжка
Raspberry Pi
Raspberry Pi
 2009 - основана е фондацията Raspberry Pi
 2011 - разработва се Raspberry Pi
 2012 – стартират продажбите на Raspberry Pi
 2014 – Raspberry Pi Model B+
 2015 – Raspberry Pi 2
 2016 - Raspberry Pi 3
 2016 - Raspberry Pi 0
Raspberry Pi
Малко сравнения...
Версия SoC CPU Архитектура
Raspberry Pi 0 Broadcom
BCM2835
1 GHz 1 ядро
ARM1176JZF-S
ARMv6
Raspberry Pi
Model A / B
Broadcom
BCM2835
700 MHz 1 ядро
ARM1176JZF-S
ARMv6
Raspberry Pi
Model A+ / B+
Broadcom
BCM2835
700 MHz 1 ядро
ARM1176JZF-S
ARMv6
Raspberry Pi 2
Model B
Broadcom
BCM2836
900 MHz 4 ядра
ARM Cortex-A7
ARMv7
Raspberry Pi
Model B
Broadcom
BCM2837
1.2 GHz 4 ядра
ARM Cortex-A53
ARMv8
Периферия
 I2C
 SPI
 1-wire
 И много други...
Важни промени
40 щифта
26 щифта
Raspberry Pi B+
(2014)
Raspberry Pi B
(2011)
Версии с 40 щифта
40-те щифта
Raspberry Pi шапки
 HAT (Hardware Attached on Top)
 Стандартни платки специално за Raspberry Pi
 Появява се като спецификация през 2014
заедно Raspberry Pi B+
Стандарт за Raspberry Pi HAT
 Форма и размери (65x56mm)
 40 щифта за захващане към Raspberry Pi B+ и
по-нови версии
 EEPROM с информация за потребителя и device
tree (DT) fragment
 За детайли: https://github.com/raspberrypi/hats
Sense HAT
 Шапка от Raspberry Pi Foundation
 Използвана за Astro Pi мисията
 Библиотеки за Python
 Емулатор: https://www.raspberrypi.org/blog/sense-hat-emulator/
Sense HAT
 8×8 RGB LED матрица
 Малък джойстик
 Сензори за температура, влажност,
атмосферно налягане, ускорение, магнетизъм
и жироскоп
RabbitMax Flex
 Open source hardware and software хоби проект
 Шапка за лесно и бързо правене на Internet of
Things и приложения за домашна
автоматизация
RabbitMax Flex
 Инфраред приемник и предавател
 Зумер (или за по-просто звънец)
 Многоцветен светодиод
 Реле
 Бутон
 Слот за 16x2 LCD дисплей
 5 слота за I2C сензори
 Сериен интерфейс за дебъгване
От идея до продукт
 Бавно, но славно и за около година след
идеята проектът ми се превърна в реалност :)
Жизнен цикъл
Четене на
документация
Проектиране
Прототипи
Тестване
Софтуер
Документация
Тестване
Идея
Необходими инструменти
 Raspberry Pi
 Станция за запояване
 Пинцети
 Лупа
 Мултимер
Olimex работилница по време на FOSDEM 2014
Прототипни платки
 Adafruit Perma-Proto HAT (с или без EEPROM)
 Обикновена двуслойна прототипна платка
 Breadboard
Проектиране на платка
 Шаблони за Eagle:
http://www.flyfish-tech.com/pub/RasPi-BplusHAT.zip
 Шаблони за KiCAD:
https://github.com/xesscorp/RPi_Hat_Template
http://gitlab.openfet.com/julien/pihat-template
 Инструкции за KiCAD:
http://openfet.com/2015/12/24/kicad-how-to-
design-a-raspberry-pi-hat-in-10-minutes/
Съвети при проектиране
 Използвайте леснодостъпни компоненти от
надеждни доставчици
 Разположете компонентите на шапката така, че
да не са във физически конфликт с елементите
на Raspberry Pi
 Изберете подходящ размер на компонентите за
SMT монтаж, така че да можете да го направите
на ръка за прототипите
 Изберете разположение компонентите така, че
да се монтират максимално бързо
Макет
 Макетите от картон са лесен, удобен, бърз и
евтин начин за проба на физическите размери
на платката
Отпечатване на прототипи
 В България: Ви-Рус Интернешънъл, СЕЛЕКТРА,
SIRIUS-PCB, Микрон-20 и други
 В Китай
 В САЩ: https://oshpark.com/
Операционни системи (ОС)
 Raspbian – официалната GNU/Linux дистрибуция
 GNU/Linux дистрибуции: Ubuntu Mate, Fedora,
ArchLinux, OSMC, OpenELEC, LibreELEC, Tizen,
GENIVI Developement Platform (GDP), Automotive
Grade Linux (AGL) и много други
 Yocto/OE (чрез meta-raspberrypi)
 Buildroot
 Други: Windows 10 IoT Core, RISC OS
Device Tree (DT)
 Device Tree Source (DTS) e специфичен формат
за описание на хардуера
 DT може да е разпръснато на няколко файла
(.dts и .dtsi)
 Linux kernel-а не съдържа описание на
хардуера след въвеждането на DT
 Bootloader-ът зарежда Linux kernel и device tree
blob (DTB)
EEPROM
 EEPROM – препрограмируема памет
 Съдържа DT фрагмент и информация за
производителя на Raspberry Pi HAT
 Чрез информацията от EEPROM-а се разпознава
софтуерно каква е закачената шапка върху
Raspberry Pi
Запис и четене от EEPROM
 Препоръчителни EEPROM компоненти:
CAT24C32 или M24C32-WBN6P
 DIP8 корпус с I2C интерфейс
 Проект с отворен код за инструменти за запис
на DT фрагмент и информация за шапката
върху EEPROM направо от Raspberry Pi:
https://github.com/raspberrypi/hats
I2C ЕЕPROM и Raspberry Pi
 За запис: 3 и 5 щифт
 За четене: 27 и 28 щифт
/proc/device-tree/hat
Програмни езици
 Python: най-популярен език в Raspberry Pi
общността, има много библиотеки
 C: до ден днешен най-популярният език за
писане на софтуер за вградени системи
 C++, JavaScript, Java, PHP, Perl, Rust, Go и на
практика всеки друг език...
WiringPi
 Библиотека на C/C++ за управление на GPIO
на Raspberry Pi
 GNU LGPLv3 лиценз
 Съществуват портове за всички други
популярни езици за програмиране
 http://wiringpi.com/
WiringPi означения
Управление на релето на
RabbitMax Flex
https://github.com/RabbitMax/rabbitmax-examples
Производство и продажби
 Колкото е по-голямо количеството, толкова
по-ниска е производствена цена на една
платка
 Може да предоставите вашия продукт на
други ентусиасти през популярни сайтове
като ebay и OLX или специализирани сайтове
като Tindie
 Може да набавите финансиране, за да
произведете повече пратки през кампании в
сайтове като IndieGoGo
Опитът ми от RabbitMax Flex
 Tindie – лесен, приятен и
удобен начин за продажба
на прототипи
 IndieGoGo – скромна
кампания за набиране на
средства от 1 ноември до 3
декември 2016, за да може
да поръчам производство на
повечко платки
Полезни ресурси
 https://www.raspberrypi.org/blog/introducing-
raspberry-pi-hats/
 https://www.raspberrypi.org/magpi/make-your-
own-hat/
 http://openfet.com/2015/12/24/kicad-how-to-
design-a-raspberry-pi-hat-in-10-minutes/
 https://www.raspberrypi.org/products/sense-hat/
 http://rabbitmax.com/
Въпроси?

More Related Content

PPT
Introduction to Reverse Engineering
PDF
Адаптация на Linux за ARM устройства
ODP
Въведение в RetroPie за Raspberry Pi
ODP
Programming Small Devices - Web Summit Bulgaria 2014
PDF
Open source: от "голо желязо" до JavaScript
PDF
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
PDF
Ikaria- Coordinator meetings-speaker cert
PDF
Introduction to Reverse Engineering
Адаптация на Linux за ARM устройства
Въведение в RetroPie за Raspberry Pi
Programming Small Devices - Web Summit Bulgaria 2014
Open source: от "голо желязо" до JavaScript
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
Ikaria- Coordinator meetings-speaker cert

Viewers also liked (20)

PPTX
Prueba
PDF
MC_DanielLichti_160212-VAW
PDF
Certificate_Anna Pogrebniak_signed
PDF
Gina depaul nomination
PDF
InteriorRendering
PDF
CPA Certificate
PDF
Manejo de alimentos
PDF
Accreditation Going Global
PDF
CCF02072016
PPTX
Exposicion dhtic2
PDF
1 yr completion cerificate
PDF
Как проектът Yocto помага за създаване на Internet of Things?
PDF
HTML5 приложения за Android, урок 8
PDF
Developing HTML5 applications for Tizen
ODP
Create IoT with Open Source Hardware, Tizen and HTML5
PDF
P0745 00
ODP
Connecting Internet of Things to the Cloud with MQTT
PDF
Orden inscrip matematicas
PDF
Как Internet of Things си говорят чрез MQTT и софтуер с отворен код?
Prueba
MC_DanielLichti_160212-VAW
Certificate_Anna Pogrebniak_signed
Gina depaul nomination
InteriorRendering
CPA Certificate
Manejo de alimentos
Accreditation Going Global
CCF02072016
Exposicion dhtic2
1 yr completion cerificate
Как проектът Yocto помага за създаване на Internet of Things?
HTML5 приложения за Android, урок 8
Developing HTML5 applications for Tizen
Create IoT with Open Source Hardware, Tizen and HTML5
P0745 00
Connecting Internet of Things to the Cloud with MQTT
Orden inscrip matematicas
Как Internet of Things си говорят чрез MQTT и софтуер с отворен код?
Ad

Similar to Направи си сам Raspberry Pi HAT (6)

PDF
Връщане към живота на ретро електроника с Raspberry Pi
ODP
Програмиране на малки микропроцесорни системи
PPT
Raspberry Pi
ODP
Въведение в Микроконтролерите Пловдив/2015-02-21
PDF
Как да убием и последната дискета с Open Source технологии?
PDF
Практични примери за device tree overlays на Raspberry Pi
Връщане към живота на ретро електроника с Raspberry Pi
Програмиране на малки микропроцесорни системи
Raspberry Pi
Въведение в Микроконтролерите Пловдив/2015-02-21
Как да убием и последната дискета с Open Source технологии?
Практични примери за device tree overlays на Raspberry Pi
Ad

More from Leon Anavi (20)

PDF
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
PDF
Exploring Open Source Dual A/B Update Solutions for Embedded Linux
PDF
What Makes the Raspberry Pi 5 So Special?
PDF
Side by Side Comparison of Dual A/B Update Solutions with the Yocto Project
PDF
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
PDF
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
PDF
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
PDF
Linux обновления с RAUC и Docker
PDF
How to Choose a Software Update Mechanism for Embedded Linux Devices
PDF
Open Hardware Makers
PDF
Open Source Tools for Making Open Source Hardware
PDF
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
PDF
Surfing on an Interactive Kiosk
PDF
Linux дистрибуции и софтуерни обновления за вградени устройства
PDF
Getting started with AGL using a Raspberry Pi
PDF
Automotive Grade Linux on Raspberry Pi: How Does It Work?
PDF
Comparison of Open Source Software Home Automation Tools
PDF
The Software Developer’s Guide to Open Source Hardware
PDF
Making Open Source Hardware for Retrogaming on Raspberry Pi
PDF
Вграждане на умни гласови асистенти в устройства с Linux
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Exploring Open Source Dual A/B Update Solutions for Embedded Linux
What Makes the Raspberry Pi 5 So Special?
Side by Side Comparison of Dual A/B Update Solutions with the Yocto Project
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Linux обновления с RAUC и Docker
How to Choose a Software Update Mechanism for Embedded Linux Devices
Open Hardware Makers
Open Source Tools for Making Open Source Hardware
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
Surfing on an Interactive Kiosk
Linux дистрибуции и софтуерни обновления за вградени устройства
Getting started with AGL using a Raspberry Pi
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Comparison of Open Source Software Home Automation Tools
The Software Developer’s Guide to Open Source Hardware
Making Open Source Hardware for Retrogaming on Raspberry Pi
Вграждане на умни гласови асистенти в устройства с Linux

Направи си сам Raspberry Pi HAT

  • 1. Направи си сам Raspberry Pi HAT Леон Анави OpenFest 2016
  • 2. Съдържание  Raspberry Pi  Шапки за Raspberry Pi  Проектиране  Изработка на прототипи  Софтуерна поддръжка
  • 4. Raspberry Pi  2009 - основана е фондацията Raspberry Pi  2011 - разработва се Raspberry Pi  2012 – стартират продажбите на Raspberry Pi  2014 – Raspberry Pi Model B+  2015 – Raspberry Pi 2  2016 - Raspberry Pi 3  2016 - Raspberry Pi 0
  • 6. Малко сравнения... Версия SoC CPU Архитектура Raspberry Pi 0 Broadcom BCM2835 1 GHz 1 ядро ARM1176JZF-S ARMv6 Raspberry Pi Model A / B Broadcom BCM2835 700 MHz 1 ядро ARM1176JZF-S ARMv6 Raspberry Pi Model A+ / B+ Broadcom BCM2835 700 MHz 1 ядро ARM1176JZF-S ARMv6 Raspberry Pi 2 Model B Broadcom BCM2836 900 MHz 4 ядра ARM Cortex-A7 ARMv7 Raspberry Pi Model B Broadcom BCM2837 1.2 GHz 4 ядра ARM Cortex-A53 ARMv8
  • 7. Периферия  I2C  SPI  1-wire  И много други...
  • 8. Важни промени 40 щифта 26 щифта Raspberry Pi B+ (2014) Raspberry Pi B (2011)
  • 9. Версии с 40 щифта
  • 11. Raspberry Pi шапки  HAT (Hardware Attached on Top)  Стандартни платки специално за Raspberry Pi  Появява се като спецификация през 2014 заедно Raspberry Pi B+
  • 12. Стандарт за Raspberry Pi HAT  Форма и размери (65x56mm)  40 щифта за захващане към Raspberry Pi B+ и по-нови версии  EEPROM с информация за потребителя и device tree (DT) fragment  За детайли: https://github.com/raspberrypi/hats
  • 13. Sense HAT  Шапка от Raspberry Pi Foundation  Използвана за Astro Pi мисията  Библиотеки за Python  Емулатор: https://www.raspberrypi.org/blog/sense-hat-emulator/
  • 14. Sense HAT  8×8 RGB LED матрица  Малък джойстик  Сензори за температура, влажност, атмосферно налягане, ускорение, магнетизъм и жироскоп
  • 15. RabbitMax Flex  Open source hardware and software хоби проект  Шапка за лесно и бързо правене на Internet of Things и приложения за домашна автоматизация
  • 16. RabbitMax Flex  Инфраред приемник и предавател  Зумер (или за по-просто звънец)  Многоцветен светодиод  Реле  Бутон  Слот за 16x2 LCD дисплей  5 слота за I2C сензори  Сериен интерфейс за дебъгване
  • 17. От идея до продукт  Бавно, но славно и за около година след идеята проектът ми се превърна в реалност :)
  • 19. Необходими инструменти  Raspberry Pi  Станция за запояване  Пинцети  Лупа  Мултимер Olimex работилница по време на FOSDEM 2014
  • 20. Прототипни платки  Adafruit Perma-Proto HAT (с или без EEPROM)  Обикновена двуслойна прототипна платка  Breadboard
  • 21. Проектиране на платка  Шаблони за Eagle: http://www.flyfish-tech.com/pub/RasPi-BplusHAT.zip  Шаблони за KiCAD: https://github.com/xesscorp/RPi_Hat_Template http://gitlab.openfet.com/julien/pihat-template  Инструкции за KiCAD: http://openfet.com/2015/12/24/kicad-how-to- design-a-raspberry-pi-hat-in-10-minutes/
  • 22. Съвети при проектиране  Използвайте леснодостъпни компоненти от надеждни доставчици  Разположете компонентите на шапката така, че да не са във физически конфликт с елементите на Raspberry Pi  Изберете подходящ размер на компонентите за SMT монтаж, така че да можете да го направите на ръка за прототипите  Изберете разположение компонентите така, че да се монтират максимално бързо
  • 23. Макет  Макетите от картон са лесен, удобен, бърз и евтин начин за проба на физическите размери на платката
  • 24. Отпечатване на прототипи  В България: Ви-Рус Интернешънъл, СЕЛЕКТРА, SIRIUS-PCB, Микрон-20 и други  В Китай  В САЩ: https://oshpark.com/
  • 25. Операционни системи (ОС)  Raspbian – официалната GNU/Linux дистрибуция  GNU/Linux дистрибуции: Ubuntu Mate, Fedora, ArchLinux, OSMC, OpenELEC, LibreELEC, Tizen, GENIVI Developement Platform (GDP), Automotive Grade Linux (AGL) и много други  Yocto/OE (чрез meta-raspberrypi)  Buildroot  Други: Windows 10 IoT Core, RISC OS
  • 26. Device Tree (DT)  Device Tree Source (DTS) e специфичен формат за описание на хардуера  DT може да е разпръснато на няколко файла (.dts и .dtsi)  Linux kernel-а не съдържа описание на хардуера след въвеждането на DT  Bootloader-ът зарежда Linux kernel и device tree blob (DTB)
  • 27. EEPROM  EEPROM – препрограмируема памет  Съдържа DT фрагмент и информация за производителя на Raspberry Pi HAT  Чрез информацията от EEPROM-а се разпознава софтуерно каква е закачената шапка върху Raspberry Pi
  • 28. Запис и четене от EEPROM  Препоръчителни EEPROM компоненти: CAT24C32 или M24C32-WBN6P  DIP8 корпус с I2C интерфейс  Проект с отворен код за инструменти за запис на DT фрагмент и информация за шапката върху EEPROM направо от Raspberry Pi: https://github.com/raspberrypi/hats
  • 29. I2C ЕЕPROM и Raspberry Pi  За запис: 3 и 5 щифт  За четене: 27 и 28 щифт
  • 31. Програмни езици  Python: най-популярен език в Raspberry Pi общността, има много библиотеки  C: до ден днешен най-популярният език за писане на софтуер за вградени системи  C++, JavaScript, Java, PHP, Perl, Rust, Go и на практика всеки друг език...
  • 32. WiringPi  Библиотека на C/C++ за управление на GPIO на Raspberry Pi  GNU LGPLv3 лиценз  Съществуват портове за всички други популярни езици за програмиране  http://wiringpi.com/
  • 34. Управление на релето на RabbitMax Flex https://github.com/RabbitMax/rabbitmax-examples
  • 35. Производство и продажби  Колкото е по-голямо количеството, толкова по-ниска е производствена цена на една платка  Може да предоставите вашия продукт на други ентусиасти през популярни сайтове като ebay и OLX или специализирани сайтове като Tindie  Може да набавите финансиране, за да произведете повече пратки през кампании в сайтове като IndieGoGo
  • 36. Опитът ми от RabbitMax Flex  Tindie – лесен, приятен и удобен начин за продажба на прототипи  IndieGoGo – скромна кампания за набиране на средства от 1 ноември до 3 декември 2016, за да може да поръчам производство на повечко платки
  • 37. Полезни ресурси  https://www.raspberrypi.org/blog/introducing- raspberry-pi-hats/  https://www.raspberrypi.org/magpi/make-your- own-hat/  http://openfet.com/2015/12/24/kicad-how-to- design-a-raspberry-pi-hat-in-10-minutes/  https://www.raspberrypi.org/products/sense-hat/  http://rabbitmax.com/