INHOUDSOPGAWE:

IoT -hoofbeheerder. Deel 9: IoT, tuisautomatisering: 10 stappe (met foto's)
IoT -hoofbeheerder. Deel 9: IoT, tuisautomatisering: 10 stappe (met foto's)

Video: IoT -hoofbeheerder. Deel 9: IoT, tuisautomatisering: 10 stappe (met foto's)

Video: IoT -hoofbeheerder. Deel 9: IoT, tuisautomatisering: 10 stappe (met foto's)
Video: Vluchten uit racistische sekte in Amerika 2024, Julie
Anonim
IoT -hoofbeheerder. Deel 9: IoT, tuisautomatisering
IoT -hoofbeheerder. Deel 9: IoT, tuisautomatisering

Vrywaring

LEES HIERDIE EERSTE

Hierdie instruksie gee 'n beskrywing van 'n projek wat hoofstroom gebruik (in hierdie geval UK 240VAC RMS), alhoewel alles in ag geneem is om veilige praktyk en goeie ontwerpbeginsels te gebruik, is daar altyd 'n risiko vir dodelike elektriese skok as u met hierdie voedingspannings werk en wat die skrywer geen aanspreeklikheid kan aanvaar as persoonlike besering of beskadiging van eiendom plaasvind wanneer die inhoud daarvan gevolg word nie. Gevolglik maak u hierdie projek op eie risiko.

Aanhef

Hierdie artikel, die negende in 'n reeks oor tuisautomatisering, beskryf hoe u 'n Sonoff 10A IoT -hoofbeheerder kan skep en integreer in 'n bestaande tuisautomatiseringstelsel, insluitend al die nodige sagtewarefunksionaliteit om die suksesvolle implementering in 'n huishoudelike omgewing moontlik te maak.

Inleiding

Soos hierbo genoem, bevat hierdie instruksie inligting oor hoe om 'n IoT -hoofbeheerder te maak en te integreer met behulp van die Sonoff 10A van iTead. Die toestel self word aangegee as 'n nominale waarde van 10 ampère @ 90 ~ 250VAC, maar hierdie implementering verlaag dit tot 5 ampère via die saamgesmelte prop wat die hoofvoeding van die Verenigde Koninkryk van 240VAC RMS bied.

Die ontwerpmetodologie kan naatloos integreer in die MQTT/OpenHAB -gebaseerde IoT -netwerk wat in hierdie reeks uiteengesit word oor tuisautomatisering, en bou op hergebruikte kode hiervandaan. Dit kan ook die verlies van enige IoT -netwerkelement hanteer en kan ten volle selfstandig bedryf word. In die selfstandige modus word die toestel beheer deur eenvoudig op die bedieningsknoppie aan die bokant van die omhulsel te druk, wat die toevoer na die volgende toevoer verander.

Om hierdie plaaslike beheer van die Sonoff -toestel moontlik te maak, word GPIO14 uit die kas gehaal en word dit as snellerinvoer gebruik. Om die veiligheid te verseker, word hierdie insette via 'n optokoppelingskring gevoed en in 'n plastiese omhulsel gehuisves sodat die operateur nooit blootgestel word aan netspanning nie.

Laastens beskryf die prosa ook hoe om die ESP8266-toestel in die Sonoff 10A te herprogrammeer met behulp van die Arduino IDE en gee volledige kringbesonderhede van 'n toestel wat gebruik kan word om doelkode betroubaar te programmeer.

Watter onderdele het ek nodig?

Sonoff hoofkontroleerder

  1. 1 af op Sonoff 10A hier
  2. 1 af 7805L 5v spanningsreguleerder hier
  3. 1 af 240/6VAC 1.5VA -transformator hier
  4. 2 af 0.1 keramiek kapasitors hier
  5. 1 af 1000uF @25v elektrolitiese kondensator hier
  6. 1 afbrug gelykrigter 2W01 hier
  7. 2 af 4K7 weerstande hier
  8. 1 af 330R weerstand hier
  9. 1 af op SPST -knoppie hier
  10. 1 afslag op Mulitcomp BM12W ABS -omhulsel hier
  11. 1 af op TIL111 opto-koppelaar hier
  12. 1 af 3-rigting terminale blok hier
  13. 1/2-rigting gekodeerde molex-aansluiting hier/hier
  14. 1/3-weg gekodeerde molex-aansluiting hier/hier
  15. 1/5-weg gekodeerde molex-aansluiting hier/hier
  16. 1 kort 5-rigting molex-penne hier
  17. 1 afslag op Winbond SPI Flash (W25Q32FVSIG) hier
  18. 1 uit 20 mm lonthouer + dop hier
  19. 1 uit 20mm snelblaas 500mA lont hier
  20. 2 van Polyamide kabelkliere hier
  21. 1 korting op die Britse netstekker (BS1363/A) hier
  22. 1 uit die Britse hoofaansluiting (BS1363/A) hier
  23. 7 uit M3 16 mm CS nylon skroewe, (incl. 10 af moere) hier/hier
  24. 2 van zip -bande hier af
  25. 1 van veroboard (0,1 "toonhoogte) hier
  26. 1 af verskillende lengtes 22swg geblikte koperdraad hier
  27. 1 kort 3M wit Britse netkabel hier
  28. 10 afslagpunte van Molex -sok hier

Sonoff programmeerder

  1. 1 af LD33CV 3v3 spanningsreguleerder hier
  2. 1 af TO-220 heatsink hier
  3. 1 af Heatsink pasta hier
  4. 1 af 10uF @16v elektrolitiese kondensator hier
  5. 1 af 0.1 keramiek kondensator hier
  6. 1 af SPDT -knoppie hier
  7. 1 af 4K7 weerstand hier
  8. 1/2-rigting gekodeerde molex-aansluiting hier/hier
  9. 1/3-weg gekodeerde molex-aansluiting hier/hier
  10. 5 afslagpunte van Molex -sok hier
  11. Eenmalige 6-rigting molex-aansluiting hier
  12. 1 af op SPST -knoppie hier
  13. 1 uit 2.1 mm PSU -aansluiting hier
  14. 1 van veroboard (0,1 "toonhoogte) hier
  15. 1 af USB na seriële adapter (FTDI) hier

Watter sagteware het ek nodig?

  1. Arduino IDE 1.6.9 hier
  2. Arduino IDE is gekonfigureer om die ESP8266 te programmeer. Sien hier; Die opstel van die Arduino IDE om die ESP8266-01 te programmeer

Watter gereedskap het ek nodig?

  1. Soldeerbout,
  2. Boor en verskillende stukkies (insluitend 'n trapsnyer vir kabeldraaiers en bedieningsknoppie),
  3. Skroewedraaiers (verskillende),
  4. Verstelbare moersleutels (twee af, kaakbreedte> 25 mm, voor kabelwartels),
  5. Lêers (verskillende),
  6. Stewige skroef,
  7. Hittegeweer,
  8. DMM (verkieslik CAT IV).

Watter vaardighede het ek nodig?

  1. 'N Goeie kennis van elektronika en elektriese veiligheid by die huis/ontwerp/bedrading, ens.
  2. Kennis van Arduino en sy IDE,
  3. Goeie vervaardigingsvaardighede (soldeer, liasseer, boor, ens.),
  4. Bietjie geduld,
  5. Beter begrip van u tuisnetwerk.

Onderwerpe gedek

  • Inleiding
  • Kringoorsig
  • Sonoff RetroMods
  • Konstruksie en monteerbesonderhede
  • Sonoff programmeringsadapter
  • Sagteware stelsel oorsig
  • Sagteware Oorsig
  • OpenHAB -opset
  • Toets u IoT -toestel
  • Afsluiting
  • Verwysings gebruik

Reeksskakels

Tot deel 8: WiFi IoT temperatuur- en humiditeitsensor. Deel: 8 IoT, tuisautomatisering

Tot deel 10: IR -afstandsbediening via IoT. Deel 10 IoT, tuisautomatisering

Stap 1: Kringoorsig

Kringoorsig
Kringoorsig
Kringoorsig
Kringoorsig
Kringoorsig
Kringoorsig
Kringoorsig
Kringoorsig

Oorsig

Soos in die inleiding hierbo genoem, was 'n invoer van die Sonoff se ingeboude ESP8266 nodig om die hoofbeheerder plaaslik aan en uit te skakel. Die bekendstelling van so 'n eksterne inset vereis dat die Sonoff ABS -omhulsel geskend word en kan dus 'n moontlike skokrisiko veroorsaak. Om dit te oorkom, het ek optiese isolasie gebruik sodat daar geen blootstelling aan elektrisiteit buite die netbeheerstelsel is nie.

Hierna volg 'n beskrywing van die opto-isolasie stroombane (in foto 1 hierbo).

Kringbesonderhede

Die opto-isolasie-stroombaan ontvang die toevoer direk vanaf die net wat op die eenheid is. Die 240VAC RMS word toegepas op die trappe/isolasie transformator TR1 via J1 a pheonix contact MKDSN2, 5/3-5.08 polyamide 3-Way terminal met 'n nominale waarde van 16A by 400V, wat 'n kabel van 2,5 mm (vierkante) CSA en F1 tot 500mA 20 mm kan dra vinnige blaasversekering. Die 6VAC wat beskikbaar is op die sekondêre wikkelinge van TR1, word volgolf reggestel deur diodebrug B1.

Hierdie gelykmatige uitset in volle golf word dan gestabiliseer en gereguleer deur C1, C2 C3, R3 en IC1, 'n 7805L -reeks shuntreguleerder, wat 'n goeie, skoon 5v toevoerrail bied.

Die 5v-spoor word dan gebruik om die ingang na OK1 'n TIL111 opto-isolator te beheer via 'n ekstern gemonteerde wit SPST-knoppie wat oor J3 gekoppel is. Die uitset van die TIL111 word gekoppel aan die Sonoff GPIO14 -ingang via R2 'n 4K7 optrekweerstand. So word beter as 340V isolasie verkry (dws Piekspanning = (240VAC*vierkantswortel (2))).

Stap 2: Sonoff RetroMods

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

Om die Sonoff 10A -toestel te integreer, is dit nodig om retrospektief aan te pas.

Die eerste is om 'n 5-rigting 0.1 pitch molex-aansluiting by te voeg, soos op foto 1 hierbo getoon. Dit gee toegang tot GPIO14 op die Sonoff sodra die beskermende omhulsel vervang is soos op foto's 2 en 3 hierbo.

Alhoewel dit nie hierbo getoon word nie, het ek ook die seriële TX/RX-lyne uitgebring om in-situ-programmering moontlik te maak (verwys na kabelboom SK1..3 in stap 1 hierbo).

Die tweede wysiging is om die grootte van die SPI Flash -toestel te vergroot van die standaard 1MByte tot 4MBytes, om voldoende ruimte vir die IoT -webbedienerlêers in SPIFFS te hou.

Ek het die SMD SPI -flitsapparaat (W25Q32FVSIG) hier by Ebay gekoop

Om die flits te vervang, het ek die Sonoff LED tydelik verwyder soos op foto 4 om beter toegang tot die SMD -toestel te gee. Om die flits te ontsoldeer, gebruik ek 'n hittegeweer soos op foto 5 hierbo getoon. Soldeer dan beide die 4MByte Flash en die LED onderskeidelik (foto 6).

Stap 3: Konstruksie en monteerbesonderhede

Konstruksie en monteerbesonderhede
Konstruksie en monteerbesonderhede
Konstruksie en monteerbesonderhede
Konstruksie en monteerbesonderhede
Konstruksie en monteerbesonderhede
Konstruksie en monteerbesonderhede
Konstruksie en monteerbesonderhede
Konstruksie en monteerbesonderhede

Ek het die hoofkontroleerder in 'n Mulitcomp BM12W ABS -boks toegemaak (foto 1 hierbo). Hierdie omhulsel het geïsoleerde M3-insetsels van koper, wat toegang tot die eenheid moontlik maak sonder om die draaddrade in te boet, sodat die interne lont vervang kan word indien nodig of dat interne inspeksie mettertyd gedoen kan word (dieselfde kan nie gesê word vir die Sonoff-toestel, wat is effektief slegs eenmalig met behulp van self -tappers).

Primêre rekverligting vir die netkabel is verkry deur middel van 'n M16 Nylon/Polyamide 6/6 wit kabelwartel wat 'n kabel OD Min/Max 5mm/10mm ondersteun.

Sekondêre trekontlasting is via 'n enkele ritsbinder wat op die kabel geplaas word as daar te veel spanning toegedien word en die kabelwartel misluk, die ritsband hou die kabel op sy plek.

Om die kabeldraaiers te pas en genoeg ruimte te bied om die Sonoff en opto-isolasie-elektronika te monteer, het ek die interne PCB-monteerribbe gestroop soos hierbo getoon (foto 2).

Alle elektronika is veilig gemonteer met M3 -nylon CS -skroewe om te verseker dat isolasie met die buitekant van die omhulsel gehandhaaf word. Die opto-isolasie-elektronika word met 5 bevestigingspunte gemonteer om 'n goeie meganiese sterkte te verseker as die eenheid val, en sodoende voorkom dat die massa van die isolasie-transformator die verboordkring breek.

Verskaf aan die eenheid is verkry deur middel van Britse standaard gekleurde wit 3-kern PVC-geïsoleerde hoofstroomkabel (32/0.2mm vierkante) kabel 1mm (vierkante) CSA. met 'n OD van 7,2 mm wat 10A kan dra.

Die eenheid is gekoppel aan die Britse netvoeding (240VAC RMS) via 'n standaard 3 -pins veiligheidsprop (BS 1363/A) wat goedgekeur is. Die prop is gesmelt by 5A.

Alle netkabels na die opto-isolasie-stroombaan is gekoppel via pheonix contact MKDSN2, 5/3-5.08 poliamiedterminale met 'n nominaal 16A by 400V, wat 'n kabel van 2,5 mm (vierkante) CSA kan dra, en bied dus genoeg kapasiteit vir twee kabels in elke posisie.

Geen netkabels is vasgemaak nie, net gedraai om te voorkom dat die kerntjies uitmekaar spat voordat dit in die aansluitblok geplaas word. Netkabels is 'n gevaarlike praktyk, aangesien die soldeer mettertyd 'ontspan' en uiteindelik veroorsaak dat die kabel in die aansluitblok verlore raak.

Let wel:

  • OD = Buitendiameter.
  • VAC = Volt wisselstroom
  • RMS = Root Mean Square
  • CSA = Dwarsdeursnee
  • CS = Counter Sunk

Stap 4: Sonoff -programmeeradapter

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

Daar is twee aspekte wat in ag geneem moet word by die herprogrammering van die Sonoff 10A via die Arduino IDE;

  1. Stel u Arduino IDE op om die ESP8266 te programmeer,
  2. Die daad van die programmering van die hardeware self.

Stel u Arduino IDE op om die ESP8266 te programmeer

Om u Ardino IDE op te stel, volg die instruksies hier Die opstel van die Arduino IDE om die ESP8266-01 te programmeer

Die programmering van die hardeware

Dit is 'n multi-stap proses, soos in alle gevalle met die ESP8266. Hier word die Sonoff -krag op die bord toegedien via 'n eksterne gestabiliseerde 3v3 DC -toevoer en NIE van die netvoeding nie. 'N USB na seriële toestel sal nodig wees om data van en na die Sonoff te stuur en te ontvang. Koppel TX en RX soos aangedui op foto 2 en 4.

Programmeringsstappe (algemeen)

  1. Maak eers seker dat daar geen eksterne netvoeding op die Sonoff toegepas word nie,
  2. Hou die knoppie op die Sonoff -toestel ingedruk. (prent 1 hierbo, gemerkte flitsknoppie),
  3. Dien eksterne DC 3v3 -toevoer toe op pen 1. (foto 2 hierbo),
  4. Laat die Sonoff -knoppie los,
  5. Die toestel kan nou op die gewone manier via die Arduino IDE herprogrammeer word.

Om dinge 'n bietjie makliker te maak, het ek die programmeertoestel hierbo geskep (foto's 3 en 4) wat via die kabelboom SK1 … 3 met die Sonoff gekoppel is (soos beskryf in hierdie instruksionele stap 1.). Dit het makliker gemaak om die ESP8266 te programmeer. Dit bied ook 'n manier om GPIO14 te toets as 'n inset deur die gebruik van R1 'n 4K7 optrekweerstand en knoppie S1.

Met behulp van die programmeertoestel hierbo (foto's 3 en 4) is programmeerstappe,

  1. Druk die herflits-knoppie op die Sonoff,
  2. Pols die 3v3 -toevoer deur kort op S2 te druk,
  3. Laat die herflits knoppie los,
  4. Die toestel kan nou geprogrammeer word.

LET WEL - WAARSKUWING

Moet onder geen omstandighede krag verskaf via die net tydens die herprogrammeringsaktiwiteit van Sonoff nie

Stap 5: Oorsig van sagteware stelsel

Sagteware stelsel oorsig
Sagteware stelsel oorsig
Sagteware stelsel oorsig
Sagteware stelsel oorsig

Hierdie IoT Mains Controller -toestel bevat meestal dieselfde ses sagtewarekomponente as in die Instructable WiFi IoT -temperatuur- en humiditeitsensor. Deel: 8 IoT, tuisautomatisering en getoon in foto 1 hierbo, met 'n bietjie aanpassing.

SPIFFS

Dit is die (opgegradeerde na 4MBytes) ingeboude SPI Flash Filing System en word gebruik om die volgende inligting te bewaar (sien prent 2 hierbo);

  • Ikone en 'Hoofbladkonfigurasie -tuisblad' html: bedien deur die IoT -toestel as dit nie met u IoT WiFi -netwerk kan koppel nie (gewoonlik as gevolg van verkeerde veiligheidsinligting) en bied aan die gebruiker 'n manier om die hoofbeheer op afstand op te stel sonder die behoefte om nuwe SPIFFS-inhoud te herprogrammeer of op te laai.
  • Beveiligingsinligting: dit bevat die inligting wat deur die IoT -toestel gebruik word om aan te sluit op u IoT WiFi -netwerk en MQTT Broker. Inligting wat via die 'Hoofkontrolekonfigurasie -tuisblad' ingedien word, word na hierdie lêer geskryf ('secvals.txt').

Opmerking: sien die volledige inligting oor hoe u SPIFFS met die Arduino IDE kan gebruik om die toestel aanvanklik op te stel.

mDNS -bediener

Hierdie funksie word gebruik wanneer die IoT -toestel nie as 'n WiFi -stasie met u WiFi -netwerk kon koppel nie en in plaas daarvan 'n WiFi -toegangspunt geword het, soortgelyk aan 'n huishoudelike WiFi -router. In die geval van so 'n router sou u tipies daarby konnekteer deur die IP -adres van iets soos 192.168.1.1 (gewoonlik gedruk op 'n etiket op die boks) direk in die URL -balk van u blaaier in te voer, waarna u 'n aanmeldingsbladsy sou ontvang om in te voer die gebruikersnaam en wagwoord sodat u die toestel kan instel. Vir die ESP8266 in AP -modus (toegangspuntmodus) is die toestel standaard die IP -adres 192.168.4.1, maar as die mDNS -bediener werk, hoef u slegs die mensvriendelike naam 'MAINSCON.local' in die URL -balk van die blaaier in te voer om die 'Hoofbladkonfigurasie -tuisblad'.

MQTT -kliënt

Die MQTT -kliënt bied al die nodige funksies aan; maak verbinding met u IoT -netwerk MQTT -makelaar, teken in op die onderwerpe van u keuse en publiseer vragvragte vir 'n gegewe onderwerp. Dit bied kortliks IoT -kernfunksies.

HTTP -webbediener

Soos hierbo genoem, sal die toestel 'n toegangspunt word as die IoT -toestel nie kan koppel aan die WiFi -netwerk waarvan die SSID, P/W, ens. Gedefinieer is in die lêer vir sekuriteitsinligting nie. As u eenmaal gekoppel is aan die WiFi -netwerk wat deur die toegangspunt verskaf word, kan u met die teenwoordigheid van 'n HTTP -webbediener direk aan die toestel koppel en die konfigurasie daarvan verander deur die gebruik van 'n HTTP -webblaaier. Tuisblad se webbladsy wat ook in SPIFFS gehou word.

WiFi -stasie

Hierdie funksie gee die IoT -toestel die moontlikheid om aan te sluit op 'n huishoudelike WiFi -netwerk met behulp van die parameters in die veiligheidsinligtinglêer, sonder dat u IoT -toestel nie op die MQTT Broker kan inteken/publiseer nie

WiFi -toegangspunt

Die vermoë om 'n WiFi -toegangspunt te word, is 'n manier waarmee u met die IoT -toestel daaraan kan koppel en konfigurasieveranderings kan aanbring via 'n WiFi -stasie en 'n blaaier (soos Safari op die Apple iPad). Hierdie toegangspunt stuur 'n SSID = "MAINSCON" + die laaste 6 syfers van die MAC -adres van die IoT -toestel uit. Die wagwoord vir hierdie geslote netwerk word op 'n verbeeldingryke wyse 'PASSWORD' genoem.

Stap 6: Sagteware -oorsig

Sagteware Oorsig
Sagteware Oorsig
Sagteware Oorsig
Sagteware Oorsig
Sagteware Oorsig
Sagteware Oorsig
Sagteware Oorsig
Sagteware Oorsig

Om hierdie bronkode suksesvol saam te stel, benodig u die volgende ekstra biblioteke;

PubSubClient.h

  • Deur: Nick O'Leary
  • Doel: stel die toestel in staat om MQTT -onderwerpe met 'n gegewe makelaar te publiseer of in te teken
  • Van:

Weiering2.h

  • Deur: Thomas O Fredericks
  • Doel: die invoer van die invoerskakelaar in sagteware
  • Van:

Kode Oorsig

Die sagteware maak gebruik van die staatsmasjien soos op foto 1 hierbo getoon (volledige afskrif van die bron hieronder). Daar is 5 hooftoestande soos volg;

  • INIT

    Hierdie inisialiseringstoestand is die eerste toestand wat ingeskryf is nadat dit aangeskakel is

  • NOCONFIG

    Hierdie toestand word ingeskryf as 'n ongeldige of ontbrekende secvals.txt -lêer na aanskakeling opgespoor word

  • Hangende NW

    Hierdie toestand is van tydelike aard, aangegaan terwyl daar geen WiFi -netwerkverbinding bestaan nie

  • Hangende MQTT

    Hierdie toestand is van tydelike aard, aangegaan nadat 'n WiFi -netwerkverbinding tot stand gekom het, en alhoewel daar geen verbinding met 'n MQTT -makelaar op die netwerk bestaan nie

  • AKTIEF

    Dit is die normale bedryfstoestand wat aangegaan is sodra beide 'n WiFi -netwerkverbinding en 'n MQTT Broker -verbinding tot stand gekom het. Gedurende hierdie toestand sal die hoofbeheerder aan die MQTT -makelaar publiseer en opdragte ontvang via ondertekende onderwerpe

Die gebeure wat oorgange tussen state beheer, word in prent 1 hierbo beskryf. Oorgange tussen state word ook beheer deur die volgende SecVals -parameters;

  • 1ste MQTT Broker IP -adres. In gestippelde desimale vorm AAA. BBB. CCC. DDD
  • 2de MQTT -makelaarshawe. In heelgetalvorm.
  • 3de MQTT -makelaarverbinding probeer maak voordat u van STA -modus na AP -modus oorskakel. In heelgetalvorm.
  • 4de WiFi -netwerk SSID. In vrye vorm teks.
  • 5de WiFi -netwerkwagwoord. In vrye vorm teks.

Soos hierbo genoem, as die IoT -toestel nie as 'n WiFi -stasie kan koppel aan die WiFi -netwerk wat SSID en P/W in secvals.txt in SPIFFS bevat, sal die toestel 'n toegangspunt word. Sodra dit aan hierdie toegangspunt gekoppel is, sal dit die 'Hoofkontrolekonfigurasie -tuisblad' vertoon soos hierbo in Pic 2 getoon (deur óf 'MAINSCON.local' óf 192.168.4.1 in die URL -adresbalk van u blaaiers in te voer). Hierdie tuisblad laat die herkonfigurasie van die hoofbeheer toe via 'n HTTP -blaaier.

MQTT Onderwerpnaamkonvensie

In prent 3 hierbo is die benamingskonvensie wat gebruik word vir die MQTT -onderwerpe uiteengesit, en stem ooreen met die patroon wat gebruik is in my vorige Instructable (hier stap 5).

MQTT -onderwerpe wat deur hierdie IoT -toestel gebruik word

Ter wille van duidelikheid het ek die onderwerpe en gepaardgaande boodskapsvolgorde gedokumenteer waarop hierdie toestel publiseer/inteken. Die prent gee ook 'n beeld van die interaksie met die wit knoppie aan die buitekant van die omhulsel (maar ironies genoeg word die knoppie in rooi getoon).

Toegang tot afstandskonfigurasie terwyl dit in die aktiewe toestand is

Sodra dit aan die MQTT -makelaar gekoppel is, is dit moontlik om die beveiligingsparameters vir die toestel op afstand te herkonfigureer deur middel van MQTT -onderwerppublikasies. Die gepaardgaande lêer secvals.txt het slegs toegang tot skryf.

Ontfout van gebruikers

Tydens die opstartvolgorde gee die Sonoff -toestel -LED die volgende ontfoutingterugvoer, alhoewel dit opgemerk moet word, om dit te sien, moet u die deksel verwyder en die stroombaan blootstel, sodat dit slegs raadsaam is om dit te doen terwyl u u kode ontwikkel en die toestel aanskakel. met 'n 3v3 -toevoer;

  • 1 Kort flits: geen Config -lêer in SPIFFS (secvals.txt) nie,
  • 2 Kort flitse: IoT -toestel probeer om aan te sluit op 'n WiFi -netwerk,
  • Deurlopende beligting: Sonoff IoT -toestel probeer om aan te sluit by MQTT Broker,
  • Af: Toestel is aktief en gekoppel aan MQTT Broker.

Opmerking 1: Die 'Hoofkontrolekonfigurasie -tuisblad' gebruik nie veilige voetstukke nie en maak dus staat daarop dat u netwerk veilig is.

Opmerking 2: Om verskeie IoT -toestelle te programmeer, moet die MQTT -string gewysig word voordat dit na elke toestel afgelaai kan word. Dit is omdat die ID -nommer van die hoofbeheerder ingebed is in die MQTT -onderwerpreeks. ie. in die gepubliseerde sagteware het ek die waarde van 100 gekies: 'WFD/MainsCont/100/Relay/Command/1' en vir my 2 toestelle is hulle onderskeidelik 1 en 2 genommer.

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

Opmerking 3: Vir volledigheid kan die IoT-sagteware in die aktiewe toestand die Sonoff-LED beheer en die status van die herflitsknoppie publiseer. Alhoewel dit slegs van waarde is tydens die ontfoutingsproses, aangesien dit nie tydens normale werking aan die gebruiker blootgestel word nie.

Stap 7: OpenHAB -konfigurasie

OpenHAB -opset
OpenHAB -opset
OpenHAB -opset
OpenHAB -opset
OpenHAB -opset
OpenHAB -opset

Vir toetsdoeleindes het ek besluit om die twee hoofbeheerders in die 'woonkamer' van my huis te implementeer. Hierdie OpenHAB -bladsy kan bereik word op die hoofbladsy, soos op prent 1.

Ek het die OpenHAB.sitemap -konfigurasie wat ek in my vorige Instructable (hier) gegee het, gewysig en individuele inskrywings vir 'Mains Controller 1' en 'Mains Controller 2' (foto 2 hierbo) bygevoeg. Ek het ook inskrywings (Living Room Mains Cont. 1 & 2) bygevoeg om RSSI -neigings te toon wat gemeet is aan die ontvanger van die twee nuwe IoT -toestelle (prent 3).

Uiteindelik het ek inskrywings by die.reëls en.items lêers gevoeg om dinamiese toestand sinchronisasie van die Sonoff moontlik te maak en die opdatering/animasie van my swak poging tot 'n skakel grafika (die skakelaar sluit wanneer dit aktief is en maak oop wanneer dit onaktief is). Foto 2 gee 'n voorbeeld van MC1 aktief en MC2 onaktief.

Nota 1: As u nie seker is hoe u OpenHAB moet gebruik nie, sien hier 'OpenHAB opstel en konfigureer'. Deel 6: IoT, tuisautomatisering '

Opmerking 2: 'n Afskrif van die aangepaste sitemap, reëls en items lêers, ikone, ens word in die zip -lêer hieronder gegee.

Nota 3: RSSI = Ontvangen seinsterkte -aanduiding. Dit is 'n maatstaf van hoe goed die IoT -toestel u WiFi -netwerk kan sien.

Stap 8: Toets u IoT -toestel

Image
Image
Toets u IoT -toestel
Toets u IoT -toestel

Soos beskryf in Instructable WiFi IoT Temperatuur- en humiditeitsensor. Deel: 8 IoT, tuisautomatisering Stap 7, die eerste toetsing van die IoT-toestel is uitgevoer oor 'n MQTT-verbinding via MQTT Spy (soos in stelselblokdiagram prent 1 hierbo), monitering van led-uitset, knoppie-insette (beide Sonoff-knoppie her-flits en die wit eksterne knoppie) en ontfout verkeer op die seriële koppelvlak. Dit het my in staat gestel om al die beskikbare onderwerpe wat ingeteken is, uit te oefen en die gepubliseerde antwoorde na te gaan. Alhoewel dit weer handmatig uitgevoer is en tydrowend was, alhoewel dit 100% dekking van boodskappe/onderwerppublikasies moontlik gemaak het.

Aangesien die hoofmasjien vir sagteware (stap 6 hierbo) van die vorige Instructable (deel: 8) geërf is, behalwe die gesondheidskontrole, kon die sagteware aan die WiFi N/W en MQTT Broker koppel, is aanvaar dat dit korrek funksioneer.

Die volledige toets op stelselvlak is daarna voltooi met behulp van die hoofbeheer en die IoT -infrastruktuur (weer prent 1), hierdie keer met OpenHAB om die interaksie met die IoT -toestel te beheer. Die opstelling van die IoT -hardeware en dummy load kan op foto 2 hierbo gesien word.

Die video bevat volledige besonderhede van stelseltoetse en toon duidelik aan dat die sinchronisasie in real -time tussen OpenHAB -toestelle (PC/Chrome en iPad/OpenHAB APP) gehandhaaf word. Dit wys ook lewendige boodskappe aan die hoofbeheerders via MQTTSpy (sien hier vir meer besonderhede Die opstel van 'n MQTT -makelaar. Deel 2: IoT, tuisautomatisering) en OpenHAB -stertstelsel vanaf raspberry pi -bediener oor 'n PuTTY SSH -verbinding (sien hier vir meer inligting besonderhede Opstel en instel van OpenHAB. Deel 6: IoT, Tuisautomatisering).

Let wel: Ontfoutingsverkeer is saamgestel vir die finale sagteware -vrystelling.

Stap 9: Gevolgtrekking

Algemeen

Die projek was relatief maklik om te voltooi en het goed gewerk. Die ingebedde sagteware was eenvoudig om te vervaardig, aangesien dit 'n afgesnyde weergawe was van die kode wat gebruik word vir die temperatuur- en humiditeitsensors van deel 8 in hierdie reeks.

Ek was aanvanklik van plan om slegs wit komponente te bekom bloot vanweë hul estetiese kwaliteit. Ek het dit bereik, behalwe die bedieningsknoppie, probeer as moontlik; ek kon nie 'n goeie/goedkoop, heeltemal wit knoppie kry nie.

Sonoff 10A -toestel

Ek het hieronder gelys wat volgens my redelike voor- en nadele van die Sonoff -toestel was

Voordele

  • Goedkoop.
  • Goeie gemeenskapsondersteuning.
  • Kan herprogrammeer via die Arduino IDE.

Nadele

  • Slap omhulsel.
  • Minimale I/O (na bruikbare verbindings gebring).
  • Dit raak warm in sy rustige toestand.
  • Het slegs 1 MByte aan boord SPI-flits.
  • Is 'n PITA om te herprogrammeer sodra dit op 'n bedrade plek is?
  • By die integrering van nuwe kode in die Sonoff -toets was die aflos sluiting problematies, aangesien die relais 5v is en die aanbod wat op die Sonoff toegedien word vir programmering 3v3 is. Relaisaktivering is slegs opvallend vir die oor.

Bekommernisse

  • Dit verander nie die neutrale lyn nie. Gebruik 'n SPST -aflos.
  • Is nie versmelt nie.
  • Swak kabelvermindering.
  • Die PCB is nie beveilig binne die Sonoff -omhulsel nie.

Lewer kommentaar op ingenieursontwerp

Aangesien hierdie IoT-toestel gebruik sou word om die stroomnet in die Verenigde Koninkryk oor te skakel (240VAC RMS), het ek goeie meganiese en elektriese ontwerppraktyke gevolg en verseker dat die risiko van skok tot die minimum beperk word deur geen elektriese geleidende materiale bloot te stel nie, behalwe om alle komponente te spesifiseer, uitgangsbelasting, die gebruik van lontbeskerming op beide die hoofkontroller en die opto-gekoppelde substelsel, die insluiting van goeie ononderbroke aarding en die gebruik van optiese/galvaniese isolasie.

Moontlike verbetering

Agterna sou dit nuttig gewees het om 'n visuele aanduiding in te sluit dat die hoofkontrole -uitset aktief was (LED of Neon). Alhoewel dit nie 'n probleem in die alledaagse gebruik is nie, aangesien dit standaard is om die las van die voorraad te isoleer voordat enige onderhoud uitgevoer word, of 'n eenvoudige druk op die plaaslike bedieningsknoppie sal die uitset verander in die geval dat 'n lamp kan brand wanneer dit ingeprop word.

Laaste nota

Kyk na die onderstaande skakels as u twee baie swak voorbeelde van die hantering van elektrisiteit wil sien. Hulle Darwin -toekennings sal binnekort in die pos wees, ek is seker;

  • Mad Scientist -verlengsnoer
  • Terugvoer van die gemeenskap 03 - Kommer oor veiligheid oor krag!

Stap 10: Gebruikte verwysings

Ek het die volgende bronne gebruik om hierdie Instructable saam te stel;

PubSubClient.h

  • Deur: Nick O'Leary
  • Doel: stel die toestel in staat om MQTT -onderwerpe met 'n gegewe makelaar te publiseer of in te teken
  • Van:

Weiering2.h

  • Deur: Thomas O Fredericks
  • Doel: die invoer van die invoerskakelaar in sagteware
  • Van:

SPIFFS

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

Opgradering van Sonoff -flits

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

Sonoff stroombaan diagram

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

USB UART -module (ook bekend as 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 -toekennings (ligte verligting)

https://www.darwinawards.com/

TIL111 Gegevensblad vir opto-isolator

Aanbeveel: