Sisällysluettelo:

Tehokas itsenäinen kotiautomaatiojärjestelmä - Pi, Sonoff, ESP8266 ja Node -Red: 9 vaihetta (kuvilla)
Tehokas itsenäinen kotiautomaatiojärjestelmä - Pi, Sonoff, ESP8266 ja Node -Red: 9 vaihetta (kuvilla)

Video: Tehokas itsenäinen kotiautomaatiojärjestelmä - Pi, Sonoff, ESP8266 ja Node -Red: 9 vaihetta (kuvilla)

Video: Tehokas itsenäinen kotiautomaatiojärjestelmä - Pi, Sonoff, ESP8266 ja Node -Red: 9 vaihetta (kuvilla)
Video: Часть 1 - Аудиокнига Герберта Уэллса «Анна Вероника» (гл. 01–03) 2024, Marraskuu
Anonim
Tehokas itsenäinen kodin automaatiojärjestelmä - Pi, Sonoff, ESP8266 ja Node -Red
Tehokas itsenäinen kodin automaatiojärjestelmä - Pi, Sonoff, ESP8266 ja Node -Red

Tämän oppaan pitäisi ohjata sinut ensimmäiseen tukikohtaan, jossa voit kytkeä valon tai laitteen päälle/pois päältä millä tahansa laitteella, joka voi muodostaa yhteyden paikalliseen verkkoon, ja upealla muokattavalla verkkokäyttöliittymällä. Laajennus-/ lisäominaisuudet ovat laajat, mukaan lukien sähköpostiviestien lähettäminen, twitter -viestit, lukuanturit (esim. Lämpötila). Voit helposti asettaa sääntöjä, esim. - jos lämpötila on alle 15 C kello 23, kytke sähköpeite päälle 30 minuutiksi. Järjestelmä käyttää MQTT -protokollaa TCP: llä, joka on huomattavasti luotettavampi kuin UDP - jota jotkut kaupalliset kotiautomaatiolaitteet käyttävät yllättäen. Kun tässä kuvattu järjestelmän asentamisen kova työ on tehty, hauskuus voi alkaa. Node Red tarjoaa fantastisen käyttöliittymän, joka on intuitiivinen, nopea ja helppo asentaa ja tarjoaa hämmästyttäviä ominaisuuksia.

Lopputuloksena on tehokas kotiautomaatiojärjestelmä, joka on täysin omassa hallinnassa ja on täysin paikallisverkossa. Monet Instructablesissa näkyvät järjestelmät toimivat pilvipohjaisten palvelimien kanssa ja ovat siten tietoturvariski ja voivat vaatia tilauksen. Nämä on helpompi asentaa, mutta niillä on suurempi turvallisuusriski ja mahdollisesti korkeammat kustannukset. Haluan lisätä, että Pi: hen voidaan perustaa VPN (virtuaalinen yksityinen verkko), jotta se voi suojata yhteyden kotiverkkoon/-järjestelmään, jos pääsy ulkopuolelta olisi hyödyllistä (ohjeet Google Pi OpenVPN: stä).

Tämä järjestelmä edellyttää Sonoff-laitteiden uudelleenohjelmointia suurella avoimen lähdekoodin järjestelmällä nimeltä Sonoff-Tasmoda. Tämä voidaan tehdä käyttämällä erityistä Arduino -asetusta ja USB -sarjamuunninta. Sonoff-laitteet käyttävät ESP8266-Wi-Fi-sirua, joten voit myös tehdä omia laitteitasi käyttämällä ESP8266-moduuleja tai sovittaa ne muihin kohteisiin langattoman yhteyden tarjoamiseksi.

Suurin tehtävä on Raspberry Pi: n asettaminen keskittimeksi. Tämä suorittaa MQTT -välittäjän (tai palvelimen), joka hallinnoi kommunikointia liitettyjen laitteiden kanssa. Pi käyttää myös Node-Red-nimistä järjestelmää, joka voi siepata viestit ja datan sekä antaa komentoja-esimerkiksi milloin sähköinen peitto kytketään päälle. Node-Red tarjoaa myös käyttöliittymän verkkosivun palvelemiseen, johon voit kirjautua älypuhelimella/tabletilla/PC: llä/kannettavalla tietokoneella, nähdäksesi mitä tapahtuu ja mahdollistamaan valojen manuaalinen vaihto ja niin edelleen.

Tavoitteeni tällä ohjeella on antaa jokainen vaihe tarpeeksi yksityiskohtaisesti, jotta aloittelija voi saada järjestelmän toimimaan.

Vaiheet ovat:

  • Lataa Pi Rasbian Stretchillä
  • Päivitä ja lisää ominaisuuksia solmu-punaiseen
  • Asenna Mosquitto MQTT -välittäjä
  • Määritä Arduino-ympäristö Sonoff-Tasmota-laiteohjelmiston lataamista varten
  • Ohjelmoi Sonoff-kytkin uudelleen
  • Määritä solmu-punainen-käyttöliittymä
  • Testaa kaikki toimii.

Tarvittavat laitteet:

  • Raspberry Pi ja virtalähde (sekä näppäimistö ja näyttö alkuasetuksia varten) (tässä käytetty malli B)
  • Sonoff -kytkin
  • USB -sarjamuunnin
  • Valinnainen - ESP -kehityskortti, kuten NodeMCU.

Kokemukseni Raspberry Pi: n kanssa on, että kaiken asettaminen näyttää aiheuttavan huomattavasti enemmän tuskaa kuin voisi koskaan kuvitella mahdolliseksi, jos tavarat eivät toimi tai jää jumiin johonkin vähäpätöiseen vaiheeseen, jossa selitys olisi voinut olla parempi. Foorumit eivät aina saa toimivia neuvoja! Löysin useita reittejä, jotka eivät yksinkertaisesti toimineet jostain syystä. Tämä maksoi 3 päivää! Pyyhin sitten kaiken ja aloitin alusta ja sain valmiiksi alle (pitkässä) päivässä. Tämä käytti kuitenkin vanhempaa Raspian Jessieä. Tämän jälkeen löysin tavan käyttää nykyistä ja äskettäin julkaistua versiota (Stretch) ja tein kaiken uudelleen. Tämän oppaan avulla voit kopioida ja liittää ohjeet Pi: hen. Joten sinun pitäisi tehdä muutamassa tunnissa. Toivon joka tapauksessa, että pääset nopeammin ylös oppimiskäyrälle ja vähemmän kipua. Usko minua, se on sen arvoista lopputuloksen vuoksi.

Vaihe 1: Lataa Pi Rasbian Stretchillä

Tämän pitäisi olla melko suoraviivaista. Aloita 8 Gt: n tai 16 Gt: n SD -kortilla. Lataa uusin versio osoitteesta:

www.raspberrypi.org/downloads/

Päälanka tässä olettaa, että täysi versio on ladattu. Voit kuitenkin säästää tilaa käyttämällä yksinkertaistettua versiota. Jos käytät Raspbian Stretch Lite -ohjelmaa, jatka tätä vaihetta ja siirry sitten vaiheeseen 9 lopussa.

Kun poistat ladatun tiedoston pakkauksen, saat.img -tiedoston sisältävän kansion. 7Zipiä suositellaan Windowsille (ja Unarchiver Macille). Kuva on poltettava SD -kortille - mutta on käytettävä erityisohjelmaa, koska tiedostojärjestelmä ei ole yhteensopiva Windowsin kanssa. Suositeltua ohjelmistoa kutsutaan Etcheriksi, ja sen voi ladata osoitteesta:

etcher.io/

Etcherin ohjeet ovat heidän verkkosivustollaan, eivätkä ne voisi olla yksinkertaisempia. Valitse kuva ja asema ja napsauta Flash.

Nyt meidän vilkkunut SD -kortti voi saada Pi käynnissä.

Jos tiedät Pi: n käyttämän IP -osoitteen tai löysit sen mielellään kirjautumalla reitittimeesi, voit välttää näppäimistön ja näytön käytön ja käyttää SSH: ta välittömästi. Lisää vain tyhjä tiedosto nimeltä SSH SD -kortille, aseta se, muodosta yhteys Ethernetiin ja kytke virta. Muussa tapauksessa noudata alla olevia ohjeita.

Liitä Pi Internetiin, näyttöön, hiireen ja näppäimistöön ja kytke virta. Ensimmäinen asia, jonka teemme, on ottaa SSH käyttöön, jotta voimme tehdä suurimman osan asetuksista mukavasti tietokoneella. Se voidaan tietysti tehdä suoraan, mutta se auttaa suuresti, että pystymme noudattamaan tätä opasta samalla laitteella kuin Pi: tä ajavalla ja käyttämään kopiointia ja liittämistä useimpiin ohjeisiin. Myös minun tapauksessani PC -työasemani on mukava ja mukava, mutta ei tarpeeksi iso piille.

Siellä on opas suurelle osalle YouTube -videon työstämistä. Tästä aloitin. Voit suorittaa videon näiden ohjeiden mukaisesti. Kuitenkin, kun kävin prosessia uudelleen kirjoittaessani tätä, huomasin, että oli helpompaa vain noudattaa täällä olevia ohjeita. Joitakin merkittäviä poikkeamia on. On myös joitain osioita, joissa olen neuvonut seuraamaan videota sen sijaan, että luettaisit täällä olevat vaiheet. Suosittelen kuitenkin katsomaan sitä, jotta ymmärrät MQTT: n, Node-Redin ja laajan asennusprosessin. Videon pituus on 38 minuuttia, joten tee olosi mukavaksi. Video alkaa näyttämällä, mitä Node Red voi tehdä, ja kattaa sitten Pi -asennuksen ja asennuksen, jonka jälkeen päivitetään Node Red ja asennetaan lopuksi Mosquitto. Keskeiset ajoitukset, jos haluat palata osioon:

00:00 Johdatus videoon

03:00 Solmun punainen esittely

14:14 Kojelaudan kohteiden tuominen solmuun Red

21:05 Pi: n alkuasennus, mukaan lukien SSH

23:35 Solmun punaisen tukikoodin asennus

27:00 Johdatus MQTT: hen

29:12 Mosquitto (MQTT) -asennus (Huomautus toimii vain Raspian Jessielle)

33:00 Solmu Punaisia esimerkkejä

Luettelen komennot lihavoidulla kursiivilla (sen sijaan, että käytän ""). Tämä muotoilu ohitetaan, kun kopioit ja liität ne Pi: hen.

Node Redin johdanto antaa sinulle käsityksen siitä, mitä järjestelmä voi tehdä, ja antaa kuvan siitä, mihin päädymme.

YouTube -video on osoitteessa

Noudata asennusta 21:05 - 23:35. Huomaa, että oletuskirjautuminen on käyttäjä: pi ja salasana: vadelma. Ennen kuin aloitat uudelleen, etsi pi: n IP -osoite. Napsauta työpöydän yläpalkin ylä- ja alanuolikuvaketta tai kirjoita pääte-/pääteikkunaan seuraavat ohjeet:

sudo ifconfig -osoite

Huomaa sitten IP -osoite: inet addr:. Se on muodossa 192.168.x.y

Huomaa tämä osoite ja käynnistä uudelleen (kirjoita: sudo shutdown –r now)

Avain tässä vaiheessa on, että SSH on otettu käyttöön ja Pi -linkin voi perustaa tietokoneelta (Mac ja Linux sisältävät SSH -liitännät). Hyvä ohjelma tähän on ilmainen lataus nimeltä PuTTY, jota voidaan käyttää myös sarjaliitäntänä ja jolla voidaan tehdä Telnet. Putty on saatavana:

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

Lataa ja asenna PuTTY.

Kun Pi on käynnistetty uudelleen, käynnistä PuTTY ja kirjoita aiemmin mainittu IP -osoite. Katso esimerkki alla:

Napsauta nyt Avaa

Kirjautumisen jälkeen: kirjoita pi

Anna sitten salasanasi.

Noudata nyt ohjeita ja aloita video valinnaisesti klo 23.35. Useimmissa tapauksissa voit kopioida ja liittää. Korosta teksti ja kopioi painamalla ctrl+C. Liitä hiiren kakkospainikkeella PuTTY. Joskus teksti ei näy heti, joten odota muutama sekunti. Jos kirjoitat kahdesti, poista toinen merkintä askelpalauttimella. Suorita jokainen käsky painamalla Enter.

sudo raspi-päivitys

Sain komennon, jota ei löydy, ja jätin huomiotta tämän ja seuraavan sammutus-/uudelleenkäynnistysohjeen:

sudo shutdown -r nyt

sudo apt -get -y päivitys

sudo apt -get -y päivitys

Tämä kestää hetken ….

sudo apt-get autoremove

sudo apt -get -y päivitys

sudo shutdown -r nyt

Tässä vaiheessa Pi -käyttöjärjestelmä on ladattu ja päivitetty valmiina seuraavaan vaiheeseen.

Vaihe 2: Päivitä ja lisää ominaisuuksia solmu-punaiseen

PuTTY -yhteys katoaa uudelleenkäynnistyksen yhteydessä edellisen vaiheen lopussa. Joten sulje PuTTY ja odota Pi: n käynnistymistä, kirjaudu sisään uudelleen kuten ennen.

Olen siirtynyt yksinkertaisempaan ja luotettavampaan tapaan ladata solmu-punainen-seuraamalla lähestymistapaa osoitteessa https://nodered.org/docs/hardware/raspberrypi. Tämä käyttää komentosarjaa ja asentaa tai päivittää solmunpunaisen-joten lähestymistapa on sama Raspbian Stretchin täys- tai yksinkertaisissa versioissa. Kirjoita siis:

bash <(curl -sL

Näppäile Y, kun sitä pyydetään (kahdesti). Tämä skripti lataa myös tiedostoja, jotka ovat tarpeen solmupunaisen automaattisen käynnistyksen mahdollistamiseksi.

Joten tässä vaiheessa meillä on pi ladattu ja päivitetty ja Node Redin tarvitsemilla päivityksillä. Ei ole haittaa tehdä uudelleenkäynnistys ennen seuraavaa vaihetta.

sudo shutdown -r nyt

Vaihe 3: Mosquitto MQTT -asennus

Jos et ole jo tehnyt niin, kannattaa katsoa videon esittely MQTT: lle videolla klo 27.00 alkaen.

Tässä meidän on valittava eri tie. Videossa kuvattu menettely toimii vain Raspianin vanhemman Jessie -version kanssa. Hyttyssivustolla keskustellaan, mutta selkeää tulosta ei ole esitetty, joten pysytään yksinkertaisemmassa ja turvallisemmassa reitissä.

Joten kirjaudu sisään PuTTY: llä ja kirjoita seuraava:

sudo apt-get päivitys

sudo apt-get install mosquitto mosquitto-clientit

Y

sudo /etc/init.d/mosquitto stop

sudo /etc/init.d/mosquitto start

Kaksi viimeistä ohjetta pysähtyvät ja käynnistävät hyttysen ja osoittavat, että MQTT -välittäjämme toimii.

Pikatestiä varten avaa vielä kaksi PuTTY -istuntoa ja kirjaudu sisään kumpaankin.

Tiedät jo, että MQTT toimii laitteen avulla ja tarvitsee tietoja, jotka tilaavat "aiheen". Välittäjä lähettää kaikki tiedot, joilla on sama "aihe". Sitten laite, joka haluaa lähettää tietoja/ohjeita, julkaisee tämän välittäjälle käyttämällä samaa aihetta.

Joten kirjoita yhteen PuTTY -istuntoon:

mosquitto_sub -d -hei/maailma

Tämä on ohje tilata aihe: hei/maailma.

Kirjoita toiseen kohtaan:

mosquitto_pub -d -hello/world -m "Tervehdys terminaali -ikkunasta 2!"

Tämä on julkaisuohje samasta aiheesta viestin kanssa. Teksti: "Hei terminaali -ikkunasta 2!" pitäisi nyt näkyä toisessa päätelaitteessa.

Hyvin meni näin pitkälle. Meillä on nyt Pi ladattu ja päivitetty Node-Redin tarvitsemilla päivityksillä ja hyttysen MQTT-välittäjä asennettu ja testattu. Tästä eteenpäin elämä on helpompaa ja hauskempaa. Sulje kaksi PuTTY -istuntoa, joita käytettiin MQTT -testissä.

Vaihe 4: Solmun punaisen käyttöliittymän määrittäminen

Ensin meidän on käynnistettävä solmu punainen. Anna ohje:

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

Odota, että se käynnistyy ja näet tekstin "Aloitetut virrat".

Avaa nyt selain, käytän Chromea ja kirjoita aiemmin mainittu IP -osoite, jota seuraa: 1880 eli jotain 192.168.0.8:1880

Sinulla pitäisi nyt olla solmun punaisen ohjelmointisivun näkymä alla:

Voit nyt seurata solmun punaisia esimerkkejä alkaen klo 33.00 tai siirtyä suoraan pieniin lisäasetuksiin ja ladata ensimmäisen kulun, joka näyttää linkin MQTT: hen ja olla valmis käyttämään kytkintämme.

Tarvittavat lisäasetukset on lisätä hallintapaneelin kohteet, jotka mahdollistavat verkkokäyttöliittymän.

Nämä näkyvät videolla klo 14:14.

Lataa node-red-dashboard noudattamalla ohjeita.

Nyt voimme leikkiä ja näyttää MQTT: n toimivan ja Node-Redin ohjaaman. Tämä ei ole videossa, mutta on avain tähän projektiin. Voit joko seurata ohjeita ja/tai tuoda virrat liitteenä olevasta NRtest1.txt -tiedostosta.

Lisää ensin syöttösyöttösolmu ja ulostulo -mqtt -solmu ja linkitä ne yhteen.

Kaksoisnapsauta ruiskutussolmua (joka on alun perin merkitty aikaleimalla). Käytä Hyötykuorma -osiossa twiddly -näppäintä vaihtaaksesi merkkijonoksi ja kirjoita: Hei minulta. Jätä aihe tyhjäksi, koska voimme syöttää tämän MQTT -solmuun. Valitse Valmis

Kaksoisnapsauta nyt MQTT -solmua. Napsauta Palvelin -osion oikealla puolella olevaa kynäkuvaketta. Tämä avaa uuden valintaikkunan. Kirjoita Palvelin -osioon: localhost. Napsauta Lisää. Kirjoita nyt aiheemme Aihe -osioon: hei/maailma takaisin Edit mqtt out -solmuun. Aseta QoS arvoon 1. Valitse Valmis. Napsauta nyt Ota käyttöön. Sinun pitäisi nähdä vihreä möykky ja "yhdistetty" mqtt -solmun alapuolella.

Lisää nyt vielä kaksi solmua - input mqtt ja output debug, ja yhdistä nämä toisiinsa. Kaksoisnapsauta nyt syötettävää mqtt -solmua ja kirjoita aihe -osioon hei/maailma. Palvelimen pitäisi näyttää jo localhost: 1883. Aseta QoS arvoon 1. Valitse Valmis. Napsauta sitten Ota käyttöön ja napsauta oikeanpuoleisen ruudun debug -välilehteä. Napsauta nyt "Terveisin minulta" -ruiskutussolmun vasemmalla puolella olevaa harmaata neliötä. Tämä lähettää tekstin hyötykuorman MQTT -välittäjälle aiheella hei/maailma. Välittäjä tietää, että mqtt -syöttösolmu on tilannut saman aiheen ja välittää siten hyötykuorman eteenpäin. Tämän jälkeen mqtt -syöttösolmu lähettää tämän virheenkorjausvälilehdelle (RHS), ja tekstin "Hello from me" pitäisi näkyä.

Tämä rastittaa toisen ruudun, kun meillä on solmu punainen puhumassa MQTT -välittäjämme kanssa. Huomaa, että Node Red on vain asiakas välittäjälle - kuten Sonoff -laitteet, jotka liitämme myöhemmin. Se mahdollistaa kuitenkin kehittyneen automaation ja tarjoaa erinomaisen käyttöliittymän.

Nyt voimme tehdä pari pientä muutosta ja määrittää virrat Sonoff -kytkimelle.

Poista siis syöttösolmu (korosta napsauttamalla ja paina poistonäppäintä). Lisää nyt kytkin kojelautaosasta ja liitä se mqtt -lähtöön. Kaksoisnapsauta kytkintä. Napsauta Ryhmän oikealla puolella olevaa kynää. Kirjoita Nimi: Valo. Napsauta sitten välilehden oikealla puolella olevaa kynää ja siirry Nimi -osioon: Lounge. Napsauta Lisää/Päivitä ja Lisää/Päivitä uudelleen. Nyt takaisin Muokkaa -kytkinsolmussa aseta hyötykuormat päälle ja pois. Valitse kaksoiskappaleilla merkkijono ja kirjoita PÄÄLLÄ käyttökuormalle ja POIS POIS hyötykuormalle. Valitse Valmis

Siirry nyt jokaiseen mqtt -solmuun ja muuta aiheeksi cmnd/sonoff/POWER. Jos kopioit ja liität, tarkista, ettet ole lisännyt välilyöntiä loppuun. Tämä on eri aihe, eikä toimi Sonoffin kanssa. Hajapaikan löytäminen voi kestää noin tunnin - usko pois! Menin myös kojelautaan> Teema ja valitsin: Tumma. Napsauta Ota käyttöön ja valitse debug -välilehti.

Avaa nyt uusi selainistunto uudessa ikkunassa ja kokoa se kuin matkapuhelin solmun punaisen istunnon yli. Anna osoite: Pi -IP -osoitteesi: 1880/ui/#/0 eli jotain 192.168.0.8:1880/ui/#/0. Sinun pitäisi nähdä näyttö, jossa on lounge ja valo, ja vaihtaa. Napsauta kytkintä päälle ja pois päältä. Virheenkorjausikkunassa pitäisi näkyä ON ja OFF hyötykuormat. Kirjaudu nyt halutessasi myös matkapuhelimella. Huomaa, että kytkimen asento on synkronoitu. Ei ole väliä, että Sonoffimme ei ole vielä yhteydessä. Kun se on, tilaamalla aiheen, se poimii viestin/hyötykuorman ja toimii sen mukaan.

Viimeinen pieni askel on saada Node Red käynnistymään automaattisesti Pi: n käynnistymisen jälkeen.

Node Redillä on opas osoitteessa:

Tarvittavat tiedostot on kuitenkin jo ladattu, joten asennusta ei tarvita.

Jos haluat ottaa Node-RED-toiminnon käyttöön automaattisesti jokaisen käynnistyksen yhteydessä ja kaatumisen yhteydessä, kirjoita (avaa PuTTY-istunto):

sudo systemctl ota käyttöön nodered.service

Jos sinun on joskus poistettava tämä käytöstä, kirjoita:

sudo systemctl poista käytöstä nodered.service

Sammuta nyt pi sammuttamalla sudo nyt ja irrota virta.

Nyt Pi on lukittu ja ladattu valmiiksi toimintaan. Tietokoneemme/matkapuhelimeemme muodostaa yhteyden solmuun Red ja tämä puhuu MQTT -palvelimellemme. Tämä on ollut pitkä matka ja ison taputuksen arvoinen. Hyvin tehty. Löysin seuraavan, Arduino -bitin, paljon helpommaksi!

Vaihe 5: Arduino -järjestelmän asentaminen Sonoff -laitteiden uudelleenohjelmointia varten

Kaikki tiedot tämän tekemiseen ovat Sonoff-Tasmota GitHubissa. Ainoa osa, jonka kanssa minulla oli vaikeuksia, oli aiheteksti - mutta olen ovelasti saanut sinut kirjoittamaan tämän jo!

Siirry osoitteeseen

Asennusohjeet löytyvät Wiki-välilehden Lataustyökalut-osiosta:

Sen sijaan, että kävisin läpi jokaisen askeleen, panen merkille vain keskeiset näkökohdat, jotka tunsin olevan tärkeitä tai jumissa.

Ohjeet ovat hyviä, mutta vaativat yksityiskohtaista huomiota. Olin kompastunut siitä, että ESP8266 -kansio oli tarpeen kansiossa, joka oli toisessa ESP8266 -nimisessä kansiossa ja jätin siten kaksi tasoa pois.

Noudatin suositusta täysin erillisestä Arduino -asennuksesta. Luin uuden kansion nimeltä ArduinoSonoff, joka on erillinen olemassa olevasta Arduino -kansiostani. Asennus on melko edistynyt, joten sen pitäminen erillään on erittäin hyvä idea. Jos tämä on ensimmäinen Arduino -asennuksesi, varmista, että asennat sen toisen kerran Arduino -kansioon tai muuhun kansioon muille Arduino -töille, mukaan lukien ESP8266 -tietokoneet.

Lataa uusin Arduino IDE osoitteesta https://www.arduino.cc/en/Main/Software. Pura tiedosto uuteen kansioon.

Ohjeet sisältävät Sonoff-Tasmoda-järjestelmän lataamisen https://github.com/arendst/Sonoff-Tasmota pääsivulta: Kloonaa tai Lataa> Lataa ZIP. Pura tiedosto uuteen kansioon.

Noudata ohjeita huolellisesti. En tehnyt Valinnainen: Valmistaudu OTA -latausosioon. Jätetään tämä toiselle päivälle.

Käynnistä nyt Arduino IDE (kaksoisnapsauta arduino.exe). Lataa Sonoff-Tasmota-luonnos valitsemalla Tiedosto> Luonnoskirja> sonoff. Muokkauksia ei tarvitse tehdä. Kaikki asetukset tehdään sarjayhteyden kautta laiteohjelmiston lataamisen jälkeen. Nämä tallennetaan EEPROMiin. Näin ollen laiteohjelmisto voidaan päivittää ja kaikki asetukset säilyttää. Tämä on aika fiksua tavaraa. Voit kuitenkin välttää muutaman vaiheen tarpeen siirtymällä user-config.h-tiedostoon ja syöttämällä wifi-SSID-tunnuksesi ja salasanasi sekä MQTT_HOST (korvaa”domus1”-toinen viite Pi-IP-osoitteellasi). Myöhemmin saatat haluta syöttää myös MQTT -käyttäjän ja salasanan. Tarkista ennen lataamista levyn asetukset Työkalut -kohdasta. Nämä tarvitsevat pari muutosta, jotta ne vastaavat Wikin vaatimuksia. Napsauta nyt kääntää (rasti -kuvake). Sen pitäisi kääntää OK. Jos ei, tai jos vaaditut levyn asetukset eivät ole käytettävissä, palaa ja tarkista asennuksen jokainen vaihe.

Vaihe 6: Sonoff -kytkimen uudelleenohjelmointi

Olemme nyt valmiita lataamaan. Tässä vaiheessa voidaan joko mennä suoraan eteenpäin ja vilkuttaa Sonoff -kytkin tai ensin ESP8266 -moduuli. Tein jälkimmäisen, osittain siksi, että kytkimet eivät olleet vielä saapuneet (juuri saapuivat kirjoittaessani tätä!), Mutta myös varotoimena, koska Sonoff -kytkimen vilkkuminen on yksi tapa, koska alkuperäinen laiteohjelmisto ei ole julkisesti saatavilla Olen tietoinen. Minulla on pari NodeMCU -levyä. Nämä on helppo liittää, koska niissä on sisäinen USB-sarjamuunnin. Kuitenkin nodemcu -nollausmenetelmä ei toimi tämän järjestelmän kanssa. Jätä siis Työkalut> Palauta menetelmä -asetukseksi "ck". Suorita salaman normaalit manuaaliset asetukset pitämällä salamapainiketta (GPIO 0 maahan) painettuna ja vapauttamalla Reset (Palauta maahan). En ole varma, onko tällä aikakatkaisu tai ehkä en pitänyt GPIO 0: ta alhaalla tarpeeksi kauan, mutta tarvitsin useita yrityksiä, mukaan lukien tämä, kun Arduino IDE kääntää!

Jos haluat tarkistaa vastaukset - relelähtö on D6 NodeMCU -korteilla. ESP12 -laitteissa tämä on GPIO 12. LED -lähtö on D7 (NodeMCU) tai GPIO 13 (ESP12).

Sonoff -kytkin.

VAROITUS: Minun on sanottava: "älä kytke verkkoon missään olosuhteissa, kun kotelo on auki". Huomaa, että piirilevyllä (ainakin Sonoff Basic -laitteessa (linjakytkimessä) on vain `` yksittäiset eristysetäisyydet '' pienjänniteosan ja verkon välillä. Joten Sonoff-piirin mitä tahansa osaa on käsiteltävä verkkojännitteenä. Tasmota GitHub näyttää lämpö- ja kosteusanturin liitännän Sonoff S20: een. En tekisi tätä eristysongelmien vuoksi. - joten jos haluat tehdä tämän, hanki ESP12- tai NodeMCU -moduuli ja aseta tämä erikseen asianmukaisella kaksoiseristyksellä tai maadoitettu virtalähde.

Sonoff S20 -kytkin on hyvä lähtökohta, koska se ei tarvitse verkkojohtoja. Tämä voidaan avata irrottamalla yksi ruuvi (turvasulkimen alla) ja arvostamalla kotelo auki. Alla oleva kuva näyttää, missä tunnisteet ovat. Kotelon puristaminen näissä kohdissa auttaa.

USB -sarjamuunnin

Lempimuunnin on FTDI -versio. Tällä ei kuitenkaan ole riittävästi kykyä vastata Sonoff 3.3v -tarpeisiin. FTDI -spesifikaatio sanoo enintään 50 mA. Seuraava paras vaihtoehto on CP2102 -sirua käyttävä vaihtoehto. Tällä on kuitenkin 100 mA raja, joka ei vieläkään riitä. On selvää, että monet käyttävät tätä muunninta suoraan, mutta on myös raportteja latauksen epäonnistumisesta. Rajoittaisin kytkentäaikaa, koska se lämpenee kuorman alla. Tee tämä omalla vastuullasi. Ihanteellinen ratkaisu on myös 3,3 voltin säädin, esim. an AMS1117 3.3. Tein pienen piirilevyn tämän mahdollistamiseksi. Katso Ohjelmoija Sonoff -laitteille.

Ohjelmointijärjestykseni on seuraava:

Avaa Arduino IDE.

Tarkista Työkalut -kohdasta Wikin asetukset.

Tee tarvittavat muokkaukset kohteeseen user_config.h. Asetin Wifi SSID: n ja salasanan sekä MQTT -välittäjän osoitteen ja aikavyöhykkeen/kesäajan tiedot.

Napsauta "vahvista" tarkistaaksesi, että se kääntyy OK.

Liitä USB -sarjamuunnin (yksinään) tietokoneeseen. Huomaa portin numero.

Irrota nyt USB -sarjajohto PC: stä ja kytke se Sonoff -kytkimeen. Tarkista, että maa- ja 3v3 -liitännät ovat oikein päin (maa on liitetty Sonoff -piirilevyn maatasoon).

Pidä ohjelmoijaa niin, että koskettimet ovat tiukasti kiinni samalla kun painat painiketta.

Liitä nyt USB -johto tietokoneeseen, tarkista portin numero (Työkalut) ja napsauta sitten Lataa.

Pidän painiketta painettuna koko ohjelmoinnin ajan, koska en halua häiritä yhteyksiä.

Kun olet valmis, sinun pitäisi nähdä alla oleva näyttö:

Kuva
Kuva

Sonoff tarvitsee pari bittiä tietoja muodostaakseen yhteyden järjestelmään: lähiverkon wifi -SSID ja salasana sekä Pi -IP -osoite. Voit tehdä tämän useilla tavoilla, joista yksi on muokata config.ino -tiedostoa, kuten aiemmin mainittiin. Jos sinulla on älypuhelin, voit (kytkimen kokoamisen jälkeen) painaa Sonoff-painiketta 4 kertaa melko nopeasti asettaaksesi sen verkkopalvelintilaan. LED vilkkuu. Minun piti yrittää useita kertoja saada tämä toimimaan. Etsi sitten älypuhelimesta uusi Sonoff -verkko ja muodosta yhteys. Näkyviin tulee verkkosivu, jossa voit asettaa tarvittavat tiedot. Pi -IP -osoite tulee isäntänimeksi. Vaihdoin myös toisen SSID: n ja salasanan pitkäksi ja käytännössä käyttökelvottomaksi.

Vaihtoehtoisesti se voidaan asentaa sarjayhteyden kautta heti lataamisen jälkeen. Avaa Arduino -sarjamonitori (Työkalut -kohdassa).

Syötettävät komennot:

SSId Wi -FiSSID

Anna salasana Wi -Fi -salasanallesi

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

Voit myös syöttää SSId1 ja salasanan1, mitä seuraa jokin pitkä ja käyttökelvoton, jotta tämä voidaan poistaa käytöstä tehokkaasti.

Nyt voit laatikoida Sonoff-kytkimen, avata solmupunaisen ja solmunpunaisen kojelaudan ja napsauttaa kytkinpainiketta ja katsoa virheenkorjausvälilehteä, jonka pitäisi nyt sisältää Sonoffin vastaukset. Meillä on siis toinen tärkeä askel saavutettu - ensimmäinen kytkin ajetaan tietokoneesta/älypuhelimesta.

Tähän mennessä emme ole maininneet turvallisuutta. On mahdollista käyttää salattua viestintää. Tämä on melko monimutkainen asentaa ja luultavasti sopivampi silloin, kun käytetään pilvipohjaista välittäjää. On myös mahdollisuus lisätä käyttäjätunnuksia ja salasanoja kaikille yhdistetyille laitteille ja kieltää nimettömät käyttäjät. Tämä on melko yksinkertainen asentaa. Ja nyt Turvallisuuteen.

Vaihe 7: Suojaus

MQTT sallii käyttäjätunnukset ja salasanat jokaiselle asiakkaalle. Tämä on helppo asentaa. On luultavasti helpompaa nimetä jokainen laite uudelleen ja asettaa sitten käyttäjänimet ja salasanat. Tämä voidaan tehdä MQTT-komentojen avulla, ja Node-Red on luultavasti helpoin tapa lähettää ne. Päätä ensin nimeämiskäytäntö. Yksi vaihtoehto on perustaa nimet sijaintiin ja toimintoon. Sitten haluat tallentaa nimen (aiheen) käyttäjänimen ja salasanan yhdessä vara -aiheen kanssa. Huomaa, että Sonoff -asetusten palauttaminen alkuperäiseen lataukseen on myös "nollausvaihtoehto" (katso Wikin käyttö> Painikkeiden toiminnot).

Käynnistä pi ja käynnistä muutaman sekunnin kuluttua selain solmupunaiseksi (IP-osoite: 1880).

Määritä solmupunaisessa ruiskutussolmu ja linkitä tämä mqtt-lähtöön ja aseta mqtt-palvelin localhostiksi. Jätä aihe, käyttäjä ja salasana tyhjäksi, koska asetamme ne ruiskutussolmuun. Asenna myös mqtt -syöttösolmu ja liitä tämä virheenkorjaussolmuun, jotta voimme nähdä vastaukset. Aseta mqtt -syöttömuistiin localhost (pitäisi olla jo asetettu) ja kirjoita aiheeseen+/+/+, jotta se sieppaa kaiken liikenteen.

Syötä seuraava asetusjärjestys ruiskutussolmuun.

Tarkista ensin yhteys

Aihe: cmnd/sonoff/Tila

Viesti: 6

napsauta "Pistä kerran aloitettaessa". Ota käyttöön. Meidän pitäisi nähdä virheenkorjaus, joka sisältää 7 riviä dataa stat/sonoff/STATUS6: sta

Kirjoita aihe: cmnd/sonoff/Aihe ja Viesti: loungelight. Ota käyttöön. Tämä vaihtaa kytkimen nimen sonoffista loungelightiksi

Virheenkorjausvälilehden pitäisi näyttää laitteen käynnistyvän uudelleen uudella nimellä/aiheella

Aihe: cmnd/loungelight/MqttUser

Viesti: loungelight

Napsauta käyttöönottoa. Virheenkorjaus tulee nähdä osoitteesta stat/loungelight/RESULT ja {“MtqqUser”:”loungelight”}

Aihe: cmnd/loungelight/MqttPassword

Viesti: loungelightPW (ole mielikuvituksellinen kuin tämä!)

Tyhjennä virheenkorjausvälilehti ja ota käyttöön.

Vastaus tulee nähdä osoitteesta stat/loungelight/RESULT ja {"MqttPassword": "loungelightPW"}

Kirjoita nyt NodeRed ja NodeRedPW käyttäjänimeksi ja salasanaksi mqtt out -solmuun. Tämä tapahtuu palvelimen kynäkuvakkeen ja avautuvan ikkunan suojausvälilehden kautta. Tämä kopioidaan automaattisesti muille MQTT -solmuille.

Tarkista uudelleen painikkeella

Aihe: cmnd/loungelight/Tila ja viesti: 6. Ota käyttöön.

Ja että vastaus lähetetään.

Joten tässä vaiheessa olemme nimenneet Sonof -laitteemme uudelleen niin, että se kuuntelee cmnd/loungelight/…… -aiheita ja kirjautuu MQTT -palvelimeen käyttäjätunnuksella loungelight ja salasanalla loungelightPW. Olemme myös asettaneet käyttäjänimen ja salasanan solmupunaiselle.

Seuraavaksi meidän on kerrottava hyttysen MQTT -palvelimelle, että se hyväksyy vain käyttäjät, joilla on käyttäjätunnus, ja luetella hyväksyttävät käyttäjätunnukset ja salasanat.

Menettely on seuraava:

  • Pysäytä hyttyset
  • Luo oma määritystiedosto
  • Muokkaa määritystiedostoa
  • Luo salasanatiedosto
  • Lisää käyttäjiä/salasanoja.

Kirjaudu siis sisään uudella PuTTY -istunnolla ja suorita seuraavat komennot:

sudo /etc/init.d/mosquitto stop

cd /etc/mosquitto/conf.d/

sudo nano mosquitto.conf Tämä käynnistää editorin.

Lisää rivejä:

allow_anonymous false

password_file /etc/mosquitto/conf.d/passwd

need_certificate false

Tallenna ja poistu (Ctrl+X), Y, enter.

sudo touch passwd Tämä luo salasanatiedoston ja seuraavat ohjeet lisäävät nimiä ja salasanoja.

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 uudelleen

Huomaa, kun lisäät uutta laitetta, sinun on joko syötettävä käyttäjä ja salasana sarjaportin kautta ja lisättävä ne salasanatiedostoon tai muutettava tilapäisesti hyttyskonfiguraatiotiedosto ja kommentoitava (lisää # rivin alkuun) rivit "allow_anonymous false "ja" password_file /etc/mosquitto/conf.d/passwd "ja nollaa ne sitten, kun tiedot on lähetetty laitteelle ja lisätty salasanatiedostoon yllä kuvatulla tavalla.

Olemme muuttaneet sonoff -nimen loungelightiksi, joten päivitä mqtt -lähtösolmu (kytketty kytkimeen) käyttämään aihetta cmnd/loungelight/POWER.

Napsauta Ota käyttöön ja tarkista, että mqtt -solmut näyttävät 'kytketty'.

Kokeile seuraavaksi kytkinpainiketta ja etsi virheenkorjaus, jossa Sonoff -kytkin vastaa. Huomaat, että laite näyttää muutoksen aiheella: stat/loungelight/POWER. Vaihda nyt syöttösolmu, joka oli asetettu cmnd/sonoff/POWER tilaan/loungelight/POWER. Voimme käyttää tätä peittämään aukon toiminnassamme. Alun perin määritetty järjestelmä synkronoidaan kaikkien sisäänkirjautuneiden käyttäjien kanssa, mutta ei synkronoida Sonoff -kytkimen painiketta painamalla tehtyjen kytkimen muutosten kanssa. Kytke nyt siis stat/loungelight/POWER mqtt -syötön ulostulo kytkentätuloon (LHS). Kaksoisnapsauta nyt kytkintä ja poista rasti "jos viesti saapuu tuloon, siirry lähtöön". Tämä tuo esiin uusia vaihtoehtoja - valitse 'kytkinkuvake näyttää tulon tilan'. Ota käyttöön. Joten meillä on nyt hyvä palautesilmukka. Kojelaudan kytkimen asento muuttuu aina, kun Sonoff -kytkin vaihtuu, riippumatta siitä, missä muutos aloitettiin.

Joten meillä on nyt turvallinen, itsenäinen kodin automaatiojärjestelmä käynnissä ja valmis laajentumaan mihin tahansa. Seuraavassa osassa käsittelen joitain tähänastisia kokeilujani ja haasteita, joihin aion vastata.

Vaihe 8: Laajennuksen ensimmäiset vaiheet

Minulla on toinen Instructable Home Automation Sonoff-Tasmota -anturien LED-kehityskortti, joka näyttää joitain Sonoff-Tasmota-laiteohjelmiston lisäominaisuuksia:

Lämpötilan ja kosteuden mittaus

Tunkeutumistunnistus (kytkimen tulo)

IR -kaukosäädin (televisioille jne.)

LED -merkkijonot - sekä RGB että NeoPixel (yksilöllisesti osoitettavissa)

I2C -anturit

Edellä käytän ESP12F: ää ja mukautettua PCB: tä. NodeMCU: ta ja leipälautaa voidaan käyttää yhtä lailla. Tämä mahdollistaa nämä lisätoiminnot ilman johdotusta Sonoff -laitteeseen, ja siksi se on paljon turvallisempi lähestymistapa. Lämpötilatulolla olen pystynyt suorittamaan sähköisen peiton automaation.

Musiikki ja Internet -radio voidaan helposti lisätä. Tämä avaa vaihtoehtoja asettaa tiettyjä asemia tai albumeita soimaan tiettyinä aikoina tai ehkä vastauksena vierailijan (puhelimen) havaitsemiseen. Tämä ohje on laadukkaassa musiikkisoittimessa ja Internet -radiossa älypuhelimen ohjauksella. Koska tätä ohjaa myös Node-RED, pitäisi jopa olla mahdollista saada useampi kuin yksi äänijärjestelmä ja käyttää MQTT-tiedonsiirtoa niiden ohjaamiseen.

Olen myös tutkinut solmupunaista, mukaan lukien sähköpostien lähettäminen ja äänihälytysten tekeminen. Järjestelmä voi myös tunnistaa, milloin olet sisään/ulos - pingittämällä matkapuhelimesi IP -osoitteen. Node -Red voi myös käyttää säätä ja uutisia - joten voidaan lisätä tietoja ja tehdä automaatiota.

On muutamia temppuja, jotka on opittava - mutta niistä tulee helpoksi toisen kerran.

Toinen keino on lisätä näyttö pi: hen kojelaudan näyttämiseksi. Tämä on "käynnissä oleva työ" - tai toisin sanoen en ole liian onnellinen. Saamaani näyttöä on vaikea kääntää pystytilaan ja Chromium -selain on tuskallisen hidas. Vaihtoehto olisi noutaa vanha tabletti ebaystä ja käyttää sitä. Voin kokeilla Pi 2: ta ja katsoa, onko se riittävästi parantunut (malli B, jota käytetään tähän kehitykseen).

Toivottavasti tämä saa sinut alkuun ja mielikuvituksesi liikkuu. Mahdollinen laajuus on valtava. Voisi jopa muuttaa Sonoff -koodia muille antureille tarvittaessa.

Kaiken kaikkiaan olen hämmästynyt siitä, mitä tämä järjestelmä voi tehdä. Alkuperäinen tavoitteeni oli ajaa vain älypuhelimen kytkin luotettavasti erillisen järjestelmän kautta. Minulla oli visioita tarpeesta hallita palvelimia ja asiakkaita ja kirjoittaa html -käyttöliittymää. Mihin tämä päätyi, on paljon edellä tätä, sillä se tarjoaa paremman turvallisuuden, erinomaisen luotettavuuden, fantastisen käyttöliittymän, vedä ja pudota -ohjelmoinnin ja valtavat laajennusmahdollisuudet. Ja kaikki tämä paljon pienemmällä vaivalla.

Mike

Vaihe 9: Lisäys - lataaminen Raspbian Stretch Lite -ohjelmasta

Tämä vaihtoehto välttää täyden Raspbian Stretch -version mukana tulevan bloatwaren. Suurinta osaa tästä ei tarvita käytettäessä Pi: tä kodin automaatioon. Node-Red on kuitenkin asennettava.

Toimi kuten vaiheessa 1, mutta käytä Raspbian Stretch Liteä Raspbian Stretchin sijaan.

Vaiheen 2 sijaan toimi seuraavasti:

sudo apt -y asenna npm

npm -v palauttaa: 1.4.21 tai uudempi

sudo npm install -g n

sudo n 8.9.0

Voimme nyt käyttää solmupaketinhallintaa solmun punaisen asentamiseen:

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

Tämä antaa pari virheilmoitusta virheellisen osoitteen vuoksi. Järjestelmä tekee kuitenkin "lähdekääntämisen" tämän ongelman korjaamiseksi. Jos toistat yllä olevan ohjeen (ei välttämätön), virheitä ei tapahdu.

Meillä on nyt asennettu Node-Red ja sen tukipaketit, ja voimme siirtyä vaiheeseen 3, hyttysten lataamiseen.

Langaton kilpailu
Langaton kilpailu
Langaton kilpailu
Langaton kilpailu

Toinen sija langattomassa kilpailussa

Suositeltava: