Turinys:

Kaip naudoti MQTT su Raspberry Pi ir ESP8266/sonoff: 4 žingsniai
Kaip naudoti MQTT su Raspberry Pi ir ESP8266/sonoff: 4 žingsniai

Video: Kaip naudoti MQTT su Raspberry Pi ir ESP8266/sonoff: 4 žingsniai

Video: Kaip naudoti MQTT su Raspberry Pi ir ESP8266/sonoff: 4 žingsniai
Video: Умный выключатель в круглый подрозетник с радио повторителем, легкая и быстрая установка 2024, Liepa
Anonim
Kaip naudoti MQTT su Raspberry Pi ir ESP8266/sonoff
Kaip naudoti MQTT su Raspberry Pi ir ESP8266/sonoff

Sveiki visi!

Šiandien aš jums parodysiu, kaip sukonfigūruoti „Raspberry pi“ir „ESP8266“pagrįstą „Sonoff“„Wi -Fi“relės jungiklį, kad galėtumėte valdyti savo buitinius prietaisus iš bet kurios pasaulio vietos.

Pasibaigus šiam nurodymui, jei atidžiai vykdysite mano nurodymus, galėsite valdyti bet kurį savo buitinį prietaisą iš „Raspberry Pi“terminalo arba naudodami „python“apvalkalą.

Taigi pasiruoškite sukurti savo „MQTT“ir „Rpi“pagrįstą „Sonoff Wifi“įrenginio valdiklį!

Prieš pradėdamas šią pamoką, norėčiau paminėti keletą labai svarbių dalykų,

  1. „Sonoff“„Wi -Fi“relės jungiklis turi savo valdymo programinę -aparatinę įrangą. kai ją perprogramuosite, originali programinė įranga bus ištrinta visam laikui. Taigi įsitikinkite tuo.
  2. „Sonoff“„Wi -Fi“relės jungiklis yra tiesiogiai maitinamas per 230 V kintamosios srovės įtampą, taigi, jei nesate ekspertas, dirbantis su tokia aukšta įtampa, kreipkitės į savo tėvus ar ekspertą.
  3. „Sonoff“„Wi-Fi“relės jungiklis yra tiesiog pagrįstas „esp8266-01“„Wi-Fi“mikroschemų rinkiniu, kuris yra 3,3 V lustas, jei netyčia pritaikysite 5 V + +kaištį, tai tikrai sugadinsite.
  4. Čia, kad tai būtų pamokoma, aš maniau, kad jūsų aviečių pi sąranka ir „Wi-Fi“yra įjungti su IP adresu, kad galėtumėte paleisti uodų ir MQTT komandas terminale

** Jei esate pasirengęs atlikti visus aukščiau išvardintus 4 veiksmus, jums gerai eiti !!

1 žingsnis: Įvadas + reikmenys

Įvadas + reikmenys
Įvadas + reikmenys
Įvadas + reikmenys
Įvadas + reikmenys

Sveiki bičiuliai! šiandien mes sukursime labai įdomų projektą. Šiame projekte mes valdysime savo namų įrenginius, tokius kaip kintamosios srovės lempa, naudodami MQTT brokerį.

Pastaba: tai yra IOT projektas, todėl galite valdyti savo kintamosios srovės įrenginį iš bet kurios pasaulio vietos

MQTT („Massage Que Telemetry Transport“) yra paprastas naudingų krovinių perkėlimo protokolas, naudojamas žiniatinklio projektuose. „Facebook Messenger“taip pat naudoja MQTT protokolą. Užteks įvado, pradėkime nuo projekto.

Ko mums reikia šiam projektui?

1) Aktyvus „Wifi“(pageidautina maršrutizatorius) ryšys

2) „Raspberry Pi3“modelis, kuriame įjungtas „wifi“.

3) „Sonoff Wifi IOT“jungiklis su 10A 220V

4) Kai kurie jungiamieji laidai

5) jungiamieji kabeliai

6) CP2102 USB į TTL keitiklis

  • Pastaba: šiam projektui turi būti nustatyta visa „Raspberry pi“sąranka naudojant monitoriaus klaviatūros jungtį arba nešiojamojo kompiuterio režimu be galvos (VNC ryšys)
  • jei „Raspberry pi“nėra sukonfigūruotas naudojant monitoriaus ar begalių režimą, turite sekti kitą mano vadovėlį, kaip prijungti „Raspberry pi“režimu be galvos.

2 žingsnis: Raspberry Pi nustatymas

„Raspberry Pi“nustatymas
„Raspberry Pi“nustatymas

Šiame žingsnyje mes nustatysime savo aviečių pi projektą.

šioje pamokoje mes naudojame „sonoff ESP8266“kaip klientą, o „aviečių pi“- kaip uodų tarpininkas.

  1. atidarykite savo aviečių pi terminalą ir įveskite

    1. sudo apt-get atnaujinimas
    2. sudo apt-get upgrade Kai jūsų „Raspberry Pi“bus atnaujinta su naujausia programine įranga, galėsite pradėti bet kokį „pi“projektą
  2. Dabar įveskite šias komandas, kad įdiegtumėte „Mosquitto“

    1. wget
    2. sudo apt-key pridėti mosquitto-repo.gpg.key
    3. cd /etc/apt/sources.list.d/
    4. sudo wget
    5. sudo -i
    6. apt-get atnaujinimas
    7. apt-get install mosquitto
    8. apt-get install mosquitto-customers
  3. Sėkmingai įvykdę visas aukščiau pateiktas instrukcijas, paruošite mašiną su uodų brokeriu ir esate pasiruošę kitam žingsniui.
  4. Dar kartą savo terminale įveskite šias komandas:
    1. sudo pip įdiegti paho-mqtt
    2. sudo pip3 įdiegti paho-mqtt
  5. Dabar norėdami patikrinti, ar jūsų „Mosquitto“klientas sėkmingai įdiegtas, ar neatidaromas „python2“arba „python3“apvalkalas ir įveskite šią komandą

    1. importuoti paho.mqtt.client
    2. tai neturėtų nieko grąžinti. jei grąžina eilutę ar klaidą, dar kartą patikrinkite aukščiau nurodytus veiksmus ir dar kartą atidžiai atlikite veiksmus.
  6. Dabar jūsų „Raspberry Pi“dalis beveik baigta, ir dabar galite eiti į „Sonoff“ir „Arduino“dalis

3 veiksmas: „Sonoff Esp8266“įrenginio nustatymas MQTT

„Sonoff Esp8266“įrenginio nustatymas MQTT
„Sonoff Esp8266“įrenginio nustatymas MQTT
„Sonoff Esp8266“įrenginio nustatymas MQTT
„Sonoff Esp8266“įrenginio nustatymas MQTT
„Sonoff Esp8266“įrenginio nustatymas MQTT
„Sonoff Esp8266“įrenginio nustatymas MQTT

Dabar šiame žingsnyje mes nustatysime savo kliento įrenginį, kuris yra „Sonoff“.

„sonoff“yra „Wi-Fi“namų automatizavimo įrenginys, kuriame yra iš anksto įdiegta programinė įranga, skirta „Wi-Fi“pagrindu veikiančiai namų automatikai ir „Android/ios“programai valdyti prietaisus per „Wi-Fi“.

Dabar čia yra paprastas įsilaužimas, kad jį perprogramuotume taip, kaip norime. kartą perprogramavę naudodami „Arduino ide“, prarasite originalią programinę -aparatinę įrangą, iš anksto įdiegtą „sonoff“.

  1. pirmiausia atidžiai atidarykite savo „sonoff“įrenginį ir atkreipkite dėmesį į paveikslėlyje parodytus kištukus PAVOJUS: „sonoff“įrenginys veikia su 220 V tiesiogine kintamąja srove, prieš atidarant ar programuojant, turite jį išjungti.
  2. Dabar žiūrėkite žemiau esantį paveikslėlį, kuriame yra jo kontaktas, PCB apačioje yra esp8266 lustas, kuris jums atrodo panašus į jūsų esp8266-01 modulį.
  3. Dabar atidarykite „Arduino IDE“ir pridėkite reikiamas „Zip“bibliotekas. PUBSUB_kliento biblioteka
  4. Be to, prie „Arduino ide“turite pridėti lentą esp8266. jei dar nepridėta, atlikite nurodytus veiksmus

    1. Atidarykite „Arduino IDE“ir spustelėkite „Failas -> Nuostatos“.
    2. "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
    3. Skiltyje „Papildomų lentų tvarkytuvės URL“pridėkite šią nuorodą aukščiau ir spustelėkite „Gerai“
    4. Eikite į „Įrankiai -> Lenta -> Lentų tvarkyklė“, įveskite „ESP8266“ir įdiekite ją.
    5. Vėl eikite į „Įrankiai -> Lenta“ir pasirinkite „Bendrasis ESP8266 modulis“.
    6. Dabar sėkmingai pridėjote plokštę prie „Arduino IDE“.
  5. Dabar jūs turite lituoti vieną jungtį prie sonoff įrenginio, kaip parodyta paveikslėlyje.
  6. Dabar perjunkite USB prie TTL CP2102 arba FTDI plokštės ir prijunkite šį ryšį, kaip parodyta aukščiau.

    1. FTDI RX į Sonoff TX
    2. FTDI TX į Sonoff RX
    3. GND nuo FTDI iki GND of Sonoff
    4. Nuo 3.3V FTDI iki 3.3V Sonoff
  7. PASTABA: Įsitikinkite, kad „Sonoff“plokštė nėra tiekiama 5 V įtampa. jis suderinamas su 3,3 V, jei prijungsite 5 V prie maitinimo kištuko, galite sudeginti savo „sonoff“įrenginį. todėl geriau naudoti tik 3.3V FTDI plokštės tiekimą.
  8. dabar užmegzkite ryšį, kaip parodyta paveikslėlyje.
  9. Vienas iš jūsų yra atliktas aukščiau nurodytais veiksmais. prijunkite savo FTDI/USB prie TTL plokštės prie nešiojamojo kompiuterio/kompiuterio ir atidarykite „Arduino IDE“.
  10. Nukopijuokite kodą.

11. Dabar įrankių meniu pasirinkite tinkamą COM prievadą ir pasirinkite įrenginį kaip bendrąjį ESP8266 įrenginį. Dabar paspauskite įkėlimo mygtuką. Įkelti kodą į „sonoff“įrenginio esp8266 lustą užtruks maždaug minutę ar mažiau.

12. Dabar esate pasiruošę programuoti „sonoff“ir „Arduino“. ir dabar jūs turėtumėte matyti, kad šviesos diodas ant „sonoff“lentos mirksi // kaip rašėme 5 kartus mirksi pradžioje.

13. Jums gerai pereiti prie kito žingsnio.

4 žingsnis: valdykite savo „Sonoff“iš interneto

Valdykite savo „Sonoff“iš interneto
Valdykite savo „Sonoff“iš interneto

Dabar tai yra paskutinis mūsų projekto žingsnis.

  1. Dabar atidarykite savo Raspberry pi VNC nuotolinio darbalaukio ryšį, įvesdami savo Pi adresą
  2. Dabar atidarykite terminalą ir pradėkite vesti šias komandas
  3. čia yra tema, o „0“yra naudingoji apkrova
  4. pakeiskite komandoje esantį IP adresą naudodami savo Rpi IP adresą
  5. Vietoj „0“parašykite „1“, kuris įjungs jūsų relę „sonoff“„Wi -Fi“jungiklyje.

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

Aukščiau pateikta instrukcija išjungs jūsų relę.

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

Ši instrukcija įjungs jūsų relę.

Dabar baigsite valdyti savo sūnų iš Rpi terminalo.

galite patikrinti prijungę „sonoff“„Wi -Fi“jungiklį prie kito „Wi -Fi“tinklo ir „Raspberry pi“prie kito „Wi -Fi“ryšio. Turėtumėte sugebėti valdyti relę iš bet kurios pasaulio vietos.

Dabar dar labiau norite automatiškai išbandyti savo įjungimo/išjungimo funkciją, parašiau nedidelį „Python“scenarijų

kuris pirmiausia siunčia „1“, o po 6 sekundžių siunčia „0“ir šis procesas kartojasi ciklu.

importuoti paho.mqtt.publish kaip paskelbti importo laiką

Nors tiesa:

print ("Siunčiamas 1 …") publis.single ("ledStatus", "1", hostname = "Jūsų brokerio IP") time.sleep (6) print ("Siunčiamas 0 …") publis.single ("ledStatus", "0", hostname = "Jūsų tarpininko IP") time.sleep (3)

Aukščiau pateiktas kodas tiesiog įjungia ir išjungia „Sonoff“„Wi -Fi“relės jungiklio relę.

nepamirškite pakeisti savo RaspberryPi IP adreso aukščiau esančiame python kode. Dabar paleiskite šį scenarijų spustelėdami parinktį Vykdyti modulį ir turėtumėte pamatyti apvalkale

siunčia "1"..

siunčia "0"..

siunčia „1“.. kažką panašaus.

Tai šiam „Instructable“. susitiksim kitą kartą su nauju.

Ate!!!!

ir nepamirškite sekti ir pasidalyti šia pamoka ir išbandyti ją patys!

bet koks abejonių pranešimas komentarų skiltyje yra laukiamas!

Rekomenduojamas: