Cuprins:
- Pasul 1: Introducere + Consumabile
- Pasul 2: Configurarea Raspberry Pi
- Pasul 3: Configurarea dispozitivului Sonoff Esp8266 pentru MQTT
- Pasul 4: Controlați-vă Sonoff de pe web
Video: Cum se folosește MQTT cu Raspberry Pi și ESP8266 / sonoff: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Buna tuturor!
Astăzi vă voi arăta cum să configurați un comutator de releu sonoff bazat pe raspberry pi și ESP8266 pentru a vă controla aparatele electrocasnice de oriunde din lume.
La sfârșitul acestei instrucțiuni, dacă ați urmat cu atenție instrucțiunile mele, veți putea controla oricare dintre aparatele dvs. de uz casnic de la terminalul Raspberry Pi sau utilizând shell-ul Python.
Așadar, pregătiți-vă să vă creați propriul controler de dispozitiv Sonoff Wifi bazat pe MQTT și Rpi!
Înainte de a începe acest instructable, aș dori să menționez câteva lucruri foarte importante,
- Comutatorul de releu sonoff wifi vine cu propriul firmware de control. după ce îl reprogramați, firmware-ul original este șters definitiv. Deci, asigurați-vă de asta.
- Comutatorul de releu sonoff wifi este alimentat direct prin tensiune de 230V AC, deci dacă nu sunteți expertul în manipularea unor astfel de tensiuni ridicate, luați ajutor de la părinți sau de la o persoană expertă.
- Comutatorul de releu sonoff wifi se bazează pur și simplu pe chipset-ul wifi esp8266-01, care este un cip de 3,3V, dacă aplicați accidental 5V pinului său + V îl veți deteriora cu siguranță.
- Aici, pentru acest lucru instructiv, am considerat că aveți setul dvs. de raspberry pi și WiFi activat cu adresa IP pentru a rula comenzile mosquitto și MQTT în Terminal
** Dacă sunteți gata cu toți cei 4 pași de mai sus, sunteți bine să mergeți !!
Pasul 1: Introducere + Consumabile
Buna baieti! astăzi vom construi un proiect foarte interesant. Aici, în acest proiect, vom controla dispozitivele noastre de acasă, cum ar fi lampa de curent alternativ, utilizând brokerul MQTT.
Notă: Acesta este un proiect IOT, prin urmare vă puteți controla dispozitivul de curent alternativ de oriunde din lume
MQTT (Massage Que Telemetry Transport) este un protocol simplu de încărcare utilă utilizat într-o veritate de proiecte Web. Facebook Messenger folosește, de asemenea, protocolul MQTT. suficient de introducere permite să începem cu Project.
De ce avem nevoie pentru acest proiect?
1) Conexiune Wifi activă (de preferință router)
2) Modelul Raspberry Pi3 care are activat wifi.
3) Comutator Sonoff Wifi IOT cu 10A 220V
4) Unele fire de conectare
5) Cabluri jumper
6) Convertor CP2102 USB la TTL
- Notă: pentru acest proiect, trebuie să aveți toate configurările de raspberry pi fie cu conexiunea tastaturii monitorului, fie în modul fără cap cu laptopul (conexiune VNC)
- dacă nu aveți raspberry pi configurat cu modul monitor sau fără cap, trebuie să urmați celălalt tutorial despre cum să conectați raspberry pi în modul fără cap.
Pasul 2: Configurarea Raspberry Pi
În acest pas, vom configura pi de zmeură pentru proiect.
în acest tutorial, folosim sonoff ESP8266 ca client și raspberry pi ca broker mosquitto.
-
deschideți terminalul raspberry pi și tastați
- sudo apt-get update
- sudo apt-get upgrade Odată ce raspberry Pi dvs. este actualizat cu cel mai recent firmware, sunteți bine să mergeți cu orice proiect pe pi
-
Acum tastați următoarele comenzi pentru a instala Mosquitto
- wget
- sudo apt-key adăugați mosquitto-repo.gpg.key
- cd /etc/apt/sources.list.d/
- sudo wget
- sudo -i
- apt-get update
- apt-get install mosquitto
- apt-get install mosquitto-clients
- Odată ce ați urmat cu succes toate instrucțiunile de mai sus, aveți mașina pregătită cu brokerul mosquitto configurat și sunteți gata pentru următorul pas.
- Din nou în terminalul dvs. tastați următoarele comenzi:
-
- sudo pip instala paho-mqtt
- sudo pip3 instalează paho-mqtt
-
Acum, pentru a verifica dacă clientul dvs. mosquitto este instalat cu succes sau nu, deschideți shell-ul python2 sau python3 și tastați următoarea comandă
- import paho.mqtt.client
- acest lucru nu ar trebui să returneze nimic. dacă returnează orice linie sau eroare, verificați din nou pașii de mai sus și urmați din nou pașii cu atenție.
- Acum, partea dvs. Raspberry Pi este aproape terminată și sunteți bine să alegeți partea Sonoff și Arduino acum
Pasul 3: Configurarea dispozitivului Sonoff Esp8266 pentru MQTT
Acum, în acest pas, vom configura dispozitivul nostru client, care este Sonoff.
sonoff este un dispozitiv de automatizare a rețelei Wi-Fi care vine cu firmware preinstalat pentru automatizare de rețea bazată pe Wi-Fi și aplicație Android / iOS pentru a controla aparatele prin intermediul rețelei wifi.
Iată acum un simplu hack pentru a-l reprograma așa cum dorim. odată reprogramat cu Arduino ide, veți pierde firmware-ul original preinstalat pe sonoff.
- mai întâi, deschideți dispozitivul sonoff cu atenție și căutați pinouturile afișate în imagine PERICOL: dispozitivul sonoff funcționează pe CA direct de 220V, trebuie să îl deconectați mai întâi înainte de deschidere sau programare.
- Acum vedeți imaginea de mai jos pentru pinout-ul său, pe partea inferioară a PCB-ului există un cip esp8266 pe care îl găsiți similar cu modulul dvs. esp8266-01.
- Acum deschideți IDE-ul Arduino și adăugați bibliotecile Zip necesare. PUBSUB_client Library
-
De asemenea, trebuie să aveți placa esp8266 adăugată la ideea dvs. Arduino. dacă nu este deja adăugat, urmați pașii
- Deschideți ID-ul Arduino și faceți clic pe „Fișier -> Preferințe”.
- „https://arduino.esp8266.com/stable/package_esp8266com_index.json”
- În „Adresele administratorului de panouri suplimentare” adăugați acest link de mai sus și faceți clic pe „OK”
- Mergeți la „Tools -> Board -> Boards Manager”, tastați „ESP8266” și instalați-l.
- Mergeți din nou la „Instrumente -> Placă” și selectați „Modul ESP8266 generic”.
- Acum ați adăugat cu succes placa la ID-ul dvs. Arduino.
- Acum trebuie să lipiți un conector feminin pe dispozitivul sonoff așa cum se arată într-o imagine.
-
Acum luați placa USB către TTL CP2102 sau FTDI și efectuați următoarea conexiune conform imaginii de mai sus.
- RX de FTDI la TX de Sonoff
- TX de FTDI la RX de Sonoff
- GND din FTDI până la GND din Sonoff
- 3,3V FTDI până la 3,3V Sonoff
- NOTĂ: Asigurați-vă că nu furnizați placa sonoff cu 5V. este compatibil cu 3,3V dacă conectați 5V la pinul său de alimentare, puteți arde dispozitivul sonoff. prin urmare, utilizați mai bine doar sursa de 3.3v a plăcii FTDI.
- acum faceți conexiunea așa cum se arată într-o imagine.
- Unul dintre voi ați terminat cu pașii de mai sus. conectați-vă FTDI / USB la placa TTL la laptop / PC și deschideți Arduino IDE.
- Copiați codul.
11. Acum selectați portul COM adecvat din meniul Instrumente și selectați dispozitivul ca dispozitiv generic ESP8266. Acum apăsați butonul de încărcare. Va dura aproximativ un minut sau mai puțin pentru a încărca codul în cipul esp8266 al dispozitivului sonoff.
12. Acum sunteți pregătiți cu programarea sonoff și Arduino. și acum ar trebui să vedeți ledul de pe placa sonoff clipind // așa cum am scris de 5 ori clipind la început.
13. Ești bine să treci la pasul următor.
Pasul 4: Controlați-vă Sonoff de pe web
Acum, acesta este ultimul pas către proiectul nostru.
- acum deschideți conexiunea desktop VNC la distanță de raspberry pi introducând adresa IP pentru Pi
- acum deschideți terminalul și începeți să tastați următoarele comenzi
- aici condus este subiect și "0" este sarcina utilă
- schimbați adresa IP din comandă cu adresa IP Rpi
- Și în loc de „0” scrieți „1” care va porni releul pe comutatorul sonoff wifi.
mosquitto_pub -h 192.168.0.104 -t led -m "0"
Instrucțiunile de mai sus vă vor opri releul.
mosquitto_pub -h 192.168.0.104 -t led -m "1"
Această instrucțiune va porni releul.
Acum ați terminat cu controlul sonoff-ului dvs. de la terminalul Rpi.
puteți verifica conectând comutatorul wifi sonoff la o altă rețea wifi și raspberry pi la o conexiune wifi diferită. Ar trebui să puteți controla releul de oriunde din lume.
Acum, chiar mai departe, doriți să testați automat ON / OFF pentru sonoff, am scris un mic script Python
care trimite primul „1” și după 6 secunde trimite „0” și acest proces se repetă într-o buclă.
import paho.mqtt.publish ca timp de importare
În timp ce este adevărat:
print ("Trimiterea 1 …") publish.single ("ledStatus", "1", hostname = "IP-ul brokerului tău") time.sleep (6) print ("Trimiterea 0 …") publish.single ("ledStatus", "0", hostname = "IP-ul brokerului tău") time.sleep (3)
Codul de mai sus pur și simplu pornește și oprește releul de pe comutatorul de releu sonoff wifi.
nu uitați să înlocuiți adresa IP a RaspberryPi în codul python de mai sus. acum rulați acest script făcând clic pe opțiunea Rulați modulul și ar trebui să vedeți pe shell
trimiterea „1”..
trimiterea „0”..
trimitând „1”.. așa ceva.
Gata pentru acest instructabil. ne vedem data viitoare cu una nouă.
Pa!!!!
și nu uitați să urmați și să împărtășiți acest instructable și să-l încercați pe cont propriu!
orice îndoieli postate în secțiunea de comentarii sunt binevenite!
Recomandat:
Cum se folosește ESP8266 ca server web: 5 pași
Cum se folosește ESP8266 ca server web: Bună, în prezent folosesc Windows 10, NodeMCU 1.0 și iată lista software-ului pe care l-am folosit și ghidurile de instalare pe care le-am urmat: Arduino IDE Plăci suplimentare pentru esp8266 SpiffLibrary utilizate: Websocket Am folosit NodeMCU ca server pentru servesc un fișier HTML M-am supărat
Cum se folosește motorul pas cu pas ca codificator rotativ și afișaj OLED pentru pași: 6 pași
Cum se folosește motorul pas cu pas ca codificator rotativ și afișaj OLED pentru pași: În acest tutorial vom învăța cum să urmăriți pașii motorului pas cu pas pe afișajul OLED. Urmăriți un videoclip demonstrativ. Creditul pentru tutorialul original este destinat utilizatorului YouTube „sky4fly”
Cum se folosește Wemos ESP-Wroom-02 D1 Mini WiFi Module ESP8266 + 18650 folosind Blynk: 10 pași
Cum se folosește Wemos ESP-Wroom-02 D1 Mini WiFi Module ESP8266 + 18650 utilizând Blynk: Specificație: Compatibil cu integrarea nodemcu 18650 a sistemului de încărcare LED-ul indicator (verde înseamnă roșu complet înseamnă încărcare) poate fi utilizat în timpul încărcării Comutatorului Comutarea sursei de alimentare SMT conectorul poate fi folosit pentru modul de repaus · 1 adăugare
Cum se folosește NMEA-0183 cu Raspberry Pi: 6 pași
Cum se folosește NMEA-0183 cu Raspberry Pi: NMEA-0183 Este un standard electric pentru conectarea GPS-urilor, SONAR-ului, senzorilor, unităților pilot auto etc., pe nave și bărci. Spre deosebire de noul standard NMEA 2000 (bazat pe CAN), NMEA 0183 se bazează pe EIA RS422 (unele sisteme mai vechi și / sau simple folosesc
Cum se folosește placa compatibilă Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE utilizând Blynk: 10 pași
Cum se folosește placa compatibilă Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE folosind placa Blynk: Placă compatibilă Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE Descriere: Placă de dezvoltare WiFi ESP8266 WEMOS D1. WEMOS D1 este o placă de dezvoltare WIFI bazată pe ESP8266 12E. Funcționarea este similară cu cea a NODEMCU, cu excepția faptului că hardware-ul este construit