Obsah:
- Zásoby
- Krok 1: Vlastnosti
- Krok 2: Krok 1: Informácie o doske IoT (A)
- Krok 3: Krok 2: Ako ho zostaviť
- Krok 4: Krok 3: Pripojte anténu
- Krok 5: Krok 4: Konfigurácia prostredia a softvéru OS
- Krok 6: Krok 5: Konfigurácia I2C (Raspberry Pi)
- Krok 7: Krok 6: Informácie o informáciách o registri
- Krok 8:
- Krok 9: Pokyny:
- Krok 10: Ako používať modul GPS s Gpsd (Raspberry Pi)
- Krok 11: Ako používať modul GPS s C (Raspberry Pi)
- Krok 12: Zostavte to
- Krok 13: Ako používať modul GPS v Pythone (Raspberry Pi)
- Krok 14: Ako používať modul GSM s PPPd (Raspberry Pi)
- Krok 15: Ako diagnostikovať môj modul GSM (Raspberry Pi)
- Krok 16: Ako používať Lora TX & RX s C (Raspberry Pi)
- Krok 17: Špeciálny popis šírky pásma I2C
- Krok 18: Hotovo
Video: [Séria Docker Pi] Ako používať modul uzla IoT (A) na Raspberry Pi: 18 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Čo je modul IoT Node (A)?
IoT Node (A) je jedným z modulov Docker Pi série.
IOT uzol (A) = GPS/BDS + GSM + Lora.
I2C priamo ovláda Lora, odosiela a prijíma údaje, ovláda modul GSM/GPS/BDS prostredníctvom SC16IS752, základná doska potrebuje iba podporu I2C.
Podporujte Raspberry Pi a ďalšie podobné produkty.
Zásoby
1x Raspberry Pi 2B/3B/3B+/4B/3A+/Zero/Zero W
1x produkt série Docker Pi: modul IoT Node (A)
1x 16GB TF karta triedy 10
1x napájací zdroj 5V/2,5A (5V@3A pre Pi 4B)
Krok 1: Vlastnosti
- Séria Docker Pi
- Programovateľné
- Ovládanie priamo (bez programovania)
- Rozšírte piny GPIO
- Podpora GPS/BDS
- Podpora GSM
- Podpora Lora
- Môžete stohovať s inou doskou Stack
- Nezávisle na hardvéri základnej dosky (vyžaduje podporu I2C)
Krok 2: Krok 1: Informácie o doske IoT (A)
IoT Node (A) je jedným z modulov Docker Pi série.
IOT uzol (A) = GPS/BDS + GSM + Lora.
I2C priamo ovláda Lora, odosiela a prijíma údaje, ovláda modul GSM/GPS/BDS prostredníctvom SC16IS752, základná doska potrebuje iba podporu I2C. Podpora Raspberry Pi a ďalších podobných produktov.
Môžete teda vytvoriť komunikačné zariadenie stredného rozsahu pomocou dvoch z nich.
a tiež môžete zistiť polohu svojho zariadenia pomocou integrovaného modulu GPS.
Vložte SIM kartu, stane sa stanicou vysielača prostredníctvom SMS správy.
Krok 3: Krok 2: Ako ho zostaviť
Zostavenie je veľmi jednoduché, pretože má „HAT“dizajn, stačí ho položiť na malinový pi a prepojiť pomocou kolíkov GPIO, ako „klobúk“na malinovom pi, aby ste nemuseli pridávať hmotu. drôt.
Krok 4: Krok 3: Pripojte anténu
Pre tento modul IoT (A) sú 3 kusy antény, jedna z nich je pre modul loar, je to anténa typu SMA a jedna z nich je pre vás dobrá GPS, je to anténa so štvorcovým boxom, ktorá má port IPX. a posledný je pre modul SIM (A9G), je to malá anténa s portom IPX. pripojte anténu a namontujte klobúk na svoj malinový pi.
Ako zostaviť Namontujte dosku Iot Node (A) k Raspberry Pi
Pripojte anténu GPS a anténu Lora k portu IPX.
- E1, GPS-ANTANA-IPX
- E3, LoRa-ANTANA-IPX
Zaskrutkuje anténu GPRS na port SMA.
Krok 5: Krok 4: Konfigurácia prostredia a softvéru OS
V tomto kroku musíte urobiť tieto veci:
1. Stiahnite si najnovší súbor s obrázkom z: www.raspberrypi.org/downloads
2. Rozbaľte ho.
3. Flashujte svoju TF kartu pomocou najnovšieho obrázku pomocou nástroja na leptanie
4. Upravte súbor /boot/config.txt a pridajte tento odsek.
dtoverlay = sc16is752-i2c
5. Nahradí súbor /boot/overlay/sc16is752-i2c.dtbo týmto súborom:
wiki.52pi.com/index.php/File:Sc16is752-i2c…
PS: nezabudnite ho rozbaliť a vložiť do priečinka/boot/overlay/a nahradiť starý.
6. Reštartujte počítač Raspberry Pi.
Krok 6: Krok 5: Konfigurácia I2C (Raspberry Pi)
Spustite sudo raspi-config a podľa pokynov nainštalujte podporu i2c pre jadro ARM a linuxové jadro Prejdite na Možnosti rozhrania
Krok 7: Krok 6: Informácie o informáciách o registri
GPRS sekcia
Nízka spotreba energie, pohotovostný spánkový prúd <1mA2.
Podpora štyroch frekvenčných pásiem GSM/GPRS, vrátane 850, 900, 1800, 1900 MHz
GPRS trieda 10
Podpora dátovej služby GPRS, maximálna rýchlosť prenosu, sťahovanie 85,6 Kbps, nahrávanie 42,8 Kbps
Podpora štandardných príkazov GSM07.07, 07.05 AT a prístup na sériový port prostredníctvom konverzie rozhrania I2C
Príkazy AT podporujú štandardné príkazové porty AT a TCP/IP
Sekcia GPSPodpora polohovania kĺbov BDS/GPS
Podpora A-GPS, A-BDS
Podpora štandardnej SIM karty
Sekcia LORA Prenosová vzdialenosť: 500 metrov (RF parametre: 0x50 @ China City)
Podpora modulačných metód FSK, GFSK, MSK, GMSK, LoRaTM a OOK
Extrémne vysoká citlivosť prijímača až -141 dBm
Podpora detekcie preambuly
Paketový motor s CRC, až 256 bajtov
Indikátor transceiveru LORA
Easy TX/RX od Docker Pi
Krok 8:
Modul A9G
Modul A9G ponúka dva sériové porty.
Na komunikáciu použite most I2C UART.
Názov modulu sériového portu
- /dev/ttySC0 GSM
- /dev/ttySC1 GPS/BDS
Zaregistrovať mapu
- Hodnota funkcie registrácie adresy
- 0x01 LORA_TX1 Lora TX Buffer 1 - údaje používateľa
- 0x02 LORA_TX2 Lora TX Buffer 2 - údaje používateľa
- 0x03 LORA_TX3 Lora TX Buffer 3 - údaje používateľa
- 0x04 LORA_TX4 Lora TX Buffer 4 - údaje používateľa
- 0x05 LORA_TX5 Lora TX Buffer 5 - údaje používateľa
- 0x06 LORA_TX6 Lora TX Buffer 6 - údaje používateľa
- 0x07 LORA_TX7 Lora TX Buffer 7 - údaje používateľa
- 0x08 LORA_TX8 Lora TX Buffer 8 - údaje používateľa
- 0x09 LORA_TX9 Lora TX Buffer 9 - údaje používateľa
- 0x0a LORA_TX10 Lora TX Buffer 10 - údaje používateľa
- 0x0b LORA_TX11 Lora TX Buffer 11 - údaje používateľa
- 0x0c LORA_TX12 Lora TX Buffer 12 - údaje používateľa
- 0x0d LORA_TX13 Lora TX Buffer 13 - údaje používateľa
- 0x0e LORA_TX14 Lora TX Buffer 14 - údaje používateľa
- 0x0f LORA_TX15 Lora TX Buffer 15 - údaje používateľa
- 0x10 LORA_TX16 Lora TX Buffer 16 - údaje používateľa
- 0x11 LORA_RX1 Lora RX Buffer 1 - údaje používateľa
- 0x12 LORA_RX2 Lora RX Buffer 2 - údaje používateľa
- 0x13 LORA_RX3 Lora RX Buffer 3 - údaje používateľa
- 0x14 LORA_RX4 Lora RX Buffer 4 - údaje používateľa
- 0x15 LORA_RX5 Lora RX Buffer 5 - údaje používateľa
- 0x16 LORA_RX6 Lora RX Buffer 6 - údaje používateľa
- 0x17 LORA_RX7 Lora RX Buffer 7 - údaje používateľa
- 0x18 LORA_RX8 Lora RX Buffer 8 - údaje používateľa
- 0x19 LORA_RX9 Lora RX Buffer 9 - údaje používateľa
- 0x1a LORA_RX10 Lora RX Buffer 10 - údaje používateľa
- 0x1b LORA_RX11 Lora RX Buffer 11 - údaje používateľa
- 0x1c LORA_RX12 Lora RX Buffer 12 - údaje používateľa
- 0x1d LORA_RX13 Lora RX Buffer 13 - údaje používateľa
- 0x1e LORA_RX14 Lora RX Buffer 14 - údaje používateľa
- 0x1f LORA_RX15 Lora RX Buffer 15 - údaje používateľa
- 0x20 LORA_RX16 Lora RX Buffer 16 - údaje používateľa
- 0x01 - 0x10 Iba na zápis.
- 0x11 - 0x20 Iba na čítanie.
Krok 9: Pokyny:
L_SET (iba na zápis)
- Napíšte 1, aby ste nastavili parametre od 0x22 do modulu LORA.
- Napíšte 0 nemá vplyv
G_RESET (iba na zápis)
- Zapíšte 1, aby ste resetovali modul A9G
- Napíšte 0 nemá vplyv
L_RXNE (čítanie a zápis)
- Napíšte 1 príčinu chyby
- Na vymazanie napíšte 0
- Čítanie 1 znamená, že boli prijaté údaje. Údaje získate z registra 0x11 - 0x20.
- Čítanie 0 znamená, že teraz nie sú k dispozícii žiadne údaje.
L_SET (iba na zápis)
- Na odoslanie údajov napíšte 1, pred odoslaním prosím vyplňte údaje v registri 0x01 - 0x10.
- Napíšte 0 nemá vplyv
Krok 10: Ako používať modul GPS s Gpsd (Raspberry Pi)
Ako používať modul GPS s gpsd (Raspberry Pi)
Najprv vymeňte /boot/overlays/sc16is752-i2c.dtbo a uistite sa, že I2C funguje správne.
- Vymeňte sc16is752-i2c.dtbo
- Konfigurácia I2C
- Nainštalujte nástroje gpsd.
Otvorte terminál a zadajte tento príkaz:
sudo apt install gpsd gpsd-clients
Upravte súbor/etc/default/gpsd a pridajte nasledujúce parametre:
- DEVICES = "/dev/ttySC1"
- GPSD_OPTIONS = "-F /var/run/gpsd.sock"
Ak chcete resetovať modul GPRS, zadajte príkaz i2cset -y 1 0x16 0x23 0x40.
Skript Python pre otvorené GPS:
import serialimport os import time # Reštartujte službu gpsd. os.system ("sudo systemctl restart gpsd.socket") # Otvorte sériový port ser = serial. Serial ('/dev/ttySC0', 115200) i = 0 ak ser.isOpen == False: ser.open () skúste: vytlačte („Zapnite GPS …“) pri True: ser.write (str.encode („AT+GPS = 1 / r")) size = ser.inWaiting () if size! = 0: ticks = time.time () response = ser.read (size) gps = str (response, encoding = "utf -8") if (gps.find ("OK")! = -1): os.system ("sudo cgps -s") exit () else: i = i + 1 print ("Čakanie na zapnutie GPS, ak je čas príliš dlhý, vyskúšajte vonku:" + str (i)) ser.flushInput () time.sleep (1) okrem KeyboardInterrupt: ser.flushInput () ser.close ()
Uložte ho a spustite:
python3 GPS.py
Krok 11: Ako používať modul GPS s C (Raspberry Pi)
Nainštalujte nástroje gpsd
sudo apt-get install libgps-dev
Vytvorte zdrojový kód a pomenujte ho „gps.c“
#include #include #include
#zahrnúť
#zahrnúť
int main ()
{int rc; struct timeval tv; struct gps_data_t gps_data; if ((rc = gps_open ("localhost", "2947", & gps_data)) == -1) {printf ("kód: %d, dôvod: %s / n", rc, gps_errstr (rc)); návrat EXIT_FAILURE; } gps_stream (& gps_data, WATCH_ENABLE | WATCH_JSON, NULL);
zatiaľ čo (1)
{ / * počkajte 2 sekundy na prijatie údajov * / if (gps_waiting (& gps_data, 2000000)) { / * prečítané údaje * / if ((rc = gps_read (& gps_data)) == -1) {printf ("chyba pri čítaní údaje GPS. kód: %d, dôvod: %s / n ", rc, gps_errstr (rc)); } else { /* Zobrazte údaje z prijímača GPS. */ if ((gps_data.status == STATUS_FIX) && (gps_data.fix.mode == MODE_2D || gps_data.fix.mode == MODE_3D) &&! isnan (gps_data.fix.latitude) &&! isnan (gps_data.fix.longitude)) { /* gettimeofday (& tv, NULL); EDIT: tv.tv_sec nie je v skutočnosti časová pečiatka! */
printf ("zemepisná šírka: %f, zemepisná dĺžka: %f, rýchlosť: %f, časová pečiatka: %lf / n", gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.speed, gps_data.fix.time);
// EDIT: Nahradené tv.tv_sec za gps_data.fix.time} else {printf ("nie sú k dispozícii žiadne údaje GPS / n"); }}} spánok (3); } / * Keď skončíte … * / gps_stream (& gps_data, WATCH_DISABLE, NULL); gps_close (& gps_data); návrat EXIT_SUCCESS; }
Krok 12: Zostavte to
Zostaviť!
gcc gps.c -lm -lgps -o gps
Exec It!
./gps
Krok 13: Ako používať modul GPS v Pythone (Raspberry Pi)
Nasledujúci kód sa odporúča vykonať pomocou Pythonu 3 a nainštalovať knižnicu gpsd-py3 a GPS 2D/3D opravu:
import gpsd
# Pripojte sa k miestnemu gpsd
gpsd.connect ()
# Získať pozíciu GPS
packet = gpsd.get_current ()
# Dostupné údaje nájdete v vložených dokumentoch pre GpsResponse
vytlačiť (packet.position ())
Krok 14: Ako používať modul GSM s PPPd (Raspberry Pi)
A) Najprv vymeňte /boot/overlays/sc16is752-i2c.dtbo a uistite sa, že I2C funguje správne.
- Vymeňte sc16is752-i2c.dtbo
- Konfigurácia I2C
B) Na vynulovanie modulu GPRS zadajte príkaz i2cset -y 1 0x16 0x23 0x40.
Po spustení príkazu musíte chvíľu počkať, asi 10 sekúnd
Na resetovanie môžete použiť aj nasledujúcu metódu.
C) Zadajte príkaz
sudo apt install ppp
nainštalovať nástroje ppp.
D) Skopírujte súbor/etc/ppp/peers/provider do/etc/ppp/peers/gprs
E) Upravte súbor/etc/ppp/peers/gprs
- Riadok 10: Užívateľa konzultujte s poskytovateľom služieb (Príklad: cmnet).
- Riadok 15: Požiadajte apn o poskytovateľa služieb (Príklad: cmnet).
- Riadok 18 - Riadok 24: Odporúčané nastavenie
F) Upravte/etc/chatscripts/gprs (zmeňte riadok 34 na riadok 35, číslo dialógového okna NEMUSÍ byť *99#)
G) Na vytočenie zadajte príkaz sudo pppd call gprs.
H) Skontrolujte konfiguráciu ppp od svojho ISP.
I) Zadajte príkaz ping -I ppp0 8.8.8.8 otestujte svoju sieť (Ak je k dispozícii internet a tabuľka smerov je správna)
J) Udržujte dobrý signál GSM, inak dôjde k nasledujúcemu.
Krok 15: Ako diagnostikovať môj modul GSM (Raspberry Pi)
Nasledujúci kód sa odporúča vykonať pomocou Pythonu 3 a nainštalovať knižnicu smbus:
import serialimport čas import smbus operátor importu import os
vytlačiť („Čaká sa na inicializáciu …“)
bus = smbus. SMBus (1)
bus.write_byte_data (0x16, 0x23, 0x40)
ser = serial. Serial ('/dev/ttySC0', 115200)
ak ser.isOpen == False:
ser.open () try: print ('-'*60) print ("Inicializácia modulu GPRS A9G.") print ("GSM pripojenie …") time.sleep (3) i = 0 while True: ser.write (str.encode ("AT+CCID / r")) size = ser.inWaiting () if size! = 0: ticks = time.time () response = ser.read (size) ccid = str (response, encoding = "utf -8 ") tlač (ccid) else: i = i + 1 ser.flushInput () time.sleep (1) okrem KeyboardInterrupt: ser.close ()
Vykonajte testovací skript, na základe výsledkov implementácie môžeme diagnostikovať modul GSM. Napríklad nasledujúci návrat, chyba CME ERROR 53 nám hovorí, že výkon nie je dobrý. Kód CME = Chyby súvisiace so zariadením GSM
Skript má samozrejme aj funkciu resetovania. Ak dokážete správne zobraziť CCID, reset je dokončený.
Krok 16: Ako používať Lora TX & RX s C (Raspberry Pi)
Nasledujúci kód sa odporúča vykonať pomocou Pythonu 3 a nainštalovať knižnicu smbus.
Musí byť prenesený medzi dvoma uzlami IOT (A). Samotný odoslaný obsah nemôže byť prijatý sám. Uložte ho ako py skript na vykonanie.
Ako odoslať: Po vyplnení údajov do registra 0x01 - 0x10 nastavte bit L_TX tak, aby začal odosielať údaje.
import timeimport smbus import os import sys
bus = smbus. SMBus (1)
skús:
data_list = [170, 85, 165, 90] # zapíšte údaje do registra a potom budú údaje odoslané. pre index v rozsahu (1, len (zoznam_ dát) + 1): bus.write_byte_data (0x16, index, zoznam_ údajov [index - 1]) print ("LORA odoslať údaje do %d registra %d údajov" %(index, zoznam_ dát [index - 1])) bus.write_byte_data (0x16, 0x23, 0x01) okrem KeyboardInterrupt: sys.exit ()
Ako odoslať príjem: Skontrolujte bit L_RXNE. Ak je nastavený, prišli nové údaje, tento príznak musí byť ručne vymazaný
import timeimport smbus import os import sys
bus = smbus. SMBus (1)
recv_data =
skús:
if bus.read_byte_data (0x16, 0x23) & 0x02: # manually clear L_RXNE bus.write_byte_data (0x16, 0x23, 0x00) register_list = [0x11, 0x12, 0x13, 0x14] # read out data for index in range (0x11, len (register_list) + 0x11): recv_data.append (bus.read_byte_data (0x16, register_list [index - 0x11]))
vytlačiť („Prijaté údaje:“)
print (recv_data) else: print ("Zatiaľ neboli prijaté žiadne údaje ~") okrem KeyboardInterrupt: sys.exit ()
Krok 17: Špeciálny popis šírky pásma I2C
Limit rýchlosti I2C je 400 kHz, vzhľadom na protokol I2C, takže efektívna šírka pásma jedného zariadenia je nižšia ako 320 kb / s, efektívna šírka pásma viacerých zariadení je nižšia ako 160 kb / s. Limit rýchlosti mosta I2C UART Bridge je 115 200 b / s. Keď GPS a GSM pracovať súčasne, šírka pásma I2C je nedostatočná, pretože 115,2 kb / s * 2 = 230,4 kb / s, takže niektoré údaje budú pretečené. Zníženie prenosovej rýchlosti komunikácie GPS a GSM môže zlepšiť nedostatok šírky pásma komunikácie. Pripojenie ďalších modulov DockerPi môže zaberať extra šírka pásma I2C. Rýchlosť dát v sieti je zvyčajne nízka, takže šírka pásma GSM nie je plná, takže nie je problém s pretečením.
Krok 18: Hotovo
Dúfam, že sa vám to páči a zvládnete to.
nájdete ho tu:
Amazon
Nočné svetlo : https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S 4kanálová reléová doska: https://www.amazon.co.uk/dp/B07MV1TJGR?ref=myi_title_dp Napájacia doska : Https: //www.amazon.co.uk/dp/B07TD595VS? Ref = myi_title_dp IoT Node (A) : https://www.amazon.co.uk/dp/B07TY15M1C Sensor HUB : https:// www. ľadová veža amazon.co.uk/dp/B07TZD8B61 :
Odporúča:
Docker Pi Séria dosky s rozbočovačmi senzorov O IOT: 13 krokov
Rada docker Pi rady Sensor Hub Board o IOT: Dobrý deň, všetci chlapci. V dnešnej dobe takmer všetko súvisí s IOT. O tom niet pochýb, naša doska radu DockerPi podporuje aj IOT. Dnes chcem predstaviť sériu DockerPi spoločnosti SensorHub, ako použiť na vás IOT. Spustím túto položku, ktorá je založená na
Visuino Ako používať tlačidlo ako vstup na ovládanie vecí ako LED: 6 krokov
Visuino Ako používať tlačidlo ako vstup na ovládanie vecí ako LED: V tomto návode sa naučíme, ako zapnúť a vypnúť LED diódu jednoduchým tlačidlom a Visuino. Pozrite si ukážkové video
Ako používať terminál Mac a ako používať kľúčové funkcie: 4 kroky
Ako používať terminál Mac a ako používať kľúčové funkcie: Ukážeme vám, ako otvoriť terminál MAC. V termináli vám tiež ukážeme niekoľko funkcií, ako napríklad ifconfig, zmena adresárov, prístup k súborom a arp. Ifconfig vám umožní skontrolovať vašu IP adresu a vašu MAC adresu
ESP8266 IoT riadiaceho servo uzla-ČERVENÉ MQTT (Mosquitto): 6 krokov
ESP8266 Riadiaci servo uzol-ČERVENÝ MQTT (Mosquitto) IoT: Tentokrát bola integrácia ESP8266 a platformy Node-RED integrovaná v tomto prípade servomotora ovládaného servomotorom PWM s otáčaním od 0 do 180 stupňov. Od webového tvorcu HMI alebo SCADA na Node-Red-Dashboard, ktorý ako základ používa
Ako používať Wiimote ako počítačovú myš pomocou sviečok ako senzora !!: 3 kroky
Ako používať Wiimote ako počítačovú myš pomocou sviečok ako senzora !!: Táto príručka vám ukáže, ako prepojiť diaľkový ovládač Wii Remote (Wiimote) s počítačom a používať ho ako myš