Mfumo wa Nguvu wa Kujitegemea wa Nyumbani - Pi, Sonoff, ESP8266 na Node-Red: Hatua 9 (na Picha)
Mfumo wa Nguvu wa Kujitegemea wa Nyumbani - Pi, Sonoff, ESP8266 na Node-Red: Hatua 9 (na Picha)
Anonim
Mfumo wa Nguvu wa Kuendesha Nyumbani wenye nguvu - Pi, Sonoff, ESP8266 na Node-Red
Mfumo wa Nguvu wa Kuendesha Nyumbani wenye nguvu - Pi, Sonoff, ESP8266 na Node-Red

Mwongozo huu unapaswa kukufanya uweke msingi wa kwanza ambapo unaweza kuwasha taa au kuzima kifaa kupitia kifaa chochote kinachoweza kuunganisha kwenye mtandao wako wa ndani, na kwa kiolesura bora cha wavuti. Upeo wa huduma za kuongeza / kuongeza ni kubwa, pamoja na kutuma barua pepe, ujumbe wa twitter, sensorer za kusoma (k.m. joto). Unaweza kuweka sheria kwa urahisi k.v. - ikiwa hali ya joto iko chini ya 15C saa 11 jioni washa blanketi la umeme kwa dakika 30. Mfumo hutumia itifaki ya MQTT na TCP ambayo ni ya kuaminika zaidi kuliko UDP - ambayo inashangaza kutumiwa na vifaa vingine vya kiotomatiki vya nyumbani. Mara kazi ngumu ya kuanzisha mfumo, iliyoelezewa hapa, imefanywa raha inaweza kuanza. Node Nyekundu hutoa kielelezo kizuri cha mtumiaji ambacho ni angavu, haraka na rahisi kusanidi, na hutoa uwezo wa kushangaza.

Matokeo yake ni mfumo wenye nguvu wa kiotomatiki wa nyumbani ambao uko chini ya udhibiti wa mtu mwenyewe na uko kabisa kwenye mtandao wa karibu. Mifumo mingi inayoonyeshwa kwenye Maagizo hufanya kazi na seva zinazotegemea wingu na kwa hivyo ni hatari ya usalama na inaweza kuhitaji usajili. Hizi ni rahisi kuanzisha lakini zina hatari kubwa ya usalama na gharama kubwa zaidi. Ninapaswa kuongeza kuwa mtu anaweza kuanzisha VPN (mtandao wa kibinafsi wa kibinafsi) kwa Pi ili kuwezesha unganisho salama kwa mtandao / mfumo wa nyumbani ikiwa ufikiaji kutoka nje utafaa (Google Pi OpenVPN kwa maagizo).

Mfumo huu unahitaji kupanga upya vifaa vya Sonoff na mfumo mzuri wa chanzo unaoitwa Sonoff-Tasmoda. Hii inaweza kufanywa kwa kutumia usanidi maalum wa Arduino na USB kwa kibadilishaji cha serial. Vifaa vya Sonoff hutumia chipsi cha Wi-Fi cha ESP8266 ili uweze pia kutengeneza vifaa vyako mwenyewe ukitumia moduli za ESP8266 au uzitoshe kwa vitu vingine kutoa unganisho wa waya.

Kazi kubwa ni kuanzisha Raspberry Pi kama kitovu. Hii inaendesha broker ya MQTT (au seva) inayosimamia mawasiliano na vifaa vilivyounganishwa. Pi pia inaendesha mfumo unaoitwa Node-Red ambayo inaweza kukatiza ujumbe na data na amri za pato - kama vile wakati wa kuwasha blanketi la umeme. Node-Red pia hutoa interface ya kutumikia ukurasa wa wavuti ambao unaweza kuingia kupitia kupitia smartphone / kompyuta kibao / PC / Laptop, kuona kinachoendelea na kuwezesha ubadilishaji wa taa mwongozo na kadhalika.

Lengo langu na hii inayoweza kufundishwa ni kutoa kila hatua kwa undani wa kutosha kwamba novice anaweza kuufanya mfumo ufanye kazi.

Hatua ni:

  • Pakia Pi na Kunyoosha Rasbi
  • Sasisha na uongeze huduma kwa Node-Red
  • Sakinisha broker ya Mosquitto MQTT
  • Sanidi mazingira ya Arduino ya kupakia firmware ya Sonoff-Tasmota
  • Panga tena programu mpya ya Sonoff
  • Sanidi kiolesura cha Node-Nyekundu
  • Jaribu yote inafanya kazi.

Vifaa utakavyohitaji:

  • Raspberry Pi na usambazaji wa umeme (na kibodi na ufuatiliaji wa usanidi wa awali) (mfano B uliotumika hapa)
  • Sonoff Kubadili
  • USB Serial converter
  • Hiari - Bodi ya maendeleo ya ESP kama NodeMCU.

Uzoefu wangu na Raspberry Pi ni kwamba kuanzisha chochote kunaonekana kuhusisha maumivu mengi zaidi kuliko vile mtu angeweza kufikiria inawezekana na vitu visivyofanya kazi au kukwama kwa hatua ndogo ambayo ufafanuzi ungekuwa bora. Mabaraza sio kila wakati hupata ushauri unaofanya kazi! Nilipata njia kadhaa ambazo hazikufanya kazi kwa sababu moja au nyingine. Gharama hii ni siku 3! Kisha nikafuta kila kitu na kuanza upya na kukamilisha kwa chini ya siku (ndefu). Hii hata hivyo ilitumia Raspian mzee Jessie. Baada ya hii nikapata njia ya kutumia toleo la sasa na lililotolewa hivi karibuni (Nyoosha) na nikalifanya tena. Mwongozo huu unawezesha kunakili na kubandika maagizo kwenye Pi. Kwa hivyo unapaswa kufanywa kwa masaa machache. Kwa hivyo natumahi kuwa hii inakupa kasi ya kujifunza na kwa maumivu kidogo. Amini ni muhimu kwa matokeo ya mwisho.

Hatua ya 1: Pakia Pi na Kunyoosha Rasbi

Hii inapaswa kuwa ya moja kwa moja. Anza na kadi ya SD ya 8Gb au 16Gb. Pakua toleo la hivi karibuni kutoka:

www.raspberrypi.org/downloads/

Uzi kuu hapa hufikiria kuwa toleo kamili limepakiwa. Walakini unaweza kutumia toleo la lite kuokoa nafasi. Ikiwa unatumia Raspbian Stretch Lite endelea kupitia hatua hii kisha nenda kwa Hatua ya 9 mwishoni.

Kufungua zip kwenye faili iliyopakuliwa hutoa folda na faili ya.img. 7Zip inapendekezwa kwa Windows (na Unarchiver Mac). Picha inapaswa kuchomwa kwenye kadi ya SD - lakini programu maalum inapaswa kutumiwa kwani mfumo wa faili hauendani na Windows. Programu iliyopendekezwa inaitwa Etcher na inaweza kupakuliwa kutoka:

etcher.io/

Maagizo ya Etcher yako kwenye wavuti yao na inaweza kuwa rahisi zaidi. Chagua picha na gari na bofya Flash.

Sasa na kadi yetu ya SD iliyoangaza inaweza kupata Pi inayoendesha.

Ikiwa unajua anwani ya IP ambayo Pi hutumia au unafurahi kuipata kwa kuingia kwenye router yako basi unaweza kuepuka hitaji la kibodi na ufuatiliaji na utumie SSH mara moja. Ongeza tu faili tupu iitwayo SSH kwenye kadi ya SD, ingiza, unganisha kwa Ethernet na uongeze nguvu. Vinginevyo fuata mwongozo hapa chini.

Unganisha Pi kwenye mtandao, skrini, panya na kibodi na unganisha kwa nguvu. Jambo la kwanza tutafanya ni kuwezesha SSH ili tuweze kufanya usanidi mwingi kutoka kwa faraja kwenye PC. Kwa kweli inaweza kufanywa moja kwa moja lakini inasaidia sana kuweza kufuata mwongozo huu kwenye kifaa sawa na yule anayeendesha Pi na kutumia nakala na kubandika kwa maagizo mengi. Pia kwa upande wangu kituo changu cha kazi cha PC ni kizuri na kizuri lakini sio kubwa kwa pi pia.

Kuna mwongozo wa kazi nzuri kwenye video ya YouTube. Hapa ndipo nilipoanzia. Unaweza kuendesha video pamoja na kufuata maagizo haya. Walakini wakati nilikuwa nikipitia mchakato tena wakati wa kuandika hii nimeona ni rahisi kufuata maagizo hapa. Kuna tofauti kubwa. Pia kuna sehemu ambazo nimeshauri kufuata video badala ya kuorodhesha hatua hapa. Napenda kupendekeza kuiangalia ili kupata uelewa wa MQTT, Node-Red na mchakato mpana wa usanidi. Video ina urefu wa dk 38 kwa hivyo jiwekee raha. Video huanza na kuonyesha nini Node Red inaweza kufanya, na kisha inashughulikia usanikishaji wa Pi na usanidi, ikifuatiwa na kusasisha Node Red na mwishowe kufunga Mosquitto. Nyakati muhimu ikiwa unataka kurudi kwenye sehemu:

00:00 Utangulizi wa Video

03:00 Maonyesho ya Node Nyekundu

14:14 Kuingiza vitu vya dashibodi kwenye Node Red

21:05 Usanidi wa awali wa Pi, pamoja na SSH

23:35 Ufungaji wa nambari ya Node Red inayounga mkono

27:00 Utangulizi wa MQTT

Usanidi wa 29: 12 Mosquitto (MQTT) (Kumbuka inafanya kazi tu kwa Raspian Jessie)

33:00 Mifano Nyekundu Nyekundu

Nitaorodhesha amri kwa italiki kali (badala ya kutumia ""). Muundo huu unapuuzwa wakati unanakili na kubandika kwenye Pi.

Utangulizi wa Node Red utakupa maoni ya mfumo unaweza kufanya na kutoa picha ya wapi tutaishia.

Video ya YouTube iko kwenye:

Fuata utaratibu wa ufungaji kutoka 21:05 hadi 23:35. Kumbuka kuingia kwa chaguo-msingi ni mtumiaji: pi na nywila: raspberry. Kabla ya kuanza upya anza anwani ya IP ya pi. Ama bonyeza kitufe cha 'juu + chini' kwenye mwambaa wa juu wa eneo-kazi au weka maagizo yafuatayo kwenye dirisha la terminal / terminal:

anwani ya sudo ifconfig

Kisha angalia anwani ya IP baada ya: inet addr:. Itakuwa katika fomu 192.168.x.y

Kumbuka anwani hii na uanze upya (ingiza: kuzima kwa sudo -r sasa)

Muhimu wakati huu ni kwamba SSH imewezeshwa na mtu anaweza kuweka kiunga kwa Pi kutoka kwa PC (Mac na Linux ni pamoja na miingiliano ya SSH). Programu nzuri ya kufanya hivyo ni upakuaji wa bure uitwao PuTTY ambao unaweza pia kutumiwa kama kiolesura cha serial na inaweza kufanya Telnet. Putty inapatikana kutoka:

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

Pakua na usakinishe PuTTY.

Sasa, na Pi imeanza tena, anza PuTTY na ingiza anwani ya IP iliyoonyeshwa hapo awali. Tazama mfano hapa chini:

Sasa bonyeza Open

Baada ya Ingia kama: ingiza pi

Kisha ingiza nywila yako.

Sasa fuata maagizo hapa na kwa hiari anza video kutoka 23:35. Unaweza katika hali nyingi kunakili na kubandika. Angazia maandishi na utumie ctrl + C kunakili. Kisha bonyeza kulia kwenye PuTTY kubandika. Wakati mwingine maandishi hayaonekani mara moja kwa hivyo subiri sekunde chache. Ikiwa utaingia mara mbili tumia nafasi ya nyuma kufuta kuingia kwa pili. Bonyeza Enter ili kutekeleza kila maagizo.

sasisho la raspi-sasisho

Nilipata amri haikupatikana na kupuuza hii na maagizo ya kuzima / kuanza tena yafuatayo:

kuzima kwa sudo -r sasa

Sudo apt-kupata -y sasisho

Sudo apt-get -y kuboresha

Hii inachukua muda…..

Sudo apt-kupata autoremove

Sudo apt-kupata -y sasisho

kuzima kwa sudo -r sasa

Kwa wakati huu tuna mfumo wa uendeshaji wa Pi uliobeba na kusasishwa, tayari kwa hatua inayofuata.

Hatua ya 2: Sasisha na Ongeza Vipengele kwenye Node-Red

Uunganisho wa PuTTY utakuwa umepotea na kuanza upya mwishoni mwa hatua ya awali. Karibu PuTTY na baada ya kungojea Pi ianze, Ingia tena tena kama hapo awali.

Nimehamia kwa njia rahisi na ya kuaminika kupakia Node-Red - kufuata njia kwenye https://nodered.org/docs/hardware/raspberrypi. Hii hutumia hati na itasakinisha au kuboresha Node-Red - kwa hivyo njia hiyo inafanya kazi sawa kutoka kwa matoleo kamili au ya Raspbian Stretch. Kwa hivyo ingiza:

bash <(curl -sL

Ingiza Y wakati unahamasishwa (mara mbili). Hati hii pia inabeba faili zinazohitajika kuwezesha autostart ya Node-Red.

Kwa hivyo wakati huu tuna pi yetu iliyobeba na kusasishwa na sasisho zinahitajika kwa Node Red. Sio ubaya kuanza tena kabla ya hatua inayofuata.

kuzima kwa sudo -r sasa

Hatua ya 3: Ufungaji wa Mosquitto MQTT

Ikiwa haujafanya hivyo ni muhimu kutazama utangulizi wa video kwa MQTT kwenye video kutoka 27:00.

Hapa ndipo tunahitaji kuchukua njia tofauti. Utaratibu ulioainishwa kwenye video hufanya kazi tu kwa toleo la zamani la Jessie la Raspian. Kuna majadiliano kwenye tovuti ya mbu lakini hakuna matokeo wazi yaliyoonyeshwa na kwa hivyo itashika njia rahisi na salama.

Kwa hivyo ingia kutumia PuTTY na weka zifuatazo:

Sudo apt-pata sasisho

Sudo apt-install wateja wa mbu-mbu

Y

sudo /etc/init.d/mosquitto simama

sudo /etc/init.d/mosquitto kuanza

Maagizo mawili ya mwisho husimama na kuanza mbu na kuonyesha kwamba broker wetu wa MQTT anafanya kazi.

Kwa jaribio la haraka fungua vipindi viwili zaidi vya PuTTY na uingie kwa kila moja.

Utajua kwa sasa kuwa MQTT inafanya kazi na kifaa mahitaji ya data inayojiunga na 'mada'. Dalali atatuma data yoyote na 'mada' hiyo hiyo. Kisha kifaa kinachotaka kutuma data / maagizo huchapisha hii kwa broker kwa kutumia 'mada' hiyo hiyo.

Kwa hivyo katika kikao kimoja cha PuTTY ingiza:

mosquitto_sub -d -t hujambo / ulimwengu

Hii ni maagizo ya kujiunga na mada: hello / ulimwengu.

Katika ingiza nyingine:

mosquitto_pub -d -t hello / ulimwengu -m "Hello kutoka Terminal dirisha 2!"

Hii ni maagizo ya kuchapisha na mada sawa na ujumbe. Nakala: "Hello kutoka Terminal dirisha 2!" inapaswa sasa kuonekana kwenye kituo kingine.

Umefanya vizuri kufikia hapa. Sasa tunayo Pi iliyobeba na kusasishwa na visasisho vinavyohitajika kwa Node-Red na broker ya MQTT ya mbu iliyosanikishwa na kupimwa. Kuanzia sasa maisha yanakuwa rahisi zaidi kujifurahisha. Funga vipindi viwili vya PuTTY vilivyotumika kwa jaribio la MQTT.

Hatua ya 4: Kuweka Kiolesura Nyekundu cha Node

Kwanza tunahitaji kuanza Node Red. Ingiza maagizo:

node-nyekundu-pi --max-zamani-nafasi-saizi = 256

Subiri ikimbie na uone maandishi 'Kuanza mtiririko'.

Sasa fungua kivinjari, ninatumia Chrome, na ingiza anwani ya IP ya pi iliyotajwa hapo awali ikifuatiwa na: 1880 yaani kitu kama 192.168.0.8:1880

Sasa unapaswa kuwa na ukurasa wa programu ya Node Red kwa mtazamo kama ilivyo hapo chini:

Sasa unaweza kufuata mifano ya Node Nyekundu kuanzia saa 33:00 au songa moja kwa moja kwa usanidi kidogo wa ziada na kupakia mtiririko wa kwanza ambao utaonyesha kiunga cha MQTT na uwe tayari kuendesha swichi yetu.

Usanidi wa ziada unahitajika ni kuongeza vitu vya dashibodi vinavyowezesha kiolesura cha wavuti.

Hizi zinaonyeshwa kwenye video saa 14:14.

Fuata maagizo ya kupakia dashibodi ya node-nyekundu.

Sasa tunaweza kucheza kidogo na kuonyesha MQTT inafanya kazi na inaendeshwa na Node-Red. Hii haipo kwenye video lakini ni ufunguo wa mradi huu. Unaweza kufuata maagizo yangu na / au kuagiza mtiririko kutoka kwa faili ya NRtest1.txt iliyoambatanishwa.

Kwanza ongeza node ya kuingiza pembejeo na node ya pato ya mqtt na uwaunganishe pamoja.

Bonyeza mara mbili node ya sindano (ambayo mwanzoni imeandikwa alama ya muda). Katika sehemu ya malipo ya malipo tumia mara mbili kubadili kamba na ingiza: Hello kutoka kwangu. Acha mada tupu kwani tunaweza kuingiza hii katika nodi ya MQTT. Bonyeza Imefanywa

Sasa bonyeza mara mbili nodi ya MQTT. Bonyeza ikoni ya penseli kulia kwa sehemu ya Seva. Hii inafungua mazungumzo mapya. Ingiza: localhost katika sehemu ya Seva. Bonyeza Ongeza. Sasa, kurudi kwenye Hariri mqtt nje ya nodi, ingiza mada yetu katika sehemu ya Mada: hello / world. Weka QoS iwe 1. Bonyeza Imefanywa. Sasa bonyeza Tumia. Unapaswa kuona blob ya kijani na 'imeunganishwa' chini ya node ya mqtt.

Sasa ongeza nodi zingine mbili - pembejeo ya pembejeo na utatuaji wa pato, na unganisha hizi pamoja. Sasa bonyeza mara mbili node ya mqtt ya kuingiza na ingiza hello / ulimwengu katika sehemu ya mada. Seva inapaswa tayari kuonyesha localhost: 1883. Weka QoS iwe 1. Bonyeza Imefanywa. Kisha bonyeza Tumia na bofya kichupo cha utatuzi kwenye kidirisha cha mkono wa kulia. Sasa bonyeza mraba wa kijivu upande wa kushoto wa nodi ya sindano ya 'Hello from me'. Hii inapeleka malipo ya maandishi kwa broker wa MQTT na mada hello / ulimwengu. Dalali anajua kuwa nodi ya kuingiza mqtt imesajiliwa kwa mada hiyo hiyo na kwa hivyo inasambaza mzigo. Node ya kuingiza mqtt kisha hutuma hii kwenye kichupo cha utatuzi (RHS) na maandishi "Hello kutoka kwangu" yanapaswa kuonekana.

Hii inatia alama kwenye sanduku lingine kwani tuna Node Red inazungumza na broker wetu wa MQTT. Kumbuka kuwa Node Red ni mteja tu kwa broker - kama vifaa vya Sonoff tutaunganisha baadaye. Hata hivyo inawezesha otomatiki ya hali ya juu na hutoa kiolesura cha mtumiaji mzuri.

Sasa tunaweza kufanya mabadiliko kadhaa madogo na kuanzisha mtiririko wa swichi yetu ya Sonoff.

Kwa hivyo futa node ya kuingiza pembejeo (bonyeza kuonyesha na bonyeza kitufe cha kufuta). Sasa ongeza swichi kutoka sehemu ya dashibodi na uiunganishe na pato la mqtt. Bonyeza mara mbili kubadili. Bonyeza penseli upande wa kulia wa Kikundi. Ingiza Jina: Nuru. Kisha bonyeza penseli upande wa kulia wa Tab na uingie kwenye sehemu ya Jina: Lounge. Bonyeza Ongeza / Sasisha na Ongeza / Sasisha tena. Sasa, rudi kwenye nodi ya kubadilisha Hariri, weka malipo na uzime. Tumia twidlys kuchagua kamba na uingie ON kwa malipo ya On na OFF kwa malipo ya OFF. Bonyeza Imefanywa

Sasa nenda kwa kila nodi ya mqtt na ubadilishe Mada kuwa cmnd / sonoff / POWER. Ikiwa unakili na kubandika, angalia haujajumuisha nafasi mwishoni. Hii ni mada tofauti na haitafanya kazi na Sonoff. Kupata nafasi iliyopotea inaweza kuchukua saa moja au zaidi - niamini! Nilikwenda pia kwenye dashibodi> Mandhari na nikachagua: Giza. Bonyeza Tumia na uchague kichupo cha utatuzi.

Sasa fungua kikao kipya cha kivinjari kwenye dirisha jipya na uipime kama simu ya rununu juu ya kikao cha Node Nyekundu. Ingiza anwani: anwani yako ya IP IP: 1880 / ui / # / 0 yaani kitu kama 192.168.0.8:1880/ui/#/0. Unapaswa kuona skrini na Lounge na Nuru na ubadilishe. Bonyeza swichi na kisha uzime. Dirisha la utatuzi linapaswa kuonyesha malipo ya ON na OFF. Sasa ikiwa unataka pia ingia kupitia simu ya rununu pia. Kumbuka kuwa nafasi ya kubadili imesawazishwa. Haijalishi kwamba Sonoff yetu bado haijaunganishwa. Wakati iko, kwa kujisajili kwa Mada, itachukua ujumbe / malipo ya malipo na kuifanyia kazi.

Hatua ya mwisho ni kufanya Node Red kuanza kiotomatiki baada ya Pi kuinuka.

Node Red ina mwongozo katika:

Walakini faili zinazohitajika tayari zimeshapakiwa kwa hivyo hakuna usanikishaji unaohitajika.

Ili kuwezesha Node-RED kukimbia kiatomati kwa kila buti na juu ya ajali kuingia (kikao cha wazi cha PuTTY):

Sudo systemctl inawezesha huduma ya nodered

Ikiwa utahitaji kuzima ingizo hili:

Sudo systemctl imezima huduma ya nodered

Sasa funga pi na sudo kuzima sasa na uondoe nguvu.

Hii sasa Pi yetu imefungwa na kubeba tayari kwa hatua. Tuna PC / simu yetu ya rununu inayounganisha na Node Red na hii inazungumza na seva yetu ya MQTT. Hii imekuwa safari ndefu na inafaa pat kubwa nyuma. Umefanya vizuri. Nimepata ijayo, Arduino kidogo, mpango mzuri rahisi!

Hatua ya 5: Kuanzisha Mfumo wa Arduino wa Kuunda upya Vifaa vya Sonoff

Maelezo yote ya kufanya hivyo ni kwa Sonoff-Tasmota GitHub. Sehemu pekee ambayo nilikuwa na shida nayo ilikuwa maandishi ya Mada - lakini kwa ujanja nimekufanya uingie hii tayari!

Nenda kwa

Utapata maagizo ya usanidi kwenye kichupo cha Wiki katika sehemu ya zana za Kupakia:

Badala ya kupitia kila hatua nitaona tu mambo muhimu ambayo nilihisi yalikuwa muhimu au yalikwama.

Maagizo ni mazuri lakini yanahitaji uangalifu kwa undani. Nilikumbwa na haja ya folda ya ESP8266 ndani ya folda ambayo ilikuwa ndani ya folda nyingine iliyoitwa ESP8266 na kwa hivyo nikakosa viwango viwili.

Nilifuata pendekezo la usanidi tofauti kabisa wa Arduino. Niliunda folda mpya inayoitwa 'ArduinoSonoff' ambayo ni tofauti na folda yangu iliyopo ya Arduino. Usanidi umeendelea sana na kwa hivyo kuutenga ni wazo nzuri sana. Ikiwa hii ni mipangilio yako ya kwanza ya Arduino hakikisha umeiweka mara ya pili kwenye 'Arduino' au folda nyingine kwa kazi nyingine yoyote ya Arduino, pamoja na kazi kwenye ESP8266s.

Pakua IDE ya hivi karibuni ya Arduino kutoka https://www.arduino.cc/en/Main/Software. Fungua faili kwenye folda yako mpya.

Maagizo ni pamoja na kupakua mfumo wa Sonoff-Tasmoda kutoka https://github.com/arendst/Sonoff-Tasmota ukurasa kuu kupitia: Clone au Pakua> Pakua ZIP. Fungua faili kwenye folda yako mpya.

Fuata maagizo kwa uangalifu. Sikufanya hiari: Andaa sehemu ya kupakia ya OTA. Tutaiacha hii kwa siku nyingine.

Sasa anza Arduino IDE (bonyeza mara mbili arduino.exe). Pakia mchoro wa Sonoff-Tasmota kupitia Faili> Sketchbook> sonoff. Hakuna haja ya kufanya mabadiliko yoyote. Mipangilio yote inafanywa kupitia unganisho la serial baada ya firmware kupakiwa. Hizi zimehifadhiwa katika EEPROM. Kwa hivyo firmware inaweza kusasishwa na mipangilio yote kubaki. Haya ni mambo mazuri sana. Walakini unaweza kukwepa hitaji la hatua kadhaa hapa kwa kwenda kwenye faili ya mtumiaji-config.h na kuweka wifi yako SSID na nywila na MQTT_HOST (badilisha 'domus1'- rejea ya pili, na anwani yako ya IP IP). Baadaye unaweza kutaka kuingiza mtumiaji wa MQTT na nywila pia. Kabla ya kupakua angalia mipangilio ya bodi chini ya Zana. Hizi zitahitaji mabadiliko kadhaa ili kufanana na mahitaji yaliyowekwa kwenye Wiki. Sasa bonyeza kukusanya (alama ya kupe). Inapaswa kukusanya sawa. Ikiwa haipo au ikiwa mipangilio ya bodi inayohitajika haipatikani basi rudi nyuma na uangalie kila hatua ya usanidi.

Hatua ya 6: Kuweka upya Sonoff switch

Sasa tuko tayari kupakua. Katika hatua hii mtu anaweza kwenda mbele moja kwa moja na kuwasha swichi ya Sonoff au mtu anaweza kwanza kuwasha moduli ya ESP8266. Nilifanya mwisho, kwa sababu swichi zangu zilikuwa bado hazijafika (nilifika tu wakati ninaandika hii!) Lakini pia kama tahadhari kwani kuwasha kwa swichi ya Sonoff ni hatua moja kwani firmware ya asili haipatikani hadharani hadi Ninajua. Nina bodi kadhaa za NodeMCU. Hizi ni rahisi kuunganisha, kuwa na bodi yao ya USB kwenye kibadilishaji cha serial. Walakini njia ya kuweka upya nodemcu haifanyi kazi na mfumo huu. Kwa hivyo acha Zana> Njia ya Upya iliyowekwa kuwa "ck". Fanya usanidi wa kawaida wa mwongozo kwa kushikilia kitufe cha Flash (GPIO 0 hadi ardhini) huku ukibonyeza na kutolewa Rudisha (Rudisha chini). Sina hakika ikiwa hii ina wakati wa kuisha au labda sikushikilia GPIO 0 chini kwa muda mrefu wa kutosha lakini nilihitaji kujaribu kadhaa, pamoja na kufanya hivi wakati Arduino IDE inaandaa!

Ikiwa unataka kuangalia majibu - pato la kupeleka ni D6 kwenye bodi za NodeMCU. Kwenye ESP12 hii ni GPIO 12. Pato la LED ni D7 (NodeMCU) au GPIO 13 (ESP12's).

Sonoff kubadili.

ONYO: Lazima niseme "usiunganishe kwa mtandao chini ya hali yoyote ambapo kizuizi kiko wazi". Kumbuka kuwa PCB (angalau kwenye Sonoff Basic (in-line switch) ina umbali wa "kutengwa moja tu" kati ya sehemu ya chini ya umeme na umeme. Kwa hivyo mtu anapaswa kutibu sehemu yoyote ya mzunguko wa Sonoff kama umeme wa umeme. Tasmota GitHub inaonyesha unganisho la sensorer ya joto na unyevu kwa Sonoff S20. Singefanya hivyo kwa sababu ya wasiwasi wa kutengwa. au usambazaji wa umeme.

Kubadilisha-kuziba kwa Sonoff S20 ni sehemu nzuri ya kuanza kwani haiitaji wiring yoyote kuu. Hii inaweza kufunguliwa kwa kuondoa kofia moja (chini ya muhuri wa usalama) na kupendekeza kesi kufunguliwa. Picha hapa chini inaonyesha lebo ziko wapi. Kubana kesi katika sehemu hizi husaidia.

USB serial converter

Kigeuzi changu kipendwa ni toleo la FTDI. Walakini hii haina uwezo wa kutosha kusambaza mahitaji ya Sonoff 3.3v. Ufafanuzi wa FTDI unasema upeo wa 50ma. Njia mbadala bora ni kutumia chip ya CP2102. Hii hata hivyo ina kikomo cha 100ma ambacho bado haitoshi. Kwa wazi wengi wanatumia kibadilishaji hiki moja kwa moja lakini pia kuna ripoti za kupakia kutofaulu. Ningepunguza wakati uliounganishwa kwani itawaka moto chini ya mzigo. Fanya hivi kwa hatari yako mwenyewe. Suluhisho bora ni kuwa na mdhibiti wa 3.3v pia, k.v. AMS1117 3.3. Niliunda PCB ndogo kuwezesha hii. Tazama Programu kwa vifaa vya Sonoff.

Mlolongo wangu wa programu ni kama ifuatavyo:

Fungua IDE ya Arduino.

Chini ya Zana angalia mipangilio iko kwenye Wiki.

Fanya mabadiliko yoyote yanayohitajika kwa user_config.h. Niliweka Wifi SSID na nywila na anwani ya broker ya MQTT na maelezo ya akiba ya saa / saa.

Bonyeza 'thibitisha' ili kuangalia inajumuisha OK.

Chomeka kibadilishaji cha serial cha USB (peke yake) kwa PC. Kumbuka nambari ya Bandari.

Sasa ondoa mwongozo wa serial ya USB kutoka kwa PC na uiunganishe na swichi ya Sonoff. Angalia ardhi na unganisho la 3v3 ndio njia sahihi kuzunguka (ardhi imeunganishwa na ndege ya ardhini kwenye Sonoff PCB).

Shikilia programu ili wawasiliani wawe salama wakati wa kubonyeza kitufe pia.

Sasa ingiza uongozi wa USB kwenye PC, angalia nambari ya bandari ni sahihi (katika Zana), kisha bonyeza upakuaji.

Ninaendelea kushikilia kitufe wakati wote wa programu kwa sababu sitaki kusumbua unganisho.

Ukimaliza unapaswa kuona skrini kama ilivyo hapo chini:

Picha
Picha

Sonoff inahitaji habari kadhaa ili kuungana na mfumo wetu: mtandao wa ndani wa wifi SSID na nywila, na anwani ya IP IP. Kuna njia kadhaa za kufanya hivyo, moja wapo ni kurekebisha faili ya config.ino kama ilivyoonyeshwa hapo awali. Ikiwa una smartphone unaweza (baada ya kukusanyika tena swichi) bonyeza kitufe cha Sonoff mara 4 kwa haraka kuiweka kwenye hali ya seva ya wavuti. LED itaangaza. Ilinibidi kujaribu mara kadhaa kufanya hii ifanye kazi. Kisha, kwenye simu yako mahiri tafuta mtandao mpya wa Sonoff na unganisha. Ukurasa wa wavuti utaonekana ambapo unaweza kuweka data inayohitajika. Anwani ya IP IP huenda kwa jina la mwenyeji. Nilibadilisha SSID ya pili na nywila kuwa kitu kirefu na kimsingi kisichoweza kutumika.

Vinginevyo inaweza kusanidi kupitia unganisho la serial tu baada ya kupakia. Fungua Arduino Serial Monitor (chini ya Zana).

Amri za kuingia:

SSId yakoWiFiSSID

Nywila yakoWiFiPassword

MqttHost 192.168.x.y (PI IP anwani)

Unaweza pia kuingiza SSId1 na Password1 ikifuatiwa na kitu kirefu na kisichoweza kutumiwa kuzima hii vizuri.

Sasa unaweza kubonyeza kitufe cha Sonoff, kufungua Node-Red na dashibodi nyekundu ya Node na bonyeza kitufe cha kubadili na uangalie kichupo cha utatuzi ambacho sasa kinapaswa kujumuisha majibu kutoka kwa Sonoff. Kwa hivyo tuna hatua nyingine kubwa iliyofanikiwa - kubadili kwetu kwa kwanza kuendeshwa kutoka kwa PC / smartphone.

Hadi sasa hatujataja usalama. Kuna uwezekano wa kutumia mawasiliano yaliyosimbwa kwa njia fiche. Hii ni ngumu sana kusanidi na labda inafaa zaidi ambapo broker ya msingi wa wingu inatumiwa. Pia kuna chaguo la kuongeza majina ya watumiaji na nywila kwa vifaa vyote vilivyounganishwa na kukataza watumiaji wasiojulikana. Hii ni rahisi sana kuanzisha. Na kwa hivyo sasa kwa Usalama.

Hatua ya 7: Usalama

MQTT inaruhusu majina ya watumiaji na nywila kwa kila mteja. Hii ni rahisi kuanzisha. Labda ni rahisi kwanza kubadili jina kila kifaa na kisha kuweka majina yao ya mtumiaji na nywila. Hii inaweza kufanywa kupitia maagizo ya MQTT, na Node-Red labda ndiyo njia rahisi zaidi ya kutuma hizi. Kwanza amua juu ya mkutano wa kutaja majina. Chaguo moja ni kuweka majina kwenye eneo na kazi. Kisha utataka kurekodi jina la mtumiaji (Mada) na nywila pamoja na mada ya kurudi nyuma. Kumbuka pia kuna 'chaguo la kuweka upya' kuweka mipangilio ya Sonoff kwenye upakuaji wa asili (tazama Matumizi ya Wiki> Utendaji wa Kitufe).

Imarisha pi na baada ya sekunde chache fungua kivinjari kwa Node-Red (anwani ya IP: 1880).

Katika Node-Red weka node ya sindano na unganisha hii na pato la mqtt na uweke seva ya mqtt kwa localhost. Acha mada, mtumiaji na nywila tupu kwani tutaweka hizi kwenye node ya sindano. Pia weka nodi ya kuingiza mqtt na unganisha hii kwa node ya utatuzi ili tuweze kuona majibu. Weka maandishi ya kuingiza mqtt kwa localhost (inapaswa kuwa tayari imewekwa) na ingiza + / + / + kwa mada kwa hivyo inachukua trafiki yote.

Ingiza mlolongo ufuatao wa mipangilio kwenye nodi ya sindano.

Kwanza angalia uunganisho na

Mada: cmnd / sonoff / Hali

Ujumbe: 6

bonyeza 'Ingiza mara moja mwanzo'. Tumia. Tunapaswa kuona utatuzi ikiwa ni pamoja na mistari 7 ya data kutoka kwa stat / sonoff / STATUS6

Ingiza Mada: cmnd / sonoff / Mada na Ujumbe: taa ya kupumzika. Tumia. Hii inabadilisha jina la ubadilishaji kutoka sonoff kuwa taa ya kupumzika

Kichupo cha utatuzi kinapaswa kuonyesha kifaa kikiwasha tena jina na jina / mada yake mpya

Mada: cmnd / taa ya kupumzika / MqttUser

Ujumbe: taa ya kupumzika

Bonyeza kupeleka. Utatuzi unapaswa kuonekana kutoka kwa stat / loungelight / MATOKEO na {"MtqqUser": "mwangaza wa jua"}

Mada: cmnd / taa ya kupumzika / MqttPassword

Ujumbe: chumba cha kulalaPW (kumbuka uwe wa kufikiria zaidi kuliko hii!)

Futa kichupo cha utatuzi na Tumia.

Jibu linapaswa kuonekana kutoka kwa stat / loungelight / RESULT na {"MqttPassword": "loungelightPW"}

Sasa ingiza NodeRed na NodeRedPW kama jina la mtumiaji na nywila katika node ya mqtt. Hii ni kupitia ikoni ya penseli ya Seva na kichupo cha usalama kwenye dirisha linalofungua. Hii moja kwa moja inakiliwa kwa nodi zingine za MQTT.

Angalia tena na

Mada: cmnd / taa ya kupumzika / Hali na Ujumbe: 6. Tumia.

Na kwamba jibu limetumwa.

Kwa hivyo wakati huu tumebadilisha jina la kifaa chetu cha Sonof kwa hivyo kitasikiliza cmnd / taa ya kupumzika / mada …… na itaingia kwenye mkato wa MQTT na taa ya jua ya taa ya taa na nywila ya taa ya taa. Tumeweka pia jina la mtumiaji na nywila ya Node-Red.

Ifuatayo lazima tuambie seva ya MQTT ya mbu kukubali tu wateja wenye majina ya watumiaji na kuorodhesha majina ya watumiaji na nywila zitakazokubaliwa.

Utaratibu ni:

  • Acha mbu
  • Unda faili ya usanidi mwenyewe
  • Hariri faili ya usanidi
  • Unda faili ya nenosiri
  • Ongeza watumiaji / nywila.

Kwa hivyo ingia na kikao kipya cha PuTTY na ufuate amri zifuatazo:

sudo /etc/init.d/mosquitto simama

cd / nk / mosquitto/conf.d/

Sudo nano mbu.conf Hii inaanza mhariri.

Ongeza mistari:

ruhusu_bongo lisilojulikana

password_file /etc/mosquitto/conf.d/passwd

zinahitaji_cheti cha uwongo

Hifadhi na utoke (Ctrl + X), Y, ingiza.

sudo touch passwd Hii inaunda faili ya nywila na maagizo yafuatayo yanaongeza majina na nywila.

sudo mbu_passwd -b /etc/mosquitto/conf.d/passwd chumba cha kupumzika cha taa

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

Sudo /etc/init.d/mosquitto kuanza upya

Kumbuka wakati unapoongeza kifaa kipya utalazimika kuingiza mtumiaji na nywila kupitia bandari ya serial na uongeze hizi kwenye faili ya nywila au ubadilishe faili ya usanidi wa mbu kwa muda mfupi na utoe maoni (ongeza # mwanzoni mwa mstari) mistari "ruhusu_bidhaa isiyojulikana "na" password_file /etc/mosquitto/conf.d/passwd "na kisha uweke upya hizi wakati maelezo yametumwa kwa kifaa na kuongezwa kwenye faili ya nywila kama hapo juu.

Tumebadilisha jina la sonoff kuwa taa ya kupumzika na kwa hivyo sasisha node ya pq ya mqtt (iliyounganishwa na swichi) kutumia mada ya cmnd / loungelight / POWER.

Bonyeza Tumia na angalia nodes za mqtt onyesha 'imeunganishwa'.

Ifuatayo jaribu kitufe cha kubadili na utafute hitilafu inayoonyesha swichi ya Sonoff ikijibu. Utaona kwamba kifaa kinaonyesha mabadiliko na mada: stat / loungelight / POWER. Kwa hivyo sasa badilisha node ya kuingiza ambayo ilikuwa imewekwa cmnd / sonoff / POWER kwa stat / loungelight / POWER. Tunaweza kutumia kifuniko hiki katika utendaji wetu. Mfumo uliowekwa hapo awali utasawazishwa na watumiaji wote walioingia lakini hautalinganisha na mabadiliko ya swichi yaliyofanywa kwa kubonyeza kitufe cha swichi ya Sonoff. Kwa hivyo sasa unganisha pato la node ya pembejeo ya stat / loungelight / POWER mqtt kwa pembejeo ya kubadili (LHS). Sasa bonyeza mara mbili swichi na ubonyeze "ikiwa msg itafika kwenye pembejeo, pitia kwenye pato". Hii inaleta chaguzi mpya - chagua 'ikoni ya kubadili inaonyesha hali ya pembejeo'. Tumia. Kwa hivyo sasa tuna kitanzi kizuri cha maoni. Msimamo wa ubadilishaji wa dashibodi utabadilika kila wakati switch ya Sonoff inabadilika, bila kujali ni wapi mabadiliko yameanzishwa.

Kwa hivyo sasa tuna mfumo salama, wa kujitegemea wa nyumbani na unaoendesha na tayari kwa upanuzi kwa chochote unachotaka kufanya. Katika sehemu inayofuata nitashughulikia majaribio yangu hadi sasa na changamoto ambazo nimepanga kukabiliana nazo.

Hatua ya 8: Hatua za Awali za Upanuzi

Ninayo Bodi nyingine ya Ufundishaji wa Nyumbani ya Ufundishaji wa Sonoff-Tasmota ya Bodi ya Kuonyesha ambayo inaonyesha uwezo mwingine zaidi wa firmware ya Sonoff-Tasmota:

Upimaji wa joto na unyevu

Ugunduzi wa kuingilia kati (badilisha ingizo)

Kijijini cha IR (kwa TV nk)

Kamba za LED - zote RGB na NeoPixel (zinazoweza kushughulikiwa kibinafsi)

Sensorer za I2C

Kwa hapo juu ninatumia ESP12F na PCB ya kawaida. NodeMCU na ubao wa mkate inaweza kutumika sawa. Hii inawezesha kazi hizi za ziada bila wiring kwenye kifaa cha Sonoff, na kwa hivyo ni njia salama zaidi. Pamoja na uingizaji wa joto nimeweza kukamilisha blanketi yangu ya umeme.

Muziki na Redio ya Mtandaoni zinaweza kuongezwa kwa urahisi. Hii inafungua chaguzi za kuwa na vituo maalum au Albamu zije kwa nyakati zilizowekwa au labda kwa kujibu mgeni (simu) akigunduliwa. Mafundisho haya yanayohusiana ni katika Kicheza Muziki cha hali ya juu na Redio ya Mtandao na Udhibiti wa Smartphone. Kwa kuwa hii pia inaendeshwa na Node-RED inapaswa hata iwezekanavyo kuwa na mfumo wa sauti zaidi ya moja na kutumia mawasiliano ya MQTT kuwaendesha.

Nimekuwa pia nikichunguza Node-Red, pamoja na kutuma barua pepe na kutoa arifa za sauti. Kuna pia uwezekano wa mfumo kugundua ukiwa ndani / nje - kwa kubonyeza anwani yako ya IP ya simu ya rununu. Node-Red pia inaweza kupata hali ya hewa na habari - kwa hivyo mtu anaweza kuongeza habari na pia kufanya automatisering.

Kuna ujanja kadhaa wa kujifunza - lakini hizi huwa rahisi kufa mara ya pili kuzunguka.

Njia nyingine inaongeza onyesho kwa pi kuonyesha dashibodi. Hii ni 'kazi inayoendelea' - au kwa maneno mengine sina furaha sana. Onyesho nililopata ni ngumu kuzungusha katika hali ya picha na kivinjari cha Chromium ni polepole sana. Njia mbadala itakuwa kuchukua kibao cha zamani kwenye ebay na kutumia hiyo. Ninaweza kujaribu na Pi 2 na uone ikiwa hiyo itatoa uboreshaji wa kutosha (mfano B uliotumika kwa maendeleo haya).

Natumahi kuwa hii itaanza na mawazo yako yataibuka. Upeo wa uwezo ni mkubwa. Mtu anaweza hata kurekebisha nambari ya Sonoff kwa sensorer zingine ikiwa inahitajika.

Kwa ujumla nimeshangazwa na nini mfumo huu unaweza kufanya. Kusudi langu la asili lilikuwa ni kuendesha gari kutoka kwa smartphone kwa njia ya kuaminika kupitia mfumo wa kibinafsi. Nilikuwa na maono ya kuhitaji kusimamia seva na wateja na kuandika html kwa kiolesura cha mtumiaji. Ambapo hii ilimalizika iko mbele ya hii, na usalama mkubwa, uaminifu bora, kiolesura cha mtumiaji mzuri, buruta na utone programu na uwezekano mkubwa wa upanuzi. Na haya yote kwa bidii kidogo.

Mike

Hatua ya 9: Nyongeza - Inapakia Kutoka Raspbian Stretch Lite

Chaguo hili huepuka bloatware ambayo inakuja na toleo kamili la Raspbian Stretch. Zaidi ya hii haitahitajika wakati wa kutumia Pi kwa mitambo ya nyumbani. Walakini Node-Red lazima iwe imewekwa.

Endelea kama katika Hatua ya 1 lakini tumia Raspbian Stretch Lite kuliko Raspbian Stretch.

Badala ya Step2 fanya yafuatayo:

sudo apt -y kufunga npm

npm -v inapaswa kurudi: 1.4.21 au baadaye

Sudo npm kufunga -g n

Sudo n 8.9.0

Sasa tunaweza kutumia meneja wa pakiti ya node kuingiza Node-Red:

Sudo npm kufunga node-nyekundu - global --unsafe-perm

Hii itatoa ujumbe kadhaa wa makosa kwa sababu ya anwani isiyo sahihi. Mfumo hata hivyo hufanya 'chanzo kukusanya' ili kurekebisha shida hii. Ukirudia maagizo hapo juu (sio lazima) makosa hayatokea.

Sasa tuna Node-Red na vifurushi vyake vya kusaidia vimewekwa na tunaweza kuendelea na Hatua ya 3, kupakia mbu.

Mashindano yasiyotumia waya
Mashindano yasiyotumia waya
Mashindano yasiyotumia waya
Mashindano yasiyotumia waya

Mkimbiaji Katika Mashindano yasiyotumia waya

Ilipendekeza: