Obsah:
- Zásoby
- Krok 1: Funkce
- Krok 2: Krok 1: Vědět o desce IoT (A)
- Krok 3: Krok 2: Jak jej sestavit
- Krok 4: Krok 3: Připojení antény
- Krok 5: Krok 4: Konfigurace prostředí a softwaru OS
- Krok 6: Krok 5: Konfigurace I2C (Raspberry Pi)
- Krok 7: Krok 6: Informace o informacích o registru
- Krok 8:
- Krok 9: Pokyny:
- Krok 10: Jak používat modul GPS s Gpsd (Raspberry Pi)
- Krok 11: Jak používat modul GPS s C (Raspberry Pi)
- Krok 12: Zkompilovat to
- Krok 13: Jak používat modul GPS v Pythonu (Raspberry Pi)
- Krok 14: Jak používat GSM modul s PPPd (Raspberry Pi)
- Krok 15: Jak diagnostikovat můj GSM modul (Raspberry Pi)
- Krok 16: Jak používat Lora TX & RX s C (Raspberry Pi)
- Krok 17: Speciální popis šířky pásma I2C
- Krok 18: Hotovo
Video: [Docker Pi Series] Jak používat modul IoT Node (A) na Raspberry Pi: 18 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Co je modul IoT Node (A)?
IoT Node (A) je jedním z modulů Docker Pi.
IOT uzel (A) = GPS/BDS + GSM + Lora.
I2C přímo ovládá Loru, odesílá a přijímá data, ovládá modul GSM/GPS/BDS prostřednictvím SC16IS752, základní deska potřebuje pouze podporu I2C.
Podporujte Raspberry Pi a další podobné produkty.
Zásoby
1x Raspberry Pi 2B/3B/3B+/4B/3A+/Zero/Zero W
1x produkt řady Docker Pi: modul IoT Node (A)
1x 16GB TF karta třídy 10
1x napájecí zdroj 5V/2,5A (5V@3A pro Pi 4B)
Krok 1: Funkce
- Docker Pi Series
- Programovatelný
- Přímé ovládání (bez programování)
- Rozšiřte GPIO piny
- Podpora GPS/BDS
- Podpora GSM
- Podpora Lora
- Lze stohovat s jinou deskou Stack
- Nezávisle na hardwaru základní desky (vyžadovat podporu I2C)
Krok 2: Krok 1: Vědět o desce IoT (A)
IoT Node (A) je jedním z modulů Docker Pi.
IOT uzel (A) = GPS/BDS + GSM + Lora.
I2C přímo ovládá Loru, odesílá a přijímá data, ovládá modul GSM/GPS/BDS prostřednictvím SC16IS752, základní deska potřebuje pouze podporu I2C. Podpora Raspberry Pi a dalších podobných produktů.
Pomocí dvou z nich tedy můžete vytvořit komunikační zařízení středního dosahu.
a také můžete zjistit polohu vašeho zařízení pomocí integrovaného modulu GPS.
Vložte SIM kartu, stane se stanicí vysílače prostřednictvím SMS zprávy.
Krok 3: Krok 2: Jak jej sestavit
Je velmi snadné jej sestavit, protože má design „HAT“, stačí jej nasadit na malinový pi a propojit pomocí pinů GPIO, jako „klobouk“na malinovém pi, takže nemusíte přidávat hmotu drát.
Krok 4: Krok 3: Připojení antény
Pro tento modul IoT (A) existují 3 kusy antény, jedna z nich je pro loar modul, je to anténa typu SMA a jedna z nich je dobrá pro vás GPS, je to anténa se čtvercovým boxem, která má port IPX. a poslední je pro modul SIM (A9G), je to malá anténa, která má port IPX. připojte anténu a namontujte klobouk na svůj malinový pi.
Jak sestavit Připojte desku Iot Node (A) k Raspberry Pi
Připojte anténu GPS a anténu Lora k portu IPX.
- E1, GPS-ANTANA-IPX
- E3, LoRa-ANTANA-IPX
Zašroubuje anténu GPRS na port SMA.
Krok 5: Krok 4: Konfigurace prostředí a softwaru OS
V tomto kroku musíte provést tyto věci:
1. Stáhněte si nejnovější soubor obrázku z: www.raspberrypi.org/downloads
2. Rozbalte jej.
3. Flashujte svou TF kartu pomocí nejnovějšího obrázku pomocí nástroje pro leptání
4. Upravte soubor /boot/config.txt a přidejte tento odstavec.
dtoverlay = sc16is752-i2c
5. Nahradí soubor /boot/overlay/sc16is752-i2c.dtbo tímto souborem:
wiki.52pi.com/index.php/File:Sc16is752-i2c…
PS: nezapomeňte jej rozbalit a vložit do složky/boot/overlay/a nahradit starý.
6. Restartujte Raspberry Pi.
Krok 6: Krok 5: Konfigurace I2C (Raspberry Pi)
Spusťte sudo raspi-config a podle pokynů nainstalujte podporu i2c pro jádro ARM a linuxové jádro Přejít na Možnosti rozhraní
Krok 7: Krok 6: Informace o informacích o registru
Sekce GPRS
Nízká spotřeba energie, pohotovostní spánkový proud <1mA2.
Podpora GSM/GPRS čtyř frekvenčních pásem, včetně 850, 900, 1800, 1900 MHz
GPRS třída 10
Podpora datové služby GPRS, maximální přenosová rychlost, stahování 85,6 Kbps, nahrávání 42,8 Kbps
Podpora standardních příkazů GSM07.07, 07.05 AT a přístup k sériovému portu prostřednictvím převodu rozhraní I2C
Příkazy AT podporují standardní příkazové porty AT a TCP/IP
Sekce GPS Podpora polohování BDS/GPS kloubů
Podpora A-GPS, A-BDS
Podpora standardní SIM karty
Sekce LORA Přenosová vzdálenost: 500 metrů (RF parametry: 0x50 @ China City)
Podpora modulačních metod FSK, GFSK, MSK, GMSK, LoRaTM a OOK
Extrémně vysoká citlivost přijímače až -141 dBm
Podpora detekce preambule
Paketový engine s CRC, až 256 bajtů
Indikátor transceiveru LORA
Easy TX/RX od Docker Pi
Krok 8:
Modul A9G
Modul A9G nabízí dva sériové porty.
Ke komunikaci použijte most I2C UART.
Název modulu sériového portu
- /dev/ttySC0 GSM
- /dev/ttySC1 GPS/BDS
Zaregistrovat mapu
- Registrace Adresa Funkce Hodnota
- 0x01 LORA_TX1 Lora TX Buffer 1 - Uživatelská data
- 0x02 LORA_TX2 Lora TX Buffer 2 - Uživatelská data
- 0x03 LORA_TX3 Lora TX Buffer 3 - Uživatelská data
- 0x04 LORA_TX4 Lora TX Buffer 4 - Uživatelská data
- 0x05 LORA_TX5 Lora TX Buffer 5 - Uživatelská data
- 0x06 LORA_TX6 Lora TX Buffer 6 - Uživatelská data
- 0x07 LORA_TX7 Lora TX Buffer 7 - Uživatelská data
- 0x08 LORA_TX8 Lora TX Buffer 8 - Uživatelská data
- 0x09 LORA_TX9 Lora TX Buffer 9 - Uživatelská data
- 0x0a LORA_TX10 Lora TX Buffer 10 - Uživatelská data
- 0x0b LORA_TX11 Lora TX Buffer 11 - Uživatelská data
- 0x0c LORA_TX12 Lora TX Buffer 12 - Uživatelská data
- 0x0d LORA_TX13 Lora TX Buffer 13 - Uživatelská data
- 0x0e LORA_TX14 Lora TX Buffer 14 - Uživatelská data
- 0x0f LORA_TX15 Lora TX Buffer 15 - Uživatelská data
- 0x10 LORA_TX16 Lora TX Buffer 16 - Uživatelská data
- 0x11 LORA_RX1 Lora RX Buffer 1 - Uživatelská data
- 0x12 LORA_RX2 Lora RX Buffer 2 - uživatelská data
- 0x13 LORA_RX3 Lora RX Buffer 3 - Uživatelská data
- 0x14 LORA_RX4 Lora RX Buffer 4 - uživatelská data
- 0x15 LORA_RX5 Lora RX Buffer 5 - Uživatelská data
- 0x16 LORA_RX6 Lora RX Buffer 6 - Uživatelská data
- 0x17 LORA_RX7 Lora RX Buffer 7 - Uživatelská data
- 0x18 LORA_RX8 Lora RX Buffer 8 - uživatelská data
- 0x19 LORA_RX9 Lora RX Buffer 9 - Uživatelská data
- 0x1a LORA_RX10 Lora RX Buffer 10 - Uživatelská data
- 0x1b LORA_RX11 Lora RX Buffer 11 - Uživatelská data
- 0x1c LORA_RX12 Lora RX Buffer 12 - Uživatelská data
- 0x1d LORA_RX13 Lora RX Buffer 13 - Uživatelská data
- 0x1e LORA_RX14 Lora RX Buffer 14 - Uživatelská data
- 0x1f LORA_RX15 Lora RX Buffer 15 - Uživatelská data
- 0x20 LORA_RX16 Lora RX Buffer 16 - Uživatelská data
- 0x01 - 0x10 Pouze pro zápis.
- 0x11 - 0x20 Pouze pro čtení.
Krok 9: Pokyny:
L_SET (pouze pro zápis)
- Zapište 1 a nastavte parametry od 0x22 do modulu LORA.
- Napište 0 bez účinku
G_RESET (pouze pro zápis)
- Chcete -li modul A9G resetovat, napište 1
- Napište 0 bez účinku
L_RXNE (čtení a zápis)
- Napište 1 příčinu chyby
- Chcete -li vymazat, napište 0
- Přečíst 1 znamená, že byla přijata data, načtěte prosím data z registru 0x11 - 0x20.
- Přečíst 0 znamená, že nyní nejsou k dispozici žádná data.
L_SET (pouze pro zápis)
- Pro odeslání dat napište 1, před odesláním prosím vyplňte údaje v registru 0x01 - 0x10.
- Napište 0 bez účinku
Krok 10: Jak používat modul GPS s Gpsd (Raspberry Pi)
Jak používat modul GPS s gpsd (Raspberry Pi)
Nejprve vyměňte /boot/overlays/sc16is752-i2c.dtbo a ujistěte se, že I2C funguje správně.
- Vyměňte sc16is752-i2c.dtbo
- Konfigurace I2C
- Nainstalujte si nástroje gpsd.
Otevřete terminál a zadejte tento příkaz:
sudo apt install gpsd gpsd-clients
Upravte soubor/etc/default/gpsd a přidejte následující parametry:
- ZAŘÍZENÍ = "/dev/ttySC1"
- GPSD_OPTIONS = "-F /var/run/gpsd.sock"
Chcete -li resetovat modul GPRS, zadejte příkaz i2cset -y 1 0x16 0x23 0x40.
Python skript pro otevřené GPS:
import serialimport os import time # Restartujte službu gpsd. os.system ("sudo systemctl restart gpsd.socket") # Otevřete sériový port ser = serial. Serial ('/dev/ttySC0', 115200) i = 0 pokud ser.isOpen == False: ser.open () zkuste: tisknout ("Zapnout GPS …") při 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 tisk ("Čekání GPS povoleno, Pokud je čas příliš dlouhý, vyzkoušejte venku:" + str (i)) ser.flushInput () time.sleep (1) kromě KeyboardInterrupt: ser.flushInput () ser.close ()
Uložte a spusťte:
python3 GPS.py
Krok 11: Jak používat modul GPS s C (Raspberry Pi)
Nainstalujte si nástroje gpsd
sudo apt-get install libgps-dev
Vytvořte zdrojový kód a pojmenujte jej „gps.c“
#include #include #include
#zahrnout
#zahrnout
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);
zatímco (1)
{ / * počkejte 2 sekundy na příjem dat * / if (gps_waiting (& gps_data, 2000000)) { / * přečtěte data * / if ((rc = gps_read (& gps_data)) == -1) {printf ("došlo k chybě při čtení gps data. kód: %d, důvod: %s / n ", rc, gps_errstr (rc)); } else { /* Zobrazit data z přijímače 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 není ve skutečnosti časové razítko! */
printf ("zeměpisná šířka: %f, zeměpisná délka: %f, rychlost: %f, časové razítko: %lf / n", gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.speed, gps_data.fix.time);
// EDIT: Nahrazeno tv.tv_sec gps_data.fix.time} else {printf ("nejsou k dispozici žádná data GPS / n"); }}} spánek (3); } / * Až budete hotovi … * / gps_stream (& gps_data, WATCH_DISABLE, NULL); gps_close (& gps_data); návrat EXIT_SUCCESS; }
Krok 12: Zkompilovat to
Kompilovat!
gcc gps.c -lm -lgps -o gps
Exec It!
./gps
Krok 13: Jak používat modul GPS v Pythonu (Raspberry Pi)
Následující kód se doporučuje provést pomocí Pythonu 3 a nainstalovat knihovnu gpsd-py3 a GPS 2D/3D opravu:
importovat gpsd
# Připojte se k místnímu gpsd
gpsd.connect ()
# Získejte polohu GPS
packet = gpsd.get_current ()
# Dostupná data najdete v vložených dokumentech pro GpsResponse
tisk (packet.position ())
Krok 14: Jak používat GSM modul s PPPd (Raspberry Pi)
A) Nejprve vyměňte /boot/overlays/sc16is752-i2c.dtbo a ujistěte se, že I2C funguje správně.
- Vyměňte sc16is752-i2c.dtbo
- Konfigurace I2C
B) Chcete -li resetovat modul GPRS, zadejte příkaz i2cset -y 1 0x16 0x23 0x40.
Po spuštění příkazu musíte chvíli počkat, asi 10 sekund
K resetování můžete také použít následující metodu.
C) Zadejte příkaz
sudo apt install ppp
nainstalovat nástroje ppp.
D) Zkopírujte/etc/ppp/peers/provider do/etc/ppp/peers/gprs
E) Upravit/etc/ppp/peers/gprs
- Řádek 10: Ohledně uživatele se obraťte na svého poskytovatele služeb (Příklad: cmnet).
- Řádek 15: Ohledně apn se obraťte na svého poskytovatele služeb (Příklad: cmnet).
- Řádek 18 - Řádek 24: Doporučené nastavení
F) Upravit/etc/chatscripts/gprs (Změnit řádek 34 na řádek 35, číslo Dialout NENÍ NENÍ *99#)
G) Vytočte příkaz sudo pppd call gprs.
H) Zkontrolujte konfiguraci ppp od svého ISP.
I) Zadejte příkaz ping -I ppp0 8.8.8.8 test vaší sítě (Pokud je k dispozici internet a tabulka směrování je správná)
J) Udržujte dobrý signál GSM, jinak dojde k následujícímu.
Krok 15: Jak diagnostikovat můj GSM modul (Raspberry Pi)
Následující kód se doporučuje provést pomocí Pythonu 3 a nainstalovat knihovnu smbus:
import serialimport čas import smbus import operator import os
tisk ("Čekání na inicializaci …")
bus = smbus. SMBus (1)
bus.write_byte_data (0x16, 0x23, 0x40)
ser = serial. Serial ('/dev/ttySC0', 115200)
pokud ser.isOpen == False:
ser.open () try: print ('-'*60) print ("Initializing A9G GPRS module.") print ("GSM connections …") 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 ") tisk (ccid) else: i = i + 1 ser.flushInput () time.sleep (1) kromě KeyboardInterrupt: ser.close ()
Spusťte testovací skript, na základě výsledků implementace můžeme diagnostikovat modul GSM. Například následující návrat, chyba CME ERROR 53 nám řekne Power not good. Kód CME = Chyby související se zařízením GSM
Skript má samozřejmě také funkci reset. Pokud dokážete správně zobrazit CCID, reset je dokončen.
Krok 16: Jak používat Lora TX & RX s C (Raspberry Pi)
Následující kód se doporučuje provést pomocí Pythonu 3 a nainstalovat knihovnu smbus.
Musí být přenesen mezi dvěma uzly IOT (A). Samotný odeslaný obsah nelze sám přijímat. Uložte jej prosím jako py skript pro provedení.
Jak odeslat: Po vyplnění dat do registru 0x01 - 0x10 nastavte bit L_TX tak, aby začal odesílat data.
import timeimport smbus import os import sys
bus = smbus. SMBus (1)
Snaž se:
data_list = [170, 85, 165, 90] # zapište data k registraci a poté budou data odeslána. pro index v rozsahu (1, len (data_list) + 1): bus.write_byte_data (0x16, index, data_list [index - 1]) print ("LORA odeslat data do %d register %d data" %(index, data_list [index - 1])) bus.write_byte_data (0x16, 0x23, 0x01) kromě KeyboardInterrupt: sys.exit ()
Jak odeslat příjem: Zkontrolujte bit L_RXNE, pokud je nastaven, dorazila nová data, tento příznak musí být ručně vymazán
import timeimport smbus import os import sys
bus = smbus. SMBus (1)
recv_data =
Snaž se:
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]))
tisk ("Přijatá data:")
print (recv_data) else: print ("Zatím nebyla přijata žádná data ~") kromě KeyboardInterrupt: sys.exit ()
Krok 17: Speciální popis šířky pásma I2C
Limit rychlosti I2C je 400kHz, díky protokolu I2C, takže efektivní šířka pásma jednoho zařízení je nižší než 320 kb / s, efektivní šířka pásma více zařízení je nižší než 160 kb / s. Limit rychlosti mostu I2C UART Bridge je 115200 b / s. Když GPS a GSM pracovat současně, šířka pásma I2C je nedostatečná, protože 115,2 kb / s * 2 = 230,4 kb / s, takže některá data budou přetečena. Snížení přenosové rychlosti komunikace GPS a GSM může zlepšit nedostatek šířky pásma komunikace. Zapojení jiných modulů DockerPi může zabrat extra šířka pásma I2C. Rychlost síťových dat je obvykle pomalá, takže šířka pásma GSM není plná, takže není problém s přetečením.
Krok 18: Hotovo
Snad se vám to líbí a zvládnete to.
najdete ho zde:
Amazonka
Noční světlo : https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S 4channel Relay board: 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 Node (A) : https://www.amazon.co.uk/dp/B07TY15M1C Sensor HUB : https:// www. ledová věž amazon.co.uk/dp/B07TZD8B61 :
Doporučuje:
Jak používat modul RFID-RC522 s Arduino: 5 kroků
Jak používat modul RFID-RC522 s Arduino: V tomto návodu uvedu návod k základnímu principu fungování modulu RFID spojeného s jeho značkami a čipy. Poskytnu také stručný příklad projektu, který jsem vytvořil pomocí tohoto modulu RFID s RGB LED. Jako obvykle u mých Ins
Jak používat modul hodin v reálném čase (DS3231): 5 kroků
Jak používat modul hodin v reálném čase (DS3231): DS3231 je levný, extrémně přesný hodiny reálného času I2C (RTC) s integrovaným teplotně kompenzovaným krystalovým oscilátorem (TCXO) a krystalem. Zařízení obsahuje bateriový vstup a udržuje přesné měření času, když je hlavní napájení
Jak používat snímač PIR a modul bzučáku - výukový program Visuino: 6 kroků
Jak používat PIR senzor a bzučákový modul - Visuino Tutorial: V tomto tutoriálu se naučíme, jak pomocí PIR senzoru a bzučákového modulu vydávat zvuk pokaždé, když PIR senzor detekuje pohyb. Podívejte se na ukázkové video
Docker Pi Series of Sensor Hub Board O IOT: 13 kroků
Docker Pi Series of Sensor Hub Board O IOT: Dobrý den, všichni chlapi. V dnešní době téměř vše souvisí s IOT. O tom není pochyb, naše deska řady DockerPi také podporuje IOT. Dnes chci představit sérii DockerPi SensorHub, jak použít pro vás IOT. Spustím tuto položku, která je založena na
Jak používat terminál Mac a jak používat klíčové funkce: 4 kroky
Jak používat terminál Mac a jak používat klíčové funkce: Ukážeme vám, jak otevřít terminál MAC. V Terminálu vám také ukážeme několik funkcí, jako je ifconfig, změna adresářů, přístup k souborům a arp. Ifconfig vám umožní zkontrolovat vaši IP adresu a vaši MAC adresu