Satura rādītājs:

[Docker Pi sērija] Kā lietot IoT mezgla (A) moduli Raspberry Pi: 18 soļi
[Docker Pi sērija] Kā lietot IoT mezgla (A) moduli Raspberry Pi: 18 soļi

Video: [Docker Pi sērija] Kā lietot IoT mezgla (A) moduli Raspberry Pi: 18 soļi

Video: [Docker Pi sērija] Kā lietot IoT mezgla (A) moduli Raspberry Pi: 18 soļi
Video: Свидание в 16 vs 26 лет 😨😳 2024, Novembris
Anonim
[Docker Pi sērija] Kā lietot IoT Node (A) moduli Raspberry Pi
[Docker Pi sērija] Kā lietot IoT Node (A) moduli Raspberry Pi

Kas ir IoT Node (A) modulis?

IoT Node (A) ir viens no Docker Pi sērijas moduļiem.

IOT mezgls (A) = GPS/BDS + GSM + Lora.

I2C tieši kontrolē Lora, sūta un saņem datus, kontrolē GSM/GPS/BDS moduli, izmantojot SC16IS752, mātesplatē ir nepieciešams tikai I2C atbalsts.

Atbalstiet Raspberry Pi un citus līdzīgus produktus.

Piegādes

1x Raspberry Pi 2B/3B/3B+/4B/3A+/Zero/Zero W

1x Docker Pi sērijas produkts: IoT Node (A) modulis

1x 16GB 10. klases TF karte

1x 5V/2.5A barošanas avots (5V@3A Pi 4B)

1. darbība: funkcijas

Iezīmes
Iezīmes
Iezīmes
Iezīmes
Iezīmes
Iezīmes
  • Docker Pi sērija
  • Programmējams
  • Vadība tieši (bez programmēšanas)
  • Paplašiniet GPIO tapas
  • GPS/BDS atbalsts
  • GSM atbalsts
  • Lora atbalsts
  • Var sakraut ar citu Stack dēli
  • Neatkarīgs no mātesplates aparatūras (nepieciešams I2C atbalsts)

2. darbība: 1. darbība. Ziniet par IoT (A) padomi

1. darbība. Ziniet par IoT (A) padomi
1. darbība. Ziniet par IoT (A) padomi
1. darbība. Ziniet par IoT (A) padomi
1. darbība. Ziniet par IoT (A) padomi
1. darbība. Ziniet par IoT (A) padomi
1. darbība. Ziniet par IoT (A) padomi

IoT Node (A) ir viens no Docker Pi sērijas moduļiem.

IOT mezgls (A) = GPS/BDS + GSM + Lora.

I2C tieši kontrolē Lora, sūta un saņem datus, kontrolē GSM/GPS/BDS moduli, izmantojot SC16IS752, mātesplatē ir nepieciešams tikai I2C atbalsts. Atbalsts Raspberry Pi un citi līdzīgi produkti.

Tātad jūs varat izveidot vidēja diapazona sakaru ierīci, izmantojot divas no tām.

un arī jūs varat atrast ierīces atrašanās vietu, izmantojot iebūvēto GPS moduli.

Ievietojiet SIM karti, tā kļūs par raidītāja staciju, izmantojot īsziņu.

3. darbība: 2. darbība: kā to salikt

2. solis: kā to salikt
2. solis: kā to salikt
2. solis: kā to salikt
2. solis: kā to salikt

To ir ļoti viegli salikt, pateicoties tā "CETURA" dizainam, jūs vienkārši uzliekat to uz aveņu pi un savienojat, izmantojot GPIO tapas, tā ir kā "cepure" uz aveņu pi, lai jums nebūtu jāpievieno masa vads.

4. darbība: 3. darbība: pievienojiet antenu

3. solis: pievienojiet antenu
3. solis: pievienojiet antenu
3. solis: pievienojiet antenu
3. solis: pievienojiet antenu
3. solis: pievienojiet antenu
3. solis: pievienojiet antenu

Šim IoT (A) modulim ir 3 gabali antena, viena no tām ir paredzēta loar modulim, tā ir SMA tipa antena, un viena no tām ir piemērota GPS, tā ir kvadrātveida kastes antena ar IPX portu. un pēdējais ir paredzēts SIM modulim (A9G), tā ir maza antena, kurai ir IPX ports. pievienojiet antenu un piestipriniet cepuri pie aveņu pi.

Pievienojiet Iot Node (A) plati Raspberry Pi

Savienojiet GPS antanu un Lora antanu ar IPX portu.

  • E1: GPS-ANTANA-IPX
  • E3, LoRa-ANTANA-IPX

Skrūvējiet GPRS antanu SMA portā.

5. darbība: 4. darbība: OS vide un programmatūras konfigurācijas

Šajā solī jums jāveic šādas darbības:

1. Lejupielādējiet jaunāko attēla failu no: www.raspberrypi.org/downloads

2. Izsaiņojiet to.

3. Zibspuldzējiet savu TF karti ar jaunāko attēlu, izmantojot kodināšanas rīku

4. Pārveidojiet failu /boot/config.txt un pievienojiet šo rindkopu.

dtoverlay = sc16is752-i2c

5. Aizstāj /boot/overlay/sc16is752-i2c.dtbo failu ar šo failu:

wiki.52pi.com/index.php/File:Sc16is752-i2c…

PS: atcerieties to izpakot un ievietot mapē/boot/overlay/un aizstāt veco.

6. Pārstartējiet Raspberry Pi.

6. darbība: 5. darbība: I2C (Raspberry Pi) konfigurēšana

5. darbība: I2C (Raspberry Pi) konfigurēšana
5. darbība: I2C (Raspberry Pi) konfigurēšana
5. darbība: I2C (Raspberry Pi) konfigurēšana
5. darbība: I2C (Raspberry Pi) konfigurēšana
5. darbība: I2C (Raspberry Pi) konfigurēšana
5. darbība: I2C (Raspberry Pi) konfigurēšana
5. darbība: I2C (Raspberry Pi) konfigurēšana
5. darbība: I2C (Raspberry Pi) konfigurēšana

Palaidiet sudo raspi-config un izpildiet norādījumus, lai instalētu i2c atbalstu ARM kodolam un Linux kodolam Dodieties uz saskarnes opcijas

7. darbība: 6. darbība. Informācija par reģistra informāciju

GPRS sadaļa

Zems enerģijas patēriņš, gaidstāves miega strāva <1mA2.

Atbalsta četras GSM/GPRS frekvenču joslas, ieskaitot 850, 900, 1800, 1900 MHz

GPRS 10. klase

Atbalsta GPRS datu pakalpojumu, maksimālo datu pārraides ātrumu, lejupielādējiet 85,6 kbps, augšupielādējiet 42,8 kbps

Atbalstiet standarta GSM07.07, 07.05 AT komandas un piekļūstiet seriālajam portam, izmantojot I2C saskarnes pārveidošanu

AT komandas atbalsta standarta AT un TCP/IP komandu portus

GPS sadaļa Atbalsta BDS/GPS savienojuma pozicionēšanu

Atbalsta A-GPS, A-BDS

Atbalsta standarta SIM karti

Pārraides attālums: 500 metri (RF parametri: 0x50 @ China City)

Atbalstīt FSK, GFSK, MSK, GMSK, LoRaTM un OOK modulācijas metodes

Īpaši augsta uztvērēja jutība līdz pat -141 dBm

Atbalsta preambulas noteikšanu

Pakešu dzinējs ar CRC, līdz 256 baitiem

LORA uztvērēja indikators

Viegla TX/RX, ko izstrādājis Docker Pi

8. darbība

A9G modulis

A9G modulis piedāvā divus seriālos portus.

Saziņai izmantojiet I2C UART tiltu.

Sērijas porta moduļa nosaukums

  • /dev/ttySC0 GSM
  • /dev/ttySC1 GPS/BDS

Reģistrēt karti

  • Reģistrēt adresi Funkcijas vērtība
  • 0x01 LORA_TX1 Lora TX 1. buferis - lietotāja dati
  • 0x02 LORA_TX2 Lora TX Buffer 2 - lietotāja dati
  • 0x03 LORA_TX3 Lora TX Buffer 3 - lietotāja dati
  • 0x04 LORA_TX4 Lora TX buferis 4 - lietotāja dati
  • 0x05 LORA_TX5 Lora TX buferis 5 - lietotāja dati
  • 0x06 LORA_TX6 Lora TX buferis 6 - lietotāja dati
  • 0x07 LORA_TX7 Lora TX buferis 7 - lietotāja dati
  • 0x08 LORA_TX8 Lora TX buferis 8 - lietotāja dati
  • 0x09 LORA_TX9 Lora TX buferis 9 - lietotāja dati
  • 0x0a LORA_TX10 Lora TX buferis 10 - lietotāja dati
  • 0x0b LORA_TX11 Lora TX buferis 11 - lietotāja dati
  • 0x0c LORA_TX12 Lora TX buferis 12 - lietotāja dati
  • 0x0d LORA_TX13 Lora TX buferis 13 - lietotāja dati
  • 0x0e LORA_TX14 Lora TX buferis 14 - lietotāja dati
  • 0x0f LORA_TX15 Lora TX buferis 15 - lietotāja dati
  • 0x10 LORA_TX16 Lora TX buferis 16 - lietotāja dati
  • 0x11 LORA_RX1 Lora RX 1. buferis - lietotāja dati
  • 0x12 LORA_RX2 Lora RX buferis 2 - lietotāja dati
  • 0x13 LORA_RX3 Lora RX Buffer 3 - lietotāja dati
  • 0x14 LORA_RX4 Lora RX buferis 4 - lietotāja dati
  • 0x15 LORA_RX5 Lora RX buferis 5 - lietotāja dati
  • 0x16 LORA_RX6 Lora RX buferis 6 - lietotāja dati
  • 0x17 LORA_RX7 Lora RX buferis 7 - lietotāja dati
  • 0x18 LORA_RX8 Lora RX buferis 8 - lietotāja dati
  • 0x19 LORA_RX9 Lora RX buferis 9 - lietotāja dati
  • 0x1a LORA_RX10 Lora RX buferis 10 - lietotāja dati
  • 0x1b LORA_RX11 Lora RX buferis 11 - lietotāja dati
  • 0x1c LORA_RX12 Lora RX buferis 12 - lietotāja dati
  • 0x1d LORA_RX13 Lora RX buferis 13 - lietotāja dati
  • 0x1e LORA_RX14 Lora RX buferis 14 - lietotāja dati
  • 0x1f LORA_RX15 Lora RX buferis 15 - lietotāja dati
  • 0x20 LORA_RX16 Lora RX buferis 16 - lietotāja dati
  • 0x01 - 0x10 Tikai rakstīt.
  • 0x11 - 0x20 tikai lasāms.

9. darbība. Norādījumi:

Instrukcijas
Instrukcijas

L_SET (tikai rakstīt)

  • Uzrakstiet 1, lai iestatītu parametrus no 0x22 līdz LORA modulim.
  • Rakstīt 0 nav efekta

G_RESET (tikai rakstīt)

  • Uzrakstiet 1, lai atiestatītu A9G moduli
  • Rakstīt 0 nav efekta

L_RXNE (lasīt un rakstīt)

  • Uzrakstiet 1 iemesla kļūdu
  • Lai notīrītu, uzrakstiet 0
  • Lasot 1, dati ir saņemti, lūdzu, iegūstiet datus no reģistra 0x11 - 0x20.
  • Lasīt 0 nozīmē, ka pašlaik nav pieejami dati.

L_SET (tikai rakstīt)

  • Lai nosūtītu datus, uzrakstiet 1, pirms nosūtīšanas, lūdzu, aizpildiet datus reģistrā 0x01 - 0x10.
  • Rakstīt 0 nav efekta

10. solis: Kā lietot GPS moduli ar GPS (Raspberry Pi)

Kā lietot GPS moduli ar GPS (Raspberry Pi)
Kā lietot GPS moduli ar GPS (Raspberry Pi)
Kā izmantot GPS moduli ar GPS (Raspberry Pi)
Kā izmantot GPS moduli ar GPS (Raspberry Pi)
Kā izmantot GPS moduli ar GPS (Raspberry Pi)
Kā izmantot GPS moduli ar GPS (Raspberry Pi)

Kā lietot GPS moduli ar GPS (Raspberry Pi)

Vispirms nomainiet /boot/overlays/sc16is752-i2c.dtbo un pārliecinieties, vai I2C darbojas pareizi.

  • Nomainiet sc16is752-i2c.dtbo
  • I2C konfigurēšana
  • Instalējiet gpsd rīkus.

Atveriet termināli un ierakstiet šo komandu:

sudo apt instalēt gpsd gpsd-customers

Modificējiet failu/etc/default/gpsd un pievienojiet šādus parametrus:

  • IERĪCES = "/dev/ttySC1"
  • GPSD_OPTIONS = "-F /var/run/gpsd.sock"

Ievadiet komandu i2cset -y 1 0x16 0x23 0x40, lai atiestatītu GPRS moduli.

Python skripts atvērtam GPS:

importēt sērijasimportēt importēšanas laiku # Restartējiet gpsd pakalpojumu. os.system ("sudo systemctl restart gpsd.socket") # Atveriet seriālo portu ser = serial. Serial ('/dev/ttySC0', 115200) i = 0, ja ser.isOpen == False: ser.open () mēģiniet: drukāt ("Ieslēgt GPS …"), kamēr True: ser.write (str.encode ("AT+GPS = 1 / r")) size = ser.inWaiting () if size! = 0: ticks = time.time () atbilde = ser.read (izmērs) gps = str (atbilde, kodējums = "utf -8"), ja (gps.find ("OK")! = -1): os.system ("sudo cgps -s") exit () else: i = i + 1 print ("Gaida GPS iespējošanu, ja laiks ir pārāk garš, lūdzu, pārbaudiet ārā:" + str (i)) ser.flushInput () time.sleep (1), izņemot KeyboardInterrupt: ser.flushInput () ser.close ()

Saglabājiet to un izpildiet:

python3 GPS.py

11. solis: Kā lietot GPS moduli ar C (Raspberry Pi)

Instalējiet gpsd rīkus

sudo apt-get install libgps-dev

Izveidojiet avota kodu un nosauciet to par "gps.c"

#iekļaut #iekļaut #iekļaut

#iekļaut

#iekļaut

int main ()

{int rc; struktura laika tv; struktūra gps_data_t gps_data; ja ((rc = gps_open ("localhost", "2947", & gps_data)) == -1) {printf ("kods: %d, iemesls: %s / n", rc, gps_errstr (rc)); atgriezt EXIT_FAILURE; } gps_stream (& gps_data, WATCH_ENABLE | WATCH_JSON, NULL);

kamēr (1)

{ / * pagaidiet 2 sekundes, lai saņemtu datus. GPS dati. kods: %d, iemesls: %s / n ", rc, gps_errstr (rc)); } cits { /* Parādīt datus no GPS uztvērēja. */ ja ((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 patiesībā nav laika zīmogs! */

printf ("platums: %f, garums: %f, ātrums: %f, laika zīmogs: %lf / n", gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.speed, gps_data.fix.time);

// EDIT: tv.tv_sec aizstāts ar gps_data.fix.time} else {printf ("GPS dati nav pieejami / n"); }}} gulēt (3); } / * Kad esat pabeidzis … * / gps_stream (& gps_data, WATCH_DISABLE, NULL); gps_close (& gps_data); atgriezties EXIT_SUCCESS; }

12. solis: apkopojiet to

Apkopojiet to
Apkopojiet to

Sastādīt!

gcc gps.c -lm -lgps -o gps

Izpildi to!

./GPS

13. solis: Kā lietot GPS moduli ar Python (Raspberry Pi)

Kā izmantot GPS moduli ar Python (Raspberry Pi)
Kā izmantot GPS moduli ar Python (Raspberry Pi)

Šo kodu ieteicams izpildīt, izmantojot Python 3, un instalēt gpsd-py3 bibliotēku un GPS 2D/3D Fix:

importēt GPS

# Izveidojiet savienojumu ar vietējo GPS

gpsd.connect ()

# Iegūstiet GPS pozīciju

pakete = gpsd.get_current ()

# Pieejamos datus skatiet GpsResponse iekļautajos dokumentos

drukāt (packet.position ())

14. darbība. Kā lietot GSM moduli ar PPPd (Raspberry Pi)

Kā lietot GSM moduli ar PPPd (Raspberry Pi)
Kā lietot GSM moduli ar PPPd (Raspberry Pi)
Kā lietot GSM moduli ar PPPd (Raspberry Pi)
Kā lietot GSM moduli ar PPPd (Raspberry Pi)
Kā lietot GSM moduli ar PPPd (Raspberry Pi)
Kā lietot GSM moduli ar PPPd (Raspberry Pi)

A) Vispirms nomainiet /boot/overlays/sc16is752-i2c.dtbo un pārliecinieties, vai I2C darbojas pareizi.

  • Nomainiet sc16is752-i2c.dtbo
  • I2C konfigurēšana

B) Ievadiet komandu i2cset -y 1 0x16 0x23 0x40, lai atiestatītu GPRS moduli.

Pēc komandas palaišanas jums nedaudz jāgaida, apmēram 10 sekundes

Lai atiestatītu, varat izmantot arī šādu metodi.

C) Ievadiet komandu

sudo apt instalēt ppp

lai instalētu ppp rīkus.

D) Kopējiet/etc/ppp/peers/Provider uz/etc/ppp/peers/gprs

E) Mainīt/etc/ppp/peers/gprs

  • 10. rinda: lūdzu, sazinieties ar pakalpojumu sniedzēju par lietotāju (piemērs: cmnet).
  • 15. rinda. Lūdzu, sazinieties ar pakalpojumu sniedzēju, lai uzzinātu apn (piemēram: cmnet).
  • 18. rinda - 24. rinda: ieteicamais iestatījums

F) Modificējiet/etc/chatscripts/gprs (nomainiet 34. rindu uz 35. rindu, izsaukuma numurs var nebūt *99#)

G) Ievadiet komandu sudo pppd call gprs, lai piezvanītu.

H) Pārbaudiet savu ppp konfigurāciju no sava ISP.

I) Ievadiet komandu ping -I ppp0 8.8.8.8 pārbaudiet savu tīklu (ja ir pieejams internets un maršruta tabula ir pareiza)

J) Lūdzu, saglabājiet labu GSM signālu, pretējā gadījumā notiks sekojošais.

15. darbība. Kā diagnosticēt manu GSM moduli (Raspberry Pi)

Kā diagnosticēt manu GSM moduli (Raspberry Pi)
Kā diagnosticēt manu GSM moduli (Raspberry Pi)
Kā diagnosticēt manu GSM moduli (Raspberry Pi)
Kā diagnosticēt manu GSM moduli (Raspberry Pi)
Kā diagnosticēt manu GSM moduli (Raspberry Pi)
Kā diagnosticēt manu GSM moduli (Raspberry Pi)
Kā diagnosticēt manu GSM moduli (Raspberry Pi)
Kā diagnosticēt manu GSM moduli (Raspberry Pi)

Šo kodu ieteicams izpildīt, izmantojot Python 3, un instalēt smbus bibliotēku:

importēt sērijasimportēt laiku importēt smbus importa operators importēt os

drukāt ("Gaida inicializēšanu …")

autobuss = smbus. SMBus (1)

bus.write_byte_data (0x16, 0x23, 0x40)

ser = sērija. Sērija ('/dev/ttySC0', 115200)

ja ser.isOpen == Nepareizi:

ser.open () try: print ('-'*60) print ("A9G GPRS moduļa inicializēšana.") print ("GSM savieno …") time.sleep (3) i = 0, kamēr True: ser.write (str..encode ("AT+CCID / r")) size = ser.inWaiting () if size! = 0: ērces = time.time () atbilde = ser.read (size) ccid = str (response, encoding = "utf -8 ") print (ccid) else: i = i + 1 ser.flushInput () time.sleep (1), izņemot KeyboardInterrupt: ser.close ()

Izpildiet testa skriptu, pamatojoties uz ieviešanas rezultātiem, mēs varam diagnosticēt GSM moduli. Piemēram, šāda atdeve, kļūda CME ERROR 53, norāda, ka jauda nav laba. CME kods = ar GSM iekārtām saistītas kļūdas

Protams, skriptam ir arī atiestatīšanas funkcija. Ja CCID var parādīt pareizi, atiestatīšana ir pabeigta.

16. darbība. Kā lietot Lora TX & RX ar C (Raspberry Pi)

Šo kodu ieteicams izpildīt, izmantojot Python 3, un instalēt smbus bibliotēku.

Tas jāpārnes starp diviem IOT mezgliem (A). Sūtīto saturu nevar saņemt pats. Lūdzu, saglabājiet to kā py skriptu izpildei.

Kā nosūtīt: pēc datu aizpildīšanas reģistrā 0x01 - 0x10 iestatiet L_TX bitu, lai sāktu datu sūtīšanu.

importēt laikuimportēt smbus importēt os importēšanas sistēmu

autobuss = smbus. SMBus (1)

pamēģini:

data_list = [170, 85, 165, 90] # ierakstiet datus, lai tos reģistrētu, un tad dati tiks nosūtīti. indeksam diapazonā (1, len (datu_saraksts) + 1): bus.write_byte_data (0x16, indekss, datu_saraksts [indekss - 1]) print ("LORA nosūta datus uz %d reģistru %d dati" %(indekss, datu_saraksts [indekss - 1])) bus.write_byte_data (0x16, 0x23, 0x01), izņemot KeyboardInterrupt: sys.exit ()

Kā nosūtīt saņemšanu: pārbaudiet L_RXNE bitu. Ja ir iestatīti jauni dati, šim karodziņam jābūt manuāli notīrītam

importēt laikuimportēt smbus importēt os importēšanas sistēmu

autobuss = smbus. SMBus (1)

recv_data =

pamēģini:

ja bus.read_byte_data (0x16, 0x23) & 0x02: # manuāli notīrīt L_RXNE bus.write_byte_data (0x16, 0x23, 0x00) register_list = [0x11, 0x12, 0x13, 0x14] # nolasīt datus indeksam diapazonā (0x11, len (register_list) + 0x11): recv_data.append (bus.read_byte_data (0x16, register_list [indekss - 0x11]))

drukāt ("Saņemtie dati:")

print (recv_data) else: print ("Vēl nav saņemti dati ~"), izņemot KeyboardInterrupt: sys.exit ()

17. darbība. I2C joslas platuma īpašais apraksts

I2C ātruma ierobežojums ir 400 kHz, pateicoties I2C protokolam, tāpēc vienas ierīces efektīvais joslas platums ir mazāks par 320 kbps, vairāku ierīču efektīvais joslas platums ir mazāks par 160 kbps. I2C UART tilta ātruma ierobežojums ir 115200 bps. Kad GPS un GSM I2C joslas platums ir nepietiekams, jo 115,2 kbps * 2 = 230,4 kbps, tāpēc daži dati būs pārpildīti. Samazinot GPS un GSM sakaru pārraides ātrumu, var uzlabot sakaru joslas platuma trūkumu. papildu I2C joslas platums. Parasti tīkla datu ātrums ir lēns, tāpēc GSM joslas platums nav pilns, tāpēc nav pārplūdes problēmu.

18. solis: pabeigts

Ceru, ka jums, puišiem, patiks un izdosies.

to varat atrast šeit:

Amazon

Naktsgaisma : https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S 4 kanālu releja dēlis: 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 mezgls (A) : https://www.amazon.co.uk/dp/B07TY15M1C Sensora HUB : https:// www. amazon.co.uk/dp/B07TZD8B61 ledus tornis :

Ieteicams: