Obsah:

[Séria Docker Pi] Ako používať modul uzla IoT (A) na Raspberry Pi: 18 krokov
[Séria Docker Pi] Ako používať modul uzla IoT (A) na Raspberry Pi: 18 krokov

Video: [Séria Docker Pi] Ako používať modul uzla IoT (A) na Raspberry Pi: 18 krokov

Video: [Séria Docker Pi] Ako používať modul uzla IoT (A) na Raspberry Pi: 18 krokov
Video: 3 Maneras de Reforzar las MUELLES para sacarle el mejor provecho a tu Pickup 2024, November
Anonim
[Séria Docker Pi] Ako používať modul uzla IoT (A) na Raspberry Pi
[Séria Docker Pi] Ako používať modul uzla IoT (A) na Raspberry Pi

Č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

Vlastnosti
Vlastnosti
Vlastnosti
Vlastnosti
Vlastnosti
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)

Krok 1: Informácie o doske IoT (A)
Krok 1: Informácie o doske IoT (A)
Krok 1: Informácie o doske IoT (A)
Krok 1: Informácie o doske IoT (A)
Krok 1: Informácie o doske IoT (A)
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ť

Krok 2: Ako ho zostaviť
Krok 2: Ako ho zostaviť
Krok 2: Ako ho zostaviť
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

Krok 3: Pripojte anténu
Krok 3: Pripojte anténu
Krok 3: Pripojte anténu
Krok 3: Pripojte anténu
Krok 3: Pripojte anténu
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)

Krok 5: Konfigurácia I2C (Raspberry Pi)
Krok 5: Konfigurácia I2C (Raspberry Pi)
Krok 5: Konfigurácia I2C (Raspberry Pi)
Krok 5: Konfigurácia I2C (Raspberry Pi)
Krok 5: Konfigurácia I2C (Raspberry Pi)
Krok 5: Konfigurácia I2C (Raspberry Pi)
Krok 5: Konfigurácia I2C (Raspberry Pi)
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:

Inštrukcie
Inštrukcie

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)
Ako používať modul GPS s Gpsd (Raspberry Pi)
Ako používať modul GPS s Gpsd (Raspberry Pi)
Ako používať modul GPS s Gpsd (Raspberry Pi)
Ako používať modul GPS s Gpsd (Raspberry Pi)
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

Skompilovať to
Skompilovať to

Zostaviť!

gcc gps.c -lm -lgps -o gps

Exec It!

./gps

Krok 13: Ako používať modul GPS v Pythone (Raspberry Pi)

Ako používať modul GPS v Pythone (Raspberry Pi)
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)

Ako používať modul GSM s PPPd (Raspberry Pi)
Ako používať modul GSM s PPPd (Raspberry Pi)
Ako používať modul GSM s PPPd (Raspberry Pi)
Ako používať modul GSM s PPPd (Raspberry Pi)
Ako používať modul GSM s PPPd (Raspberry Pi)
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)

Ako diagnostikovať môj modul GSM (Raspberry Pi)
Ako diagnostikovať môj modul GSM (Raspberry Pi)
Ako diagnostikovať môj modul GSM (Raspberry Pi)
Ako diagnostikovať môj modul GSM (Raspberry Pi)
Ako diagnostikovať môj modul GSM (Raspberry Pi)
Ako diagnostikovať môj modul GSM (Raspberry Pi)
Ako diagnostikovať môj modul GSM (Raspberry Pi)
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: