Sisällysluettelo:
Video: TextPlayBulb: REST -käytössä PlayBulb Raspberry Pi 3: n, BLE: n ja sähkeen avulla: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
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:
- pyBulbDriver: Yhdistä PlayBulbiin BLE -gatttoolin ja pythonin kautta.
- pyBulbServer: pyBulbDriverin avulla paljastetaan peliohjaimen ohjaus REST API: n kautta.
- 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:
Sähkeen liekkihälytysrobotti: 5 vaihetta
Sähke Flame Alarm Bot: Tässä artikkelissa esitän IoT -projektin, jonka avulla voidaan havaita liekki ja lähettää ilmoitus käyttäjän sähkeeseen. Mitä tarvitset: Liekintunnistinmoduuli
Suuntautumisen opiskelu Raspberry Pi: n ja MXC6226XU: n avulla Pythonin avulla: 6 vaihetta
Suuntautumisen opiskelu Raspberry Pi: n ja MXC6226XU: n avulla Pythonin avulla: Äänet ovat yksinkertaisesti osa ajoneuvon työskentelyä. Hyvin viritetyn ajoneuvomoottorin humina on upea ääni. Renkaiden kulutuspinnat nurisevat tietä vasten, tuuli huutaa peilien, muovikappaleiden ja kojelaudan kappaleiden ympäri
Kiihtyvyyden seuranta Raspberry Pi: n ja AIS328DQTR: n avulla Pythonin avulla: 6 vaihetta
Kiihtyvyyden seuranta Raspberry Pi: n ja AIS328DQTR: n avulla Pythonin avulla: Kiihtyvyys on rajallinen, mielestäni joidenkin fysiikan lakien mukaan.- Terry Riley Gepardi käyttää hämmästyttävää kiihtyvyyttä ja nopeita nopeuden muutoksia jahtaessaan. Nopein olento rannalla silloin tällöin käyttää huipputahdiaan saaliin saamiseen
Kiihtyvyyden vaihtelujen seuranta Raspberry Pi: n ja MMA7455: n avulla Pythonin avulla: 6 vaihetta
Kiihtyvyyden vaihtelujen seuranta Raspberry Pi: n ja MMA7455: n avulla Pythonin avulla: En kompastunut, testasin painovoimaa. Se toimii edelleen … Esitys kiihtyvästä avaruussukkulastä selvensi, että sukkulan korkeimmassa kohdassa oleva kello valitsee nopeammin kuin tukikohdan painovoima -ajan laajenemisen vuoksi. Jonkin verran
Lue ja kirjoita sarjaportista Raspberry Pi: n avulla Wemosin avulla: 5 vaihetta
Lue ja kirjoita sarjaportista Raspberry Pi: n avulla Wemosin käyttäminen: Viestintä Raspberry Pi: n kanssa Wemos D1 mini R2: n avulla