Sommario:

CONTROLLA IL TUO GIARDINO: 16 passaggi (con immagini)
CONTROLLA IL TUO GIARDINO: 16 passaggi (con immagini)

Video: CONTROLLA IL TUO GIARDINO: 16 passaggi (con immagini)

Video: CONTROLLA IL TUO GIARDINO: 16 passaggi (con immagini)
Video: 15 Idee Floreali che Risveglieranno il Giardiniere che è in Te 2024, Luglio
Anonim
CONTROLLA IL TUO GIARDINO
CONTROLLA IL TUO GIARDINO

Monitora il tuo giardino da qualsiasi luogo, usa il display locale per monitorare le condizioni del suolo localmente o usa Mobile per monitorare da remoto. Il circuito utilizza un sensore di umidità del suolo, abbinato a temperatura e umidità per informare sulle condizioni ambientali del suolo.

Passaggio 1: componenti:

  1. Arduino uno
  2. Nodemcu
  3. Sensore di temperatura e umidità DHT 11
  4. Sensore di umidità del suolo - FC28
  5. Banco batterie da 10000 mAh (per l'alimentazione di arduino e nodemcu)
  6. LCD 5110. Nokia
  7. Resistore (5 x 10 k, 1 x 330 ohm)
  8. Potenziometro Tipo rotante (per regolare la luminosità LCD) 0-100K
  9. Ponticelli
  10. tagliere

Fase 2: SENSORE DI BASE: Umidità del suolo FC 28

SENSORE DI BASE: Umidità del suolo FC 28
SENSORE DI BASE: Umidità del suolo FC 28

Per misurare l'umidità, utilizziamo il sensore di umidità del suolo FC 28, il cui principio di base è il seguente: -

Le specifiche del sensore di umidità del suolo FC-28 sono le seguenti: Tensione di ingresso: 3,3 – 5 V

Tensione di uscita: 0 – 4.2V

Corrente di ingresso: 35 mA

Segnale di uscita: sia analogico che digitale

Il sensore di umidità del suolo FC-28 ha quattro pin: VCC: Power

A0: Uscita analogica

D0: uscita digitale

GND: Terra

Modalità analogicaPer collegare il sensore in modalità analogica, sarà necessario utilizzare l'uscita analogica del sensore. Quando si prende l'uscita analogica dal sensore di umidità del suolo FC-28, il sensore ci fornisce un valore da 0 a 1023. L'umidità viene misurata in percentuale, quindi mapperemo questi valori da 0 a 100 e poi mostreremo questi valori su il monitor seriale È possibile impostare diversi intervalli dei valori di umidità e accendere o spegnere la pompa dell'acqua in base ad esso.

Il Modulo contiene anche un potenziometro che imposterà il valore di soglia. Questo valore di soglia sarà confrontato dal comparatore LM393. Il LED di uscita si accenderà e si abbasserà in base a questo valore di soglia.

Il codice per l'interfacciamento con il sensore di umidità del suolo viene ripreso in ulteriori passaggi

Passaggio 3: comprensione di MQTT: per la pubblicazione remota dei dati

Comprensione di MQTT: per la pubblicazione remota dei dati
Comprensione di MQTT: per la pubblicazione remota dei dati

Prima di iniziare ulteriormente, esaminiamo prima la pubblicazione dei dati remota per IOT

MQTT sta per MQ Telemetry Transport. È un protocollo di messaggistica di pubblicazione/sottoscrizione, estremamente semplice e leggero, progettato per dispositivi vincolati e reti a bassa larghezza di banda, alta latenza o inaffidabili. I principi di progettazione consistono nel ridurre al minimo la larghezza di banda della rete e i requisiti delle risorse del dispositivo, cercando anche di garantire l'affidabilità e un certo grado di garanzia di consegna. Questi principi si rivelano anche per rendere il protocollo ideale per l'emergente mondo "machine-to-machine" (M2M) o "Internet of Things" dei dispositivi connessi e per le applicazioni mobili in cui la larghezza di banda e la potenza della batteria sono un vantaggio.

Fonte:

MQTT[1] (MQ Telemetry Transport o Message Queuing Telemetry Transport) è uno standard ISO (ISO/IEC PRF 20922)[2] protocollo di messaggistica basato su pubblicazione-sottoscrizione. Funziona con il protocollo TCP/IP. È progettato per connessioni con postazioni remote in cui è richiesta una "impronta di codice ridotta" o la larghezza di banda della rete è limitata.

Fonte:

Passaggio 4: MQTT: configurazione dell'account broker MQTT

Esistono vari account broker MQTT, per questo tutorial ho usato cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT sono server Mosquitto gestiti nel cloud. Mosquitto implementa il protocollo MQ Telemetry Transport, MQTT, che fornisce metodi leggeri per eseguire la messaggistica utilizzando un modello di accodamento dei messaggi di pubblicazione/sottoscrizione.

È necessario eseguire i seguenti passaggi per configurare l'account cloudmqtt come broker

  • Crea un account e accedi al pannello di controllo
  • premi Crea+ per creare una nuova istanza
  • Per iniziare dobbiamo iscriverci a un piano cliente, possiamo provare CloudMQTT gratuitamente con il piano CuteCat.
  • Dopo aver creato "istanza", il passaggio successivo consiste nel creare l'utente e assegnare ulteriormente l'autorizzazione all'utente per l'accesso ai messaggi (tramite le regole ACL)

La guida completa per configurare l'account broker MQTT in cloudmqtt è accessibile seguendo il link: -

Tutti i passaggi precedenti vengono inseriti uno per uno nelle diapositive seguenti

Passaggio 5: MQTT: creazione di un'istanza

MQTT: creazione di un'istanza
MQTT: creazione di un'istanza

Ho creato un'istanza con il nome "myIOT"

piano: piano carino

Passaggio 6: MQTT: informazioni sull'istanza

MQTT: informazioni sull'istanza
MQTT: informazioni sull'istanza

L'istanza viene fornita immediatamente dopo la registrazione ed è possibile visualizzare i dettagli dell'istanza, come le informazioni sulla connessione, nella pagina dei dettagli. Da lì puoi anche raggiungere l'interfaccia di gestione. A volte è necessario utilizzare un URL di connessione specifica

Passaggio 7: MQTT: aggiunta dell'utente

MQTT: aggiunta utente
MQTT: aggiunta utente

Crea un utente con il nome "nodemcu_12" e fornisci una password

Passaggio 8: MQTT: assegnazione della regola ACL

MQTT: assegnazione della regola ACL
MQTT: assegnazione della regola ACL

Dopo la creazione del nuovo utente (nodemcu_12), salvare il nuovo utente, ora deve essere fornito un ulteriore ACL al nuovo utente. Nella foto allegata, si può vedere che ho fornito sia l'accesso in lettura che in scrittura all'utente.

Nota: l'argomento deve essere aggiunto come mostrato nel formato (questo è ulteriormente richiesto per leggere e scrivere dal nodo al client MQTT)

Passaggio 9: Nodemcu: configurazione

In questo particolare progetto, ho usato nodemcu di Knewron Technologies, maggiori informazioni possono essere ottenute seguendo il link: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guida.pdf?dl=0)

Si può notare che NodeMCU è un firmware basato su eLua per il SOC WiFi ESP8266 di Espressif. Nodemcu di Knowron è precaricato con il firmware, quindi dobbiamo solo caricare il software dell'app e cioè: -

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

Tutti gli script lua di cui sopra possono essere scaricati da Github seguendo il link: Scarica da Github

Dagli script lua sopra, modificare gli script config.lua con nome host MQTT, password, ssid wifi ecc.

Per scaricare gli script di cui sopra su nodemcu, dobbiamo utilizzare strumenti come "ESPlorer", fare riferimento ai documenti per ulteriori informazioni:

Il lavoro con ESPlorer è descritto nel passaggio successivo

Passaggio 10: Nodemcu: caricamento degli script Lua su Nodemcu con ESPlorer_1

Nodemcu: caricamento di script Lua su Nodemcu con ESPlorer_1
Nodemcu: caricamento di script Lua su Nodemcu con ESPlorer_1
  • Fare clic sul pulsante Aggiorna
  • Seleziona la porta COM (comunicazione) e il baud rate (usato comunemente 9600)
  • Fare clic su Apri

Passaggio 11: Nodemcu: caricamento degli script Lua su Nodemcu con ESPlorer_II

Nodemcu: caricamento di script Lua su Nodemcu con ESPlorer_II
Nodemcu: caricamento di script Lua su Nodemcu con ESPlorer_II

Passaggio 12: Nodemcu: caricamento degli script Lua su Nodemcu con ESPlorer_III

Nodemcu: caricamento di script Lua su Nodemcu con ESPlorer_III
Nodemcu: caricamento di script Lua su Nodemcu con ESPlorer_III

Il pulsante Salva e compila invierebbe tutti e quattro gli script lua a nodemcu, dopo che questo nodemcu è pronto per parlare con il nostro arduino.

Raccolta delle informazioni sull'ID CHIP:

Ogni nodemcu ha un ID chip (probabilmente un numero), questo ID chip è inoltre necessario per pubblicare il messaggio sul broker MQTT, per conoscere l'ID del chip fare clic sul pulsante ID chip in "ESPlorer"

Passaggio 13: Nodemcu: configurazione di Arduino per parlare con Nodemcu

Il codice indicato di seguito determina l'umidità del suolo, la temperatura e l'umidità e visualizza ulteriormente i dati su Nokia LCD 5110 e in serie.

Codice Arduino

Quindi collegare Arduino RX ---Nodemcu TX

Arduino TX ---Nodemcu RX

Il codice sopra include anche i modi per utilizzare la libreria softserial, con la quale i pin DO possono anche essere usati per funzionare come pin seriali, ho usato i pin RX/TX per collegarmi alla porta seriale di nodemcu.

Attenzione: poiché nodemcu funziona con 3,3 V, si consiglia di utilizzare il cambio di livello, tuttavia mi sono collegato direttamente senza alcun cambio di livello e le prestazioni sembrano giuste per l'applicazione di cui sopra.

Passaggio 14: Nodemcu: configurazione del client MQTT in Android

Nodemcu: configurazione del client MQTT in Android
Nodemcu: configurazione del client MQTT in Android

Il passaggio finale per visualizzare le informazioni sul cellulare con il client Android: -

Ci sono una varietà di applicazioni Android MQTT, ho usato quella di Google Play con il seguente link:

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

La configurazione per l'app Android è abbastanza semplice e si deve configurare quanto segue

  • Indirizzo host MQTT insieme al numero di porta
  • Nome utente e indirizzo MQTT
  • Indirizzo del nodo del broker MQTT

Dopo aver aggiunto i dettagli sopra, connettere l'applicazione, se l'applicazione è connessa al broker MQTT, tutti i dati di stato degli ingressi/comunicazione seriale da arduino vengono visualizzati come log.

Passaggio 15: passaggi aggiuntivi: lavorare con Nokia LCD 5110

Passaggi aggiuntivi: lavorare con Nokia LCD 5110
Passaggi aggiuntivi: lavorare con Nokia LCD 5110

Di seguito sono riportate le configurazioni dei pin per LCD 5110

1) RST – Reimposta

2) CE – Abilitazione chip

3) D/C – Selezione dati/comando

4) DIN – Ingresso seriale

5) CLK – Ingresso orologio

6) VCC – 3.3V

7) LUCE – Controllo della retroilluminazione

8) GND – Terra

Come mostrato sopra, collega arduino a LCD 5110 nell'ordine sopra con una resistenza da 1-10 K in mezzo.

Di seguito sono riportate le connessioni pin to pin per LCD 5110 su Arduino uno

  • CLK - Arduino Digital pin 3
  • DIN - Arduino Pin digitale 4
  • D/C - Arduino Digitale pin 5
  • RST - Arduino Digital pin 6
  • CE - Arduino Digitale pin 7

È possibile utilizzare un ulteriore pin "BL" dell'LCD 5110 insieme al potenziometro (0-100K) per controllare la luminosità dell'LCD

La libreria utilizzata per il codice sopra è: - Scarica il PCD8544 dal link sotto indicato

L'integrazione di DHT11, sensore di temperatura e umidità con arduino può essere esaminata dal seguente link DHT11.

Passaggio 16: l'assemblaggio finale

L'assemblaggio finale
L'assemblaggio finale

L'ultimo passo è assemblare tutto quanto sopra in una scatola preferibilmente, per l'alimentazione ho usato un powerbank da 10000 mAh per alimentare sia Arduino che Nodemcu.

Possiamo anche utilizzare il caricatore della presa a muro per una lunga durata, se lo desideri.

Consigliato: