Cuprins:

MONITORAȚI GRĂDINA: 16 pași (cu imagini)
MONITORAȚI GRĂDINA: 16 pași (cu imagini)

Video: MONITORAȚI GRĂDINA: 16 pași (cu imagini)

Video: MONITORAȚI GRĂDINA: 16 pași (cu imagini)
Video: Cum să-ți faci un lac în curte cu bani puțini 2024, Iulie
Anonim
MONITORAȚI-VĂ GRĂDINA
MONITORAȚI-VĂ GRĂDINA

Monitorizează-ți grădina de oriunde, folosește afișajul local pentru a monitoriza condițiile solului la nivel local sau folosește dispozitivul mobil pentru a monitoriza de la distanță. Circuitul folosește senzor de umiditate a solului, cuplat cu temperatura și umiditatea pentru a face conștient de condițiile ambientale ale solului.

Pasul 1: Componente:

  1. Arduino uno
  2. Nodemcu
  3. Senzor de temperatură și umiditate DHT 11
  4. Senzor de umiditate a solului - FC28
  5. Baterie baterie 10000mah (pentru alimentarea arduino și nodemcu)
  6. Nokia LCD 5110
  7. Resitor (5 x 10k, 1 x 330ohms)
  8. Potențiometru tip rotativ (pentru a regla luminozitatea LCD) 0-100K
  9. Sârme de jumper
  10. Pană de pâine

Pasul 2: SENZOR DE BAZĂ: Umiditatea solului FC 28

SENZOR DE BAZĂ: Umiditatea solului FC 28
SENZOR DE BAZĂ: Umiditatea solului FC 28

Pentru a măsura umiditatea, folosim senzorul de umiditate al solului FC 28, principiul de bază pentru care este prezentat: -

Specificațiile senzorului de umiditate a solului FC-28 sunt după cum urmează: Tensiunea de intrare: 3,3 - 5V

Tensiune de ieșire: 0 - 4.2V

Curent de intrare: 35mA

Semnal de ieșire: atât analog, cât și digital

Senzorul de umiditate al solului FC-28 are patru pini: VCC: Putere

A0: Ieșire analogică

D0: ieșire digitală

GND: sol

Mod analog Pentru a conecta senzorul în modul analog, va trebui să folosim ieșirea analogică a senzorului. Când preluați ieșirea analogică de la senzorul de umiditate al solului FC-28, senzorul ne oferă o valoare de la 0 la 1023. Umiditatea este măsurată în procente, deci vom mapa aceste valori de la 0 la 100 și apoi vom arăta aceste valori pe monitorul serial. Puteți seta diferite intervale de valori ale umidității și puteți porni sau opri pompa de apă în funcție de aceasta.

Modulul conține, de asemenea, un potențiometru care va seta valoarea pragului. Această valoare prag va fi comparată de comparatorul LM393. LED-ul de ieșire va lumina în sus și în jos în funcție de această valoare prag.

Codul pentru interfața cu senzorul de umiditate al solului este preluat în pași suplimentari

Pasul 3: Înțelegerea MQTT: pentru publicarea de date la distanță

Înțelegerea MQTT: pentru publicarea de date la distanță
Înțelegerea MQTT: pentru publicarea de date la distanță

Înainte de a începe mai departe, să trecem mai întâi prin publicarea de date la distanță pentru IOT

MQTT înseamnă MQ Telemetry Transport. Este un protocol de mesagerie de publicare / abonare, extrem de simplu și ușor, conceput pentru dispozitive restricționate și rețele cu lățime de bandă redusă, latență ridicată sau nesigure. Principiile de proiectare sunt de a minimiza lățimea de bandă a rețelei și cerințele de resurse ale dispozitivului, încercând totodată să asigure fiabilitatea și un anumit grad de asigurare a livrării. Aceste principii se dovedesc a face, de asemenea, protocolul ideal al lumii emergente „de la mașină la mașină” (M2M) sau „Internetul obiectelor” al dispozitivelor conectate și pentru aplicațiile mobile în care lățimea de bandă și puterea bateriei sunt la un nivel superior.

Sursa:

MQTT [1] (MQ Telemetry Transport sau Message Queuing Telemetry Transport) este un standard ISO (ISO / IEC PRF 20922) [2] protocol de mesagerie bazat pe publicare-abonare. Funcționează deasupra protocolului TCP / IP. Este proiectat pentru conexiuni cu locații la distanță în care este necesară o „amprentă de cod mică” sau lățimea de bandă a rețelei este limitată.

Sursa:

Pasul 4: MQTT: Configurarea contului de broker MQTT

Există diverse conturi de broker MQTT, pentru acest tutorial am folosit cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT sunt servere Mosquitto gestionate în cloud. Mosquitto implementează protocolul MQ Telemetry Transport, MQTT, care oferă metode ușoare de a efectua mesaje utilizând un model de publicare / abonare a modelului de așteptare a mesajelor.

Următorii pași trebuie să fie efectuați pentru configurarea contului cloudmqtt ca broker

  • Creați un cont și conectați-vă la panoul de control
  • apăsați Creați + pentru a crea o nouă instanță
  • Pentru a începe, trebuie să ne înscriem pentru un plan pentru clienți, putem încerca gratuit CloudMQTT cu planul CuteCat.
  • După crearea „instanței”, următorul pas este crearea utilizatorului și atribuirea ulterioară a permisiunii utilizatorului pentru accesarea mesajelor (prin regulile ACL)

Ghidul complet pentru configurarea contului de broker MQTT în cloudmqtt poate fi accesat urmând linkul: -

Toți pașii de mai sus sunt introduși unul câte unul în următoarele diapozitive

Pasul 5: MQTT: Crearea unei instanțe

MQTT: Crearea unei instanțe
MQTT: Crearea unei instanțe

Am creat o instanță cu numele „myIOT”

plan: Plan drăguț

Pasul 6: MQTT: informații despre instanță

MQTT: informații despre instanță
MQTT: informații despre instanță

Instanța este asigurată imediat după înscriere și puteți vizualiza detaliile instanței, cum ar fi informații despre conexiune, la pagina cu detalii. De asemenea, puteți accesa interfața de gestionare de acolo. Uneori trebuie să utilizați o adresă URL de specificare

Pasul 7: MQTT: Adăugarea utilizatorului

MQTT: Adăugarea utilizatorului
MQTT: Adăugarea utilizatorului

Creați un utilizator cu numele „nodemcu_12” și dați o parolă

Pasul 8: MQTT: Atribuirea regulii ACL

MQTT: Atribuirea regulii ACL
MQTT: Atribuirea regulii ACL

După crearea unui nou utilizator (nodemcu_12) salvați-l pe noul utilizator, acum va fi furnizat ACL suplimentar noului utilizator. În imaginea atașată, se poate observa că am oferit utilizatorului acces atât la citire, cât și la scriere.

Vă rugăm să rețineți: Subiectul trebuie adăugat așa cum se arată în format (acest lucru este necesar și pentru citirea și scrierea de la nod către clientul MQTT)

Pasul 9: Nodemcu: Configurarea

În acest proiect, am folosit nodemcu de la Knewron Technologies, mai multe informații pot fi obținute urmând linkul: - (https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

Se poate vedea că, NodeMCU este un firmware bazat pe eLua pentru ESP8266 WiFi SOC de la Espressif. Nodemcu de la knowron este preîncărcat cu firmware, deci trebuie să încărcăm doar aplicația software și anume: -

  • init.lua
  • setup.lua
  • config.lua
  • app.lua

Toate scripturile lua de mai sus pot fi descărcate de pe Github urmând linkul: Descărcare de pe Github

Din scripturile lua de mai sus, modificați scripturile config.lua cu numele gazdei MQTT, parola, ssid wifi etc.

Pentru a descărca scripturile de mai sus pentru nodemcu, trebuie să folosim unelte precum „ESPlorer”, consultați documente pentru mai multe informații:

Lucrul cu ESPlorer este descris în pasul următor

Pasul 10: Nodemcu: Încărcarea scripturilor Lua pe Nodemcu cu ESPlorer_1

Nodemcu: Încărcarea scripturilor Lua pe Nodemcu cu ESPlorer_1
Nodemcu: Încărcarea scripturilor Lua pe Nodemcu cu ESPlorer_1
  • Faceți clic pe butonul Reîmprospătare
  • Selectați portul COM (comunicare) și rata de transmisie (9600 utilizate în mod obișnuit)
  • Faceți clic pe Deschidere

Pasul 11: Nodemcu: Încărcarea scripturilor Lua pe Nodemcu cu ESPlorer_II

Nodemcu: Încărcarea scripturilor Lua pe Nodemcu cu ESPlorer_II
Nodemcu: Încărcarea scripturilor Lua pe Nodemcu cu ESPlorer_II

Pasul 12: Nodemcu: Încărcarea scripturilor Lua pe Nodemcu cu ESPlorer_III

Nodemcu: Încărcarea scripturilor Lua pe Nodemcu cu ESPlorer_III
Nodemcu: Încărcarea scripturilor Lua pe Nodemcu cu ESPlorer_III

Butonul Salvare și compilare ar trimite toate cele patru scripturi lua către nodemcu, după ce acest nodemcu este gata să vorbească cu arduino-ul nostru.

Adunarea informațiilor despre ID-ul CHIP:

Fiecare nodemcu are un chip id (probabil unele nu.), Acest chip id este necesar pentru a publica mesajul către brokerul MQTT, pentru a afla despre ID-ul chipului, faceți clic pe butonul Chip id din „ESPlorer”

Pasul 13: Nodemcu: Configurarea Arduino pentru a vorbi cu Nodemcu

Codul menționat mai jos determină umiditatea, temperatura și umiditatea solului și afișează în continuare datele pe Nokia LCD 5110 și în serie.

Cod Arduino

Decât conectați Arduino RX --- Nodemcu TX

Arduino TX --- Nodemcu RX

Codul de mai sus include și modalități de a utiliza biblioteca softserial, prin care pinii DO pot fi folosiți și pentru a funcționa ca pinii seriali, am folosit pinii RX / TX pentru a vă conecta la portul serial nodemcu.

Atenție: Deoarece nodemcu funcționează cu 3.3V, se recomandă să folosiți schimbătorul de nivel, totuși m-am conectat direct fără niciun schimbător de nivel, iar performanța pare potrivită pentru aplicațiile de mai sus.

Pasul 14: Nodemcu: Configurarea clientului MQTT în Android

Nodemcu: Configurarea clientului MQTT în Android
Nodemcu: Configurarea clientului MQTT în Android

Pasul final pentru vizualizarea informațiilor pe mobil cu clientul Android: -

Există o varietate de aplicații Android MQTT, am folosit-o pe cea de pe Google Play cu următorul link:

.https://play.google.com/store/apps/details?

Configurarea aplicației Android este destul de simplă și trebuie să configurați următoarele

  • Adresa gazdă MQTT împreună cu portul nr
  • Numele și adresa utilizatorului MQTT
  • Adresa nodului brokerului MQTT

După adăugarea detaliilor de mai sus, conectați aplicația, dacă aplicația este conectată la brokerul MQTT, atunci toate datele intrărilor de stare / comunicare serială de la arduino apar ca jurnal.

Pasul 15: Pași suplimentari: Lucrul cu Nokia LCD 5110

Pași suplimentari: Lucrul cu Nokia LCD 5110
Pași suplimentari: Lucrul cu Nokia LCD 5110

Următoarele sunt configurația pin pentru LCD 5110

1) RST - Resetare

2) CE - Chip Enable

3) D / C - Selectarea datelor / comenzilor

4) DIN - Intrare serială

5) CLK - Intrare ceas

6) VCC - 3,3V

7) LIGHT - Controlul luminii de fundal

8) GND - sol

După cum se arată mai sus, conectați arduino la LCD 5110 în ordinea de mai sus, cu rezistență de 1-10 K între ele.

Următoarele sunt conexiunile pin-pin pentru LCD 5110 la Arduino uno

  • CLK - Pinul 3 Arduino Digital
  • DIN - Pinul digital Arduino 4
  • D / C - Pinul Arduino Digital 5
  • RST - Pinul digital Arduino 6
  • CE - Pinul Arduino Digital 7

Pinul "BL" suplimentar al LCD 5110 poate fi utilizat împreună cu potentimetrul (0-100K) pentru a controla luminozitatea ecranului LCD

Biblioteca utilizată pentru codul de mai sus este: - Descărcați PCD8544 de pe linkul menționat mai jos

Integrarea DHT11, a senzorului de temperatură și umiditate cu arduino poate fi examinată de la următorul link DHT11.

Pasul 16: Asamblarea finală

Adunarea finală
Adunarea finală

Ultimul pas este să asamblați toate cele de mai sus într-o cutie, de preferință, pentru aprovizionare, am folosit powerbank de 10000 mAh pentru a alimenta atât Arduino, cât și Nodemcu.

Putem folosi, de asemenea, încărcător pentru priză de lungă durată, dacă doriți.

Recomandat: