Sisukord:

Võimas eraldiseisev koduautomaatikasüsteem - Pi, Sonoff, ESP8266 ja Node -Red: 9 sammu (koos piltidega)
Võimas eraldiseisev koduautomaatikasüsteem - Pi, Sonoff, ESP8266 ja Node -Red: 9 sammu (koos piltidega)

Video: Võimas eraldiseisev koduautomaatikasüsteem - Pi, Sonoff, ESP8266 ja Node -Red: 9 sammu (koos piltidega)

Video: Võimas eraldiseisev koduautomaatikasüsteem - Pi, Sonoff, ESP8266 ja Node -Red: 9 sammu (koos piltidega)
Video: Ingvar Villido Ishwarananda: "Mis on jooga allikas?" 2024, Detsember
Anonim
Võimas eraldiseisev koduautomaatikasüsteem - Pi, Sonoff, ESP8266 ja Node -Red
Võimas eraldiseisev koduautomaatikasüsteem - Pi, Sonoff, ESP8266 ja Node -Red

See juhend peaks viima teid esimesse baasi, kus saate valguse või seadme sisse/välja lülitada mis tahes seadme kaudu, mis saab teie kohaliku võrguga ühenduse luua, ja suurepärase kohandatava veebiliidese abil. Funktsioonide laiendamise/ lisamise ulatus on suur, sealhulgas meilide saatmine, Twitteri sõnumid, andurite lugemine (nt temperatuur). Saate hõlpsasti reegleid seada nt. - kui temperatuur on kell 23.00 alla 15 ° C, lülitage elektritekk 30 minutiks sisse. Süsteem kasutab MQTT protokolli koos TCP -ga, mis on tunduvalt usaldusväärsem kui UDP - seda kasutavad üllatavalt mõned kaubanduslikud koduautomaatika seadmed. Kui siin kirjeldatud raske süsteemi seadistamise töö on tehtud, saab lõbu alata. Node Red pakub fantastilist kasutajaliidest, mis on intuitiivne, kiire ja lihtne seadistada ning pakub hämmastavaid võimalusi.

Tulemuseks on võimas koduautomaatikasüsteem, mis on täielikult teie kontrolli all ja on täielikult kohalikus võrgus. Paljud Instructablesis näidatud süsteemid töötavad pilvepõhiste serveritega ja on seega turvarisk ning võivad nõuda tellimist. Neid on lihtsam seadistada, kuid neil on suurem turvarisk ja potentsiaalselt kõrgemad kulud. Peaksin lisama, et Pi -le saab VPN -i (virtuaalse privaatvõrgu) seadistada, et võimaldada turvaline ühendus koduvõrguga/süsteemiga, kui väljastpoolt juurdepääs oleks kasulik (juhiste saamiseks Google Pi OpenVPN).

See süsteem nõuab Sonoffi seadmete ümberprogrammeerimist suurepärase avatud lähtekoodiga süsteemiga nimega Sonoff-Tasmoda. Seda saab teha spetsiaalse Arduino seadistuse ja USB -seeriamuunduri abil. Sonoffi seadmed kasutavad ESP8266 Wi-Fi kiipi, nii et saate ka ise oma seadmeid ESP8266 moodulite abil valmistada või traadita ühenduse tagamiseks teiste esemete külge sobitada.

Suurim ülesanne on Raspberry Pi seadistamine jaoturiks. See käivitab MQTT maakleri (või serveri), mis haldab ühendatud seadmetega suhtlemist. Pi juhib ka süsteemi nimega Node-Red, mis suudab pealtkuulata sõnumeid ja andmeid ning väljastada käske-näiteks millal elektritekk sisse lülitada. Node-Red pakub ka liidest veebilehe teenindamiseks, kuhu saate sisse logida nutitelefoni/tahvelarvuti/arvuti/sülearvuti kaudu, et näha, mis toimub, ja lubada tulede käsitsi vahetamist jne.

Minu eesmärk selle juhendiga on anda iga samm piisavalt üksikasjalikult, et algaja saaks süsteemi tööle panna.

Sammud on järgmised:

  • Laadige Pi Rasbian Stretchiga
  • Värskendage ja lisage sõlme-punasele funktsioone
  • Paigaldage Mosquitto MQTT maakler
  • Seadistage Arduino keskkond Sonoff-Tasmota püsivara üleslaadimiseks
  • Programmeerige Sonoffi lüliti uuesti
  • Seadistage sõlme-punane liides
  • Testige, kas kõik töötab.

Riistvara, mida vajate:

  • Raspberry Pi ja toiteplokk (ning klaviatuur ja monitor esialgseks seadistamiseks) (siin kasutatud mudel B)
  • Sonoff lüliti
  • USB jadamuundur
  • Valikuline - ESP arendusplaat, näiteks NodeMCU.

Minu kogemus Raspberry Pi -ga on see, et millegi seadistamine näib tunduvalt suurema valuga, kui võiks kunagi ette kujutada, kui asjad ei tööta või jäävad mõne tühise sammu juurde, kus selgitus oleks võinud olla parem. Foorumid ei saa alati nõu, mis töötab! Leidsin mitu marsruuti, mis ühel või teisel põhjusel lihtsalt ei töötanud. See maksis 3 päeva! Seejärel pühkisin kõik ja alustasin uuesti ning lõpetasin vähem kui (pika) päevaga. See kasutas aga vanemat Raspian Jessiet. Pärast seda leidsin viisi praeguse ja hiljuti avaldatud versiooni (Stretch) kasutamiseks ja tegin kõik uuesti. See juhend võimaldab juhiste kopeerimist ja kleepimist Pi -sse. Nii et peaksite mõne tunni pärast valmis saama. Igatahes loodan, et see viib teid kiiremini õppimiskõverast üles ja palju vähem valu. Uskuge, see on lõpptulemuse pärast seda väärt.

Samm: laadige Pi Rasbian Stretchiga

See peaks olema üsna lihtne. Alustage 8 GB või 16 GB SD -kaardiga. Laadige uusim versioon alla siit:

www.raspberrypi.org/downloads/

Põhiteema eeldab, et täisversioon on laaditud. Siiski saate ruumi säästmiseks kasutada lihtsamat versiooni. Kui kasutate Raspbian Stretch Lite'i, jätkake seda sammu ja liikuge lõpus 9. sammu juurde.

Allalaaditud faili lahtipakkimisel avaneb.img -failiga kaust. 7Zip on soovitatav Windowsile (ja Unarchiver Macile). Pilt tuleb põletada SD -kaardile, kuid selleks tuleb kasutada spetsiaalset programmi, kuna failisüsteem ei ühildu Windowsiga. Soovitatud tarkvara nimi on Etcher ja selle saab alla laadida aadressilt:

etcher.io/

Etcheri juhised on nende veebisaidil ja vaevalt, et need oleksid lihtsamad. Valige pilt ja draiv ning klõpsake nuppu Flash.

Nüüd saab meie välgutatud SD -kaardiga Pi käivitada.

Kui teate IP -aadressi, mida teie Pi kasutab, või olete õnnelikud, kui leiate selle oma ruuterisse sisse logides, saate vältida klaviatuuri ja monitori vajadust ning SSH -d kohe kasutada. Lihtsalt lisage SD -kaardile tühi fail nimega SSH, sisestage, ühendage Ethernetiga ja lülitage sisse. Vastasel juhul järgige allolevat juhendit.

Ühendage Pi Interneti, ekraani, hiire ja klaviatuuriga ning ühendage toiteallikaga. Esimene asi, mida me teeme, on SSH lubamine, et saaksime suurema osa seadistustest teha mugavalt arvutis. Loomulikult saab seda teha otse, kuid aitab palju sellest, kui saate seda juhendit järgida samal seadmel kui Pi -d juhtiv isik ja kasutada enamiku juhiste jaoks kopeerimist ja kleepimist. Ka minu puhul on minu arvuti tööjaam kena ja mugav, kuid mitte piisavalt suur ka pi jaoks.

YouTube'i videoga seotud tööde jaoks on olemas juhend. Siit ma alustasin. Saate järgides neid juhiseid videot käitada. Kuid kui ma seda protsessi uuesti läbi kirjutasin, oli mul lihtsam järgida siin toodud juhiseid. On mõningaid olulisi kõrvalekaldeid. Samuti on mõned jaotised, kus olen soovitanud videot jälgida, mitte siin toiminguid loetleda. Soovitan siiski seda vaadata, et saada aru MQTT-st, sõlmepunasest ja laiast seadistusprotsessist. Video on 38 minutit pikk, nii et olge mugav. Video algab sellega, et näidata, mida Node Red suudab teha, ning seejärel hõlmab Pi installimist ja seadistamist, millele järgneb Node Red uuendamine ja viimasena Mosquitto installimine. Peamised ajad juhuks, kui soovite jaotisesse tagasi minna:

00:00 Sissejuhatus videotesse

03:00 Sõlme punane meeleavaldus

14:14 Armatuurlaua elementide importimine punasesse sõlme

21:05 Pi esialgne seadistamine, sh SSH

23:35 Sõlme punase toetuskoodi paigaldamine

27:00 MQTT tutvustus

29:12 Mosquitto (MQTT) install (märkus töötab ainult Raspian Jessie puhul)

33:00 Sõlm Punased näited

Loetlen käsud paksus kaldkirjas (selle asemel, et kasutada “”). Seda vormindamist eiratakse nende kopeerimisel ja Pi -sse kleepimisel.

Node Redi sissejuhatus annab teile ettekujutuse sellest, mida süsteem saab teha, ja annab pildi sellest, kuhu me jõuame.

YouTube'i video asub aadressil

Järgige installiprotseduuri ajavahemikus 21:05 kuni 23:35. Pange tähele, et vaikimisi sisselogimine on kasutaja: pi ja parool: vaarikas. Enne taaskäivitamist leidke pi IP -aadress. Klõpsake töölaua ülemisel ribal ikooni „üles+alla” või sisestage terminali/terminaliaknas järgmine juhis:

sudo ifconfig aadress

Seejärel märkige IP -aadress pärast: inet addr:. See on kujul 192.168.x.y

Pange see aadress tähele ja taaskäivitage (sisestage: sudo shutdown –r now)

Siinkohal on võti see, et SSH on lubatud ja arvutist saab seadistada lingi Pi -le (Mac ja Linux sisaldavad SSH -liideseid). Hea programm selleks on tasuta allalaadimine nimega PuTTY, mida saab kasutada ka jadaliidesena ja millega saab teha Telnetit. Kitt on saadaval:

www.chiark.greenend.org.uk/~sgtatham/putty…

Laadige alla ja installige PuTTY.

Nüüd, kui Pi on taaskäivitatud, käivitage PuTTY ja sisestage varem märgitud IP -aadress. Vaadake allpool näidet:

Nüüd klõpsake nuppu Ava

Pärast sisselogimist kui: sisestage pi

Seejärel sisestage oma parool.

Järgige nüüd siin toodud juhiseid ja käivitage video soovi korral alates 23:35. Enamikul juhtudel saate kopeerida ja kleepida. Tõstke tekst esile ja kasutage kopeerimiseks klahve ctrl+C. Seejärel paremklõpsake PuTTY -s kleepimiseks. Mõnikord ei ilmu tekst kohe, nii et oodake mõni sekund. Kui sisestate kaks korda, kasutage teise kirje kustutamiseks tagasilükkeklahvi. Iga käsu täitmiseks vajutage sisestusklahvi.

sudo raspi-update

Sain käsu, mida ei leitud, ja ignoreerisin seda ning järgmist sulgemis-/taaskäivitusjuhist:

sudo shutdown -r kohe

sudo apt -get -y värskendus

sudo apt -get -y täiendus

See võtab aega ….

sudo apt-get autoremove

sudo apt -get -y värskendus

sudo shutdown -r kohe

Sel hetkel oleme Pi operatsioonisüsteemi laadinud ja värskendanud, valmis järgmiseks sammuks.

Samm: värskendage ja lisage funktsioone sõlme-punasele

PuTTY ühendus kaob eelmise sammu lõpus taaskäivitamisel. Nii sulgege PuTTY ja pärast Pi alglaadimise ootamist logige uuesti sisse nagu varem.

Olen liikunud lihtsama ja usaldusväärsema Node-Redi laadimise meetodi juurde-järgides lähenemisviisi aadressil https://nodered.org/docs/hardware/raspberrypi. See kasutab skripti ja installib või täiendab sõlme-punast-seega on lähenemisviis Raspbian Stretchi täis- või lihtsate versioonide puhul sama. Nii et sisestage:

bash <(curl -sL

Kui küsitakse, sisestage Y (kaks korda). See skript laadib ka failid, mis on vajalikud sõlme-punase automaatse käivitamise lubamiseks.

Nii et praegu on meie pi laaditud ja värskendatud ning koos Node Redi jaoks vajalike värskendustega. Enne järgmise etapi taaskäivitamist pole paha.

sudo shutdown -r kohe

Samm: Mosquitto MQTT installimine

Kui te pole seda veel teinud, siis tasub MQTT -i tutvustust vaadata videol alates kella 27.00.

Siin peame valima teistsuguse tee. Videos kirjeldatud protseduur töötab ainult Raspiani vanema Jessie versiooni puhul. Sääsepaigal on arutelu, kuid selget tulemust pole näidatud ja seega jääb see lihtsama ja turvalisema marsruudi juurde.

Nii logige sisse PuTTY abil ja sisestage järgmine:

sudo apt-get update

sudo apt-get install mosquitto mosquitto-kliendid

Y

sudo /etc/init.d/mosquitto stop

sudo /etc/init.d/mosquitto start

Kaks viimast juhist peatuvad ja käivitavad sääsed ning näitavad, et meie MQTT maakler töötab.

Kiirtesti jaoks avage veel kaks PuTTY seanssi ja logige sisse mõlemasse.

Te teate nüüd, et MQTT töötab seadme järgi ja vajab andmeid, mis tellivad teema. Maakler saadab kõik sama teemaga seotud andmed. Seejärel avaldab seade, mis soovib andmeid/juhiseid saata, selle sama teema kaudu maaklerile.

Nii et sisestage ühel PuTTY seansil:

mosquitto_sub -d -t tere/maailm

See on juhis tellida teema: tere/maailm.

Sisestage teise:

mosquitto_pub -d -t tere/maailm -m "Tere terminali aknast 2!"

See on sama teemaga avaldamisjuhis koos sõnumiga. Tekst: "Tere terminali aknast 2!" peaks nüüd ilmuma teise terminali.

Hästi tehtud nii kaugele jõudmine. Nüüd on Pi laaditud ja värskendatud Node-Redi jaoks vajalike värskendustega ning sääskede MQTT maakler on installitud ja testitud. Nüüdsest läheb elu kergemaks ja lõbusamaks. Sulgege kaks MQTT testi jaoks kasutatud PuTTY seanssi.

Samm: sõlme punase liidese seadistamine

Kõigepealt peame käivitama punase sõlme. Sisestage juhis:

node-red-pi --max-old-space-size = 256

Oodake, kuni see käivitub ja näete teksti „Alustatud vood”.

Nüüd avage brauser, ma kasutan Chrome'i ja sisestage varem märgitud pi IP -aadress, millele järgneb: 1880, st midagi 192.168.0.8:1880

Nüüd peaksite nägema sõlme punase programmeerimise lehte järgmiselt:

Nüüd saate järgida sõlmpunase näiteid, mis algavad kell 33:00, või liikuda otse väikese lisaseadistuse juurde ja laadida esimene voog, mis näitab linki MQTT -le ja on valmis meie lülitit juhtima.

Vajalik täiendav seadistus on lisada juhtpaneeli üksused, mis võimaldavad veebiliidest.

Neid näidatakse videol kell 14:14.

Sõlme-punase armatuurlaua laadimiseks järgige juhiseid.

Nüüd saame natuke mängida ja näidata, kuidas MQTT töötab ja mida juhib Node-Red. Seda pole videol, kuid see on selle projekti võtmeks. Võite järgida minu juhiseid ja/või importida vooge lisatud failist NRtest1.txt.

Kõigepealt lisage sisend -süstimissõlm ja väljund -mqtt -sõlm ning linkige need kokku.

Topeltklõpsake süstimissõlme (mis on esialgu tähistatud ajatempliga). Jaotises Kasulik koormus kasutage kaks korda stringi vahetamiseks ja sisestage: Tere minult. Jätke teema tühjaks, kuna saame selle sisestada MQTT sõlme. Klõpsake nuppu Valmis

Nüüd topeltklõpsake sõlme MQTT. Klõpsake jaotises Server paremal asuvat pliiatsiikooni. See avab uue dialoogi. Sisestage jaotisse Server: localhost. Klõpsake nuppu Lisa. Nüüd, tagasi sõlme Edit mqtt out, sisestage meie teema jaotisse Teema: tere/maailm. Seadke QoS väärtuseks 1. Klõpsake nuppu Valmis. Nüüd klõpsake käsul Juuruta. Näete mqtt -sõlme all rohelist plekki ja "ühendatud".

Nüüd lisage veel kaks sõlme - sisestage mqtt ja väljundi silumine ning ühendage need omavahel. Nüüd topeltklõpsake sisend mqtt sõlme ja sisestage teema sektsiooni tere/maailm. Server peaks juba näitama localhost: 1883. Seadke QoS väärtuseks 1. Klõpsake nuppu Valmis. Seejärel klõpsake käsku Juuruta ja paremal paanil vahekaarti silumine. Nüüd klõpsake süstimissõlme „Tere minult” vasakul asuvat halli ruutu. See saadab teksti kasulikku koormust MQTT maaklerile teemaga tere/maailm. Maakler teab, et mqtt sisendsõlm on tellinud sama teema ja edastab seega kasulikku koormust. Seejärel saadab mqtt sisendsõlm selle silumiskaardile (RHS) ja peaks ilmuma tekst „Tere minult”.

See märgistab teise kasti, kui meil on sõlmepunane meie MQTT maakleriga rääkimas. Pange tähele, et Node Red on maakleri jaoks vaid klient - nagu Sonoffi seadmed, mille ühendame hiljem. See võimaldab aga keerukat automatiseerimist ja suurepärast kasutajaliidest.

Nüüd saame teha paar väikest muudatust ja seadistada voogud meie Sonoffi lülitile.

Nii et kustutage sisendsüst (sõlme esiletõstmiseks ja vajutage kustutamisklahvi). Nüüd lisage armatuurlaua sektsioonist lüliti ja ühendage see mqtt -väljundiga. Topeltklõpsake lülitit. Klõpsake grupi paremal olevat pliiatsit. Sisestage nimi: kerge. Seejärel klõpsake vahelehel paremal asuvat pliiatsit ja sisestage jaotisesse Nimi: Lounge. Klõpsake nuppu Lisa/Värskenda ja Lisa/Värskenda uuesti. Nüüd lüliti Redigeerimise sõlmes tagasi seadistage kasuliku koormuse sisse- ja väljalülitamine. Kasutage kahekordset nuppu stringi valimiseks ja sisestage sisselülitatud kasuliku koormuse jaoks ON ja väljalülitatud kasuliku koormuse jaoks välja. Klõpsake nuppu Valmis

Nüüd minge iga mqtt -sõlme juurde ja muutke teema cmnd/sonoff/POWER. Kui kopeerite ja kleepite, kontrollige, kas selle lõppu pole tühikut lisatud. See on teine teema ja Sonoffiga ei tööta. Hulkunud ruumi leidmine võib võtta tund aega - uskuge mind! Käisin ka armatuurlaual> Teema ja valisin: Tume. Klõpsake käsul Juuruta ja valige silumise vahekaart.

Nüüd avage uus brauseri seanss uues aknas ja mõõtke see nagu mobiiltelefon üle Node Red seansi. Sisestage aadress: oma Pi IP -aadress: 1880/ui/#/0, st midagi 192.168.0.8:1880/ui/#/0. Te peaksite nägema ekraani, kus on salong ja valgus ning lüliti. Klõpsake lülitit sisse ja välja. Silumisaken peaks näitama sisse- ja väljalülitatud koormusi. Nüüd, kui soovite, logige sisse ka mobiiltelefoni kaudu. Pange tähele, et lüliti asend on sünkroonitud. Pole tähtis, et meie Sonoff pole veel ühendatud. Kui see on nii, siis teemat tellides võtab see sõnumi/kandevõime üles ja tegutseb selle järgi.

Viimane väike samm on panna Node Red automaatselt käivituma pärast Pi käivitamist.

Node Redil on juhend aadressil:

Kuid vajalikud failid on juba laaditud, nii et installimist pole vaja.

Node-RED-i automaatse käivitamise lubamiseks igal käivitamisel ja krahhide korral sisestage (avage PuTTY-seanss):

sudo systemctl lubab nodered.service

Kui peate selle kunagi keelama, sisestage:

sudo systemctl keela nodered.service

Nüüd lülitage pi nüüd sudo väljalülitamisega ja eemaldage toide.

Nüüd on meie Pi lukustatud ja laaditud tegutsemiseks valmis. Meil on arvuti/mobiiltelefon ühenduses punase sõlmega ja see räägib meie MQTT serveriga. See on olnud pikk teekond ja väärt suurt pai. Hästi tehtud. Leidsin järgmise, Arduino bitti, palju lihtsamalt!

Samm: seadistage Arduino süsteem Sonoffi seadmete ümberprogrammeerimiseks

Kogu teave selle kohta on Sonoff-Tasmota GitHubis. Ainus osa, millega mul raskusi oli, oli teema tekst - aga ma olen teid kavalalt juba sisestanud!

Minge aadressile

Seadistusjuhised leiate vahekaardi Wiki jaotisest Üleslaadimistööriistad:

Selle asemel, et minna läbi iga sammu, märgin ma lihtsalt peamisi aspekte, mis minu arvates olid olulised või jäid jänni.

Juhised on head, kuid vajavad üksikasjalikku tähelepanu. Mind tabas see, et vajadus ESP8266 kausta järele oli kaustas, mis oli teises kaustas nimega ESP8266 ja jättis seega kahe taseme vahele.

Ma järgisin soovitust täiesti eraldi Arduino seadistamiseks. Lõin uue kausta nimega „ArduinoSonoff”, mis on minu olemasolevast Arduino kaustast eraldi. Seadistus on üsna arenenud ja seetõttu on selle eraldi hoidmine väga hea mõte. Kui see on teie esimene Arduino seadistus, installige see teist korda Arduino või muusse kausta mis tahes muu Arduino töö jaoks, sealhulgas töö ESP8266 -ga.

Laadige alla uusim Arduino IDE saidilt https://www.arduino.cc/en/Main/Software. Pakkige fail uude kausta lahti.

Juhised hõlmavad Sonoff-Tasmoda süsteemi allalaadimist saidilt https://github.com/arendst/Sonoff-Tasmota pealehelt: kloonimine või allalaadimine> allalaadimine ZIP. Pakkige fail uude kausta lahti.

Järgige hoolikalt juhiseid. Ma ei teinud valikulist: valmistuge OTA üleslaadimiseks. Jätame selle teise päevaks.

Nüüd käivitage Arduino IDE (topeltklõpsake arduino.exe). Laadige Sonoff-Tasmota visand menüüst Fail> Visandiraamat> sonoff. Muudatusi pole vaja teha. Kõik seaded tehakse pärast püsivara laadimist jadaühenduse kaudu. Need salvestatakse EEPROM -i. Seega saab püsivara värskendada ja kõik seaded säilitada. See on päris tark värk. Siiski saate siin paar toimingut vältida, minnes faili user-config.h ning sisestades oma wifi SSID ja parooli ning MQTT_HOST (asendage „domus1”-teine viide oma Pi IP-aadressiga). Hiljem võiksite sisestada ka MQTT kasutaja ja parooli. Enne allalaadimist kontrollige tahvli sätteid jaotises Tööriistad. Need vajavad paar muudatust, et need vastaksid Wikis sätestatud nõuetele. Nüüd klõpsake kompileerimiseks (linnukeseikoon). See peaks kompileerima OK. Kui ei, või kui nõutavad plaadiseaded pole saadaval, minge tagasi ja kontrollige seadistamise iga sammu.

6. samm: Sonoff -lüliti ümberprogrammeerimine

Nüüd oleme allalaadimiseks valmis. Selles etapis saab kas otse edasi minna ja Sonoffi lülitit vilkuda või esmalt ESP8266 moodulit. Tegin viimast, osaliselt seetõttu, et minu lülitid ei olnud veel saabunud (just saabusin seda kirjutades!), Aga ka ettevaatusabinõuna, kuna Sonoffi lüliti vilkumine on ühesuunaline samm, kuna algne püsivara pole avalikult kättesaadav Olen teadlik. Mul on paar NodeMCU plaati. Neid on lihtne ühendada, kuna nende pardal on USB-jadamuundur. Kuid nodemcu lähtestusmeetod selle süsteemiga ei tööta. Seega jätke Tööriistad> Lähtestusmeetod väärtuseks „ck”. Tehke välklambi tavalist käsitsi seadistamist, hoides all välgunuppu (GPIO 0 maapinnale), vajutades samal ajal nuppu Reset (maapinnale lähtestamine) ja vabastades selle. Ma pole kindel, kas sellel on ajalõpp või ei hoidnud ma GPIO 0 piisavalt kaua madalal, kuid vajasin mitmeid katseid, sealhulgas seda Arduino IDE koostamise ajal!

Kui soovite vastuseid kontrollida - relee väljund on D6 NodeMCU tahvlitel. ESP12 puhul on see GPIO 12. LED -väljund on D7 (NodeMCU) või GPIO 13 (ESP12).

Sonoff lüliti.

HOIATUS: Pean ütlema: „ärge ühendage vooluvõrku mingil juhul, kui korpus on avatud”. Pange tähele, et trükkplaadil (vähemalt Sonoff Basicul (liinilülitil) on madalpinge sektsiooni ja võrgu vahel ainult üksikud eralduskaugused. Seega tuleks Sonoffi ahela mis tahes osa käsitleda võrgupingena.) Tasmota GitHub näitab temperatuuri ja niiskuse anduri ühendamist Sonoff S20 -ga. Ma ei teeks seda isolatsiooniprobleemide tõttu. - nii et kui soovite seda teha, hankige ESP12 või NodeMCU moodul ja seadistage see eraldi koos korraliku topeltisolatsiooniga või maandatud toiteallikas.

Sonoff S20 pistikupesa on hea lähtepunkt, kuna see ei vaja võrgujuhtmeid. Seda saab avada, eemaldades ühe kruvi (turvatihendi all) ja hinnates korpuse lahti. Alloleval fotol on näha, kus sildid asuvad. Korpuse pigistamine nendes punktides aitab.

USB jada muundur

Minu lemmikmuundur on FTDI versioon. See ei ole aga piisav, et rahuldada Sonoffi 3.3v vajadusi. FTDI spetsifikatsioon ütleb maksimaalselt 50 mA. Järgmine parim alternatiiv on see, mis kasutab kiipi CP2102. Sellel on aga 100m piir, millest siiski ei piisa. On selge, et paljud kasutavad seda muundurit otse, kuid on ka teateid laadimise ebaõnnestumise kohta. Ma piiraksin selle ühendamise aega, kuna see soojeneb koormuse all. Tehke seda omal vastutusel. Ideaalne lahendus on omada ka 3.3v regulaatorit, nt. an AMS1117 3.3. Selle loomiseks koostasin väikese PCB. Vt Sonoffi seadmete programmeerija.

Minu programmeerimisjärjestus on järgmine:

Avage Arduino IDE.

Kontrollige jaotises Tööriistad seaded nagu Wikis.

Tehke kõik vajalikud muudatused saidil user_config.h. Seadsin Wifi SSID ja parooli ning MQTT maakleri aadressi ja ajavööndi/suveaja üksikasjad.

Klõpsake nuppu „kinnita”, et kontrollida, kas see on kompileeritud.

Ühendage USB -jadamuundur (eraldi) arvutiga. Pange tähele pordi numbrit.

Eemaldage nüüd USB jadakaabel arvutist ja ühendage see Sonoffi lülitiga. Kontrollige, kas maandus ja 3v3 ühendused on õiges suunas (maandus on ühendatud Sonoffi trükkplaadi maandustasandiga).

Hoidke programmeerijat nii, et kontaktid oleksid turvalised, samal ajal ka nuppu vajutades.

Nüüd ühendage USB -juhe arvutiga, kontrollige, kas pordi number on õige (menüüs Tööriistad), seejärel klõpsake nuppu Laadi alla.

Hoian nuppu kogu programmeerimise ajal, sest ma ei taha ühendusi häirida.

Kui olete lõpetanud, peaksite nägema järgmist ekraani:

Pilt
Pilt

Sonoff vajab meie süsteemiga ühenduse loomiseks paar bitti teavet: kohaliku võrgu wifi SSID ja parool ning Pi IP -aadress. Selleks on mitu võimalust, millest üks on faili config.ino muutmine, nagu varem märgitud. Kui teil on nutitelefon, saate (pärast lüliti uuesti kokkupanemist) vajutada 4 korda üsna kiiresti nuppu Sonoff, et see veebiserveri režiimi lülitada. LED hakkab vilkuma. Pidin mitu korda proovima, et see toimiks. Seejärel otsige oma nutitelefonist uus Sonoffi võrk ja looge ühendus. Ilmub veebileht, kus saate määrata vajalikud andmed. Pi IP -aadress läheb hostinime. Samuti muutsin teise SSID ja parooli millekski pikaks ja põhimõtteliselt kasutuskõlbmatuks.

Teise võimalusena saab seda seadistada jadaühenduse kaudu kohe pärast laadimist. Avage Arduino jadamonitor (tööriistade alt).

Sisestuskäsklused:

SSD oma WiFi -ID

Parooli oma WiFi parool

MqttHost 192.168.x.y (PI IP -aadress)

Selle tõhusaks keelamiseks võite sisestada ka SSId1 ja parooli1 ning seejärel midagi pikka ja kasutuskõlbmatut.

Nüüd saate Sonoffi lüliti kasti panna, avada sõlmepunase ja sõlmepunase armatuurlaua ning klõpsata lüliti nuppu ja vaadata silumiskaarti, mis peaks nüüd sisaldama Sonoffi vastuseid. Seega on meil saavutatud veel üks suur samm - meie esimene lüliti juhitakse arvutist/nutitelefonist.

Siiani pole me turvalisust maininud. Võimalus kasutada krüpteeritud kommunikatsiooni. Selle seadistamine on üsna keeruline ja tõenäoliselt sobivam, kui kasutatakse pilvepõhist maaklerit. Samuti on võimalus lisada kõigi ühendatud seadmete kasutajanimed ja paroolid ning keelata anonüümsed kasutajad. Selle seadistamine on üsna lihtne. Ja nii nüüd turvalisuse juurde.

Samm: turvalisus

MQTT võimaldab kasutajanimesid ja paroole igale kliendile. Seda on lihtne seadistada. Tõenäoliselt on lihtsam esmalt iga seade ümber nimetada ning seejärel seadistada nende kasutajanimed ja paroolid. Seda saab teha MQTT käskude kaudu ja Node-Red on ilmselt lihtsaim viis nende saatmiseks. Kõigepealt otsustage nimetamisviis. Üks võimalus on nimetuste aluseks võtta asukoht ja funktsioon. Seejärel soovite salvestada nime (teema) kasutajanime ja parooli koos varuteemaga. Pange tähele, et Sonoffi seadete algse allalaadimise taastamiseks on olemas ka „lähtestamisvõimalus” (vt Wiki kasutamine> Nuppude funktsionaalsus).

Lülitage pi sisse ja avage mõne sekundi pärast brauser sõlmpunasele (IP-aadress: 1880).

Sõlmes Punane seadistage süstimissõlm ja linkige see mqtt-väljundiga ning seadistage mqtt-server kohalikuks hostiks. Jätke teema, kasutaja ja parool tühjaks, kuna määrame need süstimissõlmes. Seadistage ka mqtt sisendsõlm ja ühendage see silumissõlmega, et saaksime vastuseid näha. Määrake mqtt sisendmärkus kohalikule hostile (peaks olema juba määratud) ja sisestage teema jaoks+/+/+, nii et see haaraks kogu liikluse.

Sisestage süstimissõlme järgmine seadete jada.

Esmalt kontrollige ühenduvust

Teema: cmnd/sonoff/Staatus

Sõnum: 6

klõpsake nuppu "Süsti üks kord alguses". Juurutada. Me peaksime nägema silumist, sealhulgas 7 rida andmeid saidilt stat/sonoff/STATUS6

Sisestage teema: cmnd/sonoff/Teema ja Sõnum: loungelight. Juurutada. See muudab lüliti nime sonoff asemel lamamistuleks

Silumiskaart peaks näitama seadme taaskäivitamist uue nime/teemaga

Teema: cmnd/loungelight/MqttUser

Sõnum: lamamistool

Klõpsake käsul Käivita. Silumist tuleks vaadata saidilt stat/loungelight/RESULT koos {„MtqqUser”:”loungelight”}

Teema: cmnd/loungelight/MqttPassword

Sõnum: loungelightPW (pange tähele, et see on fantaasiarikkam!)

Tühjendage silumise vahekaart ja juurutage.

Vastust peaks nägema saidilt stat/loungelight/RESULT, kasutades {"MqttPassword": "loungelightPW"}

Nüüd sisestage sõlme mqtt out kasutajanime ja paroolina NodeRed ja NodeRedPW. Seda saab teha avanevas aknas serveripliiatsi ikooni ja turvakaardi kaudu. See kopeeritakse automaatselt teistele MQTT sõlmedele.

Kontrollige uuesti

Teema: cmnd/loungelight/Staatus ja sõnum: 6. Juurutada.

Ja et vastus saadetakse.

Nii et praegu oleme oma Sonof -seadme ümber nimetanud, nii et see kuulab cmnd/loungelight/…… teemasid ja logib MQTT -serverisse kasutajanimega loungelight ja parooliga loungelightPW. Samuti oleme sõlme-punase jaoks määranud kasutajanime ja parooli.

Järgmisena peame ütlema sääskede MQTT -serverile, et nad aktsepteeriksid ainult kasutajanimedega kliente ning loetleksid aktsepteeritavad kasutajanimed ja paroolid.

Protseduur on järgmine:

  • Peatage sääsk
  • Loo oma konfiguratsioonifail
  • Muuda konfiguratsioonifaili
  • Looge paroolifail
  • Lisage kasutajaid/paroole.

Nii logige sisse uue PuTTY seansiga ja käivitage järgmised käsud:

sudo /etc/init.d/mosquitto stop

cd /etc/mosquitto/conf.d/

sudo nano mosquitto.conf See käivitab redaktori.

Lisa read:

allow_anonymous false

paroolifail /etc/mosquitto/conf.d/passwd

nõuda_sertifikaat vale

Salvesta ja välju (Ctrl+X), Y, sisesta.

sudo touch passwd See loob paroolifaili ja järgnevad juhised lisavad nimesid ja paroole.

sudo mosquitto_passwd -b /etc/mosquitto/conf.d/passwd loungelight loungelightPW

sudo mosquitto_passwd -b /etc/mosquitto/conf.d/passwd NodeRed NodeRedPW

sudo /etc/init.d/mosquitto taaskäivitage

Pange tähele, et uue seadme lisamisel peate kas jadapordi kaudu sisestama kasutaja ja parooli ning lisama need paroolifaili või muutma ajutiselt sääskede konfiguratsioonifaili ja kommenteerima (lisama rea algusesse) read "allow_anonymous false "ja" password_file /etc/mosquitto/conf.d/passwd "ning seejärel lähtestage need, kui andmed on seadmesse saadetud ja paroolifaili lisatud, nagu eespool kirjeldatud.

Oleme muutnud sonoffi nime loungelightiks ja seega värskendame mqtt väljundsõlme (ühendatud lülitiga), et kasutada teemat cmnd/loungelight/POWER.

Klõpsake käsul Juuruta ja kontrollige, kas mqtt -sõlmed näitavad 'ühendatud'.

Seejärel proovige lüliti nuppu ja otsige silumist, mis näitab Sonoffi lüliti reageerimist. Märkate, et seade näitab muudatust teemaga: stat/loungelight/POWER. Niisiis muutke nüüd sisendsõlm, mille väärtuseks oli määratud cmnd/sonoff/POWER, statiks/loungelight/POWER. Saame seda kasutada, et katta tühimik meie funktsionaalsuses. Algselt seadistatud süsteem sünkroonitakse kõigi sisseloginud kasutajatega, kuid ei sünkroonita lüliti muudatustega, mis on tehtud Sonoff lülitil oleva nupu vajutamisega. Nii et nüüd ühendage stat/loungelight/POWER mqtt sisendsõlme väljund lüliti sisendiga (LHS). Nüüd topeltklõpsake lülitit ja tühjendage märkeruut "kui sisendile saabub sõnum, liikuge väljundisse". See avab mõned uued valikud - valige lüliti ikoon, mis näitab sisendi olekut. Juurutada. Nüüd on meil hea tagasiside. Armatuurlaua lüliti asend muutub alati, kui Sonoffi lüliti muutub, olenemata sellest, kus muudatus algatati.

Seega on meil nüüd kasutusel turvaline ja iseseisev koduautomaatikasüsteem, mis on valmis laiendamiseks, mida iganes soovite. Järgmises osas käsitlen mõnda oma senist katsetamist ja väljakutseid, millega kavatsen tegeleda.

8. samm: laienemise esialgsed sammud

Mul on veel üks juhendatav koduautomaatika Sonoff-Tasmota andurite LED-ide arendusnõukogu, mis näitab mõningaid Sonoff-Tasmota püsivara täiendavaid võimalusi:

Temperatuuri ja niiskuse mõõtmine

Sissetungija tuvastamine (lüliti sisend)

IR -kaugjuhtimispult (telerite jms jaoks)

LED -stringid - nii RGB kui ka NeoPixel (individuaalselt adresseeritavad)

I2C andurid

Ülaltoodu jaoks kasutan ESP12F -i ja kohandatud PCB -d. Võiks kasutada ka NodeMCU -d ja leivaplaati. See võimaldab neid lisafunktsioone ilma Sonoffi seadmega ühendamata ja seega on see palju turvalisem lähenemisviis. Temperatuuri sisendiga olen suutnud oma elektrilise teki automatiseerimise lõpule viia.

Muusikat ja Interneti -raadiot saab hõlpsasti lisada. See avab valikud teatud jaamade või albumite sisselülitamiseks kindlal ajal või võib -olla vastuseks külastaja (telefoni) avastamisele. See seotud juhend on saadaval kvaliteetses muusikamängijas ja Interneti -raadios koos nutitelefoni juhtimisega. Kuna seda juhib ka Node-RED, peaks isegi olema võimalik omada rohkem kui ühte helisüsteemi ja kasutada nende juhtimiseks MQTT-ühendust.

Olen uurinud ka sõlmpunast, sealhulgas e-kirjade saatmist ja häälhoiatuste tegemist. Samuti on süsteemil võimalik tuvastada, millal olete sisse/välja - pingates oma mobiiltelefoni IP -aadressi. Sõlm -punane pääseb juurde ka ilmastikule ja uudistele - nii saab lisada nii teavet kui ka automatiseerida.

Õppida tuleb mõningaid nippe, kuid need muutuvad teist korda surnuks.

Teine võimalus on juhtpaneeli kuvamiseks pi -le kuvari lisamine. See on „pooleli olev töö” - ehk teisisõnu pole ma liiga rahul. Minu kuvarit on raske portreerežiimi pöörata ja Chromiumi brauser on valusalt aeglane. Alternatiiviks oleks ebayst vana tahvelarvuti kätte võtta ja seda kasutada. Võin proovida Pi 2 -ga ja vaadata, kas see annab piisavalt paranemist (selle arenduse jaoks kasutatud mudel B).

Loodan, et see aitab teil alustada ja teie kujutlusvõime lööb. Võimalik ulatus on tohutu. Vajadusel võiks isegi teiste andurite Sonoffi koodi muuta.

Üldiselt olen üllatunud, mida see süsteem suudab. Minu esialgne eesmärk oli lihtsalt juhtida nutitelefonist lülitit usaldusväärsel viisil iseseisva süsteemi kaudu. Mul oli nägemusi serverite ja klientide haldamise vajadusest ning kasutajaliidese html -i kirjutamisest. See, kuhu see lõppes, on sellest palju ees, suurema turvalisuse, suurepärase töökindluse, fantastilise kasutajaliidese, lohistamisprogrammide ja tohutu laienemisvõimalusega. Ja seda kõike palju väiksema vaevaga.

Mike

9. samm. Lisand - laadimine Raspbian Stretch Lite'ist

See suvand väldib Raspbian Stretchi täisversiooniga kaasnevat bloatware'i. Enamikku sellest pole vaja, kui kasutate koduautomaatika jaoks Pi -d. Node-Red tuleb siiski installida.

Jätkake sammuga 1, kuid kasutage Raspbian Stretch Lite asemel Raspbian Stretch.

Tehke 2. sammu asemel järgmist.

sudo apt -y installige npm

npm -v peaks naasma: 1.4.21 või uuem

sudo npm install -g n

sudo n 8.9.0

Nüüd saame sõlmepunase installimiseks kasutada sõlmepakettide haldurit:

sudo npm install node-red --global --unsafe-perm

See annab vale vea aadressi tõttu paar veateadet. Süsteem teeb selle probleemi lahendamiseks siiski „lähtekompileerimise”. Kui korrata ülaltoodud juhiseid (pole vajalik), ei teki vigu.

Nüüd on meil installitud Node-Red ja selle tugipaketid ning saame liikuda sääskede laadimise 3. sammu juurde.

Traadita võistlus
Traadita võistlus
Traadita võistlus
Traadita võistlus

Juhtmeta võistluse teine koht

Soovitan: