Sommario:

Come Usare MQTT con Raspberry Pi ed ESP8266/sonoff: 4 Passaggi
Come Usare MQTT con Raspberry Pi ed ESP8266/sonoff: 4 Passaggi

Video: Come Usare MQTT con Raspberry Pi ed ESP8266/sonoff: 4 Passaggi

Video: Come Usare MQTT con Raspberry Pi ed ESP8266/sonoff: 4 Passaggi
Video: Raspberry Pi ⋆ controllare NodeMCU (e viceversa) via MQTT 2024, Luglio
Anonim
Come utilizzare MQTT con Raspberry Pi ed ESP8266/sonoff
Come utilizzare MQTT con Raspberry Pi ed ESP8266/sonoff

Ciao a tutti!

Oggi ti mostrerò come configurare un interruttore sonoff wifi sonoff basato su raspberry pi e ESP8266 per controllare i tuoi elettrodomestici da qualsiasi parte del mondo.

Alla fine di questa istruzione, se hai seguito attentamente le mie istruzioni, sarai in grado di controllare qualsiasi elettrodomestico dal terminale di Raspberry Pi o utilizzando Python Shell.

Quindi preparati a creare il tuo controller Sonoff Wifi Device basato su MQTT e Rpi!

Prima di iniziare questo tutorial vorrei menzionare alcune cose molto importanti,

  1. L'interruttore relè wifi sonoff viene fornito con il proprio firmware di controllo. una volta riprogrammato, il firmware originale viene cancellato in modo permanente. Quindi assicurati di questo.
  2. L'interruttore del relè wifi sonoff è alimentato direttamente da una tensione di 230 V CA, quindi se non sei l'esperto nella gestione di tensioni così elevate, chiedi aiuto ai tuoi genitori o a una persona esperta.
  3. L'interruttore del relè wifi sonoff si basa semplicemente sul chipset wifi esp8266-01 che è un chip da 3,3 V, se si applica accidentalmente 5 V al suo pin + V lo si danneggerà sicuramente.
  4. Qui per questo istruibile, ho considerato che hai il tuo raspberry pi tutto configurato e wifi abilitato con l'indirizzo IP per eseguire i comandi mosquitto e MQTT nel terminale

** Se sei pronto con tutti i 4 passaggi precedenti, sei a posto!!

Passaggio 1: introduzione + materiali di consumo

Introduzione + Rifornimenti
Introduzione + Rifornimenti
Introduzione + Rifornimenti
Introduzione + Rifornimenti

Ciao ragazzi! oggi costruiremo un progetto molto interessante. Qui in questo progetto, controlleremo i nostri dispositivi domestici come la lampada CA utilizzando il broker MQTT.

Nota: questo è un progetto IOT, quindi puoi controllare il tuo dispositivo AC da qualsiasi parte del mondo

MQTT (Massage Que Telemetry Transport) è un protocollo di trasferimento del payload semplice utilizzato in molti progetti Web. Facebook Messenger utilizza anche il protocollo MQTT. abbastanza di introduzione iniziamo con Project.

Di cosa abbiamo bisogno per questo progetto?

1) Connessione Wifi attiva (preferibilmente router)

2) Modello Raspberry Pi3 con Wi-Fi abilitato.

3) Interruttore Sonoff Wifi IOT con 10A 220V

4) Alcuni cavi di collegamento

5) Cavi jumper

6) Convertitore da USB a TTL CP2102

  • Nota: per questo progetto, devi avere raspberry pi tutto configurato con la connessione della tastiera del monitor o in modalità headless con il tuo laptop (connessione VNC)
  • se non hai raspberry pi tutto configurato con la modalità monitor o headless, devi seguire il mio altro tutorial su come collegare raspberry pi in modalità headless.

Passaggio 2: configurazione di Raspberry Pi

Configurazione di Raspberry Pi
Configurazione di Raspberry Pi

In questo passaggio, imposteremo il nostro Raspberry Pi per il Progetto.

in questo tutorial, stiamo usando sonoff ESP8266 come client e raspberry pi come broker mosquitto.

  1. apri il tuo terminale Raspberry Pi e digita
    1. sudo apt-get update
    2. sudo apt-get upgrade Una volta che il tuo Raspberry Pi è aggiornato con l'ultimo firmware sei a posto con qualsiasi progetto sul tuo pi
  2. Ora digita i seguenti comandi per installare Mosquitto

    1. wget
    2. sudo apt-key add mosquitto-repo.gpg.key
    3. cd /etc/apt/sources.list.d/
    4. sudo wget
    5. sudo -i
    6. apt-get update
    7. apt-get install mosquitto
    8. apt-get install mosquitto-clients
  3. Una volta che hai seguito con successo tutte le istruzioni di cui sopra, la tua macchina è pronta con il broker mosquitto configurato e sei pronto per il passaggio successivo.
  4. Di nuovo nel tuo terminale digita i seguenti comandi:
    1. sudo pip install paho-mqtt
    2. sudo pip3 install paho-mqtt
  5. Ora per verificare se il tuo client mosquitto è stato installato correttamente o meno, apri la shell python2 o python3 e digita il seguente comando

    1. import paho.mqtt.client
    2. questo non dovrebbe restituire nulla. se restituisce qualsiasi riga o errore, ricontrolla i passaggi precedenti e segui attentamente i passaggi ancora una volta.
  6. Ora la tua parte Raspberry Pi è quasi pronta e sei a posto per la parte Sonoff e Arduino ora

Passaggio 3: configurazione del dispositivo Sonoff Esp8266 per MQTT

Configurazione del dispositivo Sonoff Esp8266 per MQTT
Configurazione del dispositivo Sonoff Esp8266 per MQTT
Configurazione del dispositivo Sonoff Esp8266 per MQTT
Configurazione del dispositivo Sonoff Esp8266 per MQTT
Configurazione del dispositivo Sonoff Esp8266 per MQTT
Configurazione del dispositivo Sonoff Esp8266 per MQTT

Ora, in questo passaggio, configureremo il nostro dispositivo client che è Sonoff.

sonoff è un dispositivo di automazione domestica Wi-Fi che viene fornito con firmware preinstallato per l'automazione domestica basata su Wi-Fi e un'applicazione Android/ios per controllare gli elettrodomestici tramite Wi-Fi.

Ora ecco un semplice trucco per riprogrammarlo nel modo che vogliamo. una volta riprogrammato con Arduino ide perderai il firmware originale preinstallato su sonoff.

  1. per prima cosa, apri con attenzione il tuo dispositivo sonoff e fai attenzione ai pinout mostrati nell'immagine PERICOLO: il dispositivo sonoff funziona a 220V AC diretto, devi prima scollegarlo prima di aprirlo o programmarlo.
  2. Ora guarda l'immagine qui sotto per il suo pinout, sul lato inferiore del PCB c'è un chip esp8266 che trovi simile al tuo modulo esp8266-01.
  3. Ora apri l'IDE di Arduino e aggiungi le librerie Zip necessarie. Libreria PUBSUB_client
  4. Inoltre, devi aggiungere la scheda esp8266 al tuo ide Arduino. se non è già stato aggiunto segui i passaggi

    1. Apri il tuo IDE Arduino e fai clic su "File -> Preferenze".
    2. "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
    3. In "URL di Gestione schede aggiuntive" aggiungi questo collegamento sopra e fai clic su "OK"
    4. Vai su "Strumenti -> Scheda -> Gestore schede", digita "ESP8266" e installalo.
    5. Vai di nuovo su "Strumenti -> Scheda" e seleziona "Modulo generico ESP8266".
    6. Ora hai aggiunto con successo la scheda al tuo IDE Arduino.
  5. Ora devi saldare un connettore femmina al dispositivo sonoff come mostrato in un'immagine.
  6. Ora prendi la scheda USB a TTL CP2102 o FTDI ed effettua la seguente connessione come nell'immagine mostrata sopra.

    1. RX di FTDI a TX di Sonoff
    2. TX di FTDI a RX di Sonoff
    3. GND di FTDI a GND di Sonoff
    4. Da 3,3 V di FTDI a 3,3 V di Sonoff
  7. NOTA: assicurarsi di non alimentare la scheda sonoff con 5V. è compatibile con 3,3 V se colleghi 5 V al suo pin di alimentazione, potresti bruciare il tuo dispositivo sonoff. quindi è meglio utilizzare solo l'alimentazione a 3,3 V della scheda FTDI.
  8. ora effettua la connessione come mostrato in un'immagine.
  9. Uno hai finito con i passaggi precedenti. collega la tua scheda FTDI/USB a TTL al laptop/PC e apri l'IDE Arduino.
  10. Copia il codice.

11. Ora seleziona la porta COM corretta dal menu Strumenti e seleziona il dispositivo come dispositivo ESP8266 generico. Ora premi il pulsante di caricamento. Ci vorrà circa un minuto o meno per caricare il codice nel chip esp8266 del dispositivo sonoff.

12. Ora sei a posto con la programmazione sonoff e Arduino. e ora dovresti vedere il led sulla scheda sonoff lampeggiare // come abbiamo scritto 5 volte lampeggiante all'inizio.

13. Sei a posto per il passaggio successivo.

Passaggio 4: controlla il tuo Sonoff dal Web

Controlla il tuo Sonoff dal Web
Controlla il tuo Sonoff dal Web

Ora, questo è il passo finale del nostro progetto.

  1. ora apri la tua connessione desktop remoto VNC di raspberry pi inserendo l'indirizzo IP per il tuo Pi
  2. ora apri il terminale e inizia a digitare i seguenti comandi
  3. qui led è argomento e "0" è payload
  4. cambia l'indirizzo IP in comando con il tuo indirizzo IP Rpi
  5. E invece di "0" scrivi "1" che attiverà il tuo relè sull'interruttore wifi sonoff.

mosquitto_pub -h 192.168.0.104 -t led -m "0"

L'istruzione di cui sopra disattiverà il tuo relè.

mosquitto_pub -h 192.168.0.104 -t led -m "1"

Questa istruzione attiverà il tuo relè.

Ora hai finito di controllare il tuo sonoff dal terminale Rpi.

puoi verificare collegando lo switch wifi sonoff a una rete wifi diversa e raspberry pi a una connessione wifi diversa. Dovresti essere in grado di controllare il relè da qualsiasi parte del mondo.

Ora ancora di più vuoi testare automaticamente l'accensione/spegnimento del tuo sonoff, ho scritto un piccolo script python

che invia prima "1" e dopo 6 secondi invia "0" e questo processo si ripete in un ciclo.

import paho.mqtt.publish come publishimport time

Mentre è vero:

print("Invio 1…") publish.single("ledStatus", "1", hostname="Il tuo IP broker") time.sleep(6) print("Invio 0…") publish.single("ledStatus", "0", hostname="Il tuo IP broker") time.sleep(3)

Il codice sopra semplicemente accende e spegne il relè sull'interruttore del relè wifi sonoff.

non dimenticare di sostituire l'indirizzo IP del tuo RaspberryPi nel codice Python sopra. ora esegui questo script facendo clic sull'opzione esegui modulo e dovresti vedere sulla shell

inviando "1"..

inviando "0"..

inviando "1".. qualcosa del genere.

Questo è tutto per questo Instructable. alla prossima volta con uno nuovo.

Ciao!!!!

e non dimenticare di seguire e condividere questo tutorial e provarlo da solo!

qualsiasi dubbio posta nella sezione commenti è il benvenuto!

Consigliato: