7.3 KiB
Lue GPS-dataa - Virtuaalinen IoT-laitteisto
Tässä oppitunnin osassa lisäät GPS-anturin virtuaaliseen IoT-laitteeseesi ja luet siitä arvoja.
Virtuaalinen laitteisto
Virtuaalinen IoT-laite käyttää simuloitua GPS-anturia, joka on saatavilla UARTin kautta sarjaportin avulla.
Fyysisessä GPS-anturissa on antenni, joka vastaanottaa GPS-satelliittien radiotaajuuksia ja muuntaa GPS-signaalit GPS-dataksi. Virtuaalinen versio simuloi tätä antamalla sinun joko asettaa leveyspiirin ja pituuspiirin, lähettää raakoja NMEA-lauseita tai ladata GPX-tiedoston, jossa on useita sijainteja, jotka voidaan palauttaa peräkkäin.
🎓 NMEA-lauseet käsitellään myöhemmin tässä oppitunnissa
Lisää anturi CounterFitiin
Virtuaalisen GPS-anturin käyttämiseksi sinun täytyy lisätä sellainen CounterFit-sovellukseen.
Tehtävä - lisää anturi CounterFitiin
Lisää GPS-anturi CounterFit-sovellukseen.
-
Luo tietokoneellesi uusi Python-sovellus kansioon nimeltä
gps-sensor
, jossa on yksi tiedosto nimeltäapp.py
, sekä Python-virtuaaliympäristö, ja lisää CounterFitin pip-paketit.⚠️ Voit tarvittaessa viitata ohjeisiin CounterFit Python -projektin luomisesta ja asettamisesta oppitunnissa 1.
-
Asenna lisä-Pip-paketti, joka sisältää CounterFit-shimin, joka voi kommunikoida UART-pohjaisten antureiden kanssa sarjayhteyden kautta. Varmista, että asennat tämän terminaalista, jossa virtuaaliympäristö on aktivoitu.
pip install counterfit-shims-serial
-
Varmista, että CounterFit-verkkosovellus on käynnissä.
-
Luo GPS-anturi:
-
Create sensor -laatikossa Sensors-paneelissa avaa Sensor type -valikko ja valitse UART GPS.
-
Jätä Port-asetukseksi /dev/ttyAMA0.
-
Valitse Add-painike luodaksesi GPS-anturin porttiin
/dev/ttyAMA0
.
GPS-anturi luodaan ja se näkyy anturilistassa.
-
Ohjelmoi GPS-anturi
Virtuaalinen IoT-laite voidaan nyt ohjelmoida käyttämään virtuaalista GPS-anturia.
Tehtävä - ohjelmoi GPS-anturi
Ohjelmoi GPS-anturisovellus.
-
Varmista, että
gps-sensor
-sovellus on auki VS Codessa. -
Avaa
app.py
-tiedosto. -
Lisää seuraava koodi
app.py
-tiedoston alkuun yhdistääksesi sovelluksen CounterFitiin:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Lisää tämän alle seuraava koodi tuodaksesi tarvittavat kirjastot, mukaan lukien CounterFitin sarjaporttikirjasto:
import time import counterfit_shims_serial serial = counterfit_shims_serial.Serial('/dev/ttyAMA0')
Tämä koodi tuo
serial
-moduulincounterfit_shims_serial
-Pip-paketista. Se yhdistää/dev/ttyAMA0
-sarjaporttiin, joka on virtuaalisen GPS-anturin UART-portin osoite. -
Lisää tämän alle seuraava koodi lukeaksesi sarjaportista ja tulostaaksesi arvot konsoliin:
def print_gps_data(line): print(line.rstrip()) while True: line = serial.readline().decode('utf-8') while len(line) > 0: print_gps_data(line) line = serial.readline().decode('utf-8') time.sleep(1)
Määritellään funktio nimeltä
print_gps_data
, joka tulostaa sille annetun rivin konsoliin.Seuraavaksi koodi suorittaa ikuisen silmukan, jossa luetaan niin monta tekstiriviä kuin mahdollista sarjaportista jokaisella silmukan kierroksella. Se kutsuu
print_gps_data
-funktiota jokaiselle riville.Kun kaikki data on luettu, silmukka odottaa 1 sekunnin ja yrittää uudelleen.
-
Suorita tämä koodi varmistaen, että käytät eri terminaalia kuin sitä, jossa CounterFit-sovellus on käynnissä, jotta CounterFit-sovellus pysyy käynnissä.
-
Muuta CounterFit-sovelluksessa GPS-anturin arvoja. Voit tehdä tämän jollakin seuraavista tavoista:
-
Aseta Source arvoksi
Lat/Lon
ja määritä tarkka leveyspiiri, pituuspiiri ja satelliittien määrä, joita käytetään GPS-paikannukseen. Tämä arvo lähetetään vain kerran, joten valitse Repeat-ruutu, jotta data toistuu joka sekunti. -
Aseta Source arvoksi
NMEA
ja lisää NMEA-lauseita tekstikenttään. Kaikki nämä arvot lähetetään, ja uuden GGA (paikannus) -lauseen lukemisen välillä on 1 sekunnin viive.Voit käyttää työkaluja, kuten nmeagen.org, näiden lauseiden luomiseen piirtämällä kartalle. Nämä arvot lähetetään vain kerran, joten valitse Repeat-ruutu, jotta data toistuu sekunnin kuluttua siitä, kun kaikki on lähetetty.
-
Aseta Source arvoksi GPX-tiedosto ja lataa GPX-tiedosto, jossa on reittisijainteja. Voit ladata GPX-tiedostoja useilta suosituilla kartta- ja retkeilysivustoilta, kuten AllTrails. Nämä tiedostot sisältävät useita GPS-sijainteja reittinä, ja GPS-anturi palauttaa jokaisen uuden sijainnin 1 sekunnin välein.
Nämä arvot lähetetään vain kerran, joten valitse Repeat-ruutu, jotta data toistuu sekunnin kuluttua siitä, kun kaikki on lähetetty.
Kun olet määrittänyt GPS-asetukset, valitse Set-painike tallentaaksesi nämä arvot anturiin.
-
-
Näet GPS-anturin raakadatan tulostettuna, esimerkiksi seuraavanlaisen:
$GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67 $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
💁 Löydät tämän koodin code-gps/virtual-device -kansiosta.
😀 GPS-anturisovelluksesi onnistui!
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.