Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Python of Things
Борисов Кирилл
PyCon Russia 2017
О докладчике
• Имя ему - Кирилл Борисов
• 10 лет программирует за деньги
• 5 лет души не чает в Python
• Работает в Яндекс...
Disclaimer
• Докладчик - не настоящий сварщик электронщик
• Докладчик не несет ответственности за убитое
время
• Доклад ни...
О чем этот доклад?
• На дворе - 2017 год
• Интернет вещает из каждой урны и зубной щетки
• Победить это нельзя, самое врем...
Internet of Things
Великая куча вещей
Internet of Things
• Различные устройства связаны между собой
• Все они собирают данные…
• …либо воздействуют на окружающи...
Грубая схема
Зарождение идеи
Устройство с высоты птичьего полета
Weatherful
• Индикатор пригодности погоды для прогулок
• Данные забирает из Яндекс.Погоды
• Отображать разные цвета для ка...
Большой конструктор
Source: https://amperka.ru
GPIO
Ввод-вывод на каждый день
Source: https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/
Что это?
• Физический интерфейс для связи с миром вокруг
• Может работать на вход, так и на выход
• Цифровой интерфейс
• З...
Примерная схема
Большой конструктор
Source: https://adafruit.com
Связь c внешним миром
“Major Tom to Ground Control…”
Source: https://i-o-t.ru
Wi-Fi
• Высокая скорость передачи данных
• Типичная модель работы - точка доступа + клиенты
• Большие расходы на обеспечен...
Bluetooth
• Беспроводная связь двух устройств
• Высокая скорость передачи данных
• Применяется для связи с приложением на ...
Bluetooth Low Energy
• Развитие идеи Bluetooth
• Цель - минимизация энергопотребления
• Требует поддержки со стороны ОС см...
Message Queue Telemetry Transport
Простое решение для простой проблемы
Source: https://i-o-t.ru
MQTT
• Работает по принципу “Publish-Subscribe”
• Реализован поверх TCP/IP
• Для ограниченных в ресурсах устройств
• Практ...
Принцип работы
Наша схема
Большой конструктор
Что нам нужно?
• Маленький размер
• Имеет GPIO-выходы
• Может соединяться с Wi-Fi
• Способен запускать Python
Raspberry Pi
Продукт, запустивший тысячи проектов
Source: https://www.sparkfun.com/products/retired/11546
Raspberry Pi
• Размером с кредитную карту
• Полноценный компьютер с Linux
• Множество GPIO входов-выходов
• Широко распрос...
Raspberry Pi 3 Raspberry Pi Zero W
CPU
1.2 GHz,

4 ядра
1 GHz,
1 ядро
Память 1 GB 512 MB
Порты 4 USB
1 USB On-The-Go
1 USB...
gpiozero
• Основная цель - уменьшение избыточности
• Встроенные “батарейки” для многих вещей
• Хорошая документация и мног...
Пример
from gpiozero import LED
from time import sleep
led = LED(25)
while True:

led.on()
sleep(1)
led.off()
sleep(1)
MicroPython
Новый Python для новых условий
Source: https://www.sparkfun.com/products/retired/11546
Микроконтроллеры
• Вычислительные устройства малой мощности
• Специализированное железо
• Имеют на борту ЦАПАЦП, таймеры, ...
MicroPython
• Написан с нуля по подобию Python 3.4
• Предназначен для работы на микроконтроллерах
• Работает на “живом жел...
Пример
from machine import Pin
from time import sleep
led = Pin(15, Pin.OUT)
while True:

led.high()
sleep(1)
led.low()
sl...
Тонкости MicroPython
• Несколько отличий от синтаксиса Python
• Функциональность отличается для разных устройств
• Сильно ...
pyboard
Плата, с которой всё началось
Source: https://www.sparkfun.com/products/retired/11546
pyboard
• Референсная плата
• Основная платформа разработки MicroPython
• Удобна для изучения MicroPython
• 2 порта CAN, Ц...
WeMOS d1 mini
Дешево и сердито
Source: https://www.sparkfun.com/products/retired/11546
WeMOS d1 Mini
• Создан на основе ESP8266 со встроенным Wi-Fi
• Весьма дешевая (~300 рублей с AliExpress)
• Скудные ресурсы...
Конечный результат
Конечный результат
Домашнее чтение
Книги - это хорошо
Source: https://ourdelhistruggle.com/2008/12/02/delhis-sunday-book-market/
Make:
Electronics
Second Edition
Charles Platt
Simple
electronics
with
GPIO Zero
Phil King
Python
for
Microcontrollers
Donald Norris
Дополнительные ссылки
“Я покажу тебе, как глубоко уходит кроличья нора”
• https://www.raspberrypi.org/

Официальный сайт “Raspberry Pi Foundation”
• https://raspberrypi.ru

Русскоязычное сообщес...
• https://micropython.org/

Сайт с говорящим названием, на котором вы
можете узнать всё о MicroPython.
• http://amperka.ru...
- Вопросы?
Вперед,

на следующий доклад!
- Спасибо!
lensvol
borisov.kir@gmail.com
Upcoming SlideShare
Loading in …5
×

«Python of Things», Кирилл Борисов, Яндекс

158 views

Published on

Выступление на PYCON RUSSIA 2017

Published in: Internet
  • Be the first to comment

  • Be the first to like this

«Python of Things», Кирилл Борисов, Яндекс

  1. 1. Python of Things Борисов Кирилл PyCon Russia 2017
  2. 2. О докладчике • Имя ему - Кирилл Борисов • 10 лет программирует за деньги • 5 лет души не чает в Python • Работает в Яндексе и не знает забот
  3. 3. Disclaimer • Докладчик - не настоящий сварщик электронщик • Докладчик не несет ответственности за убитое время • Доклад никак не связан с работой
  4. 4. О чем этот доклад? • На дворе - 2017 год • Интернет вещает из каждой урны и зубной щетки • Победить это нельзя, самое время присоединиться • Python + прямые руки = интересные результаты
  5. 5. Internet of Things Великая куча вещей
  6. 6. Internet of Things • Различные устройства связаны между собой • Все они собирают данные… • …либо воздействуют на окружающий мир • Работают автономно
  7. 7. Грубая схема
  8. 8. Зарождение идеи Устройство с высоты птичьего полета
  9. 9. Weatherful • Индикатор пригодности погоды для прогулок • Данные забирает из Яндекс.Погоды • Отображать разные цвета для каждого часа • Должен работать на Питоне! (sic!) • Работает от батарейки
  10. 10. Большой конструктор Source: https://amperka.ru
  11. 11. GPIO Ввод-вывод на каждый день Source: https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/
  12. 12. Что это? • Физический интерфейс для связи с миром вокруг • Может работать на вход, так и на выход • Цифровой интерфейс • Залог успеха Raspberry Pi и Arduino
  13. 13. Примерная схема
  14. 14. Большой конструктор Source: https://adafruit.com
  15. 15. Связь c внешним миром “Major Tom to Ground Control…” Source: https://i-o-t.ru
  16. 16. Wi-Fi • Высокая скорость передачи данных • Типичная модель работы - точка доступа + клиенты • Большие расходы на обеспечение связи • Самый массовый способ связи с Интернетом
  17. 17. Bluetooth • Беспроводная связь двух устройств • Высокая скорость передачи данных • Применяется для связи с приложением на смартфоне • Потребляет много энергии в пассивном режиме
  18. 18. Bluetooth Low Energy • Развитие идеи Bluetooth • Цель - минимизация энергопотребления • Требует поддержки со стороны ОС смартфона • Ещё не достигла такой же популярности
  19. 19. Message Queue Telemetry Transport Простое решение для простой проблемы Source: https://i-o-t.ru
  20. 20. MQTT • Работает по принципу “Publish-Subscribe” • Реализован поверх TCP/IP • Для ограниченных в ресурсах устройств • Практически незащищен
  21. 21. Принцип работы
  22. 22. Наша схема
  23. 23. Большой конструктор
  24. 24. Что нам нужно? • Маленький размер • Имеет GPIO-выходы • Может соединяться с Wi-Fi • Способен запускать Python
  25. 25. Raspberry Pi Продукт, запустивший тысячи проектов Source: https://www.sparkfun.com/products/retired/11546
  26. 26. Raspberry Pi • Размером с кредитную карту • Полноценный компьютер с Linux • Множество GPIO входов-выходов • Широко распространен
  27. 27. Raspberry Pi 3 Raspberry Pi Zero W CPU 1.2 GHz,
 4 ядра 1 GHz, 1 ядро Память 1 GB 512 MB Порты 4 USB 1 USB On-The-Go 1 USB для питания Связь Wi-Fi (b/g/n)
 Bluetooth 4.0 (BLE)
 Ethernet-порт Wi-Fi (b/g/n)
 Bluetooth 4.0 (BLE) Размер 85,6 × 53,98 × 17 мм 66 x 30,5 x 5 мм
  28. 28. gpiozero • Основная цель - уменьшение избыточности • Встроенные “батарейки” для многих вещей • Хорошая документация и много примеров https://github.com/RPi-Distro/python-gpiozero/
  29. 29. Пример from gpiozero import LED from time import sleep led = LED(25) while True:
 led.on() sleep(1) led.off() sleep(1)
  30. 30. MicroPython Новый Python для новых условий Source: https://www.sparkfun.com/products/retired/11546
  31. 31. Микроконтроллеры • Вычислительные устройства малой мощности • Специализированное железо • Имеют на борту ЦАПАЦП, таймеры, и т.д. • Малые объемы оперативной памяти
  32. 32. MicroPython • Написан с нуля по подобию Python 3.4 • Предназначен для работы на микроконтроллерах • Работает на “живом железе” • Имеет много специфики
  33. 33. Пример from machine import Pin from time import sleep led = Pin(15, Pin.OUT) while True:
 led.high() sleep(1) led.low() sleep(1)
  34. 34. Тонкости MicroPython • Несколько отличий от синтаксиса Python • Функциональность отличается для разных устройств • Сильно урезанный набор “батареек” • Позволяет использовать REPL на устройстве
  35. 35. pyboard Плата, с которой всё началось Source: https://www.sparkfun.com/products/retired/11546
  36. 36. pyboard • Референсная плата • Основная платформа разработки MicroPython • Удобна для изучения MicroPython • 2 порта CAN, ЦАП, АЦП, 2 I2C, 2 SPI, 3 (!) UART • Отсутствует Wi-Fi и Bluetooth
  37. 37. WeMOS d1 mini Дешево и сердито Source: https://www.sparkfun.com/products/retired/11546
  38. 38. WeMOS d1 Mini • Создан на основе ESP8266 со встроенным Wi-Fi • Весьма дешевая (~300 рублей с AliExpress) • Скудные ресурсы: 256 Kb RAM, 1 МБ флэша • Мало портов: 1 АЦП, 1 I2C, 1 SPI, ~1 UART
  39. 39. Конечный результат
  40. 40. Конечный результат
  41. 41. Домашнее чтение Книги - это хорошо Source: https://ourdelhistruggle.com/2008/12/02/delhis-sunday-book-market/
  42. 42. Make: Electronics Second Edition Charles Platt
  43. 43. Simple electronics with GPIO Zero Phil King
  44. 44. Python for Microcontrollers Donald Norris
  45. 45. Дополнительные ссылки “Я покажу тебе, как глубоко уходит кроличья нора”
  46. 46. • https://www.raspberrypi.org/
 Официальный сайт “Raspberry Pi Foundation” • https://raspberrypi.ru
 Русскоязычное сообщество пользователей • https://circuits.io/
 Дружелюбный симулятор электронных схем.
  47. 47. • https://micropython.org/
 Сайт с говорящим названием, на котором вы можете узнать всё о MicroPython. • http://amperka.ru/
 Интернет-магазин, для тех кто занимается радиоэлектроникой в свободное время. • http://fritzing.org/
 Отличная утилита для рисования красивых
 схем и иллюстраций.

  48. 48. - Вопросы?
  49. 49. Вперед,
 на следующий доклад!
  50. 50. - Спасибо! lensvol borisov.kir@gmail.com

×