0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjeIoT Robot uporablja Bluetooth med Raspberry Pi in Micro:bit

    IoT Robot uporablja Bluetooth med Raspberry Pi in Micro:bit

    IoT robot uporablja Bluetooth komunikacijo med Raspberry Pi in Microbit platformama preko Telegram aplikacije. Najprej bi se rad zahvalil bralcem za močen odziv na moj predhodni članek, ki je opisoval projekt IoT vrt. Nadalje bi se rad zahvalil kolegu Barry Byfordu (ukbaz) za izjemno Python “bluezero” knjižnico.

    Dan po tem, ko sem napisal članek za IoT vrt in ga objavil na spletni strani hackster [1], se je 100 novih uporabnikov prijavilo v skupino t.me/iotgarden[2], ki so pomagali spremljati vrt, ki so fotografirali stanje in zalivali rastline. Vsem, ki niste prebrali članka o IoT vrtu, vam priporočam, da ga preberete.

    Kmalu sem ugotovil, da je po začetnem navdušenju zanimanje za IoT vrt pošlo. Obiskovalci so zapuščali spletno stran – kar je nekako razumljivo, saj ni bilo veliko za narediti. Ugnezdene omejitve za preprečitev predoziranja vode in prepogostega vklapljanja svetila – kar sta bili najpogostejši aktivnosti obiskovalcev, se je omejilo na fotografiranje rastlin. In obiskovalci so se kmalu naveličali tudi tega.

    Zato sem se odločil, da dodam robota z namenom animacije – robota lahko zaženemo in ustavimo na daljavo s strani katerega koli uporabnika in robot se naključno premika 1 minuto. Večino dni lahko nadzirate robota tako, da se pridružite naši Telegram skupini [3] in vtipkate: /start

    Kaj potrebujemo pri tem projektu:

    • Hardverske komponente:
    • DFRobot Micro Maqueen
    • BBC micro:bit board
    • Raspberry Pi 3 Model B

    Softverske aplikacije in spletne storitve:

    • Telegram App

    Odprlo se bo novo okno, kjer lahko kliknete na tipko “ StrtRobotRoy”. Počakajte približno 1 minuto in kratek filmček robota, ki se naključno prevaža v njegovi škatli bo poslan na skupino. To bo video posnetek, ki ste ga vi povzročili. Žal še nimam možnosti, da bi to potekalo v živo.

    Microbit robot
    Robot, ki ga uporabljam za ta projekt se imenuje micro:Maqueen in ga je naredil DF Robot. Uporablja BBC Micro:Bit modul kot krmilnik. Še nekaj mi je všeč pri Maqueen robotski platformi: to je enostavnost sestavljanja in enostavnost programiranja z uporabo Microsoftovega Makecode programa, ki temelji na spletnem brskalniku, v katerem sestavljamo programske bloke tako, da služijo neki funkciji. Program je primeren za otroke in mladino, da jih vpelje v programiranje in logiko.

    Še ena odlična reč glede Maqueen robota je njegova cena – je precej poceni in predstavlja odlično darilo. Oglejte si cene na spletni povezavi [4].

    Poleg tega je Maqueen zelo kvalitetno narejen, trmast robot – ki sem ga uporabljal preko 6 mesecev in to velikokrat na prostem na balkonu izpostavljen vremenskim neprilikam. Kot sem že omenil, Maqueen uporablja BBC micro:bit modul kot krmilnik. Micro:bit sam po sebi je izjemen krmilnik. Vsebuje vgrajen Bluetooth vmesnik, ki ga bomo uporabili v tem projektu. Skupaj z Bluetooth vmesnikom ima Micro:bit tudi še veliko dodatnih lastnosti, kot so recimo LEDice za prikazovanje teksta ali simbolov, pospeškometer, kompas, senzor svetlobe in temperature itd.

    Preveden program, ki teče na Micro:bit krmilniku (na robotu) je napisan z uporabo Microsoft makecode programa, ki se odvija direktno iz spletnega brskalnika. Meni se zdi izjemno, da lahko z njim kličete kompleksne storitve, kot je Bluetooth in upravljalniki dogodkov. Porabil sem nekaj časa, da sem razumel kako uporabiti Bluetooth in upravljalnike dogodkov tako, da ne povzročijo runtime napake in na koncu sem to tudi ugotovil.

    Vse, kar morate narediti, ko ste razvrstili logične bloke in sporočiti robotu, kaj naj počne je to, da snamete hex datoteko in jo zapečete v Flash pomnilnik Micro:bit krmilnika s povezavo Microc:bit krmilnika na USB vašega PC-ja. Nato enostavno primete in spustite hex datoteko v mapo Micro:bit. Program, ki ga uporabljam, je na voljo na spletni povezavi [5]. Lahko jo mirno prilagodite in spremenite po svojih zahtevah in željah.

    Bluetooth vmesnik z Raspberry Pi
    Zame je bil najbolj zanimiv in zahteven del projekta programiranje bluetooth komunikacije med Raspberry Pi in Micro:bit. Med raziskovanjem sem naletel na to neverjetno python knjižnico, imenovano blue zero, ki jo je napisal Barry Byford, kar mi je življenje olajšalo.

    Barry in jaz sva si izmenjala nekaj e-poštnih sporočil, ki so razpravljala o kodi, in na koncu je posodobil svojo knjižnico, ki je zame popolnoma delovala. Najprej namestite knjižnico python bluetooth iz GitHub-a, ne pozabite potegniti veje event_service, ki je trenutno eksperimentalna in ni združena v glavno vejo. Spodaj sem zagotovil direktno povezavo za prenos [6].

    Prepričajte se, da ste namestili to knjižnico s pomočjo »sudo«, tj. korenskega dostopa, ker je za uporabo Bluetooth potreben korenski dostop. Odzipajte zgornjo mapo v kateri koli imenik na vašem Pi-ju, brskajte po njej (CD) in vnesite:

    sudo python3 setup.py install

    Naslednji korak bo konfiguracija Bluetooth vmesnika na Raspberry Pi. Če želite začeti z Bluetooth vmesnikom na Raspberry Pi, vnesite naslednje ukaze:

    sudo hciconfig hci0 up
    systemctl status bluetooth
    sudo systemctl start bluetooth

    Tukaj preberite navodila za seznanjanje, da se seznanite z Microbitom: https://ukbaz.github.io/howto/ubit_workshop.html

    Zdaj ste že precej naredili – če sledite zgornjim navodilom, bi morali imeti možnost povezave Raspberry Pi z Micro:bitom. Zdaj lahko podatke o Bluetooth adapterju, ki temeljijo na naslovih Bluetooth-adapterja (naprave), posodobite v pythonu v spodnji kodi in preizkusite, ali se Mikro:bit odziva. Naslednje lahko prenesete najnovejšo različico kode projekta IoT Garden – ki podpira robota in od tu se začnete sami igrati z njim.

    Program
    In končno, kar ste vsi čakali, moja dejanska koda za Community IoT Garden robota. Na spletni strani spodaj boste našli 4 zip datoteke. Shranite jih v isto mapo ko boste zagnali:

    • BluetoothMicrobitController.py – to je testna datoteka, ki vam bo pomagala testirati vmesnik med Raspberry Pi in Micro:bit krmilnikom.
    • zenIoTBot_v3_1a.py – to je glavna datoteka, ki jo boste zagnali. Uporabiti boste morali svoj žeton za telegram in darksky ključ.
    • NDVI.py – to vam pomaga do NDVI slik
    • iotcontroller.py – tukaj je napisana večina logike.

    Če želite izvedeti več o kodi, obiščite moj prejšnji članek: IoT Community Garden.

    Če želite zagnati kodo na Raspberry Pi, vstavite vse tri (2, 3, 4) datoteke v eno mapo, odprite terminal in vnesite:

    sudo python3 zenIoTBot_v3_1a.py &

    Izjava o omejitvi odgovornosti: spodnjo izvorno kodo pythona brezplačno zagotovi Zen Of All LLC ob registraciji, uporabniki kode pa jo lahko spremenijo, kot se jim zdi primerno. Zen Of All LLC ne prevzema nobene pravne odgovornosti ali odgovornosti do kode, njegovega vzdrževanja, uporabe ali kakršnih koli sprememb s strani uporabnikov.

    Preprosto povedano: to kodo sem zelo hitro napisal, da sem preizkusil svoj dokaz koncepta ideje – prosim, da jo natančno preberete in uredite glede na svoje potrebe. Ne odgovarjam, če se kaj zlomi.

    Za to kodo boste morali ustvariti prijavo za to spletno mesto. Kodo najdete na povezavi izvirnega članka: https://zenofall.com/iot-robot-using-bluetooth-communication-between-raspberry-pi-and-microbit/

    Povzeto po:

    Reference:

    Hackster Inc.
    2020_281_40
    www.hackster.io