6.3 KiB
Soma Data za GPS - Wio Terminal
Katika sehemu hii ya somo, utaongeza kihisi cha GPS kwenye Wio Terminal yako, na kusoma thamani kutoka kwake.
Vifaa
Wio Terminal inahitaji kihisi cha GPS.
Kihisi utakachotumia ni Grove GPS Air530 sensor. Kihisi hiki kinaweza kuunganishwa na mifumo mingi ya GPS kwa kupata maelezo haraka na kwa usahihi. Kihisi hiki kina sehemu mbili - vifaa vya msingi vya kihisi, na antena ya nje iliyounganishwa kwa waya mwembamba ili kupokea mawimbi ya redio kutoka kwa setilaiti.
Hiki ni kihisi cha UART, kwa hivyo kinatuma data ya GPS kupitia UART.
Unganisha kihisi cha GPS
Kihisi cha Grove GPS kinaweza kuunganishwa na Wio Terminal.
Kazi - unganisha kihisi cha GPS
Unganisha kihisi cha GPS.
-
Ingiza mwisho mmoja wa kebo ya Grove kwenye soketi ya kihisi cha GPS. Itaingia kwa njia moja tu.
-
Ukiwa umeondoa Wio Terminal kutoka kwa kompyuta yako au chanzo kingine cha umeme, unganisha mwisho mwingine wa kebo ya Grove kwenye soketi ya upande wa kushoto ya Grove kwenye Wio Terminal ukiangalia skrini. Hii ni soketi iliyo karibu zaidi na kitufe cha kuwasha.
-
Weka kihisi cha GPS mahali ambapo antena iliyounganishwa inaweza kuona anga - ikiwezekana karibu na dirisha lililo wazi au nje. Ni rahisi kupata ishara wazi bila kitu chochote kuzuia antena.
-
Sasa unaweza kuunganisha Wio Terminal kwenye kompyuta yako.
-
Kihisi cha GPS kina LED mbili - LED ya bluu inayowaka wakati data inapotumwa, na LED ya kijani inayowaka kila sekunde moja wakati wa kupokea data kutoka kwa setilaiti. Hakikisha LED ya bluu inawaka unapowasha Wio Terminal. Baada ya dakika chache, LED ya kijani itawaka - kama haitawaka, huenda ukahitaji kuhamisha antena.
Programu ya kihisi cha GPS
Sasa Wio Terminal inaweza kupangwa kutumia kihisi cha GPS kilichounganishwa.
Kazi - panga kihisi cha GPS
Panga kifaa.
-
Tengeneza mradi mpya wa Wio Terminal ukitumia PlatformIO. Uite mradi huu
gps-sensor
. Ongeza msimbo kwenye kazi yasetup
ili kusanidi bandari ya serial. -
Ongeza agizo lifuatalo la kujumuisha mwanzoni mwa faili ya
main.cpp
. Hii inajumuisha faili ya kichwa yenye kazi za kusanidi bandari ya Grove ya upande wa kushoto kwa UART.#include <wiring_private.h>
-
Chini ya hii, ongeza mstari ufuatao wa msimbo ili kutangaza muunganisho wa bandari ya serial kwa bandari ya UART:
static Uart Serial3(&sercom3, PIN_WIRE_SCL, PIN_WIRE_SDA, SERCOM_RX_PAD_1, UART_TX_PAD_0);
-
Unahitaji kuongeza msimbo fulani ili kuelekeza baadhi ya vishikilia ishara vya ndani kwenye bandari hii ya serial. Ongeza msimbo ufuatao chini ya tangazo la
Serial3
:void SERCOM3_0_Handler() { Serial3.IrqHandler(); } void SERCOM3_1_Handler() { Serial3.IrqHandler(); } void SERCOM3_2_Handler() { Serial3.IrqHandler(); } void SERCOM3_3_Handler() { Serial3.IrqHandler(); }
-
Katika kazi ya
setup
chini ya pale ambapo bandari yaSerial
imesanidiwa, sanidi bandari ya serial ya UART kwa msimbo ufuatao:Serial3.begin(9600); while (!Serial3) ; // Wait for Serial3 to be ready delay(1000);
-
Chini ya msimbo huu katika kazi ya
setup
, ongeza msimbo ufuatao ili kuunganisha pini ya Grove kwenye bandari ya serial:pinPeripheral(PIN_WIRE_SCL, PIO_SERCOM_ALT);
-
Ongeza kazi ifuatayo kabla ya kazi ya
loop
ili kutuma data ya GPS kwenye serial monitor:void printGPSData() { Serial.println(Serial3.readStringUntil('\n')); }
-
Katika kazi ya
loop
, ongeza msimbo ufuatao ili kusoma kutoka kwa bandari ya serial ya UART na kuchapisha matokeo kwenye serial monitor:while (Serial3.available() > 0) { printGPSData(); } delay(1000);
Msimbo huu unasoma kutoka kwa bandari ya serial ya UART. Kazi ya
readStringUntil
inasoma hadi tabia ya mwisho, katika kesi hii mstari mpya. Hii itasoma sentensi nzima ya NMEA (sentensi za NMEA zinamalizika na tabia ya mstari mpya). Wakati wote data inaweza kusomwa kutoka kwa bandari ya serial ya UART, inasomwa na kutumwa kwenye serial monitor kupitia kazi yaprintGPSData
. Mara data inapokoma kusomwa,loop
inachelewa kwa sekunde 1 (1,000ms). -
Jenga na pakia msimbo kwenye Wio Terminal.
-
Mara baada ya kupakiwa, unaweza kufuatilia data ya GPS ukitumia serial monitor.
> Executing task: platformio device monitor < --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $BDGSA,A,1,,,,,,,,,,,,,,,*0F $GPGSV,1,1,00*79 $BDGSV,1,1,00*68
💁 Unaweza kupata msimbo huu kwenye folda ya code-gps/wio-terminal.
😀 Programu yako ya kihisi cha GPS imefanikiwa!
Kanusho:
Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI Co-op Translator. Ingawa tunajitahidi kuhakikisha usahihi, tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.