Përmbajtje:

TextPlayBulb: PlayBulb e aktivizuar nga REST Duke përdorur Raspberry Pi 3, BLE dhe Telegram: 3 hapa
TextPlayBulb: PlayBulb e aktivizuar nga REST Duke përdorur Raspberry Pi 3, BLE dhe Telegram: 3 hapa
Anonim
TextPlayBulb: PlayBulb i aktivizuar nga REST Duke përdorur Raspberry Pi 3, BLE dhe Telegram
TextPlayBulb: PlayBulb i aktivizuar nga REST Duke përdorur Raspberry Pi 3, BLE dhe Telegram

Ky udhëzues tregon se si të lidheni me një llambë bluetooth PlayBulb Color duke përdorur Python, një bibliotekë Raspberry Pi 3 dhe Bluetooth dhe të zgjeroni kontrollet përmes një API REST për një skenar IoT, dhe si një bouns, projekti gjithashtu tregon se si të zgjasni REST API për të kontrolluar PlayBulb -in tuaj mbi një klient teksti IM p.sh Telegram, siç është biseda me shtëpinë tuaj të automatizuar përmes tekstit.

Ky projekt është ndërtuar në 3 module:

  1. pyBulbDriver: Lidhuni me PlayBulb përmes BLE gatttool dhe python.
  2. pyBulbServer: Përdorimi i pyBulbDriver për të ekspozuar kontrollin e pllakës përmes REST API.
  3. pyBulbMessenger: Lidhja me një bot telegram për të dërguar dhe marrë komanda përmes klientit të telegramit të instaluar në çdo telefon të zgjuar dhe duke përdorur API -në REST për të lëshuar komanda në PlayBulb.

Mund ta klononi projektin përmes depove git:

Qëllimi i projektit:

Për të krijuar një mjet bazë për të bashkëvepruar me llambën tuaj përmes modaliteteve të ndryshme, siç është dërgimi i mesazheve tani për tani, skenarët e ardhshëm mund të përfshijnë komandat e të folurit, gjestet në llambë … etj.

Burime të tjera të përdorura për të krijuar këtë udhëzues:

  • Protokolli Bluetooth PlayBulb Color:
  • Lidhja e Python me Playbulb përmes Bluetooth:
  • Vendosja e botit të telegramit:

Kontributi

pyBulbDriver është zgjeruar për të qenë më fleksibël dhe i parametruar për lehtësinë e shtrirjes në të ardhmen, duke ndërtuar një skenar që do t'ju lejojë të përballeni me mesazhe me tekst në llambën tuaj. Ndërfaqe e thjeshtë për testimin dhe ngatërresën përreth.

Kufizimi

Shoferi është shkruar për PlayBulb Color, për llojet e tjera të PlayBulb p.sh. Origjinal ose qiri, kodi bluetooth në pyBulbDriver duhet të ndryshojë sipas protokollit të lartpërmendur.

Ju duhet të regjistroni një llogari telegrami dhe të merrni një çelës api, të cilin e shtoni në pyBulbMessenger.py, ndiqni ngritjen e botit të telegramit në burimet tuaja.

Hapi 1: Vendosja e Projektit

1. Marrja e çelësit tuaj API nga Telegram

> Ndiqni udhëzimet aktuale për të marrë çelësin tuaj API

> Shtoni çelësin tuaj api tek api i ndryshueshëm në pyBulbMessenger.py

2. Vendosja e Emrit tuaj PlayBulb në pyBulbDriver

> Që gatttool të gjejë pajisjen e shkrimit, vendosni që pajisja juaj të skanohet duke përdorur pyBulbDriver.scanForBulb ("NGJYRA PLAYBULB"). Shembulli mund të gjendet në pyBulbServer.py për të konfiguruar serverin tuaj REST

3. Për të filluar projektin

> Ju duhet të filloni pyBulbServer.py së pari, pastaj të ndjekur nga pyBulbMessenger.py për dërgimin e mesazheve. Ju mund të provoni komandat pyBulbServer duke përdorur CURL.

4. Materiali i nevojshëm:

> Raspberry Pi 3 dhe PlayBulb Color ose PlayBulb Candle

> Instalimi i Telegramit për Android ose iOS

5. Instalimi i Rasberry Pi 3 LE Bluetooth:

www.elinux.org/RPi_Bluetooth_LE

Hapi 2: Ecja nëpër kod

pyBulbDriver.py

pyBulbDriver përmban klasat e drejtuesve për t'u lidhur me PlayBulb përmes BLE

pyBulbDriver mund të përdoret gjithashtu për çdo projekt tjetër të përgjithshëm, pasi përmban vetëm kodin për të skanuar dhe konfiguruar lidhjet playBulb.

API -të kryesore për ndërfaqen e aplikacionit të përdoruesit:

  • scanForBulb (emri i emrit: String)> Për të skanuar për PlayBulb ose PlayBulbs përmes emrit të pajisjes së tyre
  • setBulbColor (s: int, r: int, g: int, b: int)> Për të përcaktuar vlerat e shkëlqimit dhe ngjyrës RGB (0 deri në 255)
  • setBulbEffect (s: int, r: int, g: int, b: int, mënyra: int, onbeat: int, offbeat: int)> Ngjashëm me setBulbColor, por përfshin llojin e efektit dhe shpejtësinë Për të ditur më shumë kontrolloni seksionin Efektet e protokollit të ngjyrave

Në këtë klasë do të gjeni edhe metoda të tjera ndihmëse të destinuara për kontrollimin e integritetit të të dhënave dhe jo për ndërfaqen e përdoruesit

  • convertRGBToHexaCmd (s, r, g, b)
  • convertIntToHex (numri)
  • checkModeAndSpeed (modaliteti, offbeat, onbeat)
  • kontrollon RGBInBounds (s, r, g, b)

pyBulbServer.py

pyBulbServer ekspozon ndërfaqen e Aplikacionit të Përdoruesit në lidhjet RESTful duke përdorur PUT dhe JSON për të dërguar dhe marrë të dhëna në pyBulbDriver. Gjithashtu skanimi dhe fillimi i lidhjes BLE bëhet kur serveri është aktivizuar.

pyBulbResource (Burimi) kanalizon thirrjet në serverin REST duke përdorur ngjyrën dhe efektin për të përcaktuar komandën bulb.

Shembull Për komandimin e një efekti:

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

Më në fund pyBulbMessenger është përgjegjës për ndërlidhjen me botin e Telegramit të lidhur me klientin tuaj të telefonit inteligjent të telegramit. Për më shumë detaje se si të konfiguroni dhe lidheni me një bot telegram, kontrolloni

cmdHandler (bot, përditësim) është vendi ku komandat e tekstit përcaktohen dhe lidhen me PlayBulb përmes API -së RESTful.

Aktualisht projekti ka vetëm tekst, një qëllim tjetër është gjithashtu të dërgoni mesazhe zanore të regjistruara që do t'i dërgoheshin një njohësi të të folurit për të aktivizuar komandat e tjera (ende nuk është zbatuar).

Hapi 3: Përfundimi

Dizajni aktual i arkitekturës kishte të bënte më shumë me thjeshtimin sesa shkallëzueshmërinë. Ende mungon lidhshmëria me grupin, gjithashtu më shumë aplikime në lidhje me dërgimin e mesazheve në llambë qoftë për komandim të drejtpërdrejtë ose ndërveprim të gjallë është ende në kërkim.

Duke u abonuar në repo git ose duke ndjekur, më shumë detaje do të vijnë në këto përditësime. Arsyeja për një projekt të tillë ishte ndërfaqja e playBulb dhe krijimi i një ndërfaqe RESTful për lehtësinë e zhvillimit në një IoT (skenari i internetit i gjërave), por gjithashtu për të hapur mundësinë për të përdorur modalitete të ndryshme përmes telegramit të Klientit IM siç janë fotografitë, zëri dhe tekst për të bashkëvepruar me pajisjet nga një perspektivë kërkimore.

Recommended: