23
Питон в малине. Иван Бакланов vk: id15399925 email: [email protected]

Питон в малине

  • Upload
    pynsk

  • View
    8

  • Download
    1

Embed Size (px)

Citation preview

Питон в малине.

Иван Баклановvk: id15399925email: [email protected]

Кто я такой?

Иван Бакланов

- Всю жизнь в IT - Разработчик в Machineheads.ru- Люблю железо и python

О чем докладRaspberry Pi - доступный одноплатный компьютер с широкими возможности

Расскажу и покажу:

- Как появились одноплатные компьютеры- Где применяются одноплатники- Почему Raspberry Pi?- Примеры

Как появились одноплатные компьютеры?

Сначала было … производство

Зачем появились одноплатные компьютеры?

Обычные компы:

- Дорогие- Пыльные- Неудобные- Большие- Прожорливые

Зачем появились одноплатные компьютеры?

Обычные компы:

- Дорогие- Пыльные- Неудобные- Большие- Прожорливые

Одноплатные:

- Дешевые- Маленькие- Удобные- Быстро заменяемые- Мало потребляют

Одноплатники сейчас

Что можно сделать с одноплатниками?

- Web server

- Эмулятор приставки

- Докер ферму

- Видео регистратор

Что можно сделать с одноплатниками?

- Web server

- Эмулятор приставки

- Докер ферму

- Видео регистратор

- Умный дом

- Голосовой помощник

- Медиацентр

- Трекер

Raspberry Pi

Особенности строения

Как можно подключить периферию?

Шины для периферии:

- I2C- SPI- UART

Пример #1Работа с GPS модулем через UART

(получаем гео-координаты)

Работа с GSM модулемimport timeimport serial

ser = serial.Serial(port='/dev/ttyAMA0', baudrate=9600, timeout=1)while 1: try: data =str(ser.readline()) time.sleep(0.5) if "GPGGA" in data: print(“Found data:”, data) except Exception as e: breakser.close()

Подключаемся к GSM модулю

Опрашиваем модуль

Выводим результат

Пример #2Работа с SPI: графический интерфейс

Пример #2import spidevspi = spidev.SpiDev()spi.open(0,0)set_data = [0xFF, 0xFF, 0xFF, 0xFF]spi.writebytes(set_data)data = spi.readbytes(len(set_data))print(data)

# -----------------------------------import max7219.led as leddevice = led.matrix(cascaded = 4)device.orientation(90)device.show_message(" PyNSK #13!")

Пакет https://github.com/doceme/py-spidev

Пакет https://github.com/rm-hull/luma.led_matrix

Отправляем байты в шинуПолучаем байты из шины

Инициализация светодиодных матрицНастройка ориентации поворот на 90°Вывод текста в матрицу

Пример #3Работа с I2C: датчик бесконтактного термометра

(делаем тепловизор)

Схема подключения

MLX90614http://bit.ly/2nP0Gbl

Работа с I2Cimport I2CI2C.require_repeated_start()

sensor = I2C.Device(0x5A, busnum=1)data = sensor.readS16(0x07)temp = data * .02 - 273.15

Адрес датчика на шине

Регистр в датчикеПереводим температуру из Кельвинов в Цельсии

Код пакета http://bit.ly/2nO1NYW

С чего начать?1. Освежить знания электроники2. Выбрать одноплатный компьютер3. Выбрать необходимые модули и купить4. Собрать все это вместе5. Настроить программное обеспечение6. ...7. Profit

Полезные ссылки- https://www.raspberrypi.org - о самой плате- https://github.com/adafruit - набор пакетов- http://raspi.tv - много tutorial’ов- https://raspberrytips.nl - всякие советы

- Книга “Электроника для начинающих”, Чарльз Платт- http://easyelectronics.ru/category/nachinayushhim - про

электронику