Indholdsfortegnelse:

IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering: 10 trin (med billeder)
IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering: 10 trin (med billeder)

Video: IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering: 10 trin (med billeder)

Video: IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering: 10 trin (med billeder)
Video: Den nye pige - En film om mobning 2024, Juli
Anonim
IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering
IoT -hovedkontroller. Del 9: IoT, hjemmeautomatisering

Ansvarsfraskrivelse

LÆS DETTE FØRST

Denne instruktionsbog beskriver et projekt, der bruger netstrøm (i dette tilfælde UK 240VAC RMS), mens der er taget hensyn til sikker praksis og gode designprincipper, er der altid en risiko for potentielt dødeligt elektrisk stød, når man arbejder med disse forsyningsspændinger og for som forfatteren ikke kan påtage sig ethvert ansvar for, hvis der opstår personskade eller beskadigelse af ejendom, når man følger dets indhold. Derfor laver du dette projekt på egen risiko.

Præambel

Denne artikel, den 9. i en serie om hjemmeautomatisering, dokumenterer, hvordan du opretter og integrerer en Sonoff 10A IoT -hovedkontroller i et eksisterende hjemmeautomatiseringssystem, herunder alle de nødvendige softwarefunktioner for at muliggøre en vellykket implementering i hjemmet.

Introduktion

Som nævnt ovenfor beskriver denne instruktionsvejledning, hvordan man laver og integrerer en IoT -netcontroller ved hjælp af Sonoff 10A fra iTead. Selve enheden er angivet som værende klassificeret til 10 ampere @ 90 ~ 250VAC, men denne implementering afvurderer den til 5amps via det smeltede stik, der leverer britisk hovedforsyning til 240VAC RMS.

Designmetoden integreres problemfrit i det MQTT/OpenHAB -baserede IoT -netværk beskrevet i denne serie om hjemmeautomatisering, der bygger på genbrugskode taget herfra. Det kan også håndtere tabet af ethvert IoT -netværkselement og er fuldt ud i stand til at blive betjent selvstændigt. I standalone -tilstand opnås kontrol af enheden ved blot at trykke på kontrolknappen øverst på kabinettet, hvilket skifter den videre forsyningsoutput.

For at aktivere denne lokale kontrol af Sonoff -enheden bringes GPIO14 ud af sagen og bruges som en triggerindgang. For at sikre sikkerheden tilføres denne indgang via et optokoblerkredsløb og er placeret i et plastikhus, så operatøren på intet tidspunkt udsættes for netspændinger.

Endelig skitserer prosaen også, hvordan man omprogrammerer ESP8266-enheden i Sonoff 10A ved hjælp af Arduino IDE og giver fuldstændige kredsløbsdetaljer for en enhed, der kan bruges til pålideligt at programmere målkode.

Hvilke dele har jeg brug for?

Sonoff Mains Controller

  1. 1 fra Sonoff 10A her
  2. 1 off 7805L 5v spændingsregulator her
  3. 1 off 240/6VAC 1.5VA Transformer her
  4. 2 off 0.1 keramiske kondensatorer her
  5. 1 off 1000uF @25v elektrolytkondensator her
  6. 1 off Bridge ensretter 2W01 her
  7. 2 off 4K7 modstande her
  8. 1 off 330R modstand her
  9. 1 fra SPST -knap her
  10. 1 off Mulitcomp BM12W ABS -kabinet her
  11. 1 off TIL111 optokobler her
  12. 1 off 3-vejs terminalblok her
  13. 1 off 2-vejs kodet molex-stik her/her
  14. 1 off 3-vejs kodet molex-stik her/her
  15. 1 off 5-vejs kodet molex-stik her/her
  16. 1 off 5-vejs molex stifter her
  17. 1 off Winbond SPI Flash (W25Q32FVSIG) her
  18. 1 slukket 20 mm sikringsholder + hætte her
  19. 1 slukket 20 mm hurtigt slag 500mA sikring her
  20. 2 ud af polyamid kabelforskruninger her
  21. 1 off britisk netstik (BS1363/A) her
  22. 1 off britisk hovedstik (BS1363/A) her
  23. 7 off M3 16mm CS nylonskruer, (inkl. 10 off møtrikker) her/her
  24. 2 off Zip slips her
  25. 1 fra veroboard (0,1 "pitch) her
  26. 1 off Forskellige længder 22swg fortinnet kobbertråd her
  27. 1 off 3M hvid britisk netkabel her
  28. 10 off Molex socket crimps her

Sonoff programmerer

  1. 1 off LD33CV 3v3 spændingsregulator her
  2. 1 fra TO-220 heatsink her
  3. 1 rabat på kølelegemepasta her
  4. 1 off 10uF @16v Elektrolytkondensator her
  5. 1 off 0,1 keramisk kondensator her
  6. 1 off SPDT -knap her
  7. 1 off 4K7 modstand her
  8. 1 off 2-vejs kodet molex-stik her/her
  9. 1 off 3-vejs kodet molex-stik her/her
  10. 5 off Molex socket crimps her
  11. 1 off 6-vejs molex-fatning her
  12. 1 fra SPST -knap her
  13. 1 off 2,1 mm PSU -stik her
  14. 1 off veroboard (0,1 "pitch) her
  15. 1 off USB til seriel adapter (FTDI) her

Hvilken software har jeg brug for?

  1. Arduino IDE 1.6.9 her
  2. Arduino IDE konfigureret til at programmere ESP8266. Se her; Opsætning af Arduino IDE til programmering af ESP8266-01

Hvilke værktøjer har jeg brug for?

  1. Loddekolbe,
  2. Bor og forskellige bits (inklusive trinvis hulskærer til kabelforskruninger og betjeningsknap),
  3. Skruetrækkere (forskellige),
  4. Justerbare skruenøgler (to af, kæbebredde> 25 mm, til kabelforskruninger),
  5. Filer (forskellige),
  6. Robust skruestik,
  7. Varmepistol,
  8. DMM (fortrinsvis CAT IV).

Hvilke færdigheder har jeg brug for?

  1. Et godt kendskab til elektronik og elektrisk sikkerhed i hjemmet/design/ledninger osv.,
  2. Kendskab til Arduino og dens IDE,
  3. Gode fremstillingsevner (lodning, arkivering, boring osv.),
  4. Noget tålmodighed,
  5. En vis forståelse for dit hjemmenetværk.

Emner dækket

  • Introduktion
  • Kredsløbsoversigt
  • Sonoff RetroMods
  • Konstruktion og montage detaljer
  • Sonoff programmeringsadapter
  • Oversigt over softwaresystem
  • Softwareoversigt
  • OpenHAB -konfiguration
  • Test af din IoT -enhed
  • Konklusion
  • Referencer brugt

Serielinks

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

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

Trin 1: Oversigt over kredsløb

Kredsløbsoversigt
Kredsløbsoversigt
Kredsløbsoversigt
Kredsløbsoversigt
Kredsløbsoversigt
Kredsløbsoversigt
Kredsløbsoversigt
Kredsløbsoversigt

Oversigt

Som nævnt i indledningen ovenfor var et input til Sonoffs indbyggede ESP8266 påkrævet for at kunne tænde og slukke for hovedkontrollen lokalt. Indførelse af en sådan ekstern indgang kræver, at Sonoff ABS -kabinettet brydes og skaber derfor en potentiel stødfare. For at overvinde dette brugte jeg optisk isolering, således at der ikke er mulighed for udsættelse for el -net uden for netstyringssystemets kabinet.

Det følgende er en beskrivelse af opto-isoleringskredsløbet (i billede 1 ovenfor).

Kredsløbsdetaljer

Opto-isolationskredsløbet modtager strømforsyningen direkte fra lysnettet, der er tilsluttet enheden. 240VAC RMS anvendes på stepdown/isolationstransformator TR1 via J1 a pheonix contact MKDSN2, 5/3-5.08 polyamid 3-vejs terminal vurderet til 16A ved 400V i stand til at bære et kabel på 2,5 mm (sq) CSA og F1 a 500mA 20mm hurtig sikring. Den 6VAC, der er tilgængelig på de sekundære viklinger af TR1, er fuldbølget rektificeret af diodebro B1.

Denne fuldbølgerektificerede output stabiliseres og reguleres derefter af C1, C2 C3, R3 og IC1 en shuntregulator i 7805L -serien, hvilket giver en god, ren 5v forsyningsskinne.

5v-skinnen bruges derefter til at styre indgangen til OK1 en TIL111 opto-isolator via en eksternt monteret hvid SPST-knap tilsluttet på tværs af J3. Udgangen fra TIL111 er koblet til Sonoff GPIO14 -indgangen via R2 en 4K7 pull up -modstand. Således opnås bedre end 340V isolation (dvs. Peak voltage = (240VAC*sqroot (2))).

Trin 2: Sonoff RetroMods

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

For at integrere Sonoff 10A -enheden er det nødvendigt at foretage nogle retrospektive ændringer.

Den første er at tilføje et 5-vejs 0,1 pitch molex-stik som vist på billede 1. Dette giver adgang til GPIO14 på Sonoff, når beskyttelsesdækslet er blevet udskiftet som på billederne 2 og 3 ovenfor.

Selvom det ikke er vist ovenfor, bragte jeg også de serielle TX/RX-linjer frem for at muliggøre in-situ programmering (se kabelsele SK1..3 i trin 1 ovenfor).

Den anden ændring er at øge størrelsen på SPI Flash -enheden fra standard 1MByte til 4MBytes, dette er for at give tilstrækkelig plads til IoT -webserverfiler at blive gemt i SPIFFS.

Jeg købte SMD SPI -flashenheden (W25Q32FVSIG) fra Ebay her

For at udskifte blitzen fjernede jeg midlertidigt Sonoff LED som på billede 4 for at give bedre adgang til SMD -enheden. For at aflodde blitzen brugte jeg en varmepistol som vist på billede 5 ovenfor. Derefter loddes henholdsvis 4MByte Flash og LED igen (billede 6).

Trin 3: Konstruktion og montagedetaljer

Konstruktion og montage detaljer
Konstruktion og montage detaljer
Konstruktion og montage detaljer
Konstruktion og montage detaljer
Konstruktion og montage detaljer
Konstruktion og montage detaljer
Konstruktion og montage detaljer
Konstruktion og montage detaljer

Jeg lukkede netkontrollen i en Mulitcomp BM12W ABS Box (Pic 1 ovenfor). Dette kabinet har isolerede M3-skær af messing, der giver mulighed for multi-adgang til enheden uden at gå på kompromis med fastgørelsestråde, så den interne sikring kan udskiftes om nødvendigt eller intern inspektion kan foretages over tid (det samme kan ikke siges om Sonoff-enheden, som er faktisk en gang kun tæt ved hjælp af selvudtag).

Primær aflastning for strømforsyningskablet blev opnået via en M16 Nylon/Polyamid 6/6 hvid kabelforskruning, der understøtter et kabel OD Min/Max 5mm/10mm.

Sekundær trækaflastning var via et enkelt lynlåsbinder placeret på kablet, hvis der skulle påføres overdreven belastning, og kabelforskruningen svigter, lynlåsen holder kablet på plads.

For at montere kabelforskruninger og sørge for tilstrækkelig plads til montering af Sonoff og opto-isolationselektronik fjernede jeg de interne PCB-monteringsribber som vist ovenfor (Pic 2).

Al elektronik blev sikkert monteret via M3 nylon CS skruer for at sikre isolering med kabinettets yderside. Opto-isolationselektronikken monteres med 5 fastgørelsespunkter for at sikre en god mekanisk styrke, hvis enheden tabes, og dermed forhindres isolationstransformatorens masse i at bryde veroboard-kredsløbet.

Forsyning til enheden blev opnået via UK Standard farvekodet hvid 3-kerne PVC-isoleret netstrøm multi-strenget (32/0,2 mm kvadrat) kabel 1 mm (kvadrat) CSA. med en OD på 7,2 mm i stand til at bære 10A.

Enheden blev tilsluttet britisk netforsyning (240VAC RMS) via et standard 3 -pins sikkerhedsstik (BS 1363/A) godkendt. Stikket var smeltet ved 5A.

Alle forsyningskabler til opto-isolationskredsløbet blev tilsluttet via pheonix contact MKDSN2, 5/3-5.08 polyamidterminaler vurderet til 16A ved 400V i stand til at bære et kabel på 2,5 mm (kvadrat) CSA, hvilket giver rigelig kapacitet til to kabler i hver position.

Ingen netkabler blev fortinnet, bare snoet for at forhindre spredning af kernerne, før de indsættes i stikblokken. Tinning af netkabler er en farlig praksis, da loddetøjet 'slapper af' over tid og til sidst får kablet til at gå tabt i stikblokken.

Bemærk:

  • OD = Udvendig diameter.
  • VAC = Volt vekselstrøm
  • RMS = Root Mean Square
  • CSA = tværsnitsareal
  • CS = Counter Sunk

Trin 4: Sonoff -programmeringsadapter

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

Der er to aspekter, der skal tages i betragtning ved omprogrammering af Sonoff 10A via Arduino IDE;

  1. Konfiguration af din Arduino IDE til at programmere ESP8266,
  2. Handlingen med at programmere selve hardwaren.

Konfiguration af din Arduino IDE til at programmere ESP8266

For at konfigurere din Ardino IDE følg instruktionerne her Opsætning af Arduino IDE til at programmere ESP8266-01

Programmering af hardware

Dette er en proces i flere trin som i alle tilfælde med ESP8266. Her påføres Sonoff -strømmen til kortet via en ekstern stabiliseret 3v3 DC -forsyning og IKKE fra lysnettet. En USB til seriel enhed er påkrævet for at sende og modtage data til og fra Sonoff. Tilslut TX og RX som vist på Pic 2 & 4.

Programmeringstrin (generelt)

  1. Sørg først for, at der ikke er nogen ekstern strømforsyning til Sonoff,
  2. Tryk og hold knappen på Sonoff -enheden nede. (billede 1 ovenfor, markeret re-flash-knap),
  3. Påfør ekstern DC 3v3 forsyning til pin 1. (billede 2 ovenfor),
  4. Slip Sonoff -knappen,
  5. Enheden kan nu omprogrammeres på den sædvanlige måde via Arduino IDE.

For at gøre tingene lidt lettere oprettede jeg ovenstående programmeringsenhed (billeder 3 og 4), som blev forbundet til Sonoff via kabelstammen SK1… 3 (som beskrevet i dette instruerbare trin 1.). Dette muliggjorde lettere programmering af ESP8266. Det gav også et middel til at teste GPIO14 som input ved brug af R1 en 4K7 pull up -modstand og knap S1.

Brug af programmeringsenheden ovenfor (billeder 3 & 4) Programmeringstrin er,

  1. Tryk og hold re-flash-knappen på Sonoff nede,
  2. Puls 3v3 -forsyningen ved et øjeblik at trykke på S2,
  3. Slip re-flash-knappen,
  4. Enheden kan nu programmeres.

BEMÆRK - ADVARSEL

Under INGEN omstændigheder bør strømforsyning leveres via netværket under Sonoffs omprogrammeringsaktivitet

Trin 5: Oversigt over softwaresystem

Oversigt over softwaresystem
Oversigt over softwaresystem
Oversigt over softwaresystem
Oversigt over softwaresystem

Denne IoT Mains Controller -enhed indeholder for det meste de samme seks vigtige softwarekomponenter som i Instructable WiFi IoT -temperatur- og fugtighedsføler. Del: 8 IoT, hjemmeautomatisering og vist på billede 1 ovenfor, med en vis tilpasning.

SPIFFS

Dette er det (opgraderede til 4MBytes) indbyggede SPI Flash Filing System og bruges til at gemme følgende oplysninger (se billede 2 ovenfor);

  • Ikoner og 'Mains Controller Configuration Startside' html: Betjenes af IoT -enheden, når den ikke kan oprette forbindelse til dit IoT WiFi -netværk (normalt på grund af forkerte sikkerhedsoplysninger) og giver brugeren mulighed for eksternt at konfigurere hovedkontrollen uden behovet for at omprogrammere eller uploade nyt SPIFFS-indhold.
  • Sikkerhedsoplysninger: Indeholder de oplysninger, der bruges ved opstart af IoT -enheden til at oprette forbindelse til dit IoT WiFi -netværk og MQTT Broker. Oplysninger, der indsendes via 'Startside for hovedkontrolkonfiguration', skrives til denne fil ('secvals.txt').

Bemærk: For først at konfigurere enheden, se her for at få alle oplysninger om, hvordan du bruger SPIFFS med Arduino IDE.

mDNS -server

Denne funktionalitet påberåbes, når IoT -enheden ikke har kunnet oprette forbindelse til dit WiFi -netværk som en WiFi -station og i stedet er blevet et WiFi -adgangspunkt, der ligner en indenlandsk WiFi -router. I tilfælde af en sådan router ville du typisk oprette forbindelse til den ved at indtaste IP -adressen på noget som 192.168.1.1 (normalt trykt på en etiket påsat boksen) direkte i din browsers URL -bar, hvorefter du vil modtage en login -side for at indtaste brugernavnet og adgangskoden, så du kan konfigurere enheden. For ESP8266 i AP -tilstand (Access Point -tilstand) er enheden standard til IP -adressen 192.168.4.1, men med mDNS -serveren kørende skal du kun indtaste det menneskelige navn 'MAINSCON.local' i browserens URL -bjælke for at se 'Startside for hovedkontrolkonfiguration'.

MQTT -klient

MQTT -klienten giver al den nødvendige funktionalitet til; oprette forbindelse til din IoT -netværk MQTT -mægler, abonnere på de emner, du ønsker, og offentliggøre nyttelast til et givet emne. Det giver kort sagt IoT -kernefunktionalitet.

HTTP -webserver

Som nævnt ovenfor vil enheden blive et adgangspunkt, hvis IoT -enheden ikke kan oprette forbindelse til WiFi -netværket, hvis SSID, P/W osv. Er defineret i sikkerhedsinformationsfilen i SPIFFS. Når den er tilsluttet WiFi -netværket, der leveres af adgangspunktet, giver tilstedeværelsen af en HTTP -webserver dig mulighed for direkte at oprette forbindelse til enheden og ændre dens konfiguration ved hjælp af en HTTP -webbrowser, hvis formål er at betjene 'hovedkontrolkonfiguration' Hjemmeside 'webside, der også findes i SPIFFS.

WiFi -station

Denne funktionalitet giver IoT -enheden mulighed for at oprette forbindelse til et hjemligt WiFi -netværk ved hjælp af parametrene i sikkerhedsinformationsfilen, uden dette vil din IoT -enhed ikke kunne abonnere/udgive til MQTT Broker

WiFi -adgangspunkt

Muligheden for at blive et WiFi -adgangspunkt er et middel, hvorved IoT -enheden giver dig mulighed for at oprette forbindelse til den og foretage konfigurationsændringer via en WiFi -station og en browser (f.eks. Safari på Apple iPad). Dette adgangspunkt udsender et SSID = "MAINSCON" + de sidste 6 cifre i MAC -adressen på IoT -enheden. Adgangskoden til dette lukkede netværk hedder fantasifuldt 'PASSWORD'.

Trin 6: Oversigt over software

Softwareoversigt
Softwareoversigt
Softwareoversigt
Softwareoversigt
Softwareoversigt
Softwareoversigt
Softwareoversigt
Softwareoversigt

Preamble For at kunne kompilere denne kildekode skal du bruge følgende ekstra biblioteker;

PubSubClient.h

  • Af: Nick O'Leary
  • Formål: Gør det muligt for enheden at udgive eller abonnere på MQTT -emner med en given mægler
  • Fra:

Bounce2.h

  • Af: Thomas O Fredericks
  • Formål: Input switch de-bounce i software
  • Fra:

Kodeoversigt

Softwaren gør brug af statsmaskinen som vist på billede 1 ovenfor (fuld kopi af kilden angivet nedenfor). Der er 5 hovedtilstande som følger;

  • I DET

    Denne initialiseringstilstand er den første tilstand, der indtastes efter opstart

  • NOCONFIG

    Denne tilstand indtastes, hvis der efter opstart registreres en ugyldig eller manglende secvals.txt -fil

  • VENTENDE NV

    Denne tilstand er forbigående, indtastet, mens der ikke findes nogen WiFi -netværksforbindelse

  • VENTENDE MQTT

    Denne tilstand er forbigående, indtastes efter at der er oprettet en WiFi -netværksforbindelse, og mens der ikke findes nogen forbindelse til en MQTT -mægler på dette netværk

  • AKTIV

    Dette er den normale driftstilstand, der indtastes, når både en WiFi -netværksforbindelse og en MQTT Broker -forbindelse er etableret. Det er i denne tilstand, at hovedkontrollen vil offentliggøre til MQTT -mægleren og modtage kommandoer via emner, der abonneres på

Begivenhederne, der styrer overgange mellem stater, er beskrevet i billede 1 ovenfor. Overgange mellem stater er også styret af følgende SecVals -parametre;

  • 1. MQTT Broker IP -adresse. I stiplet decimalform AAA. BBB. CCC. DDD
  • 2. MQTT -mæglerhavn. I heltal form.
  • 3. MQTT -mæglerforbindelse forsøger at oprette, før der skiftes fra STA -tilstand til AP -tilstand. I heltal form.
  • 4. WiFi -netværks -SSID. I fri form tekst.
  • 5. WiFi -netværksadgangskode. I fri form tekst.

Som nævnt ovenfor, hvis IoT -enheden ikke kan oprette forbindelse som en WiFi -station til WiFi -netværket, hvis SSID og P/W er defineret i secvals.txt, der opbevares i SPIFFS, vil enheden blive et adgangspunkt. Når den er forbundet til dette adgangspunkt, vil den tjene 'hovedkontrollens konfigurationshjemmeside' som vist ovenfor i Pic 2 (ved at indtaste enten 'MAINSCON.local' eller 192.168.4.1 i din browsers URL -adresselinje). Denne startside tillader omkonfiguration af hovedkontrollen via en HTTP -browser.

MQTT Emne navngivningskonvention

Skitseret i billede 3 ovenfor er navngivningskonventionen, der bruges til MQTT -emnerne, og er i overensstemmelse med det mønster, der blev brugt i min tidligere Instructable (her trin 5).

MQTT -emner, der bruges af denne IoT -enhed

For klarhedens skyld har jeg dokumenteret (billede 4) emnerne og tilhørende meddelelsessekvenser denne enhed udgiver/abonnerer på. Billedet viser også interaktionen med den hvide betjeningsknap på kabinettets yderside (dog ironisk nok er knappen vist med rødt).

Fjernkonfigureret adgang, mens den er i AKTIV tilstand

Når den er tilsluttet MQTT -mægleren, er det muligt eksternt at omkonfigurere sikkerhedsparametrene for enheden via MQTT -emnepublikationer. Den tilhørende fil secvals.txt har kun adgang til skrive.

Brugerfejl

Under opstartsekvensen giver Sonoff -enhedens LED følgende fejlfindingsfeedback, selvom det skal bemærkes, for at se dette skal du fjerne dækslet og afsløre kredsløbet, så det er kun tilrådeligt at gøre det, mens du udvikler din kode og driver enheden med en 3v3 forsyning;

  • 1 Kort flash: Ingen konfigurationsfil findes i SPIFFS (secvals.txt),
  • 2 korte blink: IoT -enhed forsøger at oprette forbindelse til WiFi -netværk,
  • Kontinuerlig belysning: Sonoff IoT -enhed forsøger at oprette forbindelse til MQTT Broker,
  • Slukket: Enheden er aktiv og forbundet til MQTT Broker.

Bemærk 1: 'Startside for hovedkontrolkonfiguration' bruger ikke sikre stikkontakter og er derfor afhængig af, at dit netværk er sikkert.

Note 2: For at programmere flere IoT -enheder kræver MQTT -strengen redigering, før den downloades til hver enhed. Dette skyldes, at hovednummerkontrollerens id -nummer er blevet integreret i MQTT -emnestrengen. dvs. i den publicerede software valgte jeg værdien 100: 'WFD/MainsCont/100/Relay/Command/1' og for mine 2 enheder er de nummereret henholdsvis 1 & 2.

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

Note 3: For fuldstændighed, når den er i AKTIV tilstand, giver IoT-softwaren mulighed for at styre Sonoff-LED'en og offentliggøre status for genblink-knappen. Selvom disse kun er af værdi under fejlfindingsprocessen, da ingen af dem udsættes for brugeren under normal drift.

Trin 7: OpenHAB -konfiguration

OpenHAB -konfiguration
OpenHAB -konfiguration
OpenHAB -konfiguration
OpenHAB -konfiguration
OpenHAB -konfiguration
OpenHAB -konfiguration

Af testmæssige årsager besluttede jeg mig for ideelt at installere de to hovedkontroller i husets 'stue'. Denne OpenHAB -side kan nås via hovedsiden som på billede 1.

Jeg ændrede OpenHAB.sitemap -konfigurationen, der blev givet i min tidligere Instructable (her) og tilføjede individuelle poster til 'Mains Controller 1' og 'Mains Controller 2' (billede 2 ovenfor). Jeg tilføjede også poster (Living Room Mains Cont. 1 & 2) for at vise RSSI -tendenser målt ved modtageren af de to nye IoT -enheder (billede 3).

Endelig tilføjede jeg poster til.rules og.items -filerne for at tillade dynamisk tilstandssynkronisering af Sonoff og opdatering/animering af mit dårlige forsøg på en switch -grafik (kontakten lukker, når den er aktiv og åbnes, når den er inaktiv). Billede 2 giver et eksempel på MC1 aktiv og MC2 inaktiv.

Bemærk 1: Hvis du ikke er sikker på, hvordan du bruger OpenHAB, se her 'Opsætning og konfiguration af OpenHAB. Del 6: IoT, hjemmeautomatisering '

Note 2: En kopi af det ændrede sitemap, regler og elementfiler, ikoner osv. Findes i zip -filen herunder.

Note 3: RSSI = modtaget signalstyrkeindikation. Dette er et mål for, hvor godt IoT -enheden kan se dit WiFi -netværk.

Trin 8: Testning af din IoT -enhed

Image
Image
Test af din IoT -enhed
Test af din IoT -enhed

Som beskrevet i Instructable WiFi IoT temperatur- og luftfugtighedssensor. Del: 8 IoT, hjemmeautomatisering Trin 7, første test af IoT-enheden blev udført over en MQTT-forbindelse via MQTT Spy (som i systemblokdiagram billede 1 ovenfor), overvågning af LED-output, knapindgange (både Sonoff re-flash-knap og den hvide eksterne knap) og fejlfindingstrafik på det serielle interface. Dette gjorde det muligt for mig at udøve alle de tilgængelige abonnementsemner og kontrollere de offentliggjorte svar. Selvom dette igen blev udført manuelt og var tidskrævende, selvom det muliggjorde 100% dækning af meddelelser/emnepublikationer.

Da den primære software -tilstandsmaskine (trin 6 ovenfor) blev arvet fra den tidligere instruerbare (del: 8) bortset fra sundhedskontrol, kunne softwaren oprette forbindelse til WiFi N/W og MQTT Broker, det blev antaget, at denne fungerede korrekt.

Fuldstændig test på systemniveau blev derefter afsluttet ved hjælp af netkontrolleren og IoT -infrastrukturen (igen billede 1) denne gang ved hjælp af OpenHAB til at styre interaktionen med IoT -enheden. Opsætning af IoT -hardware og dummy -belastning kan ses på billede 2 ovenfor.

Videoen indeholder komplette detaljer om systemtest og viser tydeligt, at synkroniseringen opretholdes mellem OpenHAB -enheder (PC/Chrome og iPad/OpenHAB APP) i realtid. Det viser også live -beskeder til hovedkontrollerne via MQTTSpy (se her for yderligere oplysninger Opsætning af en MQTT -mægler. Del 2: IoT, hjemmeautomatisering) og OpenHAB -tailed systemlog fra raspberry pi -server over en PuTTY SSH -forbindelse (se her for yderligere detaljer Opsætning og konfiguration af OpenHAB. Del 6: IoT, hjemmeautomatisering).

Bemærk: Debug -trafik blev udarbejdet til den sidste softwareudgivelse.

Trin 9: Konklusion

Generel

Projektet var relativt let at gennemføre og fungerede godt. Den integrerede software var enkel at producere, idet den var en nedskåret version af koden, der blev brugt til temperatur- og fugtighedsfølere i del 8 i denne serie.

Jeg havde oprindeligt til hensigt kun at erhverve hvide komponentdele udelukkende på grund af deres æstetiske kvalitet. Jeg opnåede dette i alt undtagen kontrolknappen, prøv som jeg kunne, jeg var ikke i stand til at skaffe en god/billig helt hvid knap.

Sonoff 10A enhed

Jeg har angivet nedenfor, hvad jeg syntes var rimelige fordele og ulemper ved Sonoff -enheden

Fordele

  • Billig.
  • God fællesskabsstøtte.
  • Kan omprogrammere via Arduino IDE.

Ulemper

  • Tyndt kabinet.
  • Minimal I/O (hentes ud til brugbare stik).
  • Det kører varmt, når det er i ro.
  • Har kun 1MByte indbygget SPI-flash.
  • Er en PITA at omprogrammere, når den er kablet på plads.
  • Ved integrering af ny kode i Sonoff -testen var relælukningen problematisk, da relæet er 5v, og forsyningen, der anvendes til Sonoff til programmering, er 3v3. Relæaktivering er kun lige mærkbar for øret.

Bekymringer

  • Det skifter ikke den neutrale linje. Bruger et SPST -relæ.
  • Er ikke sammensmeltet.
  • Dårlig kabelaflastning.
  • Printkortet er ikke sikret i Sonoff -kabinettet.

Kommentar til ingeniørdesign

I betragtning af at denne IoT-enhed skulle bruges til at skifte strøm i Storbritannien (240VAC RMS), fulgte jeg både god mekanisk og elektrisk designpraksis og sikrede, at risikoen for stød blev minimeret ved ikke at udsætte nogen elektrisk ledende materialer, over at specificere alle komponenter, de-rating udgangsbelastning, anvendelse af sikringsbeskyttelse på både netkontrolleren og det optokoblede undersystem, inkludering af god ubrudt jordforbindelse og anvendelse af optisk/galvanisk isolering.

Mulig forbedring

Set i bakspejlet ville det have været nyttigt at inkludere en visuel indikation af, at hovedkontroludgangen var aktiv (LED eller Neon). Selvom det ikke er et problem i daglig brug, da det er standard praksis at isolere belastningen fra forsyningen, før der udføres nogen vedligeholdelse, eller et enkelt tryk på den lokale betjeningsknap vil skifte output i tilfælde, hvor en lampe kan lyse, når den tilsluttes.

Sidste note

Hvis du vil se to meget dårlige eksempler på håndtering af el, skal du tjekke nedenstående links. Deres Darwin -priser kommer snart på posten, jeg er helt sikker;

  • Mad Scientist forlængerledning
  • Fællesskabets tilbagemeldinger 03 - Bekymringer om energisikkerhed!

Trin 10: Anvendte referencer

Jeg brugte følgende kilder til at sammensætte denne instruktør sammen;

PubSubClient.h

  • Af: Nick O'Leary
  • Formål: Gør det muligt for enheden at udgive eller abonnere på MQTT -emner med en given mægler
  • Fra:

Bounce2.h

  • Af: Thomas O Fredericks
  • Formål: Input switch de-bounce i software
  • Fra:

SPIFFS

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

Opgradering af Sonoff -flash

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

Sonoff kredsløbsdiagram

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

USB UART -modul (også kaldet 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 (let lettelse)

https://www.darwinawards.com/

TIL111 Opto-isolator datablad

Anbefalede: