ArduShop.ro

ArduShop.ro
cod tehnic.go.ro_02 reducere 5%, pentru vizitatorii paginilor mele !

luni, 8 iulie 2019

Comunicatie radio (LoRa) intre 2 unitati si prezentare date pe server ThingSpeak (partea 2-a)

    In continuarea articolului de prezentare (partea 1) acum voi prezenta pe scurt ce trebuie facut pentru a face functional sistemul.
    Emitatorul se bazeaza pe o placa Arduino Nano, care citeste 3 senzori:
- un senzor de umiditate
- un senzor de temperatura DS18B20
- un senzor de vibratie (sau poate fi un intrerupator, limitator de cursa, plutitor, etc)
    Emitatorul are schema urmatoare, in care apare si un stabilizator de tensiune de 3,3V si modulul LoRa (SX1278):
Montajul de baza al emitatorului arata asa
   Programul folosit este LoRa_Arduino_tx.ino, ce foloseste partea de codare prezentata in articolele:
Mesaje complexe intre placi Arduino pe comunicatie seriala
Mesaje complexe intre placi Arduino pe comunicatie seriala (2)
Mesaje complexe intre placi Arduino pe comunicatie seriala (3)
   Receptorul are 2 parti, una de comunicare dintre receptorul Lora (SX1278) li Arduino, cealata ce comunicate dintre Arduino si ESP8266 (placa WeMos/NodeMCU). Programul pentru placa Arduino este LoRa_Arduino_rx.ino, iar pentru ESP8266, sa transmita la un canal ThingSpeak este Arduino_to_ESP8266.ino.
   Schema receptorului este
iar montajul
    Filmuletul, ce descrie sistemul, este cel din articolul precedent: comunicatie radio (LoRa) intre 2 unitati si prezentare date pe server ThingSpeak

Comunicatie radio (LoRa) intre 2 unitati si prezentare date pe server ThingSpeak (partea 1)

    Pornind de la o solicitarea a prietenului meu, Mihai Brindusoiu, de a transmite niste date de la distanta mare, unde nu exista internet, de exemplu, pe un server IoT, de exemplu ThingSpeak, am cautat impreuna informatii.
    Mihai a achizitionat module LoRa, care, in teorite, cel putin, pot comunica e distanta de kilometri sau zeci de kilometri.
    Pentru inceput am folosit informatiile din articolul Interfacing SX1278 (Ra-02) LoRa Module with Arduino deoarece aceste module au fost achizitionate (SX1278). Se foloseste libraria LoRa,
conectarea fiind foarte simpla pentru teste, fiind similara pentru emitator si receptor, desi nu pare:
- emitator, Arduino Uno si alimentare modul LoRa din el

- receptor, Arduino nano, cu alimentare separata a modulului LoRa:

   Incarcand progamioarele de test ale librarie, vom obtine
 
    Daca se obtin valori similare celor din ultima imagine a unei ferestre de monitorizare seriala, inseamna ca putem trece la pasul urmator, ce ne doream de fapt.
   Pentru a intelege mai bine, vizionati filmuletul comunicatie radio (LoRa) intre 2 unitati si prezentare date pe server ThingSpeak

   Schema sistemului de emisie, contine 3 senzori: unul de temperatura (DS18B20), unul de nivel si unul de vibratie:
    Partea de receptie contine un modul LoRa, o placa de dezvoltare Arduino Nano si  una Wemos D1 Mini pentru comunicare Wi-Fi catre serverul ThingSpeak.
     Cateva poze realizate de Mihai, din timpul testelor, pe circuit provizoriu

   Mihai a realizat cablajele pentru schemele prezentate mai sus
- emitator
- receptor
- ambele
    Le-a echipat pentru teste:
si le-a montat in cutii, pentru o folosire practica

    Continuarea, cu partea de programe si un mic rezumat, se gaseste in partea a 2-a !

luni, 17 iunie 2019

Prezentare si stocare date pe pagina ThingSpeak (3) - folosind Arduino si ESP8266-05 (o mica schimbare)

   Fata de modul de transmitere a unei temperaturi citite de un senzor DS18B20 de catre o placa de dezvoltare Arduino Nano (in cazul de fata este cu microcontroler ATmega168) la un canal ThingSpeak prin comenzi AT date unui modul Wi-Fi de tip ESP8266-05, cum am prezentat in articolul anterior din februarie 2016, acum ma reconectez la reteaua locala Wi-Fi a apartamentului la 20 de iteratii. Tinand cont ca o crestere a numarului ce contorizeaza se face la 5 minute, la 100 minute se va face reconectare, in caz ca pierde legatura, cum era cazul testelor anterioare, cand reconectarea fost facuta prin resetare sau realimentare modul...

    Programul (sketch-ul) folosit acum este ThingSpeak_arduino_esp8266_ds18b20_v2.ino, iar schema este aceeasi ca in articolul anterior
18.06.2019
  In 24 ore nu s-a pierdut nici o conectare, deci suntem pe drumul cel bun
19.06.2019
   In sfarsit, am gasit si o "buba" si faptul ca s-a reconectat dupa o ora de inactivitate
18.7.2019
    Pentru a nu apare si probleme de conectare datorita lui ESP8266, am pus sa am si o resetare periodica prin comanda AT+RST, dupa cum se vede in programul ThingSpeak_arduino_esp8266_ds18b20_v3.ino !

joi, 6 iunie 2019

Mesaje complexe intre placi Arduino pe comunicatie seriala (3)

    Am incercat sa transmit datele altfel, intr-un singur mesaj, de data asta cu numar fix de caractere, nu variabil ca in articolul precedent, dar am folosit aceeasi schema
   Am folosit informatiile din articolul How to Send Data to Thingspeak Using ESP8266.
   Pentru acelasi tip de mesaj, adica temperatura, stare senzor si procent, voi transmite, de datat asta,  intai un caracter de control(*), la starsit altul (#), temperatura multiplicata cu 10, apoi de zece ori semnul minus plus stare senzor si apoi procentul, dar, cu numar fix de caractere, astfel:
- temperatura -23,4 grade Celsius, senzor activat si 23% apa, voi transmite: *23411023#
- temperatura -5,7 grade Celsius, senzor dezactivat si 100% apa, voi transmite *05710100#
- temperatura 2,9 grade Celsius, senzor dezactivat si 34% apa, voi transmite *02900034#
- temperatura 29,4 grade Celsius, senzor dezactivat si 34% apa, voi transmite *29400034#
   Am facut 2 filmulete, care explica modul de codare/decodare:
Mesaje complexe intre placi Arduino pe comunicatie seriala (3)
Multiple Text Fields in Single Message using Arduino (3)
PS: Programul pentru emitator este tx_3.ino, iar pentru receptor este rx_3.ino !