Мазмуну:

TextPlayBulb: REST Raspberry Pi 3, BLE жана Telegramди колдонуп PlayBulb иштетилген: 3 кадам
TextPlayBulb: REST Raspberry Pi 3, BLE жана Telegramди колдонуп PlayBulb иштетилген: 3 кадам

Video: TextPlayBulb: REST Raspberry Pi 3, BLE жана Telegramди колдонуп PlayBulb иштетилген: 3 кадам

Video: TextPlayBulb: REST Raspberry Pi 3, BLE жана Telegramди колдонуп PlayBulb иштетилген: 3 кадам
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Ноябрь
Anonim
TextPlayBulb: REST Raspberry Pi 3, BLE жана Telegram аркылуу PlayBulb иштетилген
TextPlayBulb: REST Raspberry Pi 3, BLE жана Telegram аркылуу PlayBulb иштетилген

Бул көрсөтмө Python, Raspberry Pi 3 жана Bluetooth китепканасы аркылуу PlayBulb Color bluetooth LED чырагына кантип туташууну жана IOT сценарийи үчүн REST API аркылуу көзөмөлдү кантип кеңейтүүнү көрсөтөт, жана ошондой эле, проект кантип кеңейтүүнү көрсөтөт. PlayBulb'иңизди IM текст кардары аркылуу көзөмөлдөө үчүн REST API, мисалы Текст аркылуу автоматтык үйүңүз менен сүйлөшүү сыяктуу Telegram.

Бул долбоор 3 модуль боюнча курулган:

  1. pyBulbDriver: PlayBulb менен BLE gatttool жана python аркылуу туташыңыз.
  2. pyBulbServer: pyBulbDriver'ди колдонуу, REST API аркылуу ойнотуучу лампочканы башкарууну ачыкка чыгаруу.
  3. pyBulbMessenger: телеграмма ботуна туташуу, каалаган смартфонго орнотулган телеграмма кардары аркылуу буйруктарды кабыл алуу жана PlayBulbго буйрук берүү үчүн REST API колдонуу.

Сиз долбоорду git репозиторийи аркылуу клондой аласыз:

Долбоордун максаты:

Азырынча текст жазуу сыяктуу ар кандай ыкмалар аркылуу лампочкаңыз менен өз ара аракеттенүү үчүн базалык инструментти түзүү үчүн, келечектеги сценарийлер сүйлөө буйруктарын, лампаны жаңсап көрсөтүүнү камтышы мүмкүн … ж.

Бул көрсөтмө берүү үчүн колдонулган башка булактар:

  • PlayBulb Color Bluetooth протоколу:
  • Pythonду Bluetooth аркылуу Playbulbго туташтыруу:
  • Телеграм ботун орнотуу:

Салым

pyBulbDriver ийкемдүү жана келечектеги кеңейтүү үчүн параметрлештирилген, чырагыңызга текст жазуу менен скрипкага жол берүү үчүн сценарий түзүлөт. Сыноо жана тегеренүү үчүн жөнөкөй интерфейс.

Чектөө

Айдоочу PlayBulb Color үчүн жазылган, башка PlayBulb т. Түпнуска же шам, pyBulbDriverдеги bluetooth коду жогоруда айтылган протоколго ылайык өзгөртүлүшү керек.

Сиз телеграм эсебин каттоодон өткөрүшүңүз керек жана pyBulbMessenger.py файлына кошкон апи ачкычын алуу үчүн, ресурстардагы телеграмма ботун жөндөө керек.

1 -кадам: Долбоорду орнотуу

1. Telegramдан API ачкычыңызды алуу

> API ачкычын алуу үчүн учурдагы көрсөтмөлөрдү аткарыңыз

> Өзүңүздүн апи ачкычыңызды pyBulbMessenger.pyдеги өзгөрүлмө apiге кошуңуз

2. PlayBulb Атыңызды pyBulbDriverге коюу

> Gatttool жазуу түзмөгүн табышы үчүн, pyBulbDriver.scanForBulb ("PLAYBULB COLOR") аркылуу түзмөгүңүздүн атын сканерлеп коюңуз. Мисал сиздин REST Server орнотуу үчүн pyBulbServer.py табууга болот

3. Долбоорду баштоо үчүн

> Сиз биринчи pyBulbServer.py, андан кийин pyBulbMessenger.py менен текст жазышыңыз керек. Сиз pyBulbServer буйруктарын CURL аркылуу текшере аласыз.

4. Материал керек:

> Raspberry Pi 3 жана PlayBulb Color же PlayBulb Candle

> Android же iOS үчүн Telegram орнотуу

5. Rasberry Pi 3 LE Bluetooth орнотуу:

www.elinux.org/RPi_Bluetooth_LE

2 -кадам: Кодекстен өтүү

pyBulbDriver.py

pyBulbDriver BLE аркылуу PlayBulb менен туташуу үчүн драйвер класстарын камтыйт

pyBulbDriver башка генералдык долбоорлор үчүн да колдонулушу мүмкүн, анткени анда playBulb туташууларын сканерлөө жана орнотуу коду гана камтылган.

Колдонуучунун интерфейси үчүн негизги APIлер:

  • scanForBulb (Devicename: String)> PlayBulb же PlayBulbsты түзмөктүн аты аркылуу издөө
  • setBulbColor (s: int, r: int, g: int, b: int)> Жарыктыкты жана RGB түсүн (0дон 255ке чейин) аныктоо үчүн
  • setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> setBulbColorго окшош, бирок эффектин жана ылдамдыктын түрүн камтыйт. Көбүрөөк билүү үчүн түс протоколунун эффекттер бөлүмүн караңыз

Бул класста сиз колдонуучу интерфейси үчүн эмес, маалыматтын бүтүндүгүн текшерүү үчүн башка жардамчы ыкмаларды таба аласыз

  • convertRGBToHexaCmd (s, r, g, b)
  • convertIntToHex (сан)
  • checkModeAndSpeed (режим, таң калыштуу, жаңылыш)
  • checksRGBInBounds (s, r, g, b)

pyBulbServer.py

pyBulbServer pyBulbDriverге маалыматтарды жөнөтүү жана кабыл алуу үчүн PUT жана JSON аркылуу Колдонуучунун Колдонмосунун интерфейсин RESTful гипершилтемелерине чыгарат. Ошондой эле BLE байланышын сканерлөө жана инициализациялоо сервер иштетилгенде жасалат.

pyBulbResource (Ресурс) лампа буйругун аныктоо үчүн түстү жана эффектти колдонуу менен REST серверине чалууларды каналдандырат.

Эффектти башкаруу үчүн мисал:

127.0.0.1/bulb/effect

JSON POST> {data ':' {"s": 0, "r": 255, "g": 255, "b": 255, "m": 1, "on": 15, "off": 15 } '}

pyBulbMessenger.py

Акыры pyBulbMessenger сиздин телеграмма смартфонуңуздун кардарына туташкан Telegram ботунун интерфейси үчүн жооптуу. Кантип конфигурациялоо жана телеграмма ботуна туташуу жөнүндө көбүрөөк маалымат алуу үчүн https://www.instructables.com/id/Set-up-Telegram-Bo… текшериңиз.

cmdHandler (бот, жаңыртуу) - бул жерде текст буйруктары аныкталат жана RESTful API аркылуу PlayBulb менен туташат.

Учурда долбоордо текст гана бар, дагы бир максат - башка буйруктарды иштетүү үчүн сүйлөө таануучуга жөнөтүлө турган жаздырылган үн билдирүүлөрүн жөнөтүү (Азырынча аткарыла элек).

3 -кадам: Жыйынтык

Учурдагы архитектуралык дизайн масштабдуулукка караганда жөнөкөйлөтүү жөнүндө болгон. Дагы эле топтук байланыш жок, ошондой эле лампочкага түз буйрук берүү же ойноок өз ара аракеттенүү боюнча дагы көптөгөн тиркемелер изилденүүдө.

Гит репого жазылуу же төмөнкү жазылуу менен, бул жаңыртуулар боюнча көбүрөөк маалымат берилет. Мындай долбоордун себеби playBulb менен интерфейс түзүп, IoTде иштин оңойлугу үчүн RESTful интерфейсин түзүү (нерселердин сценарийи), бирок IM Client телеграммасы аркылуу ар кандай ыкмаларды колдонуу мүмкүнчүлүгүн ачуу болгон, мисалы, сүрөттөр, үн жана изилдөө приборлору менен өз ара аракеттенүү үчүн текст.

Сунушталууда: