38
Направи си сам Raspberry Pi HAT Леон Анави OpenFest 2016

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

Embed Size (px)

Citation preview

Page 1: Направи си сам Raspberry Pi HAT

Направи си сам Raspberry Pi HATЛеон АнавиOpenFest 2016

Page 2: Направи си сам Raspberry Pi HAT

Съдържание

Raspberry Pi

Шапки за Raspberry Pi

Проектиране

Изработка на прототипи

Софтуерна поддръжка

Page 3: Направи си сам Raspberry Pi HAT

Raspberry Pi

Page 4: Направи си сам Raspberry Pi HAT

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

Page 5: Направи си сам Raspberry Pi HAT

Raspberry Pi

Page 6: Направи си сам Raspberry Pi HAT

Малко сравнения...

Версия 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

Page 7: Направи си сам Raspberry Pi HAT

Периферия

I2C

SPI

1-wire

И много други...

Page 8: Направи си сам Raspberry Pi HAT

Важни промени

40 щифта

26 щифта

Raspberry Pi B+(2014)

Raspberry Pi B(2011)

Page 9: Направи си сам Raspberry Pi HAT

Версии с 40 щифта

Page 10: Направи си сам Raspberry Pi HAT

40-те щифта

Page 11: Направи си сам Raspberry Pi HAT

Raspberry Pi шапки

HAT (Hardware Attached on Top)

Стандартни платки специално за Raspberry Pi

Появява се като спецификация през 2014 заедно Raspberry Pi B+

Page 12: Направи си сам Raspberry Pi HAT

Стандарт за Raspberry Pi HAT

Форма и размери (65x56mm)

40 щифта за захващане към Raspberry Pi B+ и по-нови версии

EEPROM с информация за потребителя и device tree (DT) fragment

За детайли: https://github.com/raspberrypi/hats

Page 13: Направи си сам Raspberry Pi HAT

Sense HAT

Шапка от Raspberry Pi Foundation

Използвана за Astro Pi мисията

Библиотеки за Python

Емулатор: https://www.raspberrypi.org/blog/sense-hat-emulator/

Page 14: Направи си сам Raspberry Pi HAT

Sense HAT

8×8 RGB LED матрица

Малък джойстик

Сензори за температура, влажност, атмосферно налягане, ускорение, магнетизъм и жироскоп

Page 15: Направи си сам Raspberry Pi HAT

RabbitMax Flex

Open source hardware and software хоби проект

Шапка за лесно и бързо правене на Internet of Things и приложения за домашна автоматизация

Page 16: Направи си сам Raspberry Pi HAT

RabbitMax Flex

Инфраред приемник и предавател

Зумер (или за по-просто звънец)

Многоцветен светодиод

Реле

Бутон

Слот за 16x2 LCD дисплей

5 слота за I2C сензори

Сериен интерфейс за дебъгване

Page 17: Направи си сам Raspberry Pi HAT

От идея до продукт

Бавно, но славно и за около година след идеята проектът ми се превърна в реалност :)

Page 18: Направи си сам Raspberry Pi HAT

Жизнен цикъл

Четене на документация

Проектиране

Прототипи

Тестване

Софтуер

Документация

Тестване

Идея

Page 19: Направи си сам Raspberry Pi HAT

Необходими инструменти

Raspberry Pi

Станция за запояване

Пинцети

Лупа

Мултимер

Olimex работилница по време на FOSDEM 2014

Page 20: Направи си сам Raspberry Pi HAT

Прототипни платки

Adafruit Perma-Proto HAT (с или без EEPROM)

Обикновена двуслойна прототипна платка

Breadboard

Page 21: Направи си сам Raspberry Pi HAT

Проектиране на платка

Шаблони за 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/

Page 22: Направи си сам Raspberry Pi HAT

Съвети при проектиране

Използвайте леснодостъпни компоненти от надеждни доставчици

Разположете компонентите на шапката така, че да не са във физически конфликт с елементите на Raspberry Pi

Изберете подходящ размер на компонентите за SMT монтаж, така че да можете да го направите на ръка за прототипите

Изберете разположение компонентите така, че да се монтират максимално бързо

Page 23: Направи си сам Raspberry Pi HAT

Макет

Макетите от картон са лесен, удобен, бърз и евтин начин за проба на физическите размери на платката

Page 24: Направи си сам Raspberry Pi HAT

Отпечатване на прототипи

В България: Ви-Рус Интернешънъл, СЕЛЕКТРА, SIRIUS-PCB, Микрон-20 и други

В Китай

В САЩ: https://oshpark.com/

Page 25: Направи си сам Raspberry Pi HAT

Операционни системи (ОС)

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

Page 26: Направи си сам Raspberry Pi HAT

Device Tree (DT)

Device Tree Source (DTS) e специфичен формат за описание на хардуера

DT може да е разпръснато на няколко файла (.dts и .dtsi)

Linux kernel-а не съдържа описание на хардуера след въвеждането на DT

Bootloader-ът зарежда Linux kernel и device tree blob (DTB)

Page 27: Направи си сам Raspberry Pi HAT

EEPROM

EEPROM – препрограмируема памет

Съдържа DT фрагмент и информация за производителя на Raspberry Pi HAT

Чрез информацията от EEPROM-а се разпознава софтуерно каква е закачената шапка върху Raspberry Pi

Page 28: Направи си сам Raspberry Pi HAT

Запис и четене от EEPROM

Препоръчителни EEPROM компоненти: CAT24C32 или M24C32-WBN6P

DIP8 корпус с I2C интерфейс

Проект с отворен код за инструменти за запис на DT фрагмент и информация за шапката върху EEPROM направо от Raspberry Pi: https://github.com/raspberrypi/hats

Page 29: Направи си сам Raspberry Pi HAT

I2C ЕЕPROM и Raspberry Pi

За запис: 3 и 5 щифт

За четене: 27 и 28 щифт

Page 30: Направи си сам Raspberry Pi HAT

/proc/device-tree/hat

Page 31: Направи си сам Raspberry Pi HAT

Програмни езици

Python: най-популярен език в Raspberry Pi общността, има много библиотеки

C: до ден днешен най-популярният език за писане на софтуер за вградени системи

C++, JavaScript, Java, PHP, Perl, Rust, Go и на практика всеки друг език...

Page 32: Направи си сам Raspberry Pi HAT

WiringPi

Библиотека на C/C++ за управление на GPIO на Raspberry Pi

GNU LGPLv3 лиценз

Съществуват портове за всички други популярни езици за програмиране

http://wiringpi.com/

Page 33: Направи си сам Raspberry Pi HAT

WiringPi означения

Page 34: Направи си сам Raspberry Pi HAT

Управление на релето на RabbitMax Flex

https://github.com/RabbitMax/rabbitmax-examples

Page 35: Направи си сам Raspberry Pi HAT

Производство и продажби

Колкото е по-голямо количеството, толкова по-ниска е производствена цена на една платка

Може да предоставите вашия продукт на други ентусиасти през популярни сайтове като ebay и OLX или специализирани сайтове като Tindie

Може да набавите финансиране, за да произведете повече пратки през кампании в сайтове като IndieGoGo

Page 36: Направи си сам Raspberry Pi HAT

Опитът ми от RabbitMax Flex

Tindie – лесен, приятен и удобен начин за продажба на прототипи

IndieGoGo – скромна кампания за набиране на средства от 1 ноември до 3 декември 2016, за да може да поръчам производство на повечко платки

Page 37: Направи си сам Raspberry Pi HAT

Полезни ресурси

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/

Page 38: Направи си сам Raspberry Pi HAT

Въпроси?