Innholdsfortegnelse:

IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering: 10 trinn (med bilder)
IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering: 10 trinn (med bilder)

Video: IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering: 10 trinn (med bilder)

Video: IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering: 10 trinn (med bilder)
Video: Тайна Великой Китайской Стены 2024, Juli
Anonim
IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering
IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering

Ansvarsfraskrivelse

LES DETTE FØRST

Denne instruksen beskriver et prosjekt som bruker strøm (i dette tilfellet UK 240VAC RMS), mens det er tatt hensyn til sikker praksis og gode designprinsipper, er det alltid en risiko for potensielt dødelig elektrisk støt når du arbeider med disse forsyningsspenningene og for som forfatteren ikke kan akseptere noe ansvar hvis det oppstår personskade eller skade på eiendom når du følger innholdet. Følgelig gjør du dette prosjektet på egen risiko.

Innledning

Denne artikkelen, den niende i en serie om hjemmeautomatisering, dokumenterer hvordan du oppretter og integrerer en Sonoff 10A IoT -nettkontroller i et eksisterende hjemmeautomatiseringssystem, inkludert all nødvendig programvarefunksjonalitet for å muliggjøre vellykket distribusjon i hjemmemiljø.

Introduksjon

Som nevnt ovenfor beskriver denne instruksjonsboken hvordan du lager og integrerer en IoT -nettkontroller ved hjelp av Sonoff 10A fra iTead. Selve enheten er oppgitt til å være vurdert til 10 ampere @ 90 ~ 250VAC, men denne implementeringen reduserer den til 5amps via den sikrede pluggen som gir innenlands britisk hovedforsyning på 240VAC RMS.

Designmetoden integreres sømløst i det MQTT/OpenHAB -baserte IoT -nettverket som er beskrevet i denne serien om hjemmeautomatisering som bygger på gjenbrukt kode hentet herfra. Den kan også håndtere tapet av et hvilket som helst IoT -nettverkselement og er fullt i stand til å betjenes frittstående. Mens den er i frittstående modus, oppnås kontrollen over enheten ved å trykke på kontrollknappen på toppen av kabinettet, som veksler den videre forsyningsutgangen.

For å aktivere denne lokale kontrollen av Sonoff -enheten, bringes GPIO14 ut av saken og brukes som en utløserinngang. For å sikre sikkerheten mates denne inngangen via en optokoblingskrets og er plassert i et plasthus slik at operatøren på ingen tid blir utsatt for nettspenning.

Til slutt beskriver prosaen også hvordan du kan omprogrammere ESP8266-enheten i Sonoff 10A ved hjelp av Arduino IDE og gir full kretsdetaljer for en enhet som kan brukes til pålitelig å programmere målkode.

Hvilke deler trenger jeg?

Sonoff hovedkontroll

  1. 1 av Sonoff 10A her
  2. 1 av 7805L 5v spenningsregulator her
  3. 1 av 240/6VAC 1.5VA transformator her
  4. 2 av 0,1 keramiske kondensatorer her
  5. 1 av 1000uF @25v elektrolytisk kondensator her
  6. 1 av Bridge likeretter 2W01 her
  7. 2 av 4K7 -motstander her
  8. 1 av 330R motstand her
  9. 1 av SPST -knappen her
  10. 1 av Mulitcomp BM12W ABS -kabinett her
  11. 1 av TIL111 optokobler her
  12. 1 av 3-veis terminalblokk her
  13. 1 av 2-veis kodet molex-kontakt her/her
  14. 1 av 3-veis kodet molex-kontakt her/her
  15. 1 av 5-veis kodet molex-kontakt her/her
  16. 1 av 5-veis molex-pinner her
  17. 1 av Winbond SPI Flash (W25Q32FVSIG) her
  18. 1 av 20 mm sikringsholder + hette her
  19. 1 av 20mm hurtigblåsing 500mA sikring her
  20. 2 av polyamid kabelgjennomføringer her
  21. 1 av Storbritannia Nettkontakt (BS1363/A) her
  22. 1 av UK hovedkontakt (BS1363/A) her
  23. 7 av M3 16 mm CS nylonskruer, (inkl. 10 av muttere) her/her
  24. 2 av glidelåser her
  25. 1 av veroboard (0,1 "pitch) her
  26. 1 av Ulike lengder 22swg fortinnet kobbertråd her
  27. 1 av 3M hvit britisk strømkabel her
  28. 10 av Molex socket crimps her

Sonoff programmerer

  1. 1 av LD33CV 3v3 spenningsregulator her
  2. 1 av TO-220 heatsink her
  3. 1 av kjøleribbe lim her
  4. 1 av 10uF @16v Elektrolytisk kondensator her
  5. 1 av 0,1 keramisk kondensator her
  6. 1 av SPDT -knappen her
  7. 1 av 4K7 -motstand her
  8. 1 av 2-veis kodet molex-kontakt her/her
  9. 1 av 3-veis kodet molex-kontakt her/her
  10. 5 av Molex socket crimps her
  11. 1 av 6-veis molex-kontakt her
  12. 1 av SPST -knappen her
  13. 1 av 2,1 mm PSU -kontakt her
  14. 1 av veroboard (0,1 "pitch) her
  15. 1 av USB til seriell adapter (FTDI) her

Hvilken programvare trenger jeg?

  1. Arduino IDE 1.6.9 her
  2. Arduino IDE konfigurert for å programmere ESP8266. Se her; Konfigurere Arduino IDE for å programmere ESP8266-01

Hvilke verktøy trenger jeg?

  1. Loddejern,
  2. Bor og forskjellige biter (inkludert trinnhullskutter for kabelgjennomføringer og kontrollknapp),
  3. Skrutrekkere (forskjellige),
  4. Justerbare skiftenøkler (to av, kjevebredde> 25 mm, for kabelgjennomføringer),
  5. Filer (forskjellige),
  6. Robust skrustikke,
  7. Varmepistol,
  8. DMM (fortrinnsvis CAT IV).

Hvilke ferdigheter trenger jeg?

  1. God innsikt i elektronikk og elektrisk sikkerhet i hjemmet/design/ledninger etc.,
  2. Kunnskap om Arduino og dens IDE,
  3. Gode fabrikasjonsevner (lodding, arkivering, boring etc.),
  4. Litt tålmodighet,
  5. Litt forståelse for hjemmenettverket ditt.

Emner dekket

  • Introduksjon
  • Kretsoversikt
  • Sonoff RetroMods
  • Konstruksjons- og monteringsdetaljer
  • Sonoff programmeringsadapter
  • Oversikt over programvaresystem
  • Oversikt over programvare
  • OpenHAB -konfigurasjon
  • Testing av IoT -enheten
  • Konklusjon
  • Referanser brukt

Seriekoblinger

Til del 8: WiFi IoT temperatur- og fuktighetssensor. Del: 8 IoT, hjemmeautomatisering

Til del 10: IR -fjernkontroll via IoT. Del 10 IoT, hjemmeautomatisering

Trinn 1: Kretsoversikt

Kretsoversikt
Kretsoversikt
Kretsoversikt
Kretsoversikt
Kretsoversikt
Kretsoversikt
Kretsoversikt
Kretsoversikt

Oversikt

Som nevnt i innledningen ovenfor var det nødvendig med en inngang til Sonoffs innebygde ESP8266 for å kunne slå hovedkontrollen av og på lokalt. Innføring av en slik ekstern inngang krever at Sonoff ABS -kabinettet brytes og skaper derfor en potensiell sjokkfare. For å overvinne dette brukte jeg optisk isolasjon slik at det ikke er noen mulighet for eksponering for nettstrøm utenfor hovedkontrollsystemets kapsling.

Det som følger er en beskrivelse av opto-isolasjonskretsene (i bilde 1 ovenfor).

Kretsdetaljer

Opto-isolasjonskretsen mottar strømtilførselen direkte fra strømnettet som er tilført enheten. 240VAC RMS brukes på trinn/isolasjonstransformator TR1 via J1 a pheonix contact MKDSN2, 5/3-5.08 polyamid 3-veisterminal klassifisert til 16A ved 400V i stand til å bære en kabel på 2,5 mm (sq) CSA og F1 a 500mA 20mm rask sikring. 6VAC tilgjengelig på sekundærviklingene til TR1 er fullbølge -utbedret av diodebro B1.

Denne fullbølgede utbedrede utgangen blir deretter stabilisert og regulert av C1, C2 C3, R3 og IC1 en shuntregulator i 7805L -serien, noe som gir en god, ren 5v forsyningsskinne.

5v-skinnen brukes deretter til å styre inngangen til OK1 en TIL111 opto-isolator via en eksternt montert hvit SPST-knapp koblet over J3. Utgangen fra TIL111 er koblet til Sonoff GPIO14 -inngangen via R2 en 4K7 opptrekkmotstand. Dermed oppnås bedre enn 340V isolasjon (dvs. Peak voltage = (240VAC*sqroot (2))).

Trinn 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

For å integrere Sonoff 10A -enheten er det nødvendig å gjøre noen retrospektive modifikasjoner.

Den første er å legge til en 5-veis 0,1 pitch molex-kontakt som vist på bilde 1. Dette gir tilgang til GPIO14 på Sonoff når beskyttelsesdekselet er byttet ut som på bilder 2 og 3 ovenfor.

Selv om det ikke er vist ovenfor, tok jeg også frem de serielle TX/RX-linjene for å tillate programmering på stedet (se kabelselen SK1..3 i trinn 1 ovenfor).

Den andre modifikasjonen er å øke størrelsen på SPI Flash -enheten fra standard 1MByte til 4MBytes, dette er for å gi tilstrekkelig plass til IoT -webserverfilene som skal lagres i SPIFFS.

Jeg kjøpte SMD SPI -blitsenheten (W25Q32FVSIG) fra Ebay her

For å bytte blits fjernet jeg midlertidig Sonoff LED som på bilde 4 for å gi bedre tilgang til SMD -enheten. For å avlodde blitsen brukte jeg en varmepistol som vist på bilde 5 ovenfor. Deretter loddet på nytt henholdsvis 4MByte Flash og LED (bilde 6).

Trinn 3: Konstruksjons- og monteringsdetaljer

Konstruksjons- og monteringsdetaljer
Konstruksjons- og monteringsdetaljer
Konstruksjons- og monteringsdetaljer
Konstruksjons- og monteringsdetaljer
Konstruksjons- og monteringsdetaljer
Konstruksjons- og monteringsdetaljer
Konstruksjons- og monteringsdetaljer
Konstruksjons- og monteringsdetaljer

Jeg vedlagte strømkontrollen i en Mulitcomp BM12W ABS -boks (bilde 1 ovenfor). Dette kabinettet har isolerte messinginnsatser av M3 som gir mulighet for flere tilgang til enheten uten at det går ut over festetrådene slik at den interne sikringen kan byttes ut om nødvendig eller intern inspeksjon kan gjøres over tid (det samme kan ikke sies for Sonoff-enheten, som er faktisk en gang bare i nærheten med selvtappere).

Primær strekkavlastning for strømforsyningskabelen ble oppnådd via en M16 Nylon/Polyamid 6/6 hvit kabelgjennomføring som støtter en kabel OD Min/Max 5mm/10mm.

Sekundær strekkavlastning var via et enkelt glidelås som var plassert på kabelen hvis overdreven belastning påføres og kabelgjennomføringen mislykkes, glidelåsen vil holde kabelen på plass.

For å montere kabelgjennomføringene og gi tilstrekkelig plass til å montere Sonoff og opto-isolasjonselektronikk, fjernet jeg de interne PCB-monteringsribbene som vist ovenfor (bilde 2).

All elektronikk ble sikkert montert via M3 nylon CS -skruer for å sikre isolasjon med utsiden av kabinettet. Opto-isolasjonselektronikken er montert med 5 festepunkter for å sikre en god mekanisk styrke hvis enheten skulle falle, og dermed forhindre at isolasjonstransformatorens masse bryter veroboardkretsen.

Tilførselen til enheten ble oppnådd via UK Standard fargekodet hvit 3-kjerne PVC-isolert strømnettet multi-streng (32/0,2 mm kvadrat) kabel 1 mm (kvadrat) CSA. med en OD på 7,2 mm som kan bære 10A.

Enheten ble koblet til britisk strømforsyning (240VAC RMS) via en standard 3 -pins sikkerhetsplugg (BS 1363/A) godkjent. Støpselet var smeltet på 5A.

Alle strømforsyningskabler til opto-isolasjonskretsen ble koblet til via pheonix contact MKDSN2, 5/3-5.08 polyamidterminaler vurdert til 16A ved 400V i stand til å bære en kabel på 2,5 mm (kvadrat) CSA, og gir dermed god kapasitet for to kabler i hver posisjon.

Ingen nettkabler ble fortinnet, bare vridd for å hindre at kjernene sprer seg før de settes inn i kontaktblokken. Tinning av nettkabler er en farlig praksis ettersom loddetinnet "slapper av" over tid og til slutt fører til at kabelen går tapt i kontaktblokken.

Merk:

  • OD = Ytre diameter.
  • VAC = Volt vekselstrøm
  • RMS = Root Mean Square
  • CSA = Tverrsnittsareal
  • CS = Counter Sunk

Trinn 4: Sonoff programmeringsadapter

Sonoff programmeringsadapter
Sonoff programmeringsadapter
Sonoff programmeringsadapter
Sonoff programmeringsadapter
Sonoff programmeringsadapter
Sonoff programmeringsadapter
Sonoff programmeringsadapter
Sonoff programmeringsadapter

Det er to aspekter som må vurderes når du omprogrammerer Sonoff 10A via Arduino IDE;

  1. Konfigurere Arduino IDE for å programmere ESP8266,
  2. Handlingen med å programmere selve maskinvaren.

Konfigurere Arduino IDE til å programmere ESP8266

For å konfigurere Ardino IDE, følg instruksjonene her Konfigurere Arduino IDE for å programmere ESP8266-01

Programmering av maskinvaren

Dette er en flertrinnsprosess som i alle tilfeller med ESP8266. Her blir Sonoff -strøm tilført kortet via en ekstern stabilisert 3v3 DC -forsyning og IKKE fra strømnettet. Det kreves en USB til seriell enhet for å sende og motta data til og fra Sonoff. Koble TX og RX som vist på bilde 2 og 4.

Programmeringstrinn (generelt)

  1. Sørg først for at det ikke er noen ekstern strømforsyning til Sonoff,
  2. Trykk og hold inne knappen på Sonoff -enheten. (bilde 1 ovenfor, merket re-flash-knapp),
  3. Påfør ekstern DC 3v3 -forsyning til pinne 1. (bilde 2 ovenfor),
  4. Slipp Sonoff -knappen,
  5. Enheten kan nå omprogrammeres på vanlig måte via Arduino IDE.

For å gjøre ting litt enklere opprettet jeg programmeringsenheten ovenfor (bilder 3 og 4) som grensesnittet til Sonoff via kabelselen SK1… 3 (som beskrevet i dette instruksjonsmessige trinn 1.). Dette muliggjorde enklere programmering av ESP8266. Det ga også et middel til å teste GPIO14 som inngang ved bruk av R1 en 4K7 opptrekkmotstand og knapp S1.

Bruke programmeringsenheten ovenfor (bilder 3 og 4) Programmeringstrinnene er,

  1. Trykk og hold inne re-flash-knappen på Sonoff,
  2. Puls 3v3 -forsyningen ved å trykke kort på S2,
  3. Slipp re-flash-knappen,
  4. Enheten kan nå programmeres.

MERK - ADVARSEL

Under ingen omstendigheter skal strøm tilføres via strømnettet under Sonoffs omprogrammeringsaktivitet

Trinn 5: Oversikt over programvaresystem

Oversikt over programvaresystem
Oversikt over programvaresystem
Oversikt over programvaresystem
Oversikt over programvaresystem

Denne IoT Mains Controller -enheten inneholder for det meste de samme seks viktige programvarekomponentene som i Instructable WiFi IoT Temperatur- og fuktighetssensor. Del: 8 IoT, hjemmeautomatisering og vist på bilde 1 ovenfor, med litt tilpasning.

SPIFFS

Dette er (oppgradert til 4MBytes) innebygd SPI Flash Filing System og brukes til å holde følgende informasjon (se bilde 2 ovenfor);

  • Ikoner og 'Main Controller Configuration Startside' html: Serveres av IoT -enheten når den ikke kan koble til IoT WiFi -nettverket (vanligvis på grunn av feil sikkerhetsinformasjon) og gir brukeren mulighet til å ekstern konfigurere hovedkontrollen uten behovet for å omprogrammere eller laste opp nytt SPIFFS-innhold.
  • Sikkerhetsinformasjon: Denne inneholder informasjonen som brukes ved oppstart av IoT -enheten for å koble til IoT WiFi -nettverket og MQTT -megleren. Informasjon som sendes inn via nettsiden for hovedkontrollkonfigurasjon, skrives til denne filen ('secvals.txt').

Merk: For å sette opp enheten først, se her for fullstendig informasjon om hvordan du bruker SPIFFS med Arduino IDE.

mDNS -server

Denne funksjonaliteten påkalles når IoT -enheten ikke klarte å koble seg til WiFi -nettverket som en WiFi -stasjon og i stedet har blitt et WiFi -tilgangspunkt, noe som ligner på en innenlandsk WiFi -ruter. I tilfelle av en slik ruter vil du vanligvis koble til den ved å skrive inn IP -adressen til noe som 192.168.1.1 (vanligvis skrevet på en etikett festet i boksen) direkte i nettleserens nettleser, hvoretter du vil motta en påloggingsside for å gå inn brukernavnet og passordet slik at du kan konfigurere enheten. For ESP8266 i AP -modus (tilgangspunktmodus) er enheten standard til IP -adressen 192.168.4.1, men med mDNS -serveren i gang trenger du bare å skrive det menneskelige navnet 'MAINSCON.local' i nettleserens URL -linje for å se 'Startside for hovedkontrollkonfigurasjon'.

MQTT -klient

MQTT -klienten gir all nødvendig funksjonalitet til; koble til din IoT -nettverk MQTT -megler, abonner på temaene du ønsker og publiser nyttelast til et gitt emne. Kort sagt gir den IoT -kjernefunksjonalitet.

HTTP -webserver

Som nevnt ovenfor, hvis IoT -enheten ikke kan koble til WiFi -nettverket hvis SSID, P/W etc. er definert i sikkerhetsinformasjonsfilen i SPIFFS, blir enheten et tilgangspunkt. Når den er koblet til WiFi -nettverket fra tilgangspunktet, lar tilstedeværelsen av en HTTP -webserver deg direkte koble til enheten og endre konfigurasjonen ved bruk av en HTTP -nettleser. Hjemmeside 'webside som også finnes i SPIFFS.

WiFi -stasjon

Denne funksjonaliteten gir IoT -enheten muligheten til å koble til et hjemlig WiFi -nettverk ved hjelp av parametrene i sikkerhetsinformasjonsfilen, uten dette vil ikke din IoT -enhet kunne abonnere/publisere på MQTT -megleren

WiFi tilgangspunkt

Muligheten til å bli et WiFi -tilgangspunkt er et middel der IoT -enheten lar deg koble til den og gjøre konfigurasjonsendringer via en WiFi -stasjon og en nettleser (for eksempel Safari på Apple iPad). Dette tilgangspunktet sender en SSID = "MAINSCON" + de siste 6 sifrene i MAC -adressen til IoT -enheten. Passordet for dette lukkede nettverket heter fantasifullt 'PASSORD'.

Trinn 6: Oversikt over programvare

Oversikt over programvare
Oversikt over programvare
Oversikt over programvare
Oversikt over programvare
Oversikt over programvare
Oversikt over programvare
Oversikt over programvare
Oversikt over programvare

Forord For å lykkes med å kompilere denne kildekoden trenger du følgende ekstra biblioteker;

PubSubClient.h

  • Av: Nick O'Leary
  • Formål: Lar enheten publisere eller abonnere på MQTT -emner med en gitt megler
  • Fra:

Bounce2.h

  • Av: Thomas O Fredericks
  • Formål: Inngangsbryter de-bounce i programvare
  • Fra:

Kodeoversikt

Programvaren bruker state-maskinen som vist på bilde 1 ovenfor (full kopi av kilden gitt nedenfor). Det er 5 hovedstater som følger;

  • I DET

    Denne initialiseringstilstanden er den første tilstanden som ble angitt etter oppstart

  • NOCONFIG

    Denne tilstanden angis hvis en ugyldig eller manglende secvals.txt -fil oppdages etter oppstart

  • VENTER NV

    Denne tilstanden er forbigående, angitt mens det ikke finnes noen WiFi -nettverkstilkobling

  • VENTENDE MQTT

    Denne tilstanden er forbigående, angitt etter at en WiFi -nettverkstilkobling er opprettet, og mens det ikke er noen forbindelse til en MQTT -megler på det nettverket

  • AKTIV

    Dette er den normale driftstilstanden som angis når både en WiFi -nettverkstilkobling og en MQTT -meglerforbindelse er etablert. Det er i denne tilstanden hovedkontrolleren vil publisere for MQTT -megleren og motta kommandoer via emner som abonneres

Hendelsene som kontrollerer overganger mellom tilstander er beskrevet på bilde 1 ovenfor. Overganger mellom stater styres også av følgende SecVals -parametere;

  • Første MQTT -megler IP -adresse. I stiplet desimalform AAA. BBB. CCC. DDD
  • 2. MQTT meglerhavn. I heltall -form.
  • Tredje MQTT -meglerforbindelse prøver å gjøre før du bytter fra STA -modus til AP -modus. I heltall -form.
  • Fjerde WiFi -nettverks -SSID. I fri form tekst.
  • 5. WiFi -nettverkspassord. I fri form tekst.

Som nevnt ovenfor hvis IoT -enheten ikke kan koble seg til en WiFi -stasjon som WiFi -nettverk som har SSID og P/W som er definert i secvals.txt i SPIFFS, vil enheten bli et tilgangspunkt. Når den er koblet til dette tilgangspunktet, vil den vise "startsiden for hovedkontrollkonfigurasjon" som vist ovenfor i bilde 2 (ved å skrive inn enten "MAINSCON.local" eller 192.168.4.1 i nettleserens adresselinje). Denne hjemmesiden tillater omkonfigurering av hovedkontrollen via en HTTP -nettleser.

MQTT Emne navnekonvensjon

Skissert på bilde 3 ovenfor er navnekonvensjonen som brukes for MQTT -emnene og er i samsvar med mønsteret som ble brukt i min tidligere Instructable (her trinn 5).

MQTT -emner som brukes av denne IoT -enheten

For klarhetens skyld har jeg dokumentert (bilde 4) emnene og tilhørende meldingssekvenser denne enheten publiserer/abonnerer på. Bildet viser også samspillet med den hvite kontrollknappen på utsiden av kabinettet (men ironisk nok er knappen vist med rødt).

Ekstern konfigureringstilgang mens den er i AKTIV

Når den er koblet til MQTT -megleren, er det mulig å ekstern konfigurere sikkerhetsparametrene for enheten via MQTT -emnepublikasjoner. Den tilhørende filen secvals.txt har skrivebeskyttet tilgang avslørt.

Brukerfeilsøking

Under oppstartsekvensen gir Sonoff -enhetsledningen følgende feilsøkingsfeedback, selv om det bør bemerkes, for å se dette må du fjerne dekselet og avsløre kretsen, så det er bare tilrådelig å gjøre det mens du utvikler koden og driver enheten. med en 3v3 forsyning;

  • 1 Kort blits: Ingen konfigurasjonsfil ligger i SPIFFS (secvals.txt),
  • 2 korte blink: IoT -enheten prøver å koble til WiFi -nettverk,
  • Kontinuerlig belysning: Sonoff IoT -enheten prøver å koble seg til MQTT Broker,
  • Av: Enheten er aktiv og koblet til MQTT Broker.

Merknad 1: Startside for hovedkontrollkonfigurasjon bruker ikke sikre kontakter og er derfor avhengig av at nettverket er sikkert.

Merknad 2: For å programmere flere IoT -enheter må MQTT -strengen redigeres før den lastes ned til hver enhet. Dette er fordi ID -nummeret til hovedkontrolleren er innebygd i emnestrengen MQTT. dvs. i den publiserte programvaren valgte jeg verdien 100: 'WFD/MainsCont/100/Relay/Command/1', og for mine 2 enheter er de nummerert henholdsvis 1 og 2.

  • 'WFD/MainsCont/1/Relé/Command/1'
  • 'WFD/MainsCont/2/Relay/Command/1'

Merk 3: For fullstendighet når den er i AKTIV tilstand gir IoT-programvaren mulighet for kontroll av Sonoff-LED og publisering av statusen til re-flash-knappen. Selv om disse bare er av verdi under feilsøkingsprosessen, da ingen av dem blir utsatt for brukeren under normal drift.

Trinn 7: OpenHAB -konfigurasjon

OpenHAB -konfigurasjon
OpenHAB -konfigurasjon
OpenHAB -konfigurasjon
OpenHAB -konfigurasjon
OpenHAB -konfigurasjon
OpenHAB -konfigurasjon

For testformål bestemte jeg meg for å ideelt sett distribuere de to hovedkontrollene i "stua" i huset mitt. Denne OpenHAB -siden kan nås via hovedsiden som på bilde 1.

Jeg endret OpenHAB.sitemap -konfigurasjonen som ble gitt i min tidligere Instructable (her) og la til individuelle oppføringer for 'Mains Controller 1' og 'Mains Controller 2' (bilde 2 ovenfor). Jeg la også til oppføringer (Living Room Mains Cont. 1 & 2) for å vise RSSI -trender målt ved mottakeren til de to nye IoT -enhetene (bilde 3).

Til slutt la jeg til oppføringer i.rules og.items -filene for å tillate dynamisk tilstandssynkronisering av Sonoff og oppdatering/animering av mitt dårlige forsøk på en switch -grafikk (bryteren lukkes når den er aktiv og åpnes når den er inaktiv). Bilde 2 gir et eksempel på MC1 aktiv og MC2 inaktiv.

Merk 1: Hvis du ikke er sikker på hvordan du bruker OpenHAB, se her 'Konfigurere og konfigurere OpenHAB. Del 6: IoT, hjemmeautomatisering '

Merknad 2: En kopi av det endrede nettstedskartet, regler og elementfiler, ikoner etc. er gitt i zip -filen nedenfor.

Merknad 3: RSSI = Mottatt signalstyrkeindikasjon. Dette er et mål på hvor godt IoT -enheten kan se WiFi -nettverket ditt.

Trinn 8: Testing av IoT -enheten

Image
Image
Testing av IoT -enheten
Testing av IoT -enheten

Som beskrevet i Instructable WiFi IoT temperatur- og fuktighetssensor. Del: 8 IoT, hjemmeautomatisering Trinn 7, første testing av IoT-enheten ble utført over en MQTT-tilkobling via MQTT Spy (som i systemblokkdiagram bilde 1 ovenfor), overvåking av LED-utgang, knappinnganger (både Sonoff re-flash-knapp og den hvite eksterne knappen) og feilsøk trafikk på det serielle grensesnittet. Dette tillot meg å utøve alle de tilgjengelige abonnementstemaene og sjekke de publiserte svarene. Selv om dette igjen ble gjennomført manuelt og var tidkrevende, selv om det muliggjorde 100% dekning av meldinger/emnepublikasjoner.

Ettersom hovedprogramvaremaskinmaskinen (trinn 6 ovenfor) ble arvet fra den tidligere instruerbare (delen: 8) bortsett fra sanitetskontroll, kunne programvaren koble seg til WiFi N/W og MQTT Broker, og det ble antatt at denne fungerte som den skulle.

Full systemtesting ble deretter fullført ved hjelp av hovedkontrollen og IoT -infrastrukturen (igjen bilde 1) denne gangen ved å bruke OpenHAB for å kontrollere samspillet med IoT -enheten. IoT -maskinvaren og dummy -lasten som er satt opp, kan sees på bilde 2 ovenfor.

Videoen gir fullstendige detaljer om systemtester og viser tydelig synkroniseringen som opprettholdes mellom OpenHAB -enheter (PC/Chrome og iPad/OpenHAB APP) i sanntid. Den viser også direktemeldinger til nettkontrollerne via MQTTSpy (se her for ytterligere detaljer Konfigurering av en MQTT -megler. Del 2: IoT, hjemmeautomatisering) og OpenHAB -tailed systemlogg fra bringebær pi -server over en PuTTY SSH -tilkobling (se her for ytterligere informasjon detaljer Oppsett og konfigurering av OpenHAB. Del 6: IoT, hjemmeautomatisering).

Merk: Debug -trafikk ble utarbeidet for den endelige programvareutgivelsen.

Trinn 9: Konklusjon

Generell

Prosjektet var relativt enkelt å gjennomføre og fungerte bra. Den innebygde programvaren var enkel å produsere, og var en kuttversjon av koden som ble brukt for temperatur- og fuktighetssensorene i del 8 i denne serien.

Jeg hadde først til hensikt å skaffe bare hvite komponentdeler utelukkende på grunn av deres estetiske kvalitet. Jeg oppnådde dette i alt unntatt kontrollknappen, prøv så godt jeg kunne, jeg klarte ikke å skaffe en god/billig helt hvit knapp.

Sonoff 10A -enhet

Jeg har listet opp nedenfor hva jeg syntes var rimelige fordeler og ulemper med Sonoff -enheten

Fordeler

  • Billig.
  • God samfunnsstøtte.
  • Kan omprogrammere via Arduino IDE.

Ulemper

  • Tynn innkapsling.
  • Minimal I/O (hentes ut til brukbare kontakter).
  • Det går varmt i stillestående tilstand.
  • Har bare 1 MByte innebygd SPI-blits.
  • Er en PITA å omprogrammere når den er kablet på plass.
  • Ved integrering av ny kode i Sonoff -testen var relélukkingen problematisk gitt reléet er 5v og forsyningen som brukes til Sonoff for programmering er 3v3. Reléaktivering er bare merkbar for øret.

Bekymringer

  • Den bytter ikke den nøytrale linjen. Bruker et SPST -relé.
  • Er ikke smeltet.
  • Dårlig kabelavlastning.
  • Kretskortet er ikke sikret i Sonoff -kabinettet.

Kommenter ingeniørdesign

Gitt at denne IoT-enheten skulle brukes til å bytte strømnettet i Storbritannia (240VAC RMS), fulgte jeg både god mekanisk og elektrisk designpraksis og sørget for at risikoen for sjokk ble minimert ved ikke å eksponere elektrisk ledende materialer, over å spesifisere alle komponenter, de-rating utgangsbelastning, bruk av sikringsbeskyttelse på både hovedkontrollen og det optokoblede undersystemet, inkludering av god ubrutt jording og bruk av optisk/galvanisk isolasjon.

Mulig forbedring

I ettertid hadde det vært nyttig å inkludere en visuell indikasjon på at hovedkontrollen var aktiv (LED eller Neon). Selv om det ikke er et problem i daglig bruk, gitt det er vanlig praksis å isolere lasten fra forsyningen før vedlikehold utføres, eller et enkelt trykk på den lokale kontrollknappen vil skifte utgang i tilfelle der en lampe kan lyse når den kobles til.

Siste notat

Hvis du ønsker å se to svært dårlige eksempler på håndtering av nettstrøm, kan du se på linkene nedenfor. Deres Darwin -priser vil komme på posten veldig snart, jeg er ganske sikker;

  • Mad Scientist skjøteledning
  • Tilbakemeldinger fra samfunnet 03 - Bekymringer om strømforsyning!

Trinn 10: Referanser brukt

Jeg brukte følgende kilder for å sette denne instruksjonsboken sammen;

PubSubClient.h

  • Av: Nick O'Leary
  • Formål: Lar enheten publisere eller abonnere på MQTT -emner med en gitt megler
  • Fra:

Bounce2.h

  • Av: Thomas O Fredericks
  • Formål: Inngangsbryter de-bounce i programvare
  • Fra:

SPIFFS

https://esp8266.github.io/Arduino/versions/2.0.0/do…

Oppgraderer Sonoff -blits

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

Sonoff kretsdiagram

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

USB UART -modul (også kjent som FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f63593d2e: g: QVUAAOSw71BXP92B

Darwin Awards (lett lettelse)

https://www.darwinawards.com/

TIL111 datablad for opto-isolator

Anbefalt: