Përmbajtje:
- Hapi 1: Ngarkoni një Pi me Rasbian Stretch
- Hapi 2: Përditësoni dhe Shtoni Karakteristikat në Node-Red
- Hapi 3: Instalimi i Mosquitto MQTT
- Hapi 4: Vendosja e Nyjës së Kuqe Ndërfaqja
- Hapi 5: Vendosja e sistemit Arduino për riprogramimin e pajisjeve Sonoff
- Hapi 6: Riprogramimi i një ndërprerës Sonoff
- Hapi 7: Siguria
- Hapi 8: Hapat fillestarë për zgjerim
- Hapi 9: Shtesa - Ngarkimi Nga Raspbian Stretch Lite
Video: Sistemi i fuqishëm i automatizimit të pavarur në shtëpi - Pi, Sonoff, ESP8266 dhe Node -Red: 9 hapa (me fotografi)
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Ky udhëzues duhet t'ju çojë në bazën e parë ku mund të ndizni/fikni një dritë ose një pajisje përmes çdo pajisjeje që mund të lidhet me rrjetin tuaj lokal, dhe me një ndërfaqe të shkëlqyeshme në internet. Hapësira për zgjerimin/ shtimin e veçorive është e madhe, duke përfshirë dërgimin e postave elektronike, mesazhe në Twitter, sensorë të leximit (p.sh. temperatura). Ju lehtë mund të vendosni rregulla p.sh. - nëse temperatura është nën 15C në orën 23, ndizni batanijen elektrike për 30 minuta. Sistemi përdor protokollin MQTT me TCP që është shumë më i besueshëm se UDP - që çuditërisht përdoret nga disa pajisje komerciale të automatizimit të shtëpisë. Pasi të bëhet puna e vështirë e ngritjes së sistemit, e përshkruar këtu, argëtimi mund të fillojë. Node Red siguron një ndërfaqe fantastike të përdoruesit që është intuitive, e shpejtë dhe e lehtë për tu konfiguruar dhe ofron aftësi të mahnitshme.
Rezultati është një sistem i fuqishëm i automatizimit të shtëpisë që është plotësisht nën kontrollin e dikujt dhe është plotësisht në një rrjet lokal. Shumë nga sistemet e paraqitura në Instructables punojnë me serverë të bazuar në cloud dhe kështu janë një rrezik sigurie dhe mund të kërkojnë abonim. Këto janë më të lehta për tu vendosur, por kanë një rrezik më të lartë sigurie dhe një kosto potencialisht më të lartë. Duhet të shtoj se dikush mund të krijojë një VPN (rrjet privat virtual) në Pi për të mundësuar lidhje të sigurt me rrjetin/sistemin shtëpiak nëse qasja nga jashtë do të ishte e dobishme (Google Pi OpenVPN për udhëzime).
Ky sistem kërkon riprogramimin e pajisjeve Sonoff me një sistem të madh burimi të hapur të quajtur Sonoff-Tasmoda. Kjo mund të bëhet duke përdorur një konfigurim të veçantë Arduino dhe një konvertues USB në serial. Pajisjet Sonoff përdorin çipin Wi-Fi ESP8266, kështu që ju gjithashtu mund të bëni pajisjet tuaja duke përdorur module ESP8266 ose t'i përshtatni ato me artikuj të tjerë për të ofruar lidhje pa tel.
Detyra më e madhe është ngritja e një Raspberry Pi si qendër. Kjo drejton ndërmjetësin MQTT (ose serverin) që menaxhon komunikimin me pajisjet e lidhura. Pi gjithashtu drejton një sistem të quajtur Node-Red që mund të përgjojë mesazhe dhe të dhëna dhe komanda dalëse-të tilla si kur të ndizni batanijen elektrike. Node-Red gjithashtu siguron një ndërfaqe për t'i shërbyer faqes në internet në të cilën mund të regjistroheni përmes smartphone/tablet/PC/Laptop, për të parë se çfarë po ndodh dhe për të mundësuar ndërrimin manual të dritave etj.
Qëllimi im me këtë udhëzues është të jap çdo hap në detaje të mjaftueshme që një rishtar të mund të funksionojë sistemin.
Hapat janë:
- Ngarkoni një Pi me Rasbian Stretch
- Përditësoni dhe shtoni veçori në Node-Red
- Instaloni ndërmjetësin Mosquitto MQTT
- Vendosni mjedisin Arduino për ngarkimin e firmuerit Sonoff-Tasmota
- Ri-programoni një ndërprerës Sonoff
- Vendosni ndërfaqen Node-Red
- Testoni se gjithçka funksionon.
Pajisjet kompjuterike që do t'ju nevojiten:
- Raspberry Pi dhe furnizimi me energji elektrike (dhe tastiera dhe monitori për konfigurimin fillestar) (modeli B i përdorur këtu)
- Ndërprerës Sonoff
- Konvertues serial USB
- Opsionale - bordi i zhvillimit të ESP siç është NodeMCU.
Përvoja ime me Raspberry Pi është se vendosja e çdo gjëje duket se përfshin shumë më tepër dhimbje sesa mund të imagjinohet ndonjëherë me gjëra që nuk punojnë ose ngecen në ndonjë hap të parëndësishëm ku shpjegimi mund të kishte qenë më mirë. Forumet jo gjithmonë marrin këshilla që funksionojnë! Kam gjetur disa rrugë që thjesht nuk funksionuan për një arsye ose një tjetër. Kjo kushton 3 ditë! Pastaj fshiva gjithçka dhe fillova përsëri dhe përfundova në më pak se një ditë (të gjatë). Sidoqoftë, kjo përdorte Raspian Jessie më të vjetër. Pas kësaj gjeta një mënyrë për të përdorur versionin aktual dhe të lëshuar së fundmi (Stretch) dhe i bëra të gjitha përsëri. Ky udhëzues mundëson kopjimin dhe ngjitjen e udhëzimeve në Pi. Kështu që duhet të përfundoni brenda pak orësh. Gjithsesi, shpresoj se kjo do t'ju çojë më shpejt në kurbën e të mësuarit dhe me shumë më pak dhimbje. Më besoni, ia vlen për rezultatin përfundimtar.
Hapi 1: Ngarkoni një Pi me Rasbian Stretch
Kjo duhet të jetë mjaft e drejtpërdrejtë. Filloni me një kartë SD 8Gb ose 16Gb. Shkarkoni versionin e fundit nga:
www.raspberrypi.org/downloads/
Fije kryesore këtu supozon se versioni i plotë është i ngarkuar. Sidoqoftë, mund të përdorni versionin lite për të kursyer hapësirë. Nëse përdorni Raspbian Stretch Lite, vazhdoni përmes këtij hapi dhe pastaj shkoni te Hapi 9 në fund.
Zhbllokimi i skedarit të shkarkuar jep një dosje me skedarin.img. 7Zip rekomandohet për Windows (dhe The Unarchiver Mac). Imazhi duhet të digjet në kartën SD - por një program i veçantë duhet të përdoret pasi sistemi i skedarëve nuk është i pajtueshëm me Windows. Softueri i rekomanduar quhet Etcher dhe mund të shkarkohet nga:
etcher.io/
Udhëzimet për Etcher janë në faqen e tyre të internetit dhe vështirë se mund të jenë më të thjeshta. Zgjidhni imazhin dhe diskun dhe klikoni Flash.
Tani me kartën tonë të ndezur SD me mund të vëni në funksionim Pi.
Nëse e dini adresën IP që Pi juaj përdor ose jeni të lumtur ta gjeni duke hyrë në ruterin tuaj, atëherë mund të shmangni nevojën për tastierë dhe monitor dhe të përdorni SSH menjëherë. Thjesht shtoni një skedar bosh të quajtur SSH në kartën SD, futni, lidheni me Ethernet dhe ndizeni. Përndryshe ndiqni udhëzuesin më poshtë.
Lidhni Pi me internetin, ekranin, miun dhe tastierën dhe lidheni me energjinë. Gjëja e parë që do të bëjmë është të aktivizojmë SSH kështu që ne mund të bëjmë pjesën më të madhe të konfigurimit nga komoditeti në një PC. Sigurisht që mund të bëhet drejtpërdrejt, por ndihmon shumë që të jeni në gjendje të ndiqni këtë udhëzues në të njëjtën pajisje si ai që drejton Pi dhe të përdorni kopjimin dhe ngjitjen për shumicën e udhëzimeve. Gjithashtu në rastin tim, stacioni i punës i kompjuterit tim është i bukur dhe i rehatshëm, por jo aq i madh sa për një pi gjithashtu.
Ekziston një udhëzues për një pjesë të mirë të punës në një video në YouTube. Këtu fillova. Ju mund ta ekzekutoni videon së bashku duke ndjekur këto udhëzime. Sidoqoftë, kur po e kaloja procesin përsëri ndërsa shkruaja këtë, e kisha më të lehtë të ndiqja udhëzimet këtu. Ka disa devijime domethënëse. Ekzistojnë gjithashtu disa seksione ku unë kam këshilluar të ndiqni videon në vend që të rendisni hapat këtu. Sidoqoftë, unë do të rekomandoja ta shikoni atë për të kuptuar MQTT, Node-Red dhe procesin e gjerë të konfigurimit. Videoja është e gjatë 38 minuta kështu që ndiheni rehat. Videoja fillon me shfaqjen e asaj që Node Red mund të bëjë, dhe më pas mbulon instalimin dhe konfigurimin e Pi, e ndjekur nga azhurnimi i Node Red dhe së fundmi instalimi i Mosquitto. Oraret kryesore në rast se dëshironi të ktheheni në një seksion:
00:00 Hyrje në video
03:00 Demonstrata e Nyjes së Kuqe
14:14 Importimi i artikujve të pultit në Node Red
21:05 Konfigurimi fillestar Pi, përfshirë SSH
23:35 Instalimi i kodit mbështetës të Node Red
27:00 Hyrje në MQTT
29:12 Instalimi i Mosquitto (MQTT) (Shënimi funksionon vetëm për Raspian Jessie)
33:00 Shembuj të Nyjes së Kuqe
Unë do t'i rendis komandat me shkronja të pjerrëta (dhe jo duke përdorur ""). Ky formatim injorohet kur i kopjoni dhe ngjisni ato në Pi.
Hyrja në Node Red do t'ju japë një ide se çfarë mund të bëjë sistemi dhe do të japë një pamje se ku do të përfundojmë.
Videoja në YouTube është në:
Ndiqni procedurën e instalimit nga 21:05 në 23:35. Vini re hyrja e paracaktuar është përdoruesi: pi dhe fjalëkalimi: mjedër. Para rifillimit gjeni adresën IP të pi. Ose klikoni ikonën ‘lart+poshtë’ në shiritin e sipërm të desktopit ose futni udhëzimin e mëposhtëm në dritaren e terminalit/terminalit:
sudo ifconfig adresa
Pastaj vini re adresën IP pasi: inet addr:. Do të jetë në formën 192.168.x.y
Vini re këtë adresë dhe riniseni (futni: sudo shutdown –r tani)
Çelësi në këtë pikë është se SSH është aktivizuar dhe dikush mund të krijojë një lidhje me Pi nga një kompjuter (Mac dhe Linux përfshijnë ndërfaqet SSH). Një program i mirë për ta bërë këtë është një shkarkim falas i quajtur PuTTY që mund të përdoret gjithashtu si një ndërfaqe serike dhe mund të bëjë Telnet. Stuko është në dispozicion nga:
www.chiark.greenend.org.uk/~sgtatham/putty…
Shkarkoni dhe instaloni PuTTY.
Tani, me Pi të rifilluar, filloni PuTTY dhe futni adresën IP të shënuar më herët. Shikoni shembullin më poshtë:
Tani klikoni Open
Pas Hyrja si: futni pi
Pastaj futni fjalëkalimin tuaj.
Tani ndiqni udhëzimet këtu dhe opsionalisht filloni videon nga ora 23:35. Në shumicën e rasteve mund të kopjoni dhe ngjisni. Theksoni tekstin dhe përdorni ctrl+C për të kopjuar. Pastaj kliko me të djathtën në PuTTY për të ngjitur. Ndonjëherë teksti nuk shfaqet menjëherë, kështu që prisni disa sekonda. Nëse futeni dy herë, përdorni backspace për të fshirë hyrjen e dytë. Shtypni enter për të ekzekutuar çdo udhëzim.
sudo raspi-përditësim
Mora një komandë që nuk u gjet dhe injorova këtë dhe udhëzimin e mëposhtëm të mbylljes/rinisjes:
mbyllje sudo -r tani
përditësim sudo apt -get -y
sudo apt -get -y upgrade
Kjo kërkon pak kohë…..
sudo apt-get autoremove
përditësim sudo apt -get -y
mbyllje sudo -r tani
Në këtë pikë ne kemi sistemin operativ Pi të ngarkuar dhe përditësuar, gati për hapin tjetër.
Hapi 2: Përditësoni dhe Shtoni Karakteristikat në Node-Red
Lidhja PuTTY do të ketë humbur nga rindezja në fund të hapit të mëparshëm. Pra, mbyllni PuTTY dhe pasi prisni që Pi të fillojë, Hyni përsëri si më parë.
Unë kam kaluar në një metodë më të thjeshtë dhe më të besueshme për të ngarkuar Node-Red-duke ndjekur qasjen në https://nodered.org/docs/hardware/raspberrypi. Kjo përdor një skenar dhe do të instalojë ose azhurnojë Node-Red-kështu që qasja është e njëjtë duke punuar nga versionet e plota ose të lehta të Raspbian Stretch. Pra futni:
bash <(curl -sL
Futni Y kur ju kërkohet (dy herë). Ky skenar gjithashtu ngarkon skedarët e nevojshëm për të aktivizuar fillimin automatik të Node-Red.
Pra, në këtë pikë ne kemi pi tonë të ngarkuar dhe përditësuar dhe me azhurnimet e nevojshme për Node Red. Nuk është e keqe të bëni një rifillim para fazës tjetër.
mbyllje sudo -r tani
Hapi 3: Instalimi i Mosquitto MQTT
Nëse nuk e keni bërë tashmë, ia vlen të shikoni hyrjen e videos në MQTT në video nga ora 27:00.
Këtu duhet të marrim një rrugë tjetër. Procedura e përshkruar në video funksionon vetëm për versionin më të vjetër Jessie të Raspian. Ka një diskutim në vendin e mushkonjave, por asnjë rezultat i qartë nuk tregohet dhe kështu do të qëndrojë në një rrugë më të thjeshtë dhe më të sigurt.
Pra, regjistrohuni duke përdorur PuTTY dhe futni sa vijon:
përditësim sudo apt-get
sudo apt-get install mushkonja mushkonja-klientë
Y
sudo /etc/init.d/mosquitto ndalet
sudo /etc/init.d/mosquitto për të filluar
Dy udhëzimet e fundit ndalojnë dhe fillojnë mushkonjat dhe tregojnë se ndërmjetësi ynë MQTT po punon.
Për një test të shpejtë hapni edhe dy seanca të tjera PuTTY dhe regjistrohuni në secilën.
Tashmë do ta dini që MQTT punon nga pajisja për të dhënat e nevojshme për t'u pajtuar në një 'temë'. Ndërmjetësi do të dërgojë çdo të dhënë me të njëjtën 'temë'. Pastaj pajisja që dëshiron të dërgojë të dhëna/udhëzime e publikon këtë tek ndërmjetësi duke përdorur të njëjtën 'temë'.
Pra, në një seancë PuTTY futni:
mosquitto_sub -d -t përshëndetje/botë
Ky është një udhëzim për t'u regjistruar në temën: përshëndetje/botë.
Në tjetrën futni:
mosquitto_pub -d -t hello/world -m "Përshëndetje nga dritarja e Terminalit 2!"
Ky është një udhëzim publikimi me të njëjtën temë me një mesazh. Teksti: "Përshëndetje nga dritarja e Terminalit 2!" tani duhet të shfaqet në terminalin tjetër.
Bravo që arritët deri këtu. Tani kemi Pi të ngarkuar dhe përditësuar me përditësimet e nevojshme për Node-Red dhe me ndërmjetësin MQTT të mushkonjave të instaluar dhe testuar. Tani e tutje jeta bëhet më e lehtë pak më shumë argëtuese. Mbyllni dy seancat PuTTY të përdorura për testin MQTT.
Hapi 4: Vendosja e Nyjës së Kuqe Ndërfaqja
Së pari ne duhet të fillojmë Nyjen e Kuqe. Futni udhëzimin:
nyje-kuqe-pi-max-old-space-size = 256
Prisni që ajo të funksionojë dhe shihni tekstin "Rrjedhat e filluara".
Tani hapni një shfletues, unë përdor Chrome dhe futni IP adresën pi të shënuar më parë e ndjekur nga: 1880 dmth diçka si 192.168.0.8:1880
Tani duhet të keni faqen e programimit Node Red në pamje si më poshtë:
Tani mund të ndiqni shembujt Node Red duke filluar nga ora 33:00 ose të kaloni drejtpërdrejt në një pjesë të vogël të konfigurimit shtesë dhe të ngarkoni rrjedhën e parë që do të tregojë lidhjen me MQTT dhe të jeni gati për të drejtuar ndërprerësin tonë.
Konfigurimi shtesë i nevojshëm është shtimi i artikujve të pultit që mundësojnë një ndërfaqe në internet.
Këto shfaqen në video në orën 14:14.
Ndiqni udhëzimet për të ngarkuar nyjen-kuqe-pult.
Tani mund të bëjmë një lojë të vogël dhe të tregojmë MQTT që punon dhe drejtohet nga Node-Red. Kjo nuk është në video, por është çelësi për këtë projekt. Ju ose mund të ndiqni udhëzimet e mia dhe/ose të importoni rrjedhat nga skedari NRtest1.txt i bashkangjitur.
Së pari shtoni një nyje injeksioni hyrës dhe një nyje mqtt dalëse dhe lidhini ato së bashku.
Klikoni dy herë në nyjen e injektimit (që fillimisht është etiketuar me afat kohor). Në pjesën Payload përdorni twiddly për të ndryshuar në varg dhe futni: Përshëndetje nga unë. Lëreni temën bosh pasi mund ta fusim këtë në nyjen MQTT. Kliko U krye
Tani klikoni dy herë në nyjen MQTT. Klikoni në ikonën e lapsit në të djathtë të seksionit Server. Kjo hap një dialog të ri. Shkruani: localhost në seksionin Server. Klikoni Shto. Tani, përsëri në nyjen Edit mqtt out, futni temën tonë në seksionin Tema: përshëndetje/botë. Vendosni QoS në 1. Kliko U krye. Tani klikoni Vendos. Ju duhet të shihni një pikë të gjelbër dhe të "lidhur" nën nyjen mqtt.
Tani shtoni edhe dy nyje të tjera - hyrjen mqtt dhe daljen në korrigjim dhe lidhini këto së bashku. Tani klikoni dy herë në nyjen hyrëse mqtt dhe futni përshëndetje/botë në pjesën e temës. Serveri duhet të tregojë tashmë localhost: 1883. Vendosni QoS në 1. Kliko U krye. Pastaj klikoni Deploy dhe klikoni në skedën e korrigjimit në panelin e djathtë. Tani klikoni në sheshin gri në të majtë të nyjës së injektimit "Përshëndetje nga unë". Kjo i dërgon ngarkesën e tekstit ndërmjetësit MQTT me temën përshëndetje/botë. Ndërmjetësi e di që nyja hyrëse mqtt është regjistruar në të njëjtën temë dhe kështu përcjell ngarkesën. Nyja hyrëse mqtt e dërgon atë në skedën e korrigjimit (RHS) dhe duhet të shfaqet teksti "Përshëndetje nga unë".
Kjo shënon një kuti tjetër pasi kemi Node Red duke folur me ndërmjetësin tonë MQTT. Vini re se Node Red është thjesht një klient për ndërmjetësin - si pajisjet Sonoff që do të lidhemi më vonë. Sidoqoftë, mundëson automatizim të sofistikuar dhe siguron një ndërfaqe të shkëlqyeshme të përdoruesit.
Tani ne mund të bëjmë disa ndryshime të vogla dhe të vendosim rrjedhat për ndërprerësin tonë Sonoff.
Pra, fshini nyjen e injektimit të hyrjes (klikoni për të nxjerrë në pah dhe shtypni butonin fshij). Tani shtoni një ndërprerës nga pjesa e pultit dhe lidheni atë me daljen mqtt. Çelësi i klikimit të dyfishtë. Klikoni lapsin në të djathtë të Grupit. Futni emrin: Drita. Pastaj klikoni lapsin në të djathtë të Tab dhe futeni në seksionin Emri: Salla. Klikoni Shto/Përditëso dhe Shto/Përditëso përsëri. Tani, përsëri në nyjen e ndërrimit të modifikimit, vendosni ngarkesat e ndezura dhe të çaktivizuara. Përdorni dyfishin për të zgjedhur vargun dhe futni ON për ngarkesën On dhe OFF për ngarkesën OFF. Kliko U krye
Tani shkoni në secilën nga nyjet mqtt dhe ndryshoni Temën në cmnd/sonoff/POWER. Nëse kopjoni dhe ngjisni, kontrolloni që nuk keni përfshirë një hapësirë në fund. Kjo është një temë tjetër dhe nuk do të funksionojë me Sonoff. Gjetja e një hapësire të humbur mund të zgjasë një orë e më shumë - më besoni! Unë gjithashtu shkova te pulti> Tema dhe zgjodha: E errët. Klikoni Deploy dhe zgjidhni skedën e korrigjimit.
Tani hapni një sesion të ri të shfletuesit në një dritare të re dhe madhësojeni atë si një telefon celular gjatë seancës Node Red. Shkruani adresën: IP -ja juaj Pi: 1880/ui/#/0 dmth diçka si 192.168.0.8:1880/ui/#/0. Ju duhet të shihni një ekran me Lounge dhe Light dhe kaloni. Klikoni në çelësin aktiv dhe më pas fikeni. Dritarja e korrigjimit duhet të tregojë ngarkesën ON dhe OFF. Tani nëse dëshironi, regjistrohuni edhe përmes një celulari gjithashtu. Vini re se pozicioni i ndërprerës është i sinkronizuar. Nuk ka rëndësi që Sonoff -i ynë nuk është ende i lidhur. Kur të jetë, duke u regjistruar në Tema, do të marrë mesazhin/ngarkesën dhe do të veprojë sipas tij.
Një hap i fundit i vogël është që Node Red të fillojë automatikisht pasi Pi të ngrihet.
Node Red ka një udhëzues në:
Sidoqoftë, skedarët e nevojshëm janë ngarkuar tashmë, kështu që nuk kërkohet instalim.
Për të aktivizuar më pas Node-RED që të funksionojë automatikisht në çdo boot dhe pas rrëzimeve hyni (hapni sesionin PuTTY):
sudo systemctl aktivizoni nodered.service
Nëse ndonjëherë keni nevojë ta çaktivizoni këtë, shkruani:
sudo systemctl çaktivizoni nodered.service
Tani mbyllni pi me mbylljen sudo tani dhe hiqni energjinë.
Kjo tani e ka Pi tonë të kyçur dhe të ngarkuar gati për veprim. Ne kemi kompjuterin/celularin tonë që lidhet me Node Red dhe kjo flet me serverin tonë MQTT. Kjo ka qenë një punë e gjatë dhe ia vlen një goditje e madhe në anën e pasme. Te lumte. E gjeta pjesën tjetër, Arduino, shumë më lehtë!
Hapi 5: Vendosja e sistemit Arduino për riprogramimin e pajisjeve Sonoff
Të gjitha informacionet për ta bërë këtë janë në Sonoff-Tasmota GitHub. E vetmja pjesë me të cilën kam pasur vështirësi ishte teksti i Temës - por ju kam marrë me dinakëri që ta futni këtë tashmë!
Shkoni te
Udhëzimet e konfigurimit do t'i gjeni në skedën Wiki në seksionin e mjeteve të ngarkimit:
Në vend që të kaloj nëpër çdo hap, unë vetëm do të vë në dukje aspektet kryesore për të cilat ndjeva se ishin të rëndësishme ose të ngecura.
Udhëzimet janë të mira, por kërkojnë vëmendje të kujdesshme në detaje. Unë u trondita nga nevoja për një dosje ESP8266 brenda një dosje që ishte brenda një dosje tjetër të quajtur ESP8266 dhe kështu humba dy nivele.
Ndoqa rekomandimin për një konfigurim krejtësisht të veçantë të Arduino. Kam krijuar një dosje të re të quajtur 'ArduinoSonoff' që është e ndarë nga dosja ime ekzistuese Arduino. Konfigurimi është mjaft i avancuar dhe kështu mbajtja e tij e ndarë është një ide shumë e mirë. Nëse ky është konfigurimi juaj i parë Arduino, sigurohuni që ta instaloni për herë të dytë në një 'Arduino' ose dosje tjetër për çdo punë tjetër Arduino, përfshirë punën në ESP8266.
Shkarkoni Arduino IDE më të fundit nga https://www.arduino.cc/en/Main/Software. Zbërtheni skedarin në dosjen tuaj të re.
Udhëzimet përfshijnë shkarkimin e sistemit Sonoff-Tasmoda nga https://github.com/arendst/Sonoff-Tasmota faqe kryesore përmes: Klononi ose Shkarkoni> Shkarkoni ZIP. Zbërtheni skedarin në dosjen tuaj të re.
Ndiqni udhëzimet me kujdes. Unë nuk bëra opsionin: Përgatituni për seksionin e ngarkimit OTA. Ne do ta lëmë këtë për një ditë tjetër.
Tani filloni Arduino IDE (klikoni dy herë arduino.exe). Ngarko skicën Sonoff-Tasmota përmes Skedari> Libri i skicave> sonoff. Nuk ka nevojë të bëni ndonjë redaktim. Të gjitha cilësimet bëhen përmes një lidhjeje serike pasi të jetë ngarkuar firmueri. Këto ruhen në EEPROM. Prandaj firmware mund të përditësohet dhe të gjitha cilësimet të ruhen. Kjo është një gjë mjaft e zgjuar. Sidoqoftë, mund të shmangni nevojën për disa hapa këtu duke shkuar te skedari user-config.h dhe duke futur SSID-in tuaj wifi dhe fjalëkalimin dhe MQTT_HOST (zëvendësoni 'domus1'– referencën e dytë, me adresën tuaj Pi IP). Më vonë ju mund të dëshironi të futni një përdorues dhe fjalëkalim MQTT gjithashtu. Para shkarkimit, kontrolloni cilësimet e tabelës nën Mjetet. Këto do të kenë nevojë për disa ndryshime që të përputhen me kërkesat e përcaktuara në Wiki. Tani klikoni në përpilim (ikona e shënimit). Duhet të përpilohet OK. Nëse jo ose nëse cilësimet e kërkuara të tabelës nuk janë të disponueshme, atëherë kthehuni dhe kontrolloni çdo hap të konfigurimit.
Hapi 6: Riprogramimi i një ndërprerës Sonoff
Tani jemi gati për shkarkim. Në këtë fazë mund të shkoni drejtpërdrejt dhe të ndizni një ndërprerës Sonoff ose së pari mund të ndizni një modul ESP8266. Unë e bëra këtë të fundit, pjesërisht sepse çelsat e mi nuk kishin ardhur akoma (sapo mbërritën ndërsa shkruaj këtë!), Por edhe si një masë paraprake pasi ndezja e ndërprerësit Sonoff është një hap me një drejtim pasi firmueri origjinal nuk është publikisht i disponueshëm për aq sa Unë jam i vetëdijshëm. Unë kam disa borde NodeMCU. Këto janë të lehta për t'u lidhur, duke pasur konvertuesin e tyre USB në serial. Sidoqoftë, metoda e rivendosjes nodemcu nuk funksionon me këtë sistem. Pra, lini Tools> Reset Method të vendosur në "ck". Bëni konfigurimin normal të blicit duke mbajtur butonin Flash (GPIO 0 në tokë) ndërsa shtypni dhe lëshoni Reset (Rivendosni në tokë). Unë nuk jam i sigurt nëse kjo ka një afat kohor ose ndoshta nuk e kam mbajtur GPIO 0 të ulët për një kohë të gjatë, por më duheshin disa përpjekje, përfshirë bërjen e kësaj ndërsa Arduino IDE është duke u përpiluar!
Nëse dëshironi të kontrolloni përgjigjet - dalja e stafetës është D6 në bordet NodeMCU. Në ESP12 është GPIO 12. Dalja LED është D7 (NodeMCU) ose GPIO 13 (ESP12).
Çelësi Sonoff.
KUJDES: Më duhet të them "mos u lidhni me rrjetin elektrik në asnjë rrethanë kur mbyllja është e hapur". Vini re se PCB (të paktën në Sonoff Basic (ndërprerës në linjë) ka vetëm distanca 'izolimi të vetëm' midis seksionit të tensionit të ulët dhe rrjetit elektrik. Pra, dikush duhet të trajtojë çdo pjesë të qarkut Sonoff si tension kryesor. Sonoff- Tasmota GitHub tregon lidhjen e një sensori të temperaturës dhe lagështisë me një Sonoff S20. Unë nuk do ta bëja këtë për shkak të shqetësimeve të izolimit. - kështu që nëse doni ta bëni këtë merrni një modul ESP12 ose NodeMCU dhe vendoseni këtë veç e veç me një izolim të dyfishtë të duhur ose furnizimin me energji të tokëzuar.
Ndërprerësi shtesë Sonoff S20 është një pikënisje e mirë, pasi nuk ka nevojë për instalime elektrike. Kjo mund të hapet duke hequr një vidë (nën vulën e sigurisë) dhe duke e hapur kasën hapur. Fotografia më poshtë tregon se ku janë etiketat. Shtrydhja e rastit në këto pika ndihmon.
Konvertues serial USB
Konvertuesi im i preferuar është versioni FTDI. Sidoqoftë, kjo nuk ka aftësinë e duhur për të furnizuar nevojat e Sonoff 3.3v. Specifikimi FTDI thotë maksimum 50ma. Alternativa tjetër më e mirë është ajo që përdor çipin CP2102. Kjo megjithatë ka një kufi 100ma që ende nuk është i mjaftueshëm. Arlyshtë e qartë se shumë po e përdorin këtë konvertues direkt, por ka edhe raporte të dështimit të ngarkimit. Do të kufizoja kohën kur lidhet pasi do të ngrohet nën ngarkesë. Bëni këtë në rrezikun tuaj. Zgjidhja ideale është që të keni edhe një rregullator 3.3v, p.sh. një AMS1117 3.3. Unë krijova një PCB të vogël për ta mundësuar këtë. Shihni Programues për pajisjet Sonoff.
Sekuenca ime për programimin është si më poshtë:
Hapni Arduino IDE.
Nën Veglat kontrolloni cilësimet janë si në Wiki.
Bëni çdo redaktim të kërkuar në user_config.h. Vendosa SSID -in Wifi dhe fjalëkalimin dhe adresën e ndërmjetësit MQTT dhe detajet e zonës kohore/kursimeve të ditës.
Klikoni 'verifiko' për të kontrolluar që përpilon OK.
Lidheni konvertuesin serik USB (më vete) në PC. Vini re numrin e Portit.
Tani shkëputni prizën serike USB nga kompjuteri dhe lidheni atë me çelësin Sonoff. Kontrolloni tokëzimin dhe lidhjet 3v3 janë në rrugën e duhur (toka është e lidhur me rrafshin tokësor në PCB Sonoff).
Mbajeni programuesin në mënyrë që kontaktet të jenë të sigurta ndërsa shtypni edhe butonin.
Tani lidhni prizën USB në PC, kontrolloni që numri i portës është i saktë (në Vegla), pastaj klikoni në shkarkim.
Unë vazhdoj ta mbaj butonin gjatë gjithë programimit sepse nuk dua të shqetësoj lidhjet.
Kur të keni mbaruar, duhet të shihni një ekran si më poshtë:
Sonoff ka nevojë për disa pjesë informacioni për t'u lidhur me sistemin tonë: rrjetin lokal wifi SSID dhe fjalëkalimin dhe adresën IP Pi. Ka disa mënyra për ta bërë këtë, njëra prej të cilave është modifikimi i skedarit config.ino siç u përmend më herët. Nëse keni një smartphone, mundeni (pasi të montoni përsëri çelësin) të shtypni butonin Sonoff 4 herë mjaft shpejt për ta vënë atë në një modalitet të serverit në internet. LED do të ndizet. Më është dashur të provoj disa herë që kjo të funksionojë. Pastaj, në smartphone tuaj kërkoni rrjetin e ri Sonoff dhe lidheni. Do të shfaqet një faqe në internet ku mund të vendosni të dhënat e kërkuara. Adresa IP Pi hyn në emrin e hostit. Unë gjithashtu ndryshova SSID -in e dytë dhe fjalëkalimin në diçka të gjatë dhe në thelb të papërdorshme.
Përndryshe, mund të konfigurohet përmes lidhjes serike menjëherë pas ngarkimit. Hapni Arduino Serial Monitor (nën Veglat).
Komandat për të hyrë:
SSId Wi -FiSSID tuaj
Fjalëkaloni fjalëkalimin tuaj WiFi
MqttHost 192.168.x.y (adresa IP e PI)
Ju gjithashtu mund të futni SSId1 dhe Password1 të ndjekur nga diçka e gjatë dhe e papërdorshme për ta çaktivizuar atë në mënyrë efektive.
Tani mund të vendosni çelësin Sonoff, të hapni Node-Red dhe panelin e kuq të Nyjes dhe të klikoni butonin switch dhe të shikoni skedën e korrigjimit që tani duhet të përfshijë përgjigjet nga Sonoff. Pra, kemi një hap tjetër të madh të arritur - kalimi ynë i parë drejtohet nga një kompjuter/smartphone.
Deri tani nuk kemi përmendur sigurinë. Ekziston mundësia për të përdorur komunikime të koduara. Kjo është mjaft komplekse për tu vendosur dhe ndoshta më e përshtatshme kur përdoret një ndërmjetës i bazuar në cloud. Ekziston gjithashtu opsioni për të shtuar emrat e përdoruesit dhe fjalëkalimet për të gjitha pajisjet e lidhura dhe moslejimin e përdoruesve anonimë. Kjo është mjaft e thjeshtë për tu vendosur. Dhe kështu tani për Sigurinë.
Hapi 7: Siguria
MQTT lejon emrat e përdoruesve dhe fjalëkalimet për secilin klient. Kjo është e lehtë për tu konfiguruar. Ndoshta është më e lehtë që së pari të riemërtoni secilën pajisje dhe më pas të vendosni emrat e përdoruesve dhe fjalëkalimet e tyre. Kjo mund të bëhet përmes komandave MQTT, dhe Node-Red është ndoshta mënyra më e lehtë për t'i dërguar këto. Së pari vendosni për një konventë emërtimi. Një opsion është të bazoni emrat në vendndodhjen dhe funksionin. Atëherë do të dëshironi të regjistroni emrin (fjalëkalimin) e përdoruesit dhe fjalëkalimin së bashku me temën zëvendësuese. Vini re se ekziston gjithashtu një 'opsion rivendosjeje' për të rivendosur cilësimet Sonoff në shkarkimin origjinal (shiko Përdorimi Wiki> Funksionaliteti i Butonit).
Ndizni pi dhe pas disa sekondash hapni një shfletues në Node-Red (adresa IP: 1880).
Në Node-Red vendosni një nyje injeksioni dhe lidheni këtë me një dalje mqtt dhe vendosni serverin mqtt në localhost. Lëreni temën, përdoruesin dhe fjalëkalimin bosh pasi ne do t'i vendosim këto në nyjen e injektimit. Vendosni gjithashtu një nyje hyrëse mqtt dhe lidheni këtë me një nyje debugimi në mënyrë që të mund të shohim përgjigjet. Vendosni shënimin hyrës mqtt në localhost (duhet të jetë vendosur tashmë) dhe futni+/+/+për temën në mënyrë që të kapë të gjithë trafikun.
Vendosni sekuencën e mëposhtme të cilësimeve në nyjen e injektimit.
Së pari kontrolloni lidhjen me
Tema: cmnd/sonoff/Statusi
Mesazhi: 6
klikoni në 'Injekto një herë në fillim'. Vendosni Ne duhet të shohim debug duke përfshirë 7 rreshta të të dhënave nga stat/sonoff/STATUS6
Shkruani temën: cmnd/sonoff/Tema dhe Mesazhi: loungelight. Vendosni Kjo ndryshon kalimin e emrit nga sonoff në loungelight
Skeda e korrigjimit duhet të tregojë që pajisja të riniset me emrin/temën e saj të re
Tema: cmnd/loungelight/MqttUser
Mesazhi: loungelight
Klikoni në vendosje. Një debug duhet parë nga stat/loungelight/RESULT me {"MtqqUser": "loungelight"}
Tema: cmnd/loungelight/MqttPassword
Mesazhi: loungelightPW (shënimi të jetë më imagjinativ se kjo!)
Pastroni skedën e korrigjimit dhe vendosni.
Një përgjigje duhet parë nga stat/loungelight/RESULT me {"MqttPassword": "loungelightPW"}
Tani futni NodeRed dhe NodeRedPW si emër përdoruesi dhe fjalëkalim në nyjen mqtt out. Kjo bëhet përmes ikonës së lapsit Server dhe skedës së sigurisë në dritaren që hapet. Kjo automatikisht kopjohet në nyjet e tjera MQTT.
Kontrolloni përsëri me
Tema: cmnd/loungelight/Statusi dhe Mesazhi: 6. Vendosni
Dhe përgjigja dërgohet.
Pra, në këtë pikë ne kemi riemëruar pajisjen tonë Sonof kështu që do të dëgjojë temat cmnd/loungelight/…… dhe do të hyjë në ndarjen MQTT me emrin e përdoruesit loungelight dhe password loungelightPW. Ne gjithashtu kemi vendosur një emër përdoruesi dhe fjalëkalim për Node-Red.
Tjetra ne duhet t'i tregojmë serverit MQTT të mushkonjave që të pranojë vetëm klientë me emra përdoruesi dhe të listojë emrat e përdoruesve dhe fjalëkalimet që do të pranohen.
Procedura është:
- Ndaloni mushkonjat
- Krijoni skedarin tuaj të konfigurimit
- Ndryshoni skedarin e konfigurimit
- Krijoni një skedar fjalëkalimi
- Shtoni përdorues/fjalëkalime.
Pra, regjistrohuni me një sesion të ri PuTTY dhe ekzekutoni komandat e mëposhtme:
sudo /etc/init.d/mosquitto ndalet
cd /etc/mosquitto/conf.d/
sudo nano mosquitto.conf Kjo fillon redaktorin.
Shto rreshta:
lejoni_anonim false
password_file /etc/mosquitto/conf.d/passwd
kërkojnë_ vërtetim të rremë
Ruaj dhe dil (Ctrl+X), Y, fut.
sudo touch passwd Kjo krijon një skedar fjalëkalimi dhe udhëzimet e mëposhtme shtojnë emra dhe fjalëkalime.
sudo mosquitto_passwd -b /etc/mosquitto/conf.d/passwd loungelight loungelightPW
sudo mosquitto_passwd -b /etc/mosquitto/conf.d/passwd NodeRed NodeRedPed
sudo /etc/init.d/mosquitto rinis
Vini re kur shtoni një pajisje të re ose do të duhet të futni përdoruesin dhe fjalëkalimin përmes portës seriale dhe t'i shtoni ato në skedarin e fjalëkalimit ose të ndryshoni përkohësisht skedarin e konfigurimit të mushkonjave dhe të komentoni (shtoni # në fillim të rreshtit) rreshtat "lejoni_anonim të rremë "dhe" password_file /etc/mosquitto/conf.d/passwd "dhe pastaj rivendosni këto kur detajet janë dërguar në pajisje dhe shtuar në skedarin e fjalëkalimit si më sipër.
Ne kemi ndryshuar emrin sonoff në loungelight dhe kështu azhurnojmë nyjen e daljes mqtt (e lidhur me ndërprerësin) për të përdorur temën cmnd/loungelight/POWER.
Klikoni Deploy dhe kontrolloni që nyjet mqtt tregojnë 'të lidhura'.
Tjetra provoni butonin e kalimit dhe shikoni për korrigjimin që tregon ndërprerësin Sonoff që përgjigjet. Ju do të vini re se pajisja tregon ndryshimin me një temë: stat/loungelight/POWER. Pra, tani ndryshoni nyjen hyrëse që ishte vendosur në cmnd/sonoff/POWER në stat/loungelight/POWER. Ne mund ta përdorim këtë kapak për një hendek në funksionalitetin tonë. Sistemi siç u krijua fillimisht do të sinkronizohet me të gjithë përdoruesit e regjistruar, por nuk do të sinkronizohet me ndryshimet e ndërprerësve të bëra duke shtypur butonin në çelësin Sonoff. Pra, tani lidhni daljen e nyjes hyrëse stat/loungelight/POWER mqtt me hyrjen e kalimit (LHS). Tani klikoni dy herë në ndërprerës dhe zgjidhni "nëse mesazhi arrin në hyrje, kaloni në dalje". Kjo sjell disa opsione të reja - zgjidhni 'ikona e ndërrimit tregon gjendjen e hyrjes'. Vendosni Pra, tani ne kemi një lak të mirë reagimesh. Pozicioni i ndërruesit të pultit do të ndryshojë gjithmonë kur ndërrohet ndërprerësi Sonoff, pavarësisht se ku është filluar ndryshimi.
Pra, ne tani kemi një sistem të sigurt, të pavarur të automatizimit të shtëpisë në funksion dhe gati për zgjerim në gjithçka që dëshironi të bëni. Në pjesën tjetër do të mbuloj disa nga eksperimentimet e mia deri më tani dhe sfidat që kam në plan të përballoj.
Hapi 8: Hapat fillestarë për zgjerim
Unë kam një tjetër Bord të Zhvillimit të LED-ve të Sensorëve Sonoff-Tasmota të Automatizimit të Shtëpisë të Udhëzueshëm që tregon disa nga aftësitë e mëtejshme të firmware Sonoff-Tasmota:
Matja e Temperaturës dhe Lagështisë
Zbulimi i ndërhyrës (kalimi i hyrjes)
Telekomandë IR (për TV etj)
Vargjet LED - si RGB ashtu edhe NeoPixel (të adresueshme individualisht)
Sensorë I2C
Për sa më sipër unë jam duke përdorur një ESP12F dhe një PCB të personalizuar. Një NodeMCU dhe breadboard mund të përdoren në mënyrë të barabartë. Kjo mundëson këto funksione shtesë pa u lidhur me një pajisje Sonoff, dhe kështu është një qasje shumë më e sigurt. Me hyrjen e temperaturës unë kam qenë në gjendje të përfundoj automatizimin tim të batanijeve elektrike.
Muzika dhe Radio në Internet mund të shtohen lehtësisht. Kjo hap opsionet që stacionet ose albumet specifike të dalin në orare të caktuara ose ndoshta në përgjigje të zbulimit të një vizitori (telefoni). Ky udhëzues i lidhur është në Cilësues të Lartë të Muzikës dhe Radio në Internet me Smartphone Control. Meqenëse kjo drejtohet gjithashtu nga Node-RED, madje duhet të jetë e mundur të keni më shumë se një sistem zanor dhe të përdorni komunikimin MQTT për t'i drejtuar ato.
Unë gjithashtu kam eksploruar Node-Red, duke përfshirë dërgimin e postave elektronike dhe bërjen e njoftimeve zanore. Ekziston gjithashtu mundësia që sistemi të zbulojë kur jeni brenda/jashtë - duke pinguar adresën IP të telefonit tuaj celular. Node -Red gjithashtu mund të ketë qasje në mot dhe lajme - kështu që dikush mund të shtojë informacion, si dhe të bëjë automatizimin.
Ka disa truke që duhen mësuar - por këto bëhen të lehta për herë të dytë.
Një tjetër rrugë është shtimi i një ekrani në pi për të treguar pultin. Kjo është 'punë në progres' - ose me fjalë të tjera nuk jam shumë i lumtur. Ekrani që mora është e vështirë të rrotullohet në modalitetin e portretit dhe shfletuesi Chromium është shumë i ngadalshëm. Një alternativë do të ishte marrja e një tableti të vjetër në ebay dhe përdorimi i tij. Mund të provoj me një Pi 2 dhe të shoh nëse kjo sjell një përmirësim të mjaftueshëm (modeli B i përdorur për këtë zhvillim).
Shpresoj që kjo t’ju fillojë dhe imagjinata juaj të gumëzhisë. Shtrirja e mundshme është e madhe. Dikush madje mund të modifikojë kodin Sonoff për sensorë të tjerë nëse është e nevojshme.
Në përgjithësi unë kam qenë i habitur se çfarë mund të bëjë ky sistem. Objektivi im fillestar ishte thjesht të lëvizja një kalim nga një smartphone në një mënyrë të besueshme përmes një sistemi të pavarur. Unë kisha vizione të nevojës për të menaxhuar serverët dhe klientët dhe për të shkruar html për një ndërfaqe përdoruesi. Aty ku përfundoi kjo është shumë përpara kësaj, me siguri më të madhe, besueshmëri të shkëlqyeshme, ndërfaqe fantastike të përdoruesit, programim drag and drop dhe potencial të madh për zgjerim. Dhe e gjithë kjo me shumë më pak përpjekje.
Majk
Hapi 9: Shtesa - Ngarkimi Nga Raspbian Stretch Lite
Ky opsion shmang bloatware që vjen me versionin e plotë Raspbian Stretch. Pjesa më e madhe e kësaj nuk do të jetë e nevojshme kur përdorni një Pi për automatizimin e shtëpisë. Sidoqoftë, Node-Red duhet të instalohet.
Vazhdoni si në Hapin 1, por duke përdorur Raspbian Stretch Lite në vend të Raspbian Stretch.
Në vend të hapit 2, bëni sa më poshtë:
sudo apt -y instaloni npm
npm -v duhet të kthehet: 1.4.21 ose më vonë
sudo npm install -g n
sudo n 8.9.0
Tani mund të përdorim menaxherin e paketave të nyjeve për të instaluar Node-Red:
sudo npm instaloni nyjen-e kuqe-globale-e pasigurt-perm
Kjo do të japë disa mesazhe gabimi për shkak të një adrese të pasaktë. Sistemi megjithatë bën një "përpilim burimi" për të korrigjuar këtë problem. Nëse e përsëritni udhëzimin e mësipërm (nuk është e nevojshme) gabimet nuk ndodhin.
Tani kemi Node-Red dhe paketat e tij mbështetëse të instaluara dhe mund të kalojmë në Hapin 3, duke ngarkuar mushkonjat.
Vendi i dytë në konkursin pa tel