
Satura rādītājs:
- 1. solis: ielādējiet Pi ar Rasbian Stretch
- 2. darbība. Atjauniniet un pievienojiet funkcijas mezglam-sarkans
- 3. darbība: Mosquitto MQTT instalēšana
- 4. solis: mezgla sarkanās saskarnes iestatīšana
- 5. darbība: Arduino sistēmas iestatīšana Sonoff ierīču pārprogrammēšanai
- 6. darbība: Sonoff slēdža pārprogrammēšana
- 7. darbība. Drošība
- 8. darbība. Sākotnējās darbības paplašināšanai
- 9. solis: papildinājums - ielāde no Raspbian Stretch Lite
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59

Šajā rokasgrāmatā vajadzētu nokļūt pirmajā bāzē, kur varat ieslēgt/izslēgt gaismu vai ierīci, izmantojot jebkuru ierīci, kas var izveidot savienojumu ar jūsu vietējo tīklu, un ar lielisku pielāgojamu tīmekļa saskarni. Funkciju paplašināšanas/ pievienošanas iespējas ir plašas, ieskaitot e -pasta ziņojumu sūtīšanu, twitter ziņojumus, lasīšanas sensorus (piemēram, temperatūru). Jūs varat viegli noteikt noteikumus, piem. - ja temperatūra pulksten 23:00 ir zemāka par 15 ° C, ieslēdziet elektrisko segu uz 30 minūtēm. Sistēma izmanto MQTT protokolu ar TCP, kas ir daudz uzticamāks nekā UDP - to pārsteidzoši izmanto dažas komerciālas mājas automatizācijas ierīces. Kad šeit aprakstītais smagais sistēmas iestatīšanas darbs ir paveikts, jautrība var sākties. Sarkanais mezgls nodrošina fantastisku lietotāja interfeisu, kas ir intuitīvs, ātrs un viegli uzstādāms un nodrošina pārsteidzošas iespējas.
Rezultāts ir spēcīga mājas automatizācijas sistēma, kas ir pilnībā pakļauta jūsu kontrolei un pilnībā darbojas lokālajā tīklā. Daudzas Instructables parādītās sistēmas darbojas ar mākoņa serveriem, un tāpēc tās ir drošības risks un var prasīt abonēšanu. Tos ir vieglāk uzstādīt, taču tiem ir lielāks drošības risks un, iespējams, augstākas izmaksas. Man jāpiebilst, ka Pi var iestatīt VPN (virtuālo privāto tīklu), lai nodrošinātu drošu savienojumu ar mājas tīklu/sistēmu, ja būtu noderīga piekļuve no ārpuses (norādījumiem par Google Pi OpenVPN).
Šai sistēmai nepieciešama Sonoff ierīču pārprogrammēšana ar lielisku atvērtā koda sistēmu Sonoff-Tasmoda. To var izdarīt, izmantojot īpašu Arduino iestatījumu un USB uz sērijas pārveidotāju. Sonoff ierīces izmanto ESP8266 Wi-Fi mikroshēmu, lai jūs varētu arī izveidot savas ierīces, izmantojot ESP8266 moduļus, vai arī piestiprināt tās citiem priekšmetiem, lai nodrošinātu bezvadu savienojumu.
Lielākais uzdevums ir izveidot Raspberry Pi kā centru. Tas vada MQTT brokeri (vai serveri), kas pārvalda saziņu ar pievienotajām ierīcēm. Pi arī vada sistēmu ar nosaukumu Node-Red, kas var pārtvert ziņojumus un datus un izvades komandas, piemēram, kad ieslēgt elektrisko segu. Node-Red nodrošina arī interfeisu tīmekļa lapas apkalpošanai, kurā varat pieteikties, izmantojot viedtālruni/planšetdatoru/datoru/klēpjdatoru, lai redzētu notiekošo un iespējotu manuālu gaismas pārslēgšanu utt.
Mans mērķis ar šo pamācību ir sniegt katru soli pietiekami detalizēti, lai iesācējs varētu iedarbināt sistēmu.
Darbības ir šādas:
- Ielādējiet Pi ar Rasbian Stretch
- Atjauniniet un pievienojiet funkcijas mezglam-sarkans
- Instalējiet Mosquitto MQTT brokeri
- Iestatiet Arduino vidi Sonoff-Tasmota programmaparatūras augšupielādei
- Pārprogrammējiet Sonoff slēdzi
- Iestatiet Node-Red saskarni
- Pārbaudiet, vai tas viss darbojas.
Aparatūra, kas jums būs nepieciešama:
- Raspberry Pi un barošanas avots (un tastatūra un monitors sākotnējai iestatīšanai) (šeit izmantots B modelis)
- Sonoff slēdzis
- USB sērijas pārveidotājs
- Pēc izvēles - ESP izstrādes padome, piemēram, NodeMCU.
Mana pieredze ar Raspberry Pi ir tāda, ka, liekot kaut ko, šķiet, ir vajadzīgas daudz vairāk sāpju, nekā varētu iedomāties, ja kaut kas nedarbojas vai iestrēgst kādā triviālā solī, kur skaidrojums varēja būt labāks. Forumi ne vienmēr saņem padomus, kas darbojas! Es atradu vairākus maršrutus, kas viena vai otra iemesla dēļ vienkārši nedarbojās. Tas maksāja 3 dienas! Pēc tam es visu noslaucīju un sāku no jauna un pabeidzu mazāk nekā (garā) dienā. Tomēr tas izmantoja vecāko Raspijas Džesiju. Pēc tam es atradu veidu, kā izmantot pašreizējo un nesen izlaisto versiju (Stretch), un darīju visu vēlreiz. Šī rokasgrāmata ļauj kopēt un ielīmēt instrukcijas Pi. Tātad jums vajadzētu darīt pēc dažām stundām. Jebkurā gadījumā es ceru, ka tādējādi jūs ātrāk nokļūsit mācīšanās līknē un ar daudz mazāk sāpēm. Ticiet man, tas ir tā vērts gala rezultāta dēļ.
1. solis: ielādējiet Pi ar Rasbian Stretch
Tam vajadzētu būt diezgan vienkāršam. Sāciet ar 8Gb vai 16Gb SD karti. Lejupielādējiet jaunāko versiju no:
www.raspberrypi.org/downloads/
Galvenais pavediens šeit pieņem, ka ir ielādēta pilna versija. Tomēr, lai ietaupītu vietu, varat izmantot vienkāršoto versiju. Ja izmantojat Raspbian Stretch Lite, veiciet šo darbību un beigās pārejiet pie 9. darbības.
Izsaiņojot lejupielādēto failu, tiek iegūta mape ar.img failu. 7Zip ir ieteicams operētājsistēmai Windows (un The Unarchiver Mac). Attēls ir jāsadedzina SD kartē, taču jāizmanto īpaša programma, jo failu sistēma nav saderīga ar Windows. Ieteicamās programmatūras nosaukums ir Etcher, un to var lejupielādēt no:
etcher.io/
Norādījumi Etcher ir viņu vietnē un diez vai varētu būt vienkāršāk. Atlasiet attēlu un disku un noklikšķiniet uz Flash.
Tagad ar mūsu mirgo SD karti ar var palaist Pi.
Ja jūs zināt IP adresi, kuru izmanto jūsu Pi, vai esat priecīgi to atrast, piesakoties maršrutētājā, tad varat izvairīties no tastatūras un monitora nepieciešamības un nekavējoties izmantot SSH. Vienkārši pievienojiet tukšu failu ar nosaukumu SSH SD kartei, ievietojiet to, izveidojiet savienojumu ar Ethernet un ieslēdziet. Pretējā gadījumā izpildiet tālāk sniegtos norādījumus.
Savienojiet Pi ar internetu, ekrānu, peli un tastatūru un pievienojiet strāvai. Pirmā lieta, ko mēs darīsim, ir iespējot SSH, lai mēs varētu veikt lielāko daļu iestatījumu, ērti izmantojot datoru. To, protams, var izdarīt tieši, taču ļoti palīdz tas, ka šo rokasgrāmatu var ievērot tajā pašā ierīcē, kurā tiek vadīts Pi, un lielākajā daļā instrukciju izmantot kopēšanu un ielīmēšanu. Arī manā gadījumā mana datora darbstacija ir jauka un ērta, taču nav pietiekami liela arī pi.
Ir pieejams ceļvedis, lai veiktu lielu darbu pie YouTube videoklipa. Šeit es sāku. Varat arī palaist videoklipu, izpildot šos norādījumus. Tomēr, vēlreiz rakstot šo procesu, man bija vieglāk izpildīt šeit sniegtos norādījumus. Ir dažas būtiskas novirzes. Ir arī dažas sadaļas, kurās esmu ieteicis sekot video, nevis uzskaitīt šeit norādītās darbības. Tomēr es ieteiktu to apskatīt, lai iegūtu izpratni par MQTT, Node-Red un plašo iestatīšanas procesu. Video ir 38 minūtes garš, tāpēc jūtieties ērti. Video sākas ar parādīšanu, ko var paveikt mezgls Red, un pēc tam aptver Pi instalēšanu un iestatīšanu, kam seko Sode Red jaunināšana un visbeidzot Mosquitto instalēšana. Galvenie laiki, ja vēlaties atgriezties sadaļā:
00:00 Ievads video
03:00 Node Red demonstrācija
14:14 Informācijas paneļa vienumu importēšana Sarkanajā mezglā
21:05 Pi sākotnējā iestatīšana, ieskaitot SSH
23:35 Node Red atbalsta koda uzstādīšana
27:00 Ievads MQTT
29:12 Mosquitto (MQTT) instalācija (piezīme darbojas tikai Raspian Jessie)
33:00 Mezgls Sarkanie piemēri
Es uzskaitīšu komandas treknā slīprakstā (nevis izmantojot “”). Šo formatējumu ignorē, kopējot un ielīmējot tos Pi.
Ievads mezglā Red sniegs jums priekšstatu par to, ko sistēma var darīt, un sniegs priekšstatu par to, kur mēs nonāksim.
YouTube videoklips ir pieejams vietnē
Izpildiet instalēšanas procedūru no 21:05 līdz 23:35. Ņemiet vērā, ka noklusējuma pieteikšanās ir lietotājs: pi un parole: aveņu. Pirms restartēšanas atrodiet pi IP adresi. Darbvirsmas augšējā joslā noklikšķiniet uz ikonas “augšup+lejupvērstā bultiņa” vai termināla/termināļa logā ievadiet šādu instrukciju:
sudo ifconfig adrese
Pēc tam atzīmējiet IP adresi pēc: inet addr:. Tas būs formā 192.168.x.y
Ievērojiet šo adresi un restartējiet (ievadiet: sudo shutdown –r now)
Galvenais šajā brīdī ir tas, ka SSH ir iespējots, un no datora var izveidot saiti uz Pi (Mac un Linux ietver SSH saskarnes). Laba programma, lai to izdarītu, ir bezmaksas lejupielāde ar nosaukumu PuTTY, ko var izmantot arī kā seriālo saskarni un kas var veikt Telnet. Tepe ir pieejama no:
www.chiark.greenend.org.uk/~sgtatham/putty…
Lejupielādējiet un instalējiet PuTTY.
Tagad, kad Pi ir restartēts, palaidiet PuTTY un ievadiet iepriekš norādīto IP adresi. Skatiet piemēru zemāk:
Tagad noklikšķiniet uz Atvērt
Pēc pieteikšanās kā: ievadiet pi
Pēc tam ievadiet savu paroli.
Tagad izpildiet šeit sniegtos norādījumus un pēc izvēles sāciet video no 23:35. Vairumā gadījumu varat kopēt un ielīmēt. Iezīmējiet tekstu un kopēšanai izmantojiet taustiņu kombināciju ctrl+C. Pēc tam ar peles labo pogu noklikšķiniet uz PuTTY, lai ielīmētu. Dažreiz teksts neparādās uzreiz, tāpēc pagaidiet dažas sekundes. Ja ievadāt divas reizes, izmantojiet atpakaļatkāpes taustiņu, lai izdzēstu otro ierakstu. Nospiediet enter, lai izpildītu katru norādījumu.
sudo raspi atjauninājums
Es saņēmu komandu, kas netika atrasta, un ignorēju šo un šādu izslēgšanas/restartēšanas instrukciju:
sudo shutdown -r tagad
sudo apt -get -y atjauninājums
sudo apt -get -y jauninājums
Tas prasa kādu laiku ….
sudo apt-get autoremove
sudo apt -get -y atjauninājums
sudo shutdown -r tagad
Šajā brīdī mums ir ielādēta un atjaunināta operētājsistēma Pi, kas ir gatava nākamajam solim.
2. darbība. Atjauniniet un pievienojiet funkcijas mezglam-sarkans
PuTTY savienojums tiks zaudēts, restartējot iepriekšējo darbību. Tāpēc aizveriet PuTTY un pēc gaidīšanas, kad Pi tiks palaists, piesakieties vēlreiz kā iepriekš.
Esmu pārgājis uz vienkāršāku un uzticamāku metodi, lai ielādētu mezglu-sarkano-ievērojot pieeju vietnē https://nodered.org/docs/hardware/raspberrypi. Tas izmanto skriptu un instalēs vai jauninās mezglu-sarkano-tāpēc pieeja ir tāda pati, strādājot no Raspbian Stretch pilnajām vai vienkāršākajām versijām. Tātad ievadiet:
bash <(curl -sL
Kad tiek prasīts, ievadiet Y (divas reizes). Šis skripts arī ielādē failus, kas nepieciešami, lai iespējotu mezgla sarkano automātisko palaišanu.
Tātad šajā brīdī mūsu pi ir ielādēts un atjaunināts, kā arī ar atjauninājumiem, kas nepieciešami mezglam Red. Pirms nākamā posma restartēšana nav kaitīga.
sudo shutdown -r tagad
3. darbība: Mosquitto MQTT instalēšana
Ja vēl neesat to izdarījis, no 27:00 ir vērts apskatīt video ievadu MQTT.
Šeit mums jāizvēlas cits ceļš. Videoklipā aprakstītā procedūra darbojas tikai Raspian vecākajai Džesijas versijai. Par moskītu vietni notiek diskusija, bet nav parādīts skaidrs rezultāts, un tāpēc tiks ievērots vienkāršāks un drošāks ceļš.
Tāpēc piesakieties, izmantojot PuTTY, un ievadiet šādu informāciju:
sudo apt-get update
sudo apt-get install moskītu moskītu klienti
Y
sudo /etc/init.d/mosquitto stop
sudo /etc/init.d/mosquitto start
Pēdējās divas instrukcijas apstājas un sāk odu un parāda, ka mūsu MQTT brokeris strādā.
Lai veiktu ātru pārbaudi, atveriet vēl divas PuTTY sesijas un piesakieties katrā.
Jūs jau zināt, ka MQTT darbojas ar ierīci, kurai vajadzīgi dati, abonējot “tēmu”. Brokeris nosūtīs visus datus ar vienu un to pašu “tēmu”. Tad ierīce, kas vēlas nosūtīt datus/instrukcijas, to publicē brokerim, izmantojot to pašu “tēmu”.
Tātad vienā PuTTY sesijā ievadiet:
mosquitto_sub -d -t sveiki/pasaule
Šis ir norādījums abonēt tēmu: sveiki/pasaule.
Otrā ievadiet:
mosquitto_pub -d -t hello/world -m "Sveiciens no 2. termināļa loga!"
Šī ir publicēšanas instrukcija ar to pašu tēmu ar ziņojumu. Teksts: “Labdien no 2. termināļa loga!” tagad vajadzētu parādīties citā terminālī.
Labi paveikts tikt tik tālu. Tagad Pi ir ielādēts un atjaunināts ar atjauninājumiem, kas nepieciešami mezglam-Red, un ir uzstādīts un pārbaudīts moskītu MQTT brokeris. No šī brīža dzīve kļūst vieglāka un jautrāka. Aizveriet divas PuTTY sesijas, kas izmantotas MQTT testam.
4. solis: mezgla sarkanās saskarnes iestatīšana
Vispirms mums jāsāk sarkanais mezgls. Ievadiet instrukciju:
mezgls-sarkans-pi-max-old-space-size = 256
Pagaidiet, līdz tas sāk darboties, un jūs redzat tekstu “Sāktās plūsmas”.
Tagad atveriet pārlūkprogrammu, es izmantoju pārlūku Chrome un ievadiet iepriekš norādīto pi adresi, kam seko: 1880, t.i., kaut kas līdzīgs 192.168.0.8:1880
Tagad jums vajadzētu redzēt mezgla sarkanās programmēšanas lapu, kā parādīts zemāk:
Tagad varat sekot mezgla sarkanajiem piemēriem, sākot no pulksten 33:00, vai pāriet tieši uz nelielu papildu iestatīšanu un ielādēt pirmo plūsmu, kas parādīs saiti uz MQTT un būs gatava vadīt mūsu slēdzi.
Nepieciešamā papildu iestatīšana ir informācijas paneļa elementu pievienošana, kas iespējo tīmekļa saskarni.
Tie ir redzami video 14:14.
Izpildiet norādījumus, lai ielādētu mezgla sarkano informācijas paneli.
Tagad mēs varam nedaudz paspēlēties un parādīt, kā MQTT darbojas un tiek vadīts ar mezglu-sarkano. Tas nav redzams videoklipā, bet ir šī projekta atslēga. Jūs varat sekot maniem norādījumiem un/vai importēt plūsmas no pievienotā NRtest1.txt faila.
Vispirms pievienojiet ievades ievadīšanas mezglu un izejas mqtt mezglu un savienojiet tos kopā.
Veiciet dubultklikšķi uz injicēšanas mezgla (tas sākotnēji ir apzīmēts kā laika zīmogs). Sadaļā “Payload” izmantojiet ikreiz, lai pārslēgtos uz virkni, un ievadiet: Hello from me. Atstājiet tēmu tukšu, jo mēs to varam ievadīt MQTT mezglā. Noklikšķiniet uz Gatavs
Tagad veiciet dubultklikšķi uz MQTT mezgla. Noklikšķiniet uz zīmuļa ikonas servera sadaļas labajā pusē. Tas atver jaunu dialoglodziņu. Sadaļā Server ievadiet: localhost. Noklikšķiniet uz Pievienot. Tagad, atpakaļ rediģēšanas mezglā, ievadiet mūsu tēmu sadaļā Tēma: sveiki/pasaule. Iestatiet QoS uz 1. Noklikšķiniet uz Gatavs. Tagad noklikšķiniet uz Izvietot. Jums vajadzētu redzēt zaļu lāsi un “savienotu” zem mqtt mezgla.
Tagad pievienojiet vēl divus mezglus - ievadiet mqtt un izejas atkļūdošanu, un savienojiet tos kopā. Tagad veiciet dubultklikšķi uz ievades mqtt mezgla un tēmu sadaļā ievadiet sveiki/pasaule. Serverim jau vajadzētu parādīt localhost: 1883. Iestatiet QoS uz 1. Noklikšķiniet uz Gatavs. Pēc tam noklikšķiniet uz Izvietot un labajā rūtī noklikšķiniet uz atkļūdošanas cilnes. Tagad noklikšķiniet uz pelēkā kvadrāta injekcijas mezgla “Sveiki no manis” kreisajā pusē. Tas nosūta teksta lietderīgo slodzi MQTT brokerim ar tēmu sveiki/pasaule. Brokeris zina, ka mqtt ievades mezgls ir abonējis vienu un to pašu tēmu, un tāpēc pārsūta lietderīgo slodzi. Pēc tam mqtt ievades mezgls to nosūta uz atkļūdošanas cilni (RHS), un vajadzētu parādīties tekstam “Sveiki no manis”.
Tas atzīmē citu lodziņu, jo mezgls Red runā ar mūsu MQTT brokeri. Ņemiet vērā, ka mezgls Red ir tikai starpnieka klients - līdzīgi kā Sonoff ierīces, kuras mēs savienosim vēlāk. Tomēr tas nodrošina sarežģītu automatizāciju un nodrošina lielisku lietotāja interfeisu.
Tagad mēs varam veikt dažas nelielas izmaiņas un iestatīt plūsmas mūsu Sonoff slēdzim.
Tātad izdzēsiet ievades ievadīšanas mezglu (noklikšķiniet, lai iezīmētu un nospiediet dzēšanas taustiņu). Tagad pievienojiet slēdzi no paneļa sadaļas un pievienojiet to mqtt izvadei. Veiciet dubultklikšķa slēdzi. Noklikšķiniet uz zīmuļa grupas labajā pusē. Ievadiet nosaukumu: Gaisma. Pēc tam noklikšķiniet uz zīmuļa pa labi no cilnes un ievadiet sadaļu Nosaukums: Atpūtas telpa. Noklikšķiniet uz Pievienot/atjaunināt un vēlreiz Pievienot/atjaunināt. Tagad, atpakaļ slēdzī Rediģēt, iestatiet ieslēgšanas un izslēgšanas lietderīgās slodzes. Izmantojiet twidlys, lai atlasītu virkni, un ievadiet ON ieslēgtajai slodzei un OFF - izslēgtajai lietderīgajai slodzei. Noklikšķiniet uz Gatavs
Tagad dodieties uz katru no mqtt mezgliem un mainiet tēmu uz cmnd/sonoff/POWER. Ja kopējat un ielīmējat, pārbaudiet, vai beigās neesat iekļāvis atstarpi. Šī ir cita tēma, un tā nedarbosies ar Sonoff. Klaiņojošas telpas atrašana var aizņemt apmēram stundu - ticiet man! Es arī devos uz informācijas paneli> Tēma un izvēlējos: Tumšs. Noklikšķiniet uz Izvietot un atlasiet atkļūdošanas cilni.
Tagad atveriet jaunu pārlūkprogrammas sesiju jaunā logā un izmēriet to kā mobilo tālruni Node Red sesijas laikā. Ievadiet adresi: savu Pi IP adresi: 1880/ui/#/0, t.i., kaut ko līdzīgu 192.168.0.8:1880/ui/#/0. Jums vajadzētu redzēt ekrānu ar atpūtas telpu un gaismu un pārslēgties. Noklikšķiniet uz ieslēgšanas un izslēgšanas. Atkļūdošanas logā ir jāparāda derīgās un ieslēgtās kravas. Tagad, ja vēlaties, piesakieties arī, izmantojot mobilo tālruni. Ņemiet vērā, ka slēdža stāvoklis ir sinhronizēts. Nav svarīgi, ka mūsu Sonofs vēl nav savienots. Kad tā ir, abonējot tēmu, tā uzņems ziņojumu/lietderīgo slodzi un rīkosies atbilstoši tai.
Pēdējais mazais solis ir panākt, lai sarkanais mezgls automātiski sāktos pēc Pi sāknēšanas.
Node Red ir ceļvedis:
Tomēr nepieciešamie faili jau ir ielādēti, tāpēc instalēšana nav nepieciešama.
Lai pēc tam iespējotu Node-RED automātisku palaišanu katrā sāknēšanas reizē un avārijas gadījumā ievadiet (atveriet PuTTY sesiju):
sudo systemctl iespējot nodered.service
Ja jums kādreiz tas ir jāatspējo, ievadiet:
sudo systemctl atspējot nodered.service
Tagad izslēdziet pi ar sudo izslēgšanu tūlīt un atvienojiet strāvu.
Tagad mūsu Pi ir bloķēts un ielādēts darbam. Mūsu dators/mobilais tālrunis savienojas ar sarkano mezglu, un tas runā ar mūsu MQTT serveri. Tas ir bijis ilgs ceļš un ir vērts kārtīgi paglābt muguru. Labi padarīts. Es atradu nākamo, Arduino mazliet, daudz vieglāk!
5. darbība: Arduino sistēmas iestatīšana Sonoff ierīču pārprogrammēšanai
Visa informācija, kā to izdarīt, ir pieejama vietnē Sonoff-Tasmota GitHub. Vienīgā daļa, ar kuru man bija grūtības, bija tēmas teksts - bet es viltīgi esmu licis jums to jau ievadīt!
Dodieties uz vietni
Iestatīšanas norādījumus atradīsit cilnē Wiki augšupielādes rīku sadaļā:
Tā vietā, lai izietu cauri katram solim, es tikai atzīmēšu galvenos aspektus, kuri, manuprāt, bija svarīgi vai iestrēguši.
Instrukcijas ir labas, taču tām rūpīgi jāpievērš uzmanība detaļām. Mani aizķēra nepieciešamība pēc mapes ESP8266 mapē, kas atradās citā mapē ar nosaukumu ESP8266, un tāpēc izlaida divus līmeņus.
Es ievēroju ieteikumu par pilnīgi atsevišķu Arduino iestatīšanu. Es izveidoju jaunu mapi ar nosaukumu “ArduinoSonoff”, kas ir atsevišķi no manas esošās Arduino mapes. Iestatīšana ir diezgan uzlabota, un tāpēc tā saglabāšana atsevišķi ir ļoti laba ideja. Ja šī ir jūsu pirmā Arduino iestatīšana, noteikti instalējiet to otro reizi “Arduino” vai citā mapē jebkuram citam Arduino darbam, ieskaitot darbu ar ESP8266.
Lejupielādējiet jaunāko Arduino IDE no vietnes https://www.arduino.cc/en/Main/Software. Izsaiņojiet failu jaunajā mapē.
Instrukcijās ietilpst Sonoff-Tasmoda sistēmas lejupielāde no https://github.com/arendst/Sonoff-Tasmota galvenās lapas, izmantojot: Klons vai Lejupielādēt> Lejupielādēt ZIP. Izsaiņojiet failu jaunajā mapē.
Uzmanīgi ievērojiet norādījumus. Es neveicu opcionālo: sagatavojieties OTA augšupielādes sadaļai. Mēs to atstāsim uz citu dienu.
Tagad sāciet Arduino IDE (veiciet dubultklikšķi uz arduino.exe). Ielādējiet Sonoff-Tasmota skici, izmantojot File> Sketchbook> sonoff. Nav nepieciešams veikt nekādus labojumus. Pēc programmaparatūras ielādes visi iestatījumi tiek veikti, izmantojot seriālo savienojumu. Tie tiek saglabāti EEPROM. Tādējādi programmaparatūru var atjaunināt un saglabāt visus iestatījumus. Šī ir diezgan gudra lieta. Tomēr šeit varat izvairīties no dažām darbībām, dodoties uz failu user-config.h un ievadot savu wifi SSID un paroli un MQTT_HOST (aizstājiet “domus1”-otrā atsauce ar savu Pi IP adresi). Vēlāk, iespējams, vēlēsities ievadīt arī MQTT lietotāju un paroli. Pirms lejupielādes pārbaudiet tāfeles iestatījumus sadaļā Rīki. Lai tās atbilstu Wiki noteiktajām prasībām, būs jāveic dažas izmaiņas. Tagad noklikšķiniet uz kompilēt (atzīmējiet ikonu). Tam vajadzētu apkopot OK. Ja tā nav vai ja nav pieejami nepieciešamie paneļa iestatījumi, atgriezieties un pārbaudiet katru iestatīšanas soli.
6. darbība: Sonoff slēdža pārprogrammēšana
Tagad mēs esam gatavi lejupielādei. Šajā posmā var vai nu iet taisni uz priekšu, un mirgot ar Sonoff slēdzi, vai vispirms var mirgot ESP8266 moduli. Es izdarīju pēdējo, daļēji tāpēc, ka mani slēdži vēl nebija ieradušies (tikko ieradās, kad to rakstīju!), Bet arī piesardzības nolūkos, jo Sonoff slēdža mirgošana ir vienvirziena solis, jo sākotnējā programmaparatūra nav publiski pieejama Es apzinos. Man ir pāris NodeMCU plates. Tos ir viegli savienot, izmantojot iebūvēto USB uz seriālo pārveidotāju. Tomēr nodemcu atiestatīšanas metode ar šo sistēmu nedarbojas. Tāpēc atstājiet Rīki> Atiestatīt metodi kā “ck”. Veiciet parasto manuālo zibspuldzes iestatīšanu, turot nospiestu zibspuldzes pogu (GPIO 0 uz zemes), vienlaikus nospiežot un atlaižot Reset (Atiestatīt uz zemes). Es neesmu pārliecināts, vai tam ir taimauts, vai varbūt es pietiekami ilgi neturēju zemu GPIO 0, taču man bija vajadzīgi vairāki mēģinājumi, tostarp to darīt, kamēr tiek apkopota Arduino IDE!
Ja vēlaties pārbaudīt atbildes - releja izeja ir D6 uz NodeMCU plates. ESP12 ierīcēs tas ir GPIO 12. LED izeja ir D7 (NodeMCU) vai GPIO 13 (ESP12).
Sonoff slēdzis.
BRĪDINĀJUMS: Man jāsaka: “nekādā gadījumā nepievienojiet elektrotīklam, ja korpuss ir atvērts”. Ņemiet vērā, ka PCB (vismaz uz Sonoff Basic (līnijas slēdzis) ir tikai “viens izolācijas” attālums starp zemsprieguma sekciju un elektrotīklu. Tāpēc jebkura Sonoff ķēdes daļa jāuzskata par tīkla spriegumu. Tasmota GitHub parāda temperatūras un mitruma sensora savienojumu ar Sonoff S20. Es to nedarītu izolācijas problēmu dēļ. - tāpēc, ja vēlaties to izdarīt, iegūstiet ESP12 vai NodeMCU moduli un iestatiet to atsevišķi ar atbilstošu dubultu izolāciju vai iezemēts barošanas avots.
Spraudņa Sonoff S20 spraudnis ir labs sākumpunkts, jo tam nav nepieciešama elektrotīkla elektroinstalācija. To var atvērt, noņemot vienu skrūvi (zem drošības blīvējuma) un atverot korpusu vaļā. Tālāk esošajā fotoattēlā ir redzams, kur atrodas birkas. Korpusa saspiešana šajos punktos palīdz.
USB sērijas pārveidotājs
Mans mīļākais pārveidotājs ir FTDI versija. Tomēr tam nav pietiekamu iespēju nodrošināt Sonoff 3.3v vajadzības. FTDI specifikācija norāda maksimāli 50ma. Nākamā labākā alternatīva ir tāda, kurā tiek izmantota mikroshēma CP2102. Tomēr tam ir 100 mA ierobežojums, kas joprojām nav pietiekams. Skaidrs, ka daudzi šo pārveidotāju izmanto tieši, bet ir arī ziņojumi par neveiksmīgu ielādi. Es ierobežotu laiku, kad tas tiek pievienots, jo tas sasils zem slodzes. Dariet to uz savu risku. Ideāls risinājums ir arī 3.3v regulators, piem. an AMS1117 3.3. Es to izveidoju, lai iespējotu nelielu PCB. Skatiet Sonoff ierīču programmētāju.
Mana programmēšanas secība ir šāda:
Atveriet Arduino IDE.
Sadaļā Rīki pārbaudiet, vai iestatījumi ir tādi paši kā Wiki.
Veiciet visus nepieciešamos labojumus vietnē user_config.h. Es iestatīju Wifi SSID un paroli un MQTT brokera adresi un informāciju par laika joslu/vasaras laiku.
Noklikšķiniet uz “verificēt”, lai pārbaudītu, vai tas ir pareizi sastādīts.
Pievienojiet USB seriālo pārveidotāju (atsevišķi) datoram. Ievērojiet porta numuru.
Tagad atvienojiet USB seriālo vadu no datora un pievienojiet to Sonoff slēdzim. Pārbaudiet, vai zemējums un 3v3 savienojumi ir pareizi (zemējums ir savienots ar Sonoff PCB iezemēto plakni).
Turiet programmētāju tā, lai kontakti būtu droši, vienlaikus nospiežot pogu.
Tagad pievienojiet USB vadu datoram, pārbaudiet, vai porta numurs ir pareizs (sadaļā Rīki), pēc tam noklikšķiniet uz lejupielādēt.
Programmēšanas laikā es turpinu turēt pogu, jo nevēlos traucēt savienojumus.
Kad esat pabeidzis, jums vajadzētu redzēt ekrānu, kā norādīts zemāk:

Lai izveidotu savienojumu ar mūsu sistēmu, Sonofam ir nepieciešami pāris biti informācijas: vietējā tīkla wifi SSID un parole, kā arī Pi IP adrese. To var izdarīt vairākos veidos, no kuriem viens ir modificēt failu config.ino, kā minēts iepriekš. Ja jums ir viedtālrunis, varat (pēc slēdža atkārtotas salikšanas) diezgan ātri 4 reizes nospiest Sonoff pogu, lai to ieslēgtu tīmekļa servera režīmā. LED mirgos. Man vajadzēja vairākas reizes mēģināt, lai tas darbotos. Pēc tam viedtālrunī atrodiet jauno Sonoff tīklu un izveidojiet savienojumu. Tiks parādīta tīmekļa lapa, kurā varēsit iestatīt nepieciešamos datus. Pi IP adrese tiek ievadīta saimniekdatora nosaukumā. Es arī nomainīju otro SSID un paroli uz kaut ko garu un būtībā nelietojamu.
Alternatīvi to var iestatīt, izmantojot seriālo savienojumu, tūlīt pēc iekraušanas. Atveriet Arduino sērijas monitoru (sadaļā Rīki).
Ievadīšanas komandas:
SSIDējiet savu Wi -FiSID
Parolējiet savu Wi -Fi paroli
MqttHost 192.168.x.y (PI IP adrese)
Varat arī ievadīt SSId1 un Password1, kam seko kaut kas garš un nelietojams, lai to efektīvi atspējotu.
Tagad varat ieslēgt Sonoff slēdzi, atvērt mezgla sarkano un mezgla sarkano informācijas paneli un noklikšķināt uz slēdža pogas un apskatīt atkļūdošanas cilni, kurā tagad jāiekļauj Sonoff atbildes. Tātad mums ir sasniegts vēl viens nozīmīgs solis - mūsu pirmais slēdzis tiek darbināts no datora/viedtālruņa.
Līdz šim mēs neesam minējuši drošību. Pastāv iespēja izmantot šifrētus sakarus. To ir diezgan sarežģīti iestatīt un, iespējams, piemērotāk, ja tiek izmantots mākonis balstīts brokeris. Pastāv arī iespēja pievienot lietotājvārdus un paroles visām pievienotajām ierīcēm un neatļaut anonīmus lietotājus. To ir diezgan vienkārši uzstādīt. Un tagad pie drošības.
7. darbība. Drošība
MQTT ļauj lietotājvārdus un paroles katram klientam. To ir viegli uzstādīt. Iespējams, ir vieglāk vispirms pārdēvēt katru ierīci un pēc tam iestatīt to lietotājvārdus un paroles. To var izdarīt, izmantojot MQTT komandas, un, iespējams, vienkāršākais veids, kā tos nosūtīt, ir mezglsarkans. Vispirms izlemiet par nosaukšanas konvenciju. Viena iespēja ir balstīt nosaukumus uz atrašanās vietu un funkcijām. Tad jūs vēlaties ierakstīt vārdu (tēmu) lietotājvārdu un paroli kopā ar rezerves tēmu. Ņemiet vērā, ka ir arī “atiestatīšanas opcija”, lai atjaunotu Sonoff iestatījumus uz sākotnējo lejupielādi (sk. Wiki lietošana> Pogas funkcionalitāte).
Ieslēdziet pi un pēc dažām sekundēm atveriet pārlūkprogrammu uz Node-Red (IP adrese: 1880).
Node-Red iestatiet injicēšanas mezglu un saistiet to ar mqtt izvadi un iestatiet mqtt serveri uz localhost. Atstājiet tēmu, lietotāju un paroli tukšu, jo mēs tos iestatīsim injicēšanas mezglā. Iestatiet arī mqtt ievades mezglu un savienojiet to ar atkļūdošanas mezglu, lai mēs varētu redzēt atbildes. Iestatiet mqtt ievades piezīmi uz localhost (tai jau jābūt iestatītai) un ievadiet tēmai+/+/+, lai tā uztvertu visu trafiku.
Ievadiet ievadīšanas mezglā šādu iestatījumu secību.
Vispirms pārbaudiet savienojumu ar
Tēma: cmnd/sonoff/Statuss
Ziņojums: 6
noklikšķiniet uz “Sākt injicēt vienu reizi”. Izvietot. Mums vajadzētu redzēt atkļūdošanu, ieskaitot 7 datu rindas no stat/sonoff/STATUS6
Ievadiet tēmu: cmnd/sonoff/Topic andMessage: loungelight. Izvietot. Tas maina slēdža nosaukumu no sonoff uz loungelight
Atkļūdošanas cilnē jāparāda, ka ierīce tiek restartēta ar jauno nosaukumu/tēmu
Tēma: cmnd/loungelight/MqttUser
Ziņojums: atpūtas krēsls
Noklikšķiniet uz izvietot. Atkļūdošana ir jāredz no stat/loungelight/RESULT ar {“MtqqUser”:”loungelight”}
Tēma: cmnd/loungelight/MqttPassword
Ziņojums: loungelightPW (ņemiet vērā iztēli!)
Notīriet atkļūdošanas cilni un izvietojiet.
Atbilde jāredz no stat/loungelight/RESULT ar {"MqttPassword": "loungelightPW"}
Tagad ievadiet NodeRed un NodeRedPW kā lietotājvārdu un paroli mqtt out mezglā. Tas tiek darīts, izmantojot atvērtajā logā redzamo servera zīmuļa ikonu un drošības cilni. Tas automātiski tiek pārkopēts uz citiem MQTT mezgliem.
Pārbaudiet vēlreiz ar
Tēma: cmnd/loungelight/Statuss un ziņojums: 6. Izvietot.
Un atbilde tiek nosūtīta.
Tātad šajā brīdī mēs esam pārdēvējuši savu Sonof ierīci, lai tā klausītos cmnd/loungelight/…… tēmas un pieteiktos MQTT serverī ar lietotājvārdu loungelight un paroli loungelightPW. Mēs esam arī iestatījuši lietotājvārdu un paroli mezglam-Red.
Tālāk mums ir jāpasaka moskītu MQTT serverim, lai tas pieņem klientus tikai ar lietotājvārdiem un uzskaita pieņemamos lietotājvārdus un paroles.
Procedūra ir šāda:
- Beidz odu
- Izveidojiet savu konfigurācijas failu
- Rediģēt konfigurācijas failu
- Izveidojiet paroles failu
- Pievienojiet lietotājus/paroles.
Tāpēc piesakieties ar jaunu PuTTY sesiju un izpildiet šādas komandas:
sudo /etc/init.d/mosquitto stop
cd /etc/mosquitto/conf.d/
sudo nano mosquitto.conf Tas palaiž redaktoru.
Pievienot rindas:
allow_anonymous false
password_file /etc/mosquitto/conf.d/passwd
pieprasīt_sertifikāts nepatiess
Saglabāt un iziet (Ctrl+X), Y, ievadiet.
sudo touch passwd Tiek izveidots paroles fails un sekojošās instrukcijās tiek pievienoti vārdi un paroles.
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 restart
Ņemiet vērā, ka, pievienojot jaunu ierīci, jums būs jāievada lietotājs un parole, izmantojot seriālo portu, un jāpievieno tie paroles failam, vai arī īslaicīgi jāmaina moskītu konfigurācijas fails, un komentējiet (rindas sākumā pievienojiet #) rindas "allow_anonymous false "un" password_file /etc/mosquitto/conf.d/passwd "un pēc tam atiestatiet tos, kad informācija ir nosūtīta uz ierīci un pievienota paroles failam, kā aprakstīts iepriekš.
Mēs esam mainījuši sonoff nosaukumu uz loungelight un tāpēc atjauninām mqtt izejas mezglu (savienots ar slēdzi), lai izmantotu tēmu cmnd/loungelight/POWER.
Noklikšķiniet uz Izvietot un pārbaudiet, vai mqtt mezglos ir redzams savienojums.
Pēc tam izmēģiniet slēdža pogu un meklējiet atkļūdošanu, kurā redzams, ka Sonoff slēdzis reaģē. Jūs pamanīsit, ka ierīce parāda izmaiņas ar tēmu: stat/loungelight/POWER. Tāpēc tagad nomainiet ievades mezglu, kas tika iestatīts uz cmnd/sonoff/POWER, uz stat/loungelight/POWER. Mēs varam izmantot šo trūkumu mūsu funkcionalitātē. Sākotnēji iestatītā sistēma tiks sinhronizēta ar visiem lietotājiem, kuri ir pieteikušies, bet netiks sinhronizēti ar slēdža izmaiņām, kas veiktas, nospiežot pogu uz Sonoff slēdža. Tāpēc tagad pievienojiet stat/loungelight/POWER mqtt ievades mezgla izeju slēdža ieejai (LHS). Tagad veiciet dubultklikšķi uz slēdža un noņemiet atzīmi no izvēles rūtiņas "ja ziņojumā tiek saņemta ziņa, pārejiet uz izvadi". Tas paver dažas jaunas iespējas - atlasiet “slēdža ikona parāda ievades stāvokli”. Izvietot. Tātad tagad mums ir laba atgriezeniskā saite. Informācijas paneļa slēdža pozīcija vienmēr mainīsies, mainoties Sonoff slēdzim, neatkarīgi no tā, kur izmaiņas tika uzsāktas.
Tāpēc mums tagad ir izveidota un darbojas droša, atsevišķa mājas automatizācijas sistēma, kas ir gatava paplašināšanai uz visu, ko vēlaties. Nākamajā sadaļā es apskatīšu dažus savus līdzšinējos eksperimentus un izaicinājumus, kurus plānoju risināt.
8. darbība. Sākotnējās darbības paplašināšanai
Man ir vēl viena Instructable Home Automation Sonoff-Tasmota Sensors LED Development Board, kas parāda dažas papildu Sonoff-Tasmota programmaparatūras iespējas:
Temperatūras un mitruma mērīšana
Ielaušanās noteikšana (slēdža ievade)
IR tālvadības pults (televizoriem utt.)
LED stīgas - gan RGB, gan NeoPixel (individuāli adresējamas)
I2C sensori
Iepriekšminētajam es izmantoju ESP12F un pielāgotu PCB. Vienlīdz varētu izmantot NodeMCU un maizes dēli. Tas ļauj šīs papildu funkcijas bez savienojuma ar Sonoff ierīci, un tāpēc tā ir daudz drošāka pieeja. Ar temperatūras ievadi esmu varējis pabeigt savu elektriskās segas automatizāciju.
Mūziku un interneta radio var viegli pievienot. Tas paver iespējas noteiktām stacijām vai albumiem ieslēgties noteiktā laikā vai, iespējams, reaģējot uz apmeklētāja (tālruņa) noteikšanu. Šis saistītais norādījums ir pieejams augstas kvalitātes mūzikas atskaņotājā un interneta radio ar viedtālruņa vadību. Tā kā to nodrošina arī mezgls-RED, vajadzētu būt iespējai pat izveidot vairāk nekā vienu skaņas sistēmu un izmantot MQTT sakarus, lai tās vadītu.
Esmu arī pētījis mezglu-sarkano, tostarp sūtījis e-pastus un veicis balss brīdinājumus. Sistēma var arī noteikt, kad atrodaties/izejat - pingojot mobilā tālruņa IP adresi. Sarkanais mezgls var piekļūt arī laika apstākļiem un ziņām - tāpēc var pievienot informāciju, kā arī veikt automatizāciju.
Ir jāapgūst daži triki, taču otrreiz tie kļūst pavisam vienkārši.
Vēl viena iespēja ir pievienot displeju pi, lai parādītu informācijas paneli. Tas ir “darbs”, jeb citiem vārdiem sakot, es neesmu pārāk laimīgs. Saņemto displeju ir grūti pagriezt portreta režīmā, un pārlūks Chromium ir sāpīgi lēns. Alternatīva būtu paņemt veco planšetdatoru ebay un to izmantot. Es varu mēģināt ar Pi 2 un redzēt, vai tas nodrošina pietiekamu uzlabojumu (B modelis, kas izmantots šai attīstībai).
Es ceru, ka ar to jūs sākat darbu un jūsu iztēle rosās. Potenciālais apjoms ir milzīgs. Vajadzības gadījumā varētu pat mainīt Sonoff kodu citiem sensoriem.
Kopumā esmu pārsteigts, ko šī sistēma spēj. Mans sākotnējais mērķis bija uzticamā veidā vienkārši pārslēgt viedtālruni, izmantojot atsevišķu sistēmu. Man bija vīzijas par nepieciešamību pārvaldīt serverus un klientus un rakstīt html lietotāja saskarnei. Tas, kur tas beidzās, ir daudz priekšā, ar lielāku drošību, izcilu uzticamību, fantastisku lietotāja interfeisu, vilkšanas un nomešanas programmēšanu un milzīgu paplašināšanās potenciālu. Un tas viss ar daudz mazāku piepūli.
Maiks
9. solis: papildinājums - ielāde no Raspbian Stretch Lite
Šī opcija ļauj izvairīties no bloatware, kas nāk ar pilnu Raspbian Stretch versiju. Lielākā daļa no tā nebūs nepieciešama, izmantojot mājas automatizācijai Pi. Tomēr mezgls-sarkans ir jāinstalē.
Rīkojieties tāpat kā 1. darbībā, bet izmantojiet Raspbian Stretch Lite, nevis Raspbian Stretch.
Otrā soļa vietā rīkojieties šādi:
sudo apt -y instalēt npm
npm -v vajadzētu atgriezties: 1.4.21 vai jaunāka
sudo npm instalēt -g n
sudo n 8.9.0
Tagad mēs varam izmantot mezglu pakešu pārvaldnieku, lai instalētu sarkano mezglu:
sudo npm instalēt mezglu-sarkans-globāls --unsafe-perm
Tas parādīs pāris kļūdu ziņojumus nepareizas adreses dēļ. Tomēr sistēma veic “avota apkopošanu”, lai novērstu šo problēmu. Ja atkārtojat iepriekš norādīto (nav nepieciešams), kļūdas nerodas.
Tagad mums ir instalēts sarkans mezgls un tā atbalsta paketes, un mēs varam pāriet uz 3. darbību, ielādējot moskītu.


Otrā vieta bezvadu konkursā
Ieteicams:
Īpaši mazjaudas WiFi mājas automatizācijas sistēma: 6 soļi (ar attēliem)

Īpaši mazjaudas WiFi mājas automatizācijas sistēma: Šajā projektā mēs parādām, kā dažās darbībās varat izveidot pamata vietējo mājas automatizācijas sistēmu. Mēs izmantosim Raspberry Pi, kas darbosies kā centrālā WiFi ierīce. Tā kā gala mezgliem mēs izmantosim IOT kriketu, lai izveidotu akumulatora enerģiju
DIY mājas automatizācijas ielaušanās signalizācijas sistēma!: 5 soļi (ar attēliem)

DIY mājas automatizācijas ielaušanās signalizācijas sistēma!: Šajā projektā es jums parādīšu, kā izmantot Home Assistant programmatūru, lai izveidotu iebrucēja trauksmes sistēmu jūsu mājām. Sistēma būtībā noteiks, vai durvis tiek atvērtas bez atļaujas, un tad tā nosūtīs paziņojumu
DIY uzlaušana savā mājas automatizācijas sistēmā: 7 soļi (ar attēliem)

DIY uzlaušana savā mājas automatizācijas sistēmā: mājas automatizācijas sistēmai vajadzētu būt iespējai ieslēgt/izslēgt tādas ierīces kā gaismas, ventilatorus, izklaides sistēmas utt. Sistēma, kas ir bezvadu, bet neatkarīga no interneta, bet pats galvenais - dari pats -avots, jo es gribu saprast
Mājas automatizācijas sistēma, izmantojot Arduino un HC-05 Bluetooth moduli: 5 soļi (ar attēliem)

Mājas automatizācijas sistēma, izmantojot Bluetooth moduli Arduino un HC-05: Hei, puiši, kā jums visiem iet! Šodien es esmu šeit ar savu otro Arduino Instructable. Tā ir Bluetooth kontrolēta mājas automatizācijas sistēma. Jūs varat kontrolēt savas sadzīves tehnikas tikai no sava viedtālruņa. lietas darbojas perfekti! Es arī izstrādāju lietotni
Lēta, vienkārša, ar internetu vadāma mājas automatizācijas sistēma: 5 soļi (ar attēliem)

Lēta, vienkārša, ar internetu vadāma mājas automatizācijas sistēma: ja jums ir mājdzīvnieki/bērni un jums ir nepieciešams tos pabarot vai sist ar internetu, šī sistēma jums var noderēt. Tas ir ļoti vienkāršs un lēts veids, kā mājās vadīt motorus, gaismas diodes utt. No jebkura datora, kas savienots ar tīmekli. Viss, kas nepieciešams, ir Webc