Sadržaj:
- Pribor
- Korak 1: Značajke
- Korak 2: Korak 1: Saznajte o IoT (A) ploči
- Korak 3: Korak 2: Kako ga sastaviti
- Korak 4: Korak 3: Priključite antenu
- Korak 5: Korak 4: Okruženje OS -a i konfiguracije softvera
- Korak 6: Korak 5: Konfiguriranje I2C (Raspberry Pi)
- Korak 7: Korak 6: Upoznajte se s podacima o registru
- Korak 8:
- Korak 9: Upute:
- Korak 10: Kako koristiti GPS modul s GPS -om (Raspberry Pi)
- Korak 11: Kako koristiti GPS modul s C (Raspberry Pi)
- Korak 12: Sastavite ga
- Korak 13: Kako koristiti GPS modul s Pythonom (Raspberry Pi)
- Korak 14: Kako koristiti GSM modul s PPPd (Raspberry Pi)
- Korak 15: Kako dijagnosticirati moj GSM modul (Raspberry Pi)
- Korak 16: Kako koristiti Lora TX & RX s C (Raspberry Pi)
- Korak 17: Poseban opis I2C propusnosti
- Korak 18: Završeno
Video: [Serija Docker Pi] Kako koristiti modul IoT čvora (A) na Raspberry Pi: 18 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Što je IoT čvor (A) modul?
IoT čvor (A) jedan je od modula serije Docker Pi.
IOT čvor (A) = GPS/BDS + GSM + Lora.
I2C izravno kontrolira Loru, šalje i prima podatke, kontrolira GSM/GPS/BDS modul putem SC16IS752, matičnoj ploči je potrebna samo I2C podrška.
Podržite Raspberry Pi i druge slične proizvode.
Pribor
1x Raspberry Pi 2B/3B/3B+/4B/3A+/nula/nula W
1x proizvod serije Docker Pi: IoT čvor (A) modul
1x 16 GB kartica razreda 10 TF
1x napajanje 5V/2.5A (5V@3A za Pi 4B)
Korak 1: Značajke
- Docker Pi serija
- Mogućnost programiranja
- Upravljajte izravno (bez programiranja)
- Proširite GPIO pinove
- GPS/BDS podrška
- GSM podrška
- Lora podrška
- Mogu se slagati s drugim pločama za slaganje
- Neovisno o hardveru matične ploče (potrebna je I2C podrška)
Korak 2: Korak 1: Saznajte o IoT (A) ploči
IoT čvor (A) jedan je od modula serije Docker Pi.
IOT čvor (A) = GPS/BDS + GSM + Lora.
I2C izravno kontrolira Loru, šalje i prima podatke, kontrolira GSM/GPS/BDS modul putem SC16IS752, matičnoj ploči je potrebna samo I2C podrška. Podrška Raspberry Pi i drugim sličnim proizvodima.
Dakle, možete napraviti komunikacijski uređaj srednjeg dometa pomoću dva od njih.
a također možete locirati lokaciju svog uređaja pomoću ugrađenog GPS modula.
Umetnite SIM karticu, postat će odašiljačka stanica putem SMS poruke.
Korak 3: Korak 2: Kako ga sastaviti
Sastaviti ga je vrlo jednostavno zbog "HAT" dizajna, samo ga stavite na malinu pi i spojite ga putem GPIO pinova, poput "šešira" na malini pi, tako da ne morate dodavati masu žica.
Korak 4: Korak 3: Priključite antenu
Za ovaj IoT (A) modul postoje 3 komada antene, jedna od njih je za modul loar, to je antena tipa SMA, a jedna od njih je dobra za vas, to je antena kvadratne kutije koja ima IPX priključak. i posljednji je za SIM modul (A9G). To je sićušna antena koja ima IPX priključak. spojite antenu i montirajte šešir na svoj maline pi.
Kako sastaviti Montirajte ploču Iot Node (A) na Raspberry Pi
Povežite GPS antanu i Lora antanu na IPX port.
- E1: GPS-ANTANA-IPX
- E3: LoRa-ANTANA-IPX
Privija GPRS antanu na SMA priključak.
Korak 5: Korak 4: Okruženje OS -a i konfiguracije softvera
U ovom koraku morate učiniti sljedeće:
1. Preuzmite najnoviju datoteku slike sa: www.raspberrypi.org/downloads
2. Raspakirajte ga.
3. Bljeskajte svoju TF karticu s najnovijom slikom pomoću alata za baciranje
4. Izmijenite datoteku /boot/config.txt i dodajte ovaj odlomak.
dtoverlay = sc16is752-i2c
5. Zamjenjuje /boot/overlay/sc16is752-i2c.dtbo datoteku ovom datotekom:
wiki.52pi.com/index.php/File:Sc16is752-i2c…
PS: Zapamtite, raspakirajte ga i stavite u mapu/boot/overlay/i zamijenite staru.
6. Ponovo pokrenite svoj Raspberry Pi.
Korak 6: Korak 5: Konfiguriranje I2C (Raspberry Pi)
Pokrenite sudo raspi-config i slijedite upute za instaliranje i2c podrške za ARM jezgru i jezgru Linux-a Idite na Opcije sučelja
Korak 7: Korak 6: Upoznajte se s podacima o registru
GPRS odjeljak
Mala potrošnja energije, struja mirovanja u stanju pripravnosti <1mA2.
Podrška za GSM/GPRS četiri frekvencijska područja, uključujući 850, 900, 1800, 1900MHZ
GPRS klase 10
Podržite GPRS podatkovnu uslugu, maksimalna brzina prijenosa, preuzmite 85,6Kbps, postavite 42,8Kbps
Podržavajte standardne naredbe GSM07.07, 07.05 AT i pristupite serijskom portu putem konverzije I2C sučelja
AT naredbe podržavaju standardne AT i TCP/IP naredbene portove
GPS odjeljak Podržava BDS/GPS pozicioniranje zglobova
Podrška A-GPS, A-BDS
Podržava standardnu SIM karticu
LORA odjeljakDaljina prijenosa: 500 metara (RF parametri: 0x50 @ China City)
Podržavajte FSK, GFSK, MSK, GMSK, LoRaTM i OOK modulacijske metode
Izuzetno visoka osjetljivost prijemnika do -141 dBm
Podrška otkrivanju preambule
Paketni motor s CRC -om, do 256 bajtova
Indikator primopredajnika LORA
Jednostavan TX/RX od Docker Pi
Korak 8:
Modul A9G
A9G modul nudi dva serijska porta.
Za komunikaciju koristite I2C UART most.
Naziv modula serijskog porta
- /dev/ttySC0 GSM
- /dev/ttySC1 GPS/BDS
Mapa registra
- Registrirajte adresu Funkcija Vrijednost
- 0x01 LORA_TX1 Lora TX međuspremnik 1 - korisnički podaci
- 0x02 LORA_TX2 Lora TX međuspremnik 2 - korisnički podaci
- 0x03 LORA_TX3 Lora TX međuspremnik 3 - korisnički podaci
- 0x04 LORA_TX4 Lora TX međuspremnik 4 - korisnički podaci
- 0x05 LORA_TX5 Lora TX međuspremnik 5 - korisnički podaci
- 0x06 LORA_TX6 Lora TX međuspremnik 6 - korisnički podaci
- 0x07 LORA_TX7 Lora TX međuspremnik 7 - korisnički podaci
- 0x08 LORA_TX8 Lora TX međuspremnik 8 - korisnički podaci
- 0x09 LORA_TX9 Lora TX međuspremnik 9 - korisnički podaci
- 0x0a LORA_TX10 Lora TX međuspremnik 10 - korisnički podaci
- 0x0b LORA_TX11 Lora TX međuspremnik 11 - korisnički podaci
- 0x0c LORA_TX12 Lora TX međuspremnik 12 - korisnički podaci
- 0x0d LORA_TX13 Lora TX međuspremnik 13 - korisnički podaci
- 0x0e LORA_TX14 Lora TX međuspremnik 14 - korisnički podaci
- 0x0f LORA_TX15 Lora TX međuspremnik 15 - korisnički podaci
- 0x10 LORA_TX16 Lora TX međuspremnik 16 - korisnički podaci
- 0x11 LORA_RX1 Lora RX međuspremnik 1 - korisnički podaci
- 0x12 LORA_RX2 Lora RX međuspremnik 2 - korisnički podaci
- 0x13 LORA_RX3 Lora RX međuspremnik 3 - korisnički podaci
- 0x14 LORA_RX4 Lora RX međuspremnik 4 - korisnički podaci
- 0x15 LORA_RX5 Lora RX međuspremnik 5 - korisnički podaci
- 0x16 LORA_RX6 Lora RX međuspremnik 6 - korisnički podaci
- 0x17 LORA_RX7 Lora RX međuspremnik 7 - korisnički podaci
- 0x18 LORA_RX8 Lora RX međuspremnik 8 - korisnički podaci
- 0x19 LORA_RX9 Lora RX međuspremnik 9 - korisnički podaci
- 0x1a LORA_RX10 Lora RX međuspremnik 10 - korisnički podaci
- 0x1b LORA_RX11 Lora RX međuspremnik 11 - korisnički podaci
- 0x1c LORA_RX12 Lora RX međuspremnik 12 - korisnički podaci
- 0x1d LORA_RX13 Lora RX međuspremnik 13 - korisnički podaci
- 0x1e LORA_RX14 Lora RX međuspremnik 14 - korisnički podaci
- 0x1f LORA_RX15 Lora RX međuspremnik 15 - korisnički podaci
- 0x20 LORA_RX16 Lora RX međuspremnik 16 - korisnički podaci
- 0x01 - 0x10 Samo za pisanje.
- 0x11 - 0x20 Samo za čitanje.
Korak 9: Upute:
L_SET (samo za pisanje)
- Napišite 1 za postavljanje parametara od 0x22 do LORA modula.
- Napiši 0 nije učinak
G_RESET (samo za pisanje)
- Napišite 1 za resetiranje A9G modula
- Napiši 0 nije učinak
L_RXNE (Čitanje i pisanje)
- Napišite 1 uzrok pogreške
- Za brisanje napišite 0
- Pročitajte 1 znači da su podaci primljeni, podatke preuzmite iz registra 0x11 - 0x20.
- Čitanje 0 znači da trenutno nema dostupnih podataka.
L_SET (samo za pisanje)
- Napišite 1 za slanje podataka, prije slanja unesite podatke u registar 0x01 - 0x10.
- Napiši 0 nije učinak
Korak 10: Kako koristiti GPS modul s GPS -om (Raspberry Pi)
Kako koristiti GPS modul s gpsd (Raspberry Pi)
Najprije zamijenite /boot/overlays/sc16is752-i2c.dtbo i provjerite radi li I2C ispravno.
- Zamijenite sc16is752-i2c.dtbo
- Konfiguriranje I2C
- Instalirajte gpsd alate.
Otvorite terminal i upišite ovu naredbu:
sudo apt instalirajte gpsd gpsd-klijente
Izmijenite/etc/default/gpsd datoteku i dodajte sljedeće parametre:
- UREĐAJI = "/dev/ttySC1"
- GPSD_OPTIONS = "-F /var/run/gpsd.sock"
Unesite naredbu i2cset -y 1 0x16 0x23 0x40 za resetiranje GPRS modula.
Python skripta za otvoreni GPS:
import serialimport os import time # Ponovno pokrenite gpsd uslugu. os.system ("sudo systemctl restart gpsd.socket") # Otvorite serijski port ser = serial. Serial ('/dev/ttySC0', 115200) i = 0 if ser.isOpen == False: ser.open () try: print ("Uključi GPS …") dok je 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 ("Čekanje GPS -a je omogućeno, ako je vrijeme predugo, testirajte na otvorenom:" + str (i)) ser.flushInput () time.sleep (1) osim KeyboardInterrupt: ser.flushInput () ser.close ()
Spremite ga i izvršite:
python3 GPS.py
Korak 11: Kako koristiti GPS modul s C (Raspberry Pi)
Instalirajte gpsd alate
sudo apt-get install libgps-dev
Izradite izvorni kod i dajte mu ime "gps.c"
#include #include #include
#uključi
#uključi
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, razlog: %s / n", rc, gps_errstr (rc)); povrat EXIT_FAILURE; } gps_stream (& gps_data, WATCH_ENABLE | WATCH_JSON, NULL);
dok (1)
{ / * pričekajte 2 sekunde da primite podatke * / if (gps_waiting (& gps_data, 2000000)) { / * čitanje podataka * / if ((rc = gps_read (& gps_data)) == -1) {printf ("došlo je do pogreške pri čitanju GPS podaci. kôd: %d, razlog: %s / n ", rc, gps_errstr (rc)); } else { /* Prikaz podataka s GPS prijemnika. */ 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 zapravo nije vremenska oznaka! */
printf ("zemljopisna širina: %f, zemljopisna dužina: %f, brzina: %f, vremenska oznaka: %lf / n", gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.speed, gps_data.fix.time);
// EDIT: Zamijenjeno tv.tv_sec sa gps_data.fix.time} else {printf ("nema dostupnih GPS podataka / n"); }}} spavanje (3); } / * Kad završite … * / gps_stream (& gps_data, WATCH_DISABLE, NULL); gps_close (& gps_data); povrat EXIT_SUCCESS; }
Korak 12: Sastavite ga
Sastaviti!
gcc gps.c -lm -lgps -o gps
Izvrsno!
./gps
Korak 13: Kako koristiti GPS modul s Pythonom (Raspberry Pi)
Sljedeći se kôd preporučuje izvršiti pomoću Pythona 3 i instalirati biblioteku gpsd-py3 i GPS 2D/3D Fix:
uvoz gpsd
# Povežite se s lokalnim gpsd -om
gpsd.connect ()
# Dobijte GPS poziciju
paket = gpsd.get_current ()
# Za dostupne podatke pogledajte ugrađene dokumente za GpsResponse
ispis (packet.position ())
Korak 14: Kako koristiti GSM modul s PPPd (Raspberry Pi)
A) Prvo zamijenite /boot/overlays/sc16is752-i2c.dtbo i provjerite radi li I2C ispravno.
- Zamijenite sc16is752-i2c.dtbo
- Konfiguriranje I2C
B) Unesite naredbu i2cset -y 1 0x16 0x23 0x40 za resetiranje GPRS modula.
Nakon pokretanja naredbe potrebno je pričekati malo, oko 10 sekundi
Za resetiranje možete koristiti i sljedeću metodu.
C) Unesite naredbu
sudo apt install ppp
za instaliranje ppp alata.
D) Kopirajte/etc/ppp/peers/provider u/etc/ppp/peers/gprs
E) Izmijenite/etc/ppp/peers/gprs
- Red 10: Za korisnika se obratite svom davatelju usluga (Primjer: cmnet).
- Red 15: Za apn se obratite svom davatelju usluga (Primjer: cmnet).
- Redak 18 - Red 24: Preporučena postavka
F) Izmijenite/etc/chatscripts/gprs (Promijenite redak 34 u redak 35, broj za razgovor može biti NE *99#)
G) Unesite naredbu sudo pppd call gprs za biranje.
H) Provjerite svoju ppp konfiguraciju od svog ISP -a.
I) Unesite naredbu ping -I ppp0 8.8.8.8 testirajte svoju mrežu (ako je Internet dostupan i tablica ruta je točna)
J) Održavajte GSM signal dobrim, u protivnom će se dogoditi sljedeće.
Korak 15: Kako dijagnosticirati moj GSM modul (Raspberry Pi)
Sljedeći se kôd preporučuje izvršiti pomoću Pythona 3 i instalirati knjižnicu smbus:
import serialimport time import smbus operator uvoza import os
print ("Čeka se inicijalizacija …")
sabirnica = smbus. SMBus (1)
bus.write_byte_data (0x16, 0x23, 0x40)
ser = serial. Serial ('/dev/ttySC0', 115200)
ako je ser.isOpen == Netačno:
ser.open () try: print ('-'*60) print ("Inicijalizacija A9G GPRS modula.") print ("GSM povezivanje …") time.sleep (3) i = 0 dok je 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 ") print (ccid) else: i = i + 1 ser.flushInput () time.sleep (1) osim KeyboardInterrupt: ser.close ()
Izvršite testnu skriptu, na temelju rezultata implementacije, možemo dijagnosticirati GSM modul. Na primjer, sljedeći povratak, greška CME ERROR 53 govori nam da napajanje nije dobro. CME kôd = Greške povezane s GSM opremom
Naravno, skripta ima i funkciju resetiranja. Ako možete ispravno prikazati CCID, resetiranje je dovršeno.
Korak 16: Kako koristiti Lora TX & RX s C (Raspberry Pi)
Sljedeći se kôd preporučuje izvršiti pomoću Pythona 3 i instalirati smbus knjižnicu.
Mora se prenijeti između dva IOT čvora (A). Sadržaj koji se šalje sam po sebi ne može se primiti. Molimo vas da ga spremite kao py skriptu za izvršavanje.
Kako poslati: Nakon što unesete podatke u registar 0x01 - 0x10, postavite L_TX bit za početak slanja podataka.
import timeimport smbus import os import sys
sabirnica = smbus. SMBus (1)
probati:
data_list = [170, 85, 165, 90] # upis podataka za registraciju, a zatim će se podaci poslati. za indeks u rasponu (1, len (data_list) + 1): bus.write_byte_data (0x16, index, data_list [index - 1]) print ("LORA šalje podatke u %d registar %d podataka" %(index, data_list [index - 1])) bus.write_byte_data (0x16, 0x23, 0x01) osim KeyboardInterrupt: sys.exit ()
Kako poslati primanje: Provjerite L_RXNE bit, Ako je postavljeno, stigli su novi podaci, ovu zastavicu morate ručno očistiti
import timeimport smbus import os import sys
sabirnica = smbus. SMBus (1)
recv_data =
probati:
if bus.read_byte_data (0x16, 0x23) & 0x02: # ručno obrišite L_RXNE sabirnicu.write_byte_data (0x16, 0x23, 0x00) register_list = [0x11, 0x12, 0x13, 0x14] # očitavanje podataka za indeks u rasponu (0x11, len (register_list) + 0x11): recv_data.append (bus.read_byte_data (0x16, register_list [indeks - 0x11]))
print ("Primljeni podaci:")
print (recv_data) else: print ("Još nema primljenih podataka ~") osim KeyboardInterrupt: sys.exit ()
Korak 17: Poseban opis I2C propusnosti
Ograničenje brzine I2C je 400kHz, zbog I2C protokola, pa je djelotvorna propusnost jednog uređaja niža od 320kbps, efektivna širina pojasa više uređaja je manja od 160kbps. Ograničenje brzine I2C UART mosta je 115200bps. Kada su GPS i GSM rade u isto vrijeme, I2C propusnost je nedovoljna, jer je 115,2kbps * 2 = 230,4kbps, pa će neki podaci biti prekomjerni. Smanjenje brzine prijenosa GPS i GSM komunikacije može poboljšati nedostatak komunikacijske propusnosti. Slaganje drugih DockerPi modula može zauzeti dodatna I2C propusnost. Obično je brzina mrežnih podataka spora, pa GSM propusnost nije puna, pa nema problema s prelijevanjem.
Korak 18: Završeno
Nadam se da će vam se svidjeti i uspjeti.
možete ga pronaći ovdje:
Amazon
Noćno svjetlo: https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S 4-kanalna relejna ploča: https://www.amazon.co.uk/dp/B07MV1TJGR?ref=myi_title_dp Power Board : Https: //www.amazon.co.uk/dp/B07TD595VS? Ref = myi_title_dp IoT čvor (A): https://www.amazon.co.uk/dp/B07TY15M1C HUB senzora: https:// www. amazon.co.uk/dp/B07TZD8B61 ledeni toranj:
Preporučeni:
Docker Pi serija ploča s senzorskim čvorištima O IOT -u: 13 koraka
Docker Pi serija senzorskih čvorišta O IOT -u: Pozdrav, dečki. Danas je gotovo sve povezano s IOT -om. Nema sumnje u to, naša ploča serije DockerPi podržava i IOT. Danas želim predstaviti DockerPi seriju SensorHub -a kako za primjenu na IOT na vas. Pokrećem ovu stavku koja se temelji na
Komunikacija između Arduina i čvora: 4 koraka
Komunikacija između Arduina i čvora: Ovo uputstvo služi samo za vrlo osnovnu demonstraciju načina slanja i primanja podataka putem UART -a (serijskog) između dvije Arduino kompatibilne ploče
Kako koristiti Mac terminal i kako koristiti ključne funkcije: 4 koraka
Kako koristiti Mac terminal i kako koristiti ključne funkcije: Pokazat ćemo vam kako otvoriti MAC terminal. Također ćemo vam prikazati nekoliko značajki unutar Terminala, kao što su ifconfig, mijenjanje direktorija, pristup datotekama i arp. Ifconfig će vam omogućiti da provjerite svoju IP adresu i svoj MAC oglas
Dnevni mjerač vremena pomoću čvora Crveno s trajnom memorijom: 6 koraka
Dnevni mjerač vremena pomoću crvenog čvora s trajnom memorijom: Node-red često koristim za svoje projekte kućne automatizacije. ja nisam programer po progesiji, ali uz pomoć raznih suradnika pokušavam konfigurirati stvari prema svojim zahtjevima. Ponekad uspije, a ponekad ne:) Za jednog o
Google Vision API pomoću Raspberry Pi i čvora: 11 koraka
Google Vision API pomoću Raspberry Pi i čvora: Ovo je početni vodič za korištenje Google Vision API -ja. Koristi sljedeću Raspberry Pi Zero W Arch Linux NodeJS internetsku vezuNe znate Arch Linux? Ili kako postaviti Raspberry Pi? Bez brige, napisao sam niz članaka koji