Turinys:

[„Docker Pi“serija] Kaip naudoti „IoT Node“(A) modulį „Raspberry Pi“: 18 žingsnių
[„Docker Pi“serija] Kaip naudoti „IoT Node“(A) modulį „Raspberry Pi“: 18 žingsnių

Video: [„Docker Pi“serija] Kaip naudoti „IoT Node“(A) modulį „Raspberry Pi“: 18 žingsnių

Video: [„Docker Pi“serija] Kaip naudoti „IoT Node“(A) modulį „Raspberry Pi“: 18 žingsnių
Video: Свидание в 16 vs 26 лет 😨😳 2024, Liepa
Anonim
[„Docker Pi“serija] Kaip naudoti „IoT Node“(A) modulį „Raspberry Pi“
[„Docker Pi“serija] Kaip naudoti „IoT Node“(A) modulį „Raspberry Pi“

Kas yra „IoT Node“(A) modulis?

„IoT Node“(A) yra vienas iš „Docker Pi“serijos modulių.

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

„I2C“tiesiogiai valdo „Lora“, siunčia ir gauna duomenis, valdo GSM/GPS/BDS modulį per SC16IS752, pagrindinei plokštei reikia tik I2C palaikymo.

Palaikykite „Raspberry Pi“ir kitus panašius produktus.

Prekės

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

1x „Docker Pi“serijos produktas: „IoT Node“(A) modulis

1x 16GB 10 klasės TF kortelė

1x 5V/2,5A maitinimo šaltinis (5V@3A, skirtas Pi 4B)

1 žingsnis: funkcijos

Savybės
Savybės
Savybės
Savybės
Savybės
Savybės
  • „Docker Pi“serija
  • Programuojamas
  • Tiesioginis valdymas (be programavimo)
  • Išplėskite GPIO kaiščius
  • GPS/BDS palaikymas
  • GSM palaikymas
  • Lora palaikymas
  • Galima sukrauti su kita Stack lenta
  • Nepriklausoma nuo pagrindinės plokštės aparatūros (reikalinga I2C palaikymas)

2 veiksmas: 1 žingsnis: žinokite apie IoT (A) plokštę

1 žingsnis: Žinokite apie IoT (A) valdybą
1 žingsnis: Žinokite apie IoT (A) valdybą
1 žingsnis: Žinokite apie IoT (A) valdybą
1 žingsnis: Žinokite apie IoT (A) valdybą
1 žingsnis: Žinokite apie IoT (A) valdybą
1 žingsnis: Žinokite apie IoT (A) valdybą

„IoT Node“(A) yra vienas iš „Docker Pi“serijos modulių.

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

„I2C“tiesiogiai valdo „Lora“, siunčia ir gauna duomenis, valdo GSM/GPS/BDS modulį per SC16IS752, pagrindinei plokštei reikia tik I2C palaikymo. Palaikykite „Raspberry Pi“ir kitus panašius produktus.

Taigi, naudodami du iš jų, galite sukurti vidutinio nuotolio ryšio įrenginį.

taip pat galite rasti savo prietaiso vietą naudodami GPS modulį.

Įdėkite SIM kortelę, ji taps siųstuvo stotimi SMS žinute.

3 žingsnis: 2 žingsnis: kaip jį surinkti

2 žingsnis: kaip jį surinkti
2 žingsnis: kaip jį surinkti
2 žingsnis: kaip jį surinkti
2 žingsnis: kaip jį surinkti

Jį labai lengva surinkti dėl „HAT“dizaino, tiesiog uždėkite jį ant savo aviečių pi ir sujunkite per GPIO kaiščius, jis tarsi „skrybėlė“ant aviečių pi, kad nereikėtų pridėti masės viela.

4 žingsnis: 3 žingsnis: prijunkite anteną

3 žingsnis: pakabinkite anteną
3 žingsnis: pakabinkite anteną
3 žingsnis: prijunkite anteną
3 žingsnis: prijunkite anteną
3 žingsnis: pakabinkite anteną
3 žingsnis: pakabinkite anteną

Šiam IoT (A) moduliui yra 3 dalių antena, viena iš jų skirta „Loar“moduliui, tai yra SMA tipo antena, o viena iš jų tinka GPS, tai yra kvadratinė dėžutė, turinti IPX prievadą. paskutinis skirtas SIM moduliui (A9G), tai maža antena, turinti IPX prievadą. prijunkite anteną ir pritvirtinkite skrybėlę prie savo aviečių pi.

Pritvirtinkite „Iot Node“(A) plokštę prie „Raspberry Pi“

Prijunkite GPS antaną ir „Lora antana“prie IPX prievado.

  • E1, GPS-ANTANA-IPX
  • E3, „LoRa-ANTANA-IPX“

Prisukite GPRS antaną SMA prievade.

5 veiksmas: 4 veiksmas: OS aplinka ir programinės įrangos konfigūracijos

Šiame žingsnyje turite atlikti šiuos veiksmus:

1. Atsisiųskite naujausią vaizdo failą iš: www.raspberrypi.org/downloads

2. Išpakuokite.

3. Perkraukite savo TF kortelę naudodami naujausią vaizdą naudodami etcher įrankį

4. Pakeiskite failą /boot/config.txt ir pridėkite šią pastraipą.

dtoverlay = sc16is752-i2c

5. Pakeičia /boot/overlay/sc16is752-i2c.dtbo failą šiuo failu:

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

PS: nepamirškite išpakuoti ir įdėti į aplanką/boot/overlay/ir pakeisti seną.

6. Iš naujo paleiskite „Raspberry Pi“.

6 veiksmas: 5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas

5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas
5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas
5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas
5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas
5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas
5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas
5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas
5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas

Paleiskite sudo raspi-config ir vykdykite nurodymus, kad įdiegtumėte „i2c“palaikymą ARM branduoliui ir „Linux“branduoliui Eikite į sąsajos parinktis

7 veiksmas: 6 žingsnis: žinokite apie registro informaciją

GPRS skyrius

Mažos energijos sąnaudos, budėjimo režimo srovė <1mA2.

Palaikykite keturias GSM/GPRS dažnių juostas, įskaitant 850, 900, 1800, 1900 MHz

10 klasės GPRS

Palaikykite GPRS duomenų paslaugą, maksimalų duomenų perdavimo greitį, atsisiųskite 85,6 kbps, įkelkite 42,8 kbps

Palaikykite standartines GSM07.07, 07.05 AT komandas ir pasiekite nuoseklųjį prievadą per I2C sąsajos konversiją

AT komandos palaiko standartinius AT ir TCP/IP komandų prievadus

GPS skyrius Palaikykite BDS/GPS jungties padėties nustatymą

Palaikykite A-GPS, A-BDS

Palaikykite standartinę SIM kortelę

Perdavimo atstumas: 500 metrų (RF parametrai: 0x50 @ China City)

Palaikykite FSK, GFSK, MSK, GMSK, LoRaTM ir OOK moduliavimo metodus

Itin didelis imtuvo jautrumas -iki -141 dBm

Palaikykite preambulės aptikimą

Paketinis variklis su CRC, iki 256 baitų

LORA siųstuvo -imtuvo indikatorius

„Easy TX/RX“, kurį pateikė „Docker Pi“

8 žingsnis:

A9G modulis

A9G modulis siūlo du nuoseklius prievadus.

Bendravimui naudokite I2C UART tiltą.

Serijinio prievado modulio pavadinimas

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

Registruoti žemėlapį

  • Registro adreso funkcijos reikšmė
  • 0x01 LORA_TX1 Lora TX buferis 1 - vartotojo duomenys
  • 0x02 LORA_TX2 „Lora TX Buffer 2“- vartotojo duomenys
  • 0x03 LORA_TX3 „Lora TX Buffer 3“- vartotojo duomenys
  • 0x04 LORA_TX4 „Lora TX Buffer 4“- vartotojo duomenys
  • 0x05 LORA_TX5 „Lora TX Buffer 5“- vartotojo duomenys
  • 0x06 LORA_TX6 „Lora TX Buffer 6“- vartotojo duomenys
  • 0x07 LORA_TX7 „Lora TX Buffer 7“- vartotojo duomenys
  • 0x08 LORA_TX8 „Lora TX Buffer 8“- vartotojo duomenys
  • 0x09 LORA_TX9 „Lora TX Buffer 9“- vartotojo duomenys
  • 0x0a LORA_TX10 „Lora TX Buffer 10“- vartotojo duomenys
  • 0x0b LORA_TX11 „Lora TX Buffer 11“- vartotojo duomenys
  • 0x0c LORA_TX12 „Lora TX Buffer 12“- vartotojo duomenys
  • 0x0d LORA_TX13 „Lora TX Buffer 13“- vartotojo duomenys
  • 0x0e LORA_TX14 „Lora TX Buffer 14“- vartotojo duomenys
  • 0x0f LORA_TX15 „Lora TX Buffer 15“- vartotojo duomenys
  • 0x10 LORA_TX16 „Lora TX Buffer 16“- vartotojo duomenys
  • 0x11 LORA_RX1 Lora RX 1 buferis - vartotojo duomenys
  • 0x12 LORA_RX2 „Lora RX Buffer 2“- vartotojo duomenys
  • 0x13 LORA_RX3 „Lora RX Buffer 3“- vartotojo duomenys
  • 0x14 LORA_RX4 „Lora RX Buffer 4“- vartotojo duomenys
  • 0x15 LORA_RX5 „Lora RX Buffer 5“- vartotojo duomenys
  • 0x16 LORA_RX6 „Lora RX Buffer 6“- vartotojo duomenys
  • 0x17 LORA_RX7 „Lora RX Buffer 7“- vartotojo duomenys
  • 0x18 LORA_RX8 „Lora RX Buffer 8“- vartotojo duomenys
  • 0x19 LORA_RX9 „Lora RX Buffer 9“- vartotojo duomenys
  • 0x1a LORA_RX10 „Lora RX Buffer 10“- vartotojo duomenys
  • 0x1b LORA_RX11 „Lora RX Buffer 11“- vartotojo duomenys
  • 0x1c LORA_RX12 „Lora RX Buffer 12“- vartotojo duomenys
  • 0x1d LORA_RX13 „Lora RX Buffer 13“- vartotojo duomenys
  • 0x1e LORA_RX14 „Lora RX Buffer 14“- vartotojo duomenys
  • 0x1f LORA_RX15 „Lora RX Buffer 15“- vartotojo duomenys
  • 0x20 LORA_RX16 „Lora RX Buffer 16“- vartotojo duomenys
  • 0x01 - 0x10 Tik rašyti.
  • 0x11 - 0x20 Tik skaityti.

9 veiksmas: instrukcijos:

Instrukcijos
Instrukcijos

L_SET (tik rašyti)

  • Parašykite 1, kad nustatytumėte parametrus nuo 0x22 iki LORA modulio.
  • Parašykite 0 neefektas

G_RESET (tik rašyti)

  • Parašykite 1, kad iš naujo nustatytumėte A9G modulį
  • Parašykite 0 neefektas

L_RXNE (skaityti ir rašyti)

  • Parašykite 1 priežasties klaidą
  • Norėdami išvalyti, parašykite 0
  • 1 skaitymas reiškia, kad duomenys buvo gauti, prašome gauti duomenis iš registro 0x11 - 0x20.
  • Skaityti 0 reiškia, kad duomenų dabar nėra.

L_SET (tik rašyti)

  • Parašykite 1, kad išsiųstumėte duomenis, prieš siųsdami užpildykite registro 0x01 - 0x10 duomenis.
  • Parašykite 0 neefektas

10 veiksmas: kaip naudotis GPS moduliu su GPS („Raspberry Pi“)

Kaip naudotis GPS moduliu su GPS (Raspberry Pi)
Kaip naudotis GPS moduliu su GPS (Raspberry Pi)
Kaip naudotis GPS moduliu su GPS (Raspberry Pi)
Kaip naudotis GPS moduliu su GPS (Raspberry Pi)
Kaip naudotis GPS moduliu su GPS (Raspberry Pi)
Kaip naudotis GPS moduliu su GPS (Raspberry Pi)

Kaip naudotis GPS moduliu su gpsd (Raspberry Pi)

Pirmiausia pakeiskite /boot/overlays/sc16is752-i2c.dtbo ir įsitikinkite, kad I2C veikia tinkamai.

  • Pakeiskite sc16is752-i2c.dtbo
  • I2C konfigūravimas
  • Įdiekite „gpsd“įrankius.

Atidarykite terminalą ir įveskite šią komandą:

sudo apt įdiegti gpsd gpsd-klientus

Pakeiskite/etc/default/gpsd failą ir pridėkite šiuos parametrus:

  • ĮRENGINIAI = "/dev/ttySC1"
  • GPSD_OPTIONS = "-F /var/run/gpsd.sock"

Norėdami iš naujo nustatyti GPRS modulį, įveskite komandą i2cset -y 1 0x16 0x23 0x40.

„Python“scenarijus, skirtas atviram GPS:

importuoti serialus importuoti importavimo laiką # Iš naujo paleiskite gpsd paslaugą. os.system ("sudo systemctl restart gpsd.socket") # Atidarykite nuoseklųjį prievadą ser = serial. Serial ('/dev/ttySC0', 115200) i = 0, jei ser.isOpen == False: ser.open () pabandykite: spausdinti („Įjungti GPS…“), o tiesa: ser.write (str.encode („AT+GPS = 1 / r“)) size = ser.inWaiting () if size! = 0: ticks = time.time () response = ser.read (dydis) gps = str (response, encoding = "utf -8") if (gps.find ("OK")! = -1): os.system ("sudo cgps -s") exit () else: i = i + 1 print ("Laukiama GPS įjungta, jei laikas per ilgas, išbandykite lauke:" + str (i)) ser.flushInput () time.sleep (1), išskyrus klaviatūrąInterrupt: ser.flushInput () ser.close ()

Išsaugokite ir vykdykite:

python3 GPS.py

11 veiksmas: Kaip naudotis GPS moduliu su C (Raspberry Pi)

Įdiekite „gpsd“įrankius

sudo apt-get install libgps-dev

Sukurkite šaltinio kodą ir pavadinkite jį „gps.c“

#įtraukti #įtraukti #įtraukti

#įtraukti

#įtraukti

int main ()

{int rc; struktūros laiko televizija; struktura gps_data_t gps_data; if ((rc = gps_open ("localhost", "2947", & gps_data)) == -1) {printf ("kodas: %d, priežastis: %s / n", rc, gps_errstr (rc)); grąžinti EXIT_FAILURE; } gps_stream (& gps_data, WATCH_ENABLE | WATCH_JSON, NULL);

kol (1)

{ / * palaukite 2 sekundes, kol gausite duomenis * / if (gps_waiting (& gps_data, 2000000)) { / * skaityti duomenis * / if ((rc = gps_read (& gps_data)) == -1) {printf ("įvyko klaida skaitant GPS duomenys. kodas: %d, priežastis: %s / n ", rc, gps_errstr (rc)); } else { /* Rodyti duomenis iš GPS imtuvo. */ 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); Redaguoti: tv.tv_sec iš tikrųjų nėra laiko žymė! */

printf ("platuma: %f, ilguma: %f, greitis: %f, laiko žyma: %lf / n", gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.speed, gps_data.fix.time);

// REDAGAVIMAS: pakeitė tv.tv_sec į gps_data.fix.time} else {printf ("GPS duomenų nėra / n"); }}} miegas (3); } / * Kai baigsite … * / gps_stream (& gps_data, WATCH_DISABLE, NULL); gps_close (& gps_data); grįžti EXIT_SUCCESS; }

12 žingsnis: sudarykite

Sudarykite
Sudarykite

Sudarykite!

gcc gps.c -lm -lgps -o gps

Vykdyk!

./gps

13 žingsnis: Kaip naudotis GPS moduliu su „Python“(„Raspberry Pi“)

Kaip naudotis GPS moduliu su „Python“(Raspberry Pi)
Kaip naudotis GPS moduliu su „Python“(Raspberry Pi)

Šį kodą rekomenduojama vykdyti naudojant „Python 3“ir įdiegti gpsd-py3 biblioteką bei „GPS 2D/3D Fix“:

importuoti gpsd

# Prisijunkite prie vietinio GPS

gpsd.connect ()

# Gaukite GPS padėtį

paketas = gpsd.get_current ()

# Turimus duomenis rasite „GpsResponse“įterptųjų dokumentų skyriuje

spausdinti (packet.position ())

14 žingsnis: Kaip naudoti GSM modulį su PPPd (Raspberry Pi)

Kaip naudotis GSM moduliu su PPPd (Raspberry Pi)
Kaip naudotis GSM moduliu su PPPd (Raspberry Pi)
Kaip naudotis GSM moduliu su PPPd (Raspberry Pi)
Kaip naudotis GSM moduliu su PPPd (Raspberry Pi)
Kaip naudotis GSM moduliu su PPPd (Raspberry Pi)
Kaip naudotis GSM moduliu su PPPd (Raspberry Pi)

A) Pirmiausia pakeiskite /boot/overlays/sc16is752-i2c.dtbo ir įsitikinkite, kad I2C veikia tinkamai.

  • Pakeiskite sc16is752-i2c.dtbo
  • I2C konfigūravimas

B) Norėdami iš naujo nustatyti GPRS modulį, įveskite komandą i2cset -y 1 0x16 0x23 0x40.

Paleidus komandą, reikia šiek tiek palaukti, apie 10 sekundžių

Norėdami iš naujo nustatyti, taip pat galite naudoti šį metodą.

C) Įveskite komandą

sudo apt įdiegti ppp

įdiegti ppp įrankius.

D) Nukopijuokite/etc/ppp/peers/Provider į/etc/ppp/peers/gprs

E) Pakeiskite/etc/ppp/peer/gprs

  • 10 eilutė: pasikonsultuokite su savo paslaugų teikėju (pavyzdys: cmnet).
  • 15 eilutė: dėl apn kreipkitės į savo paslaugų teikėją (pavyzdys: cmnet).
  • 18 eilutė - 24 eilutė: rekomenduojamas nustatymas

F) Keisti/etc/chatscripts/gprs (34 eilutę pakeisti į 35 eilutę, skambučio numeris gali būti NĖRA *99#)

G) Norėdami paskambinti, įveskite komandą sudo pppd call gprs.

H) Patikrinkite savo IPP konfigūraciją iš savo IPT.

I) Įveskite komandą ping -I ppp0 8.8.8.8 patikrinkite savo tinklą (jei yra internetas ir maršruto lentelė yra teisinga)

J) Prašome išlaikyti gerą GSM signalą, nes kitaip bus taip.

15 žingsnis: Kaip diagnozuoti mano GSM modulį (Raspberry Pi)

Kaip diagnozuoti mano GSM modulį (Raspberry Pi)
Kaip diagnozuoti mano GSM modulį (Raspberry Pi)
Kaip diagnozuoti mano GSM modulį (Raspberry Pi)
Kaip diagnozuoti mano GSM modulį (Raspberry Pi)
Kaip diagnozuoti mano GSM modulį (Raspberry Pi)
Kaip diagnozuoti mano GSM modulį (Raspberry Pi)
Kaip diagnozuoti mano GSM modulį (Raspberry Pi)
Kaip diagnozuoti mano GSM modulį (Raspberry Pi)

Šį kodą rekomenduojama vykdyti naudojant „Python 3“ir įdiegti „smbus“biblioteką:

importas serijinis importas laikas importas smbus importo operatorius importas os

spausdinti („Laukiama inicijavimo …“)

autobusas = smbus. SMBus (1)

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

ser = serial. Serial ('/dev/ttySC0', 115200)

jei ser.isOpen == Netiesa:

ser.open () pabandykite: print ('-'*60) print ("Inicijuojamas A9G GPRS modulis.") print ("GSM Connect…") time.sleep (3) i = 0, kol tiesa: ser.write (str..encode ("AT+CCID / r")) size = ser.inWaiting () if size! = 0: erkės = time.time () atsakymas = ser.read (dydis) ccid = str (response, encoding = "utf -8 ") print (ccid) else: i = i + 1 ser.flushInput () time.sleep (1), išskyrus klaviatūrąInterrupt: ser.close ()

Vykdykite bandymo scenarijų, remdamiesi diegimo rezultatais, galime diagnozuoti GSM modulį. Pavyzdžiui, ši grąžinimo klaida CME ERROR 53 nurodo, kad maitinimas nėra geras. CME kodas = su GSM įranga susijusios klaidos

Žinoma, scenarijus taip pat turi atstatymo funkciją. Jei galite teisingai parodyti CCID, atstatymas baigtas.

16 žingsnis: Kaip naudoti „Lora TX & RX“su „C“(„Raspberry Pi“)

Šį kodą rekomenduojama vykdyti naudojant „Python 3“ir įdiegti „smbus“biblioteką.

Jis turi būti perkeltas tarp dviejų IOT mazgų (A). Pats siunčiamas turinys negali būti priimtas pats. Išsaugokite jį kaip py scenarijų vykdymui.

Kaip siųsti: Užpildę duomenis į registrą 0x01 - 0x10, nustatykite L_TX bitą, kad jis pradėtų siųsti duomenis.

importo laikasimportas smbus importas os importo sys

autobusas = smbus. SMBus (1)

bandyti:

data_list = [170, 85, 165, 90] # įrašykite duomenis į registrą ir tada duomenys bus išsiųsti. indeksui diapazone (1, len (duomenų sąrašas) + 1): bus.write_byte_data (0x16, index, data_list [indeksas - 1]) print ("LORA siųsti duomenis %d registrui %d duomenys" %(indeksas, duomenų_ sąrašas [indeksas - 1])) bus.write_byte_data (0x16, 0x23, 0x01), išskyrus KeyboardInterrupt: sys.exit ()

Kaip siųsti gavimą: patikrinkite L_RXNE bitą. Jei nustatytas, atvyko nauji duomenys, ši vėliava turi būti išvalyta rankiniu būdu

importo laikasimportas smbus importas os importo sys

autobusas = smbus. SMBus (1)

recv_data =

bandyti:

if bus.read_byte_data (0x16, 0x23) & 0x02: # rankiniu būdu išvalyti L_RXNE bus.write_byte_data (0x16, 0x23, 0x00) register_list = [0x11, 0x12, 0x13, 0x14] # skaityti duomenis apie indeksą diapazone (0x11, len (register_list) + 0x11): recv_data.append (bus.read_byte_data (0x16, register_list [indeksas - 0x11]))

spausdinti („Gauti duomenys:“)

print (recv_data) else: print („Duomenų dar negauta ~“), išskyrus „KeyboardInterrupt“: sys.exit ()

17 veiksmas: specialus I2C pralaidumo aprašymas

Dėl I2C protokolo I2C greičio riba yra 400 kHz, todėl vieno įrenginio efektyvus pralaidumas yra mažesnis nei 320 kbps, kelių įrenginių efektyvus pralaidumas yra mažesnis nei 160 kbps. I2C UART tilto greičio riba yra 115200 bps. Kai GPS ir GSM tuo pačiu metu, I2C pralaidumas yra nepakankamas, nes 115,2 kbps * 2 = 230,4 kbps, todėl kai kurie duomenys bus perpildyti. Sumažinus GPS ir GSM ryšio perdavimo spartą, gali sumažėti ryšio pralaidumas. Gali užtrukti kitų „DockerPi“modulių kaupimas papildomas I2C pralaidumas. Paprastai tinklo duomenų greitis yra lėtas, todėl GSM pralaidumas nėra pilnas, todėl nėra perpildymo problemos.

18 veiksmas: baigta

Tikiuosi jums patiks ir pavyks.

galite rasti čia:

„Amazon“

Nakties šviesa : https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S 4 kanalų relės lenta: 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 mazgas (A) : https://www.amazon.co.uk/dp/B07TY15M1C Jutiklio HUB : https:// www. amazon.co.uk/dp/B07TZD8B61 ledo bokštas :

Rekomenduojamas: