Sisällysluettelo:

TextPlayBulb: REST -käytössä PlayBulb Raspberry Pi 3: n, BLE: n ja sähkeen avulla: 3 vaihetta
TextPlayBulb: REST -käytössä PlayBulb Raspberry Pi 3: n, BLE: n ja sähkeen avulla: 3 vaihetta

Video: TextPlayBulb: REST -käytössä PlayBulb Raspberry Pi 3: n, BLE: n ja sähkeen avulla: 3 vaihetta

Video: TextPlayBulb: REST -käytössä PlayBulb Raspberry Pi 3: n, BLE: n ja sähkeen avulla: 3 vaihetta
Video: Беспроводной светодиодный дисплей с Bluetooth – еще один момент для компьютерщиков | ДигиКей 2024, Marraskuu
Anonim
TextPlayBulb: REST -käytössä PlayBulb Raspberry Pi 3: n, BLE: n ja sähkeen avulla
TextPlayBulb: REST -käytössä PlayBulb Raspberry Pi 3: n, BLE: n ja sähkeen avulla

Tämä opas näyttää kuinka yhdistää PlayBulb Color Bluetooth -LED -lamppuun Pythonin, Raspberry Pi 3- ja Bluetooth -kirjaston avulla ja laajentaa säätimiä REST -sovellusliittymän kautta IoT -skenaariossa, ja projekti näyttää myös, kuinka REST -sovellusliittymä, jolla voit hallita PlayBulbiasi pikaviestitekstin kautta, esim Sähke, kuten puhuminen automaattiselle kodillesi tekstiviestillä.

Tämä projekti perustuu 3 moduuliin:

  1. pyBulbDriver: Yhdistä PlayBulbiin BLE -gatttoolin ja pythonin kautta.
  2. pyBulbServer: pyBulbDriverin avulla paljastetaan peliohjaimen ohjaus REST API: n kautta.
  3. pyBulbMessenger: Yhdistäminen sähkebottiin lähettää ja vastaanottaa komentoja mihin tahansa älypuhelimeen asennetun sähkeasiakasohjelman kautta ja antaa REST -sovellusliittymän avulla komentoja PlayBulbille.

Voit kloonata projektin git -arkiston kautta:

Projektin tavoite:

Jos haluat luoda perustyökalun, jolla voit olla vuorovaikutuksessa lampun kanssa eri tavoin, kuten tekstiviesteillä toistaiseksi, tulevat skenaariot voivat sisältää puhekomentoja, eleitä lampulle … jne.

Muut tämän ohjeen luomiseen käytetyt resurssit:

  • PlayBulb Color Bluetooth -protokolla:
  • Pythonin yhdistäminen Playbulbiin Bluetoothin kautta:
  • Sähkebotin määrittäminen:

Osallistuminen

pyBulbDriver on laajennettu joustavammaksi ja parametroitavaksi helpottamaan laajentamista tulevaisuudessa, ja se luo skenaarion, jonka avulla voit viipyä tekstiviestillä lampullesi. Yksinkertainen käyttöliittymä testaamiseen ja kiertämiseen.

Rajoitus

Ajuri on kirjoitettu PlayBulb Colorille, muille PlayBulb -tyypeille, esim. Alkuperäinen tai kynttilä, pyBulbDriverin Bluetooth -koodi on vaihdettava edellä mainitun protokollan mukaisesti.

Sinun on rekisteröitävä sähketili ja saat api -avaimen, jonka lisäät pyBulbMessenger.py -tiedostoon, seuraa sähkebotin asettamista muihin resursseihin.

Vaihe 1: Projektin määrittäminen

1. API -avaimen hakeminen Telegramista

> Noudata nykyisiä ohjeita saadaksesi API-avaimesi

> Lisää api -avaimesi muuttuvaan api -osoitteeseen pyBulbMessenger.py -tiedostossa

2. PlayBulb -nimen asettaminen pyBulbDriverissa

> Jotta gatttool löytää kirjoituslaitteen, aseta laitteen nimi skannattavaksi pyBulbDriver.scanForBulb -ohjelmalla ("PLAYBULB COLOR"). Esimerkki löytyy osoitteesta pyBulbServer.py REST -palvelimen asentamiseksi

3. Aloita projekti

> Sinun on ensin käynnistettävä pyBulbServer.py ja sitten pyBulbMessenger.py tekstiviestejä varten. Voit testata pyBulbServer -komentoja CURL: n avulla.

4. Tarvittava materiaali:

> Raspberry Pi 3 ja PlayBulb Color tai PlayBulb Candle

> Telegramin asentaminen Androidille tai iOS: lle

5. Rasberry Pi 3 LE Bluetooth -asennus:

www.elinux.org/RPi_Bluetooth_LE

Vaihe 2: Käy läpi koodi

pyBulbDriver.py

pyBulbDriver sisältää ohjainluokat PlayBulbiin yhdistämiseksi BLE: n kautta

pyBulbDriveria voidaan käyttää myös kaikkiin muihin yleisiin projekteihin, koska se sisältää vain koodin PlayBulb -yhteyksien skannaamiseen ja määrittämiseen.

Tärkeimmät sovellusliittymät sovellusliittymälle:

  • scanForBulb (laitteen nimi: merkkijono)> PlayBulbin tai PlayBulbsin etsiminen laitteen nimen kautta
  • setBulbColor (s: int, r: int, g: int, b: int)> Kirkkauden ja RGB -värin (0-255) määrittäminen
  • setBulbEffect (s: int, r: int, g: int, b: int, mode: int, onbeat: int, offbeat: int)> Samanlainen kuin setBulbColor, mutta sisältää tehosteen tyypin ja nopeuden. Jos haluat tietää lisää, katso väriprotokollan tehosteet

Tästä luokasta löydät myös muita apumenetelmiä, jotka on tarkoitettu tietojen eheyden tarkistamiseen eikä käyttöliittymään

  • convertRGBToHexaCmd (s, r, g, b)
  • convertIntToHex (luku)
  • checkModeAndSpeed (tila, epätasainen, onbeat)
  • tarkistuksetRGBInBounds (s, r, g, b)

pyBulbServer.py

pyBulbServer paljastaa käyttäjäsovellusliittymän RESTful -hyperlinkkeihin käyttämällä PUT: ta ja JSONia tietojen lähettämiseen ja vastaanottamiseen pyBulbDriverille. Myös BLE -yhteyden skannaus ja alustus suoritetaan, kun palvelin aktivoidaan.

pyBulbResource (Resource) kanavoi puhelut REST -palvelimelle määrittämällä bulb -komennon värin ja tehosteen avulla.

Esimerkki tehosteen komentamisesta:

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

Lopuksi pyBulbMessenger on vastuussa sähke -älypuhelinasiakkaaseen liitetyn sähkebotin liittämisestä. Lisätietoja sähkebotin määrittämisestä ja siihen yhdistämisestä on osoitteessa

cmdHandler (botti, päivitys) on tekstikomentojen määritelmä ja yhteys PlayBulbiin RESTful -sovellusliittymän kautta.

Tällä hetkellä projektissa on vain tekstiä, toinen tavoite on myös lähettää äänitettyjä ääniviestejä, jotka lähetettäisiin puheentunnistimeen muiden komentojen aktivoimiseksi (ei vielä toteutettu).

Vaihe 3: Johtopäätös

Nykyinen arkkitehtuurisuunnittelu koski enemmän yksinkertaistamista kuin skaalautuvuutta. Ryhmäyhteydet puuttuvat edelleen, ja myös muita sovelluksia, jotka koskevat polttimon lähettämistä joko suoraan komentoon tai leikkisään vuorovaikutukseen, tutkitaan edelleen.

Tilaamalla git repon tai seuraamalla näitä päivityksiä saat lisätietoja. Syy tällaiseen hankkeeseen oli liittää playBulb ja luoda RESTful -käyttöliittymä IoT: n (esineiden internet -skenaario) kehittämisen helpottamiseksi, mutta myös avata mahdollisuus käyttää erilaisia tapoja käyttää IM Client -sähköpostia, kuten kuvia, ääntä ja tekstiä vuorovaikutukseen laitteiden kanssa tutkimuksen näkökulmasta.

Suositeltava: