DIY-bediening via wifi. Verwarmingsregelsystemen TECH Controllers

Deze recensie gaat over een nieuw product voor een smart home - Sonoff POW WiFi-schakelaar met de functie om het energieverbruik van de belasting te meten.

Een recensie met een triest einde, aangezien het toestel de tests niet overleefde. Dit komt door mijn nalatigheid bij het werken met elektriciteit, een defecte voeding van een laptop op de 13e.

Misschien was er iets mis met het lot, iets mis,
En het gaat slecht met de zaak, het gaat slecht,
En een strakke snaar op de frets, op de frets
Ze ging liggen met een onmerkbaar gebrek. ©

Ik zal meteen zeggen dat het apparaat in de normale modus prima werkt, maar laten we alles in volgorde bespreken

SONOFF is een serie schakelaars, stopcontacten en andere apparaten in de categorie ‘Internet of Things’. Ze worden gekenmerkt door een vrij lage prijs, het gebruik van de “people's WiFi-module” ESP8266 en werken in hun eigen dienst in de wereldwijde servercloud van Amazon AWS.


Deze apparaten worden bestuurd via de mobiele eWeLink-applicatie


De apparaten hebben verschillende functionaliteiten


Bij ITEAD-apparaten worden ze altijd gekenmerkt door hoogwaardige verpakking en montage




Heel herkenbare doos


Er zit een niet-functioneel gat in de zijkant van de behuizing. In TH10/16 zit een connector voor het aansluiten van temperatuur- en vochtigheidssensoren.


Er is zelfs een zegel met Chinese karakters.


Onder het deksel bevindt zich een klemmenblok voor het aansluiten van stroom en belasting


Het apparaat is eenvoudig te demonteren; je hoeft alleen maar de onderkant van de behuizing los te wrikken met iets scherps.


Alles staat op één bord. Hoog- en laagspanningsgebieden worden door middel van frezen van elkaar gescheiden


Relais 16A


Connector voor USB/TTL-converter


Je hoeft niet naar de details op het bord te kijken. ITEAD publiceert traditioneel haar producten

Sonoff POW-circuit







Het diagram toont de ESP8266 en een interessante chip voor het meten van spanning, stroom en vermogen HLW8012.
Het belastingaansluitschema omvat aarding, die niet aanwezig is in mijn appartement.






Daarom sluiten we de “E”-terminals nergens aan.


Om te bedienen, installeert u de eWeLink-applicatie van Google Play.


Wij maken daarin een account aan. Houd vervolgens de knop op het apparaat 5 seconden ingedrukt en registreer het apparaat in de cloud


Hierna krijgen we op het scherm de aan / uit-knop en de huidige waarde van het laadvermogen


Nu kunt u elke verbruiker aansluiten, het vermogen ervan bekijken en het elektriciteitsverbruik in kWh meten
U kunt het energieprofiel per uur bekijken


Net als bij Sonoff TH10/16 kun je het aan/uit-schema configureren.
Maar hier is het grootste probleem met alle Sonoff-apparaten: zodra het internet verdwijnt, zijn SONOFF-apparaten niet meer beschikbaar voor weergave of bediening. Geen.
Persoonlijk vind ik het niet prettig om met een smart home ‘in de wolken’ te werken.
Daarom is mijn pad om het apparaat met zijn eigen firmware te gebruiken, gelukkig is de hardware - ESP8266 - begrijpelijk. Nadat ik me in de beschrijving had verdiept, ontdekte ik hoe ik er metingen uit kon halen.
De CF-frequentie-uitgang levert stroom. CF1 - spanning en stroom afhankelijk van de status van de SEL-ingang. In dit apparaat is CF verbonden met GPIO14, CF1 is verbonden met GPIO13 en SEL is verbonden met GPIO05.


Het enige dat overblijft is het meten van de frequentie tot 2000 Hz op twee ingangen en het correct omzetten van de meetwaarden.
Maar ik kon het niet controleren.
De connector voor de UART/TTL-adapter gesoldeerd. De 3,3V-adapter voor het voeden van de ESP bleek niet genoeg, dus besloot ik de voeding uit het stopcontact te laten.

BOOM!!!

- Ik vraag me af wat dat geluid maakte? In mijn eentje zou ik niet zoveel lawaai kunnen maken. En waar, vraag ik me af, is mijn ballon? En waar, vraag ik me af, kwam dit lapje vandaan? ©



Uit latere analyse bleek dat de stroomvoorziening van de laptop ergens bij min 19 V tot nul daalde. Maar in plaats van nul in een gewoon stopcontact zal er evengoed een fase zijn. En SONOFF maakt ook gebruik van niet-geïsoleerde nul en fase in het netwerkstroommeetcircuit.
Het resultaat is dat de voeding van de laptop, de UART/TTL-adapter en de SONOFF POW zelf doorbranden.
De juiste manier zou zijn om het apparaat te flashen door 3,3 V aan te sluiten op de connectorpin op het bord.

Uit de autopsie bleek dat de patiënt stierf aan de autopsie: een weerstand 1206 op 0 ohm in het stroommeetshuntcircuit, een hoogspanningstransistor en een paar weerstanden in het stroomcircuit waren doorgebrand met een hoop roet. Op het eerste gezicht leek de ESP8266 te werken. En probeerde zelfs te knipogen met een LED. Maar tegelijkertijd werd het heet als een strijkijzer en verbruikte het 1A stroom. Het is duidelijk dat er door een dergelijke behandeling iets in hem is kortgesloten.








Volledig intacte zekering in het lastcircuit


En dit is de voeding waardoor de kortsluiting plaatsvond



Nou ja, misschien zal ITED mij nog een dergelijke controller sturen om te testen, maar in de tussentijd realiseer ik me de mogelijkheden om mijn eigen firmware voor de SONOFF DH10-module te ontwikkelen. Maar dit is het onderwerp van de volgende recensie.

Het is tijd om de balans op te maken.

Het apparaat is zeer interessant voor het op afstand bedienen en monitoren van krachtige belastingen. Bijvoorbeeld een verwarming. Als ik WiFi in mijn garage had, zou ik daar graag gebruik van maken. Soms moet u apparaten zoals het opladen van de batterij ingeschakeld laten. De prijs van het apparaat is behoorlijk aantrekkelijk en staat in verhouding tot de kosten van de onderdelen die daar worden gebruikt: ESP8266 + voeding + stroommeetmodule + behuizing + klemmenblok.

De eWeLink-applicatie leek mij niet informatief. Welnu, het was de moeite waard om aanvullende informatie over de belastingsspanning en -stroom weer te geven, omdat deze toch worden verwijderd. Soms is het erg handig om te zien hoe de spanning zakt als er een krachtige verbruiker wordt ingeschakeld.

Welnu, voor mij persoonlijk is het belangrijkste nadeel van een slim huis in zo'n cloud de volledige onbruikbaarheid bij afwezigheid van internet.

Maar deze tekortkomingen worden gecompenseerd door de mogelijkheid om te flitsen met software van derden. Het project is ook erg interessant voor. In de volgende review schrijf ik hoe je je eigen firmware voor de Sonoff DH10 kunt ontwikkelen.

En het testen van Sonoff POW eindigde met de crashtest. Dit is zo zielig

Het product werd ter beschikking gesteld voor het schrijven van een recensie door de winkel. De recensie is gepubliceerd in overeenstemming met artikel 18 van de siteregels.

Ik ben van plan +40 te kopen Toevoegen aan favorieten Ik vond de recensie leuk +37 +83

Voor draadloze bediening van automatische ventilatie via een mobiele applicatie vanaf elk mobiel apparaat op basis van iOS 5.0, Android 2.3.3 en hoger. Wi-Fi-module is een onderdeel van het hardware- en softwarecomplex Elektrotest draadloze bediening (EWC).

Klimaatregelingsmodi vanaf een smartphone

Met de Wi-Fi Module kunt u op drie manieren klimaatbeheersing vanaf een smartphone of tablet implementeren:

  1. Toegangspunt. Deze modus is geschikt voor lokale bediening binnen een straal van maximaal 12 meter en vereist geen Wi-Fi-netwerk. Gegevensuitwisseling vindt rechtstreeks plaats tussen het mobiele apparaat en de automatiseringskast.
  2. Cliënt. Deze modus is geschikt voor bediening binnen het bereik van een Wi-Fi-netwerk en vereist een router.
  3. Client met VPN-verbinding. Met behulp van een VPN (Virtual Private Network) kunt u uw automatiseringskast bedienen vanaf een smartphone of tablet vanaf elke plek ter wereld waar internettoegang is.

Kenmerken van de WI-FI-module

  • Klimaatbeheersing vanaf elk mobiel apparaat gebaseerd op iOS 5.0, Android 2.3.3 en hoger met de ElectrotestControl-applicatie geïnstalleerd.
  • Lijnlengte tot 200 m. De kast kan in de kelder worden geïnstalleerd en de Wi-Fi-module in elke andere kamer.
  • Een willekeurig aantal objecten. De applicatie kan een willekeurig aantal automatiseringsmodules besturen, dat wil zeggen de ventilatie in verschillende kamers individueel regelen. Automatiseringsmodules binnen het bereik van de applicatie worden automatisch gedetecteerd en kunnen voor gebruikersgemak worden hernoemd - “Stookruimte”, “Hal”, “Magazijn 1”, enz. Overschakelen van de ene kamer naar de andere wordt bereikt door simpelweg de pagina om te slaan.
  • Gelijktijdige verbinding van meerdere gebruikers. Eén automatiseringskast kan door meerdere geautoriseerde gebruikers worden bestuurd – bijvoorbeeld tegelijkertijd een alarmarchief bekijken, een timer programmeren, temperatuurinstellingen en ventilatorsnelheden wijzigen.
  • Gemakkelijke verbinding. Ondersteuning voor Wi-Fi-besturing is toegevoegd aan alle automatiseringsmodules MASTERBOX RR En OPTIBOX M. Eigenaars van eerdere versies van automatiseringsmodules hoeven alleen de software van de geïnstalleerde modules bij te werken met behulp van een computer en een eigen programmeerkabel.
  • Parallel werk. De Wi-Fi-module kan samen met bedrade afstandsbedieningen op de automatiseringskast worden aangesloten. De gebruiker kiest zelf de handigste bedieningsmethode op een bepaald moment: het paneel van de kast zelf, een bedrade afstandsbediening, een mobiele applicatie, een SCADA-systeem. Bij bediening vanaf één apparaat worden alle andere tijdelijk geblokkeerd.

Installatie en aansluiting

De Wi-Fi-module is via een vierdraads twisted pair-kabel met de automatiseringsmodule verbonden. Op fysiek niveau vindt de communicatie plaats via de RS 485-interface, half duplex. Lijnlengte van de console naar de module MASTERBOX RR- tot 200 m. Op softwareniveau wordt het Modbus RTU-protocol gebruikt.

Firmware update

  1. Zorg ervoor dat de module klaar is voor gebruik door de LED-status te controleren:
    • uit: de module is uitgeschakeld of wordt opnieuw opgestart
    • knippert twee keer per seconde - de module kan geen verbinding maken met de “kast”
    • knippert één keer per seconde - de module probeert verbinding te maken met het netwerk (in “Client”-modus) of een toegangspunt te starten (in “Access Point”-modus)
    • constant aan - klaar voor gebruik, de module is verbonden met de "kast" en verbonden met het netwerk in de "Client" of "Access Point" modus
  2. Maak verbinding met het Electrotest-netwerk. Als de module in de “Client”-modus staat of het wachtwoord voor het access point is vergeten, houd dan de Reset-knop op de module ingedrukt totdat de LED uitgaat en wacht tot de module opnieuw opstart in de “Access Point”-modus met het netwerk naam Elektrotest.
  3. Open de ElectrotestControl applicatie, ga naar instellingen. In de instellingen kunt u de bedrijfsmodus van de module "Access Point" of "Client" selecteren en, indien nodig, een wachtwoord opgeven om toegang te krijgen tot deze module. Als er geen wachtwoord nodig is, laat u het veld leeg.
    Om alle wijzigingen door te voeren, moet u op “Stuur wifi-instellingen naar de module” klikken, waarna de module opnieuw zal opstarten met de nieuwe instellingen.

Aandacht!
Nadat u de instellingen voor de eerste keer in de module hebt opgeslagen, worden de WiFi-module-instellingen in de applicatie de volgende keer dat u er verbinding mee maakt, niet meer weergegeven. Om de module opnieuw te configureren, moet u nogmaals op de resetknop klikken en vervolgens op stap 1. Als u niet op “Stuur wifi-instellingen naar de module” klikt, d.w.z. Als u de initiële instellingen van de module niet specificeert, kunnen deze instellingen worden gemaakt door elke gebruiker die op deze module is aangesloten.

Klimaatbeheersing via internet

Om de mogelijkheid te implementeren om de ventilatie via internet te regelen (webklimaatbeheersing), hoeft u alleen maar een statisch IP-adres te hebben en aanvullende instellingen voor de router op uw thuisnetwerk en mobiele apparaat te maken. De VPN-installatieprocedure duurt voor een ervaren gebruiker slechts enkele minuten.

Poortuitbreider

Door een poortuitbreider samen met een automatiseringskast te gebruiken, kunt u tegelijkertijd een Wi-Fi-module op de kast aansluiten en de kast verbinden met het SCADA-systeem.

Aansluitschema's

Het aansluiten van de WiFi-module is vergelijkbaar met het aansluiten van de afstandsbediening.


Het Science Vetal-kanaal liet zien hoe je een auto kunt maken die vanaf vrijwel elke Android-smartphone kan worden bestuurd. In dit geval zullen we "Arduino" niet gebruiken, we nemen een microcontroller van de Chinese fabrikant "Espressive" "esp 8266", het ding is een "Arduino" plus een wifi-module.
Alle radiocomponenten en modules bevinden zich in deze Chinese winkel.

Je herinnert je "Arduino uno", het is groot, maar hier is een klein ding dat wifi en Arduino-mogelijkheden heeft. De Chinezen hebben zo'n schild voor deze microcontroller ontwikkeld. Handig: je kunt 2 motoren aansluiten, of zelfs 4, terwijl je 11 pinnen kunt gebruiken. We nemen ook 2 motoren mee, 2 standaard "Arduino" -wielen.

Wanneer u "Arduino" invoert in de zoekopdracht op "aliexpress", worden niet alleen boards geopend, maar ook gerelateerde producten. Interessante elementen, je zult zeker iets interessants vinden, probeer het.

Laten we 2 18650-batterijen nemen voor stroom, een doos voor 2 batterijen, we nemen ook 2 hoeken, de afmetingen zijn ongeveer 5 inch, het is niet zo belangrijk, plus of min een halve inch, een inch. Het feit is dat het ontwerp misschien van jou is, maar de auteur die in de video wordt gepresenteerd, is succesvol en eenvoudig.

We nemen 2 hoeken, deze moeten met schroeven worden verbonden zodat het schild hier gemakkelijk past. Met een boor met een diameter van 3 mm maken we 4 gaten. We nemen kleine schroeven, klemmen ze vast en verbinden deze structuur. Het resultaat is zo'n ding; deze verbinding is sterk genoeg voor een machine zoals die wij maken.

Aan de zijkant voor de videoschacht boren we een gat met een diameter van 8 mm, er ontstaat een ontwerp, maar het is ook nodig om 3 gaten te maken met een diameter van 3 mm: één voor dit uitsteeksel, nog 2 voor deze montagegaten .

We nemen het, plaatsen het op deze manier en draaien het vast met schroeven. Een van de ideale gevallen, ik vind de machine leuk, er valt hier niets aan toe te voegen, het is niet nodig om het opnieuw te doen. We maken gaten voor het monteren van het bord.

We veranderen niets, behalve hier, waar een vinkje staat, selecteer het adres van het bestand dat we gaan uploaden, selecteer vervolgens de gewenste com-poort en druk op de startknop. Ook onder de video staat een link naar het programma dat op je favoriete Android moet worden geïnstalleerd.

We hebben dit bord beveiligd en de microcontroller erin geplaatst. We verbinden de draden van de motoren, kijken of de onderste "A-" is, en aan deze kant "B-" zal er een bovenste zijn. Nu is het tijd om de wielen te bevestigen. Dit is eenvoudig te doen, aangezien de motorwielen een set zijn. Op deze plaats boren we een gat met een diameter van 4 mm en plaatsen we een schroef. We doen deze eenvoudige handeling, passen de hoogte aan, nog lager kan, op de een of andere manier krijgen we een schroef die ver uitsteekt. Het is te veel. Het blijkt dat het apparaat een cent duurder is, wat we over het algemeen niet nodig hebben, het ziet er op de een of andere manier onhandig uit.

Laten we dus eens kijken hoe we een apparaat krijgen dat door Android op afstand via wifi kan worden bestuurd. Natuurlijk is het een betere zaak. We bevestigen het batterijcompartiment met hete lijm en we hebben een machine.

We plaatsen de batterijen, je moet voorzichtig zijn, want het komt vaak voor dat alles correct lijkt te zijn gemonteerd, de batterijen zijn geplaatst, maar het apparaat werkt niet. Het blijken zwarte plastic dozen te zijn. Ze zorgen ervoor dat de batterij niet op zijn plaats kan komen.


Programma en schets http://bbs.smartarduino.com/showthread.php?tid=2013
Beheerapplicatie https://play.google.com/store/apps/details?id=com.doit.carset


Ik blijf praten over de eenvoudigste en meest toegankelijke manieren om elektrische apparaten via internet te bedienen met behulp van clouddiensten. Allereerst zijn dergelijke apparaten relevant voor eigenaren van landhuizen om de verwarming op afstand aan te kunnen zetten en te voorkomen dat het huis bevriest. Draadloze Wi-Fi-relais in doe-het-zelf-formaat van ITEAD zijn vooral aantrekkelijk vanwege hun prijs. Een kant-en-klaar apparaat wordt feitelijk aangeboden ten koste van de componenten die erin worden gebruikt. Is het een grap dat de eenvoudigste relais minder dan $ 5 kost?

Eerder had ik het al over compacte relais waarmee je de belasting op afstand kunt regelen. Vandaag laat ik nieuwe apparaten zien. Ten eerste is dit een apparaat met twee onafhankelijke Sonoff Dual-relais, en ten tweede een Sonoff TH-relais, dat een ingebouwde ingang heeft voor een externe temperatuur-/vochtigheidssensor. Met een dergelijk relais kunt u niet alleen de temperatuur en vochtigheid op afstand bewaken, maar ook het proces van het handhaven van deze parameters binnen een bepaald bereik automatiseren.

Dus laten we het uitzoeken!


2. Allereerst hebben de relais een nieuwe behuizing gekregen. Ze zijn ongeveer 2 keer groter dan de relais van de eerste generatie. Er zijn duidelijkere markeringen en een handigere knop voor programmering en handmatige bediening.

3. Schroefklemmen zijn vervangen door veerklemmen. Een zeer correcte oplossing waarmee u de belasting betrouwbaar kunt aansluiten zonder het risico te lopen de draden op de contacten te strippen. Sonoff TH is verkrijgbaar in twee versies, met een relais ontworpen voor een belasting van 10 of 16 ampère. Dat wil zeggen dat in het tweede geval een belasting met een vermogen tot 3600 watt via een relais kan worden geschakeld. Een aanpassing met een relais van 10 ampère kost $ 7,5. Met een relais van 16 ampère - $ 8,6 (dezelfde prijs voor een Sonoff Dual 10A-relais).

4. Het relais kan onafhankelijk werken, maar er kunnen ook externe sensoren op worden aangesloten. U kunt kiezen uit de DS18B20-temperatuursonde (afgebeeld in het midden), die $ 3,5 kost, of de AM2301 temperatuur-/vochtigheidssensor, die $ 4,3 kost.

5. Aan de linkerkant bevindt zich een enkel relais met een connector voor externe sensoren. Rechts zit een dubbel relais, zonder connector voor externe sensoren.

6. Het apparaat is gebaseerd op de bekende ESP8266-chip. Het gehele laagstroomgedeelte bevindt zich aan de onderkant van het bord. Links zie je aansluitingen waarmee je een USB-TTL adapter kunt aansluiten. Degenen die de openbare clouddienst niet vertrouwen, kunnen altijd aangepaste firmware naar het apparaat uploaden en deze aanpassen aan hun behoeften. Op internet staan ​​voorbeelden van hoe je dit kunt doen.

7. We monteren een eenvoudig circuit om de werking van het apparaat te demonstreren. We hebben een kleine LED-spot als belasting. Via een Sonoff TH10 relais sluiten we hem aan op een 220 volt netwerk. Om het relais op afstand te kunnen bedienen, moet u het relais “koppelen” met uw Wi-Fi-thuisnetwerk dat in het 2,4 GHz-bereik werkt.

8. De installatie gebeurt via de eigen EWeLink-applicatie op een smartphone, beschikbaar voor zowel iOS als Android.

9. Na de eerste koppelingsprocedure krijgt u de mogelijkheid om de belasting zowel handmatig (via een knop op het relaislichaam) als op afstand (via een applicatie op een smartphone) te bedienen. U kunt ook timers instellen om de bediening in te schakelen en te automatiseren door bedrijfstemperatuur- en vochtigheidsbereiken op te geven.

10. Een van de opties voor het gebruik van het relais van de eerste versie is het bedienen van de schans naast het bed in de slaapkamer. Het enige nadeel is dat het vanuit esthetisch oogpunt beter zou zijn als het relais in de behuizing van een gewone vloerlampschakelaar zou worden gemaakt, omdat in zijn huidige vorm is het volkomen onhandig om op een kleine knop op het lichaam te drukken om het licht aan te doen zonder de applicatie te gebruiken. Door de aanwezigheid van een timer kunt u de verlichting bijvoorbeeld tijdens uw vakantie aan/uit programmeren, zodat het lijkt alsof er iemand in het appartement aanwezig is.

11. Er zijn veel opties voor het gebruik van relais. In het bijzonder heb ik de wens om de besturing eindelijk te automatiseren met behulp van een Sonoff Dual-relais (één relais voor het laten zakken van de kabel, het andere voor het omhoog brengen ervan). Als ik dat eenmaal gedaan heb, zal ik er zeker over schrijven. Ook gebruik ik een relais om de lichten op afstand aan te doen als ik 's nachts naar een landhuis rijd.

Er zijn behoorlijk wat toepassingen. Je kunt bijvoorbeeld van een watertank een zelfgemaakte warmteaccumulator maken en deze programmeren om 's nachts te verwarmen, tegen een goedkoop tarief. Op het verwarmde balkon kunt u aardappelen opbergen of op afstand de poort in de garage openen. U kunt de ventilator in de badkamer automatisch inschakelen wanneer een bepaalde luchtvochtigheidsdrempel wordt overschreden. Over het algemeen hangt het allemaal af van je verbeeldingskracht. Om de relais te kunnen programmeren en op afstand te kunnen bedienen, hebben ze internettoegang nodig. Als ze voorgeprogrammeerd zijn om op een timer te werken, kunnen ze autonoom werken. Het is beter om het relais op de officiële website van het bedrijf te bestellen; levering aan Rusland kost $ 6.

Alle materialen over het bouwen van een landhuis met uw eigen handen kunnen in chronologische volgorde worden bekeken.

Begin opnieuw.

Chip ESP 8266

De ESP8266-chip is speciaal ontworpen voor het internet der dingen. Er zijn twee opties om deze chip te gebruiken. De eerste is als een UART-WIFI-brug voor aansluiting op een microcontroller en het besturen van AT-opdrachten. De tweede optie is dat de chip zelf de rol van besturingscontroller speelt. Volgens mijn inschatting wordt de chip onder elektronicaliefhebbers vaker gebruikt als besturingscontroller.

Chipmogelijkheden:

  • 802.11 b/g/n-ondersteuning
  • Ingebouwde 32-bit MCU met laag stroomverbruik
  • Ingebouwde 10-bits ADC
  • Ingebouwde TCP/IP-stack
  • Ingebouwde RF-signaalversterker
  • Ondersteuning van antennediversiteit
  • WiFi 2,4 GHz, ondersteuning voor WPA/WPA2
  • Ondersteuning STA/AP/STA+AP-modi
  • SDIO 2.0, (H) SPI, UART, I2C, I2S, IR-afstandsbediening, PWM, GPIO
  • STBC, 1x1 MIMO, 2x1 MIMO
  • A-MPDU- en A-MSDU-aggregatie en bewakingsinterval van 0,4 s
  • Uitgangsvermogen +20 dBm in 802.11b-modus

De chip is een sterk geïntegreerde WiFi-oplossing. We zijn erin geslaagd om alles wat we nodig hadden in de chip te passen. De typische minimale schakelingen die nodig zijn voor de werking van een microschakeling bestaan ​​uit slechts zeven elementen.

Foto's om het aantal componenten van vergelijkbare oplossingen te vergelijken.

Volgens sommige bronnen wordt al dit moois aangestuurd door de 32-bit Xtensa LX106 processorkern, volgens andere bronnen - Tensilica's L106 Diamond. Onder een microscoop ziet de chip eruit als een hele stad van verbonden elementen.

Eén van de belangrijkste kenmerken is het energieverbruik. Op de ESP8266 is het gewoon geweldig:

  • 215mA in continue transmissiemodus.
  • 1mA in de modus voor het onderhouden van de verbinding met het toegangspunt
  • 10uA in diepe slaapmodus met realtime klok
  • 0,5uA in uitgeschakelde modus

De tijd die nodig is om wakker te worden en een pakket te verzenden, bedraagt ​​minder dan 2 ms. Als u bijvoorbeeld elke 100 seconden de temperatuur meet en verbinding maakt met een toegangspunt en de verzamelde gegevens elke 300 seconden overdraagt ​​(de rest van de tijd dat de chip slaapt), zal de gemiddelde stroom ongeveer 1 mA zijn. Dit is ruim drie maanden gebruik op drie AA-batterijen met een capaciteit van 2600 mAh.

Over modules ESP

Momenteel zijn de meest populaire modules op ESP8266-chips ESP-01, ESP-02, ESP-03, ESP-04, ESP-05, ESP-06, ESP-07, ESP-08, ESP-09, ESP-10, ESP-11, ESP-12, ESP-12E. Ze verschillen in het aantal bedrade pinnen, de aanwezigheid van een connector voor het aansluiten van een externe antenne en hun afmetingen.

Nu kun je de oudere broer van de ESP8266 al in de uitverkoop vinden - dit is de ESP-32-module. Op AliExpress hebben tot nu toe slechts twee verkopers deze modules. De prijs is ongeveer 250 roebel versus 110 roebel voor de ESP-12E. De nieuwe module zal nog meer goodies bevatten.

Belangrijkste kenmerken van de ESP-32. (Klik om te bekijken)

Wifi
- 802.11 b/g/n/e/i
- 802.11 n (2,4 GHz), tot 150 Mbps
- 802.11i-beveiligingsfuncties: pre-authenticatie en TSN
- 802.11 e: Beheer van meerdere wachtrijen om de QoS-verkeersprioritering volledig te benutten
- Wi-Fi-beveiligde toegang (WPA)/WPA2
- Wi-Fi beveiligde installatie (WPS)
- UMA-conform en gecertificeerd
- Antennediversiteit en selectie
- A-MPDU- en A-MSDU-aggregatie
- WMM-voedingsbron U-APSD
- Fragmentatie en defragmentatie
- Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner-modus en P2P Power Management
- Infrastructuur BSS Station-modus/Soft AP-modus
- Automatische bakenbewaking / scannen
- SSL-stacks met hardwareversnellers

Bluetooth
- CMOS single-chip volledig geïntegreerde radio en basisband
- Bluetooth Piconet en Scatternet
- Bluetooth 4.2 (BR/EDR/BLE)
- Adaptieve frequentiehoppen (AFH)
- SMP
- Klasse-1, klasse-2 en klasse-3 zender zonder externe eindversterker
- +10 dBm transmissievermogen
- NZIF-ontvanger met -90 dBm-gevoeligheid
- Tot 4 Mbps hoge snelheid UART HCI
-SDIO/SPI HCI
- CVSD en SBC
- Laag energieverbruik
- Minimale externe component

CPU en geheugen
- Xtensa® Dual-Core 32-bit LX6 microprocessor, tot 400 MIPS
- 128 KB-ROM
- QSPI Flash/SRAM, tot 4 x 16 MB
- Voeding: 2,5V tot 3,6V
- 416 KB SRAM

Klokken en timers
- Kristaloscillator van 2 MHz tot 40 MHz
- Interne 8 MHz-oscillator met kalibratie
- Externe 32 kHz oscillator voor RTC met kalibratie
- Interne RC-oscillator met kalibratie
- Twee timergroepen inclusief 3 x 64-bit timers en 1 x watchdog in elke groep
- RTC-timer met nauwkeurigheid van minder dan een seconde
-RTC-waakhond

Geavanceerde randapparatuurinterfaces
- 12-bit SAR ADC tot 16 kanalen
- 2 x 10-bit D/A-converters
- 10 x aanraaksensoren
- Temperatuursensor (-40 +125°C)
- 4x SPI
- 2 x I2S
- 2 x I2C
- 2 x UART
- 1 host (SD/eMMC/SDIO)
- 1 slaaf (SDIO/SPI)
- Ethernet MAC-interface met speciale DMA- en IEEE 1588-ondersteuning
- KAN 2.0
- IR (TX/RX)
- Motor-PWM
- LED PWM tot 16 kanalen

Beveiliging
- IEEE 802.11 standaard beveiligingsfuncties worden allemaal ondersteund, inclusief WFA, WPA/WPA2 en WAPI
- Veilig opstarten
- Flash-codering
- 1024-bit OTP, tot 768-bit voor klanten
- Cryptograaf hardwareversnelling:
- AES 128/192/256
- HASH (SHA-2) bibliotheek
- RSA
- Radom-nummergenerator

Bijzonder interessant is de genoemde ondersteuning voor de CAN-bus. Binnenkort is het mogelijk om autosystemen te besturen en diagnostiek via WiFi rechtstreeks vanaf een mobiel apparaat uit te voeren.

Maar laten we terugkeren naar de ESP-12E. Op basis van deze module wordt het NodeMCU platform gebouwd.

Over het perron

Het platform maakt gebruik van de mogelijkheden van de ESP-12-module en beschikt niet over een eigen microcontroller. De Chinezen produceren veel klonen met verschillende interfaceconverters, en de platforms zelf hebben verschillende afmetingen.

Standaard is het platform geladen met NodeMCU-firmware met ondersteuning voor de LUA-scripttaaltolk. Scripts bepalen het gedrag van het bord.

Ik schrijf en upload programma's met behulp van de Arduino IDE. Om met het platform te kunnen werken, moet u bibliotheken installeren. De bibliotheken worden geleverd met een groot aantal voorbeeldprogramma's.

Bibliotheken in de omgeving installeren Arduino IDE werken met KnooppuntMCU .

Om bibliotheken te installeren, moet je naar de Arduino IDE-instellingen gaan en het adres http://arduino.esp8266.com/package_esp8266com_index.json invoeren in het veld "Extra bord"

Blader door de lijst en zoek ESP8266 van ESP8266 Community en installeer de bibliotheken.

Bestuursmanager sluiten. Ga naar "Extra" en selecteer NodeMCU-bord volgens uw versie.

Om te begrijpen welke module u hebt geïnstalleerd en welke versie u moet kiezen, bekijkt u de module. Als de contacten erop zich aan drie zijden bevinden, is het ESP-12E, al is het maar aan twee kanten, het is ESP-12.

Pintoewijzing van het NodeMCU-platform

Functies ondersteund door bibliotheken voor Arduino IDE .

De volledige beschrijving kan hier https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_ru en in het Russisch worden gelezen. Ik zal het hebben over de belangrijkste functies.

De GPIO wordt op dezelfde manier aangestuurd als bij Arduino. pinMode, digitalRead, digitalWrite, analogWrite functioneren zoals gewoonlijk. analogRead(A0) leest de ADC-waarde van analoge ingang A0 dienovereenkomstig. analogWrite maakt software-PWM mogelijk. De PWM-frequentie is ongeveer 1 kHz. Het PWM-bereik loopt van 0 tot 1023, voor Arduino, zoals we ons herinneren, tot 255. Interrupts worden ook ondersteund op elke GPIO, behalve GPIO16. De functies millis() en micros() retourneren milliseconden en microseconden die zijn verstreken sinds de module is gestart. De delay()-functie van NodeMCU werkt anders dan die van Arduino. Hier is het gebruik van vertraging welkom en zelfs noodzakelijk bij grote programma's. Wanneer de module een WiFi-verbinding ondersteunt, moet deze naast uw schets ook veel achtergrondtaken uitvoeren. De WiFi- en TCP/IP-functies van de SDK-bibliotheken hebben de mogelijkheid om alle gebeurtenissen in de wachtrij te verwerken nadat elke cyclus van uw lus()-functie is voltooid of tijdens vertraging(...). Als er delen van uw code zijn die meer dan 50 milliseconden nodig hebben om uit te voeren, dan moet u delay(...) gebruiken om de WiFi-stack goed te laten werken. Maar delayMicroseconds() blokkeert de uitvoering van andere taken en wordt niet aanbevolen voor vertragingen van meer dan 20 milliseconden. Serieel gebruikt hardware UART0 die draait op PIO1(TX) en GPIO3(RX).

Programma voor het besturen van vier relais vanuit een mobiele applicatie

Nadat de bibliotheken zijn geïnstalleerd, verbinden we een blok van 4 relais met het platform op pinnen D1, D2, D3, D4, wat respectievelijk overeenkomt met GPIO 5, 4, 0, 2. Vervolgens sluiten we de stroom aan op het platform en op het relaisblok. Het relaisblok dat ik heb, heeft één functie. Om het relais in te schakelen, moet u de pin naar aarde trekken. Dat wil zeggen, logische 0 schakelt het relais in en 1 schakelt het uit.

Ik zal drie opties voor het relaisblokbesturingsprogramma overwegen.

Eerste programma maakt gebruik van de populaire aRest-bibliotheek https://github.com/marcoschwartz/aREST

Dit is een API-handlerbibliotheek waarmee u GPIO kunt besturen via http-verzoeken zoals http://192.168.0.10/digital/6/1. De mogelijkheden: stel GPIO in op digitaal of analoog (PWM), stel 0 of 1 in op de pin in Digitale modus, retourneer variabelen en lees de status van de pinnen.

Ik heb het programma gecompileerd en gedownload uit de voorbeelden die bij de bibliotheek zijn geleverd. Vanuit het oogpunt van gebruik kan het niet eenvoudiger zijn.

In Setup wordt er een verbinding tot stand gebracht met het access point, die via de COM-poort wordt gerapporteerd. En de lus ziet er als volgt uit:

lege lus() (

WiFiClient-client = server.available();

if (!klant) (

opbrengst;

}

while(!client.beschikbaar())(

vertraging(1);

}

rest.handle(klant);

}

Alle. Het is niet duidelijk wat daar gebeurt. Het werkt, maar we programmeren eigenlijk niets. Wij voeren alleen het programma uit, de bibliotheek doet de rest. Maar interessanter is het om “met de hand” te leren werken met GPIO. Ja, trouwens, mijn programma liep na onbepaalde tijd vast. Soms na 40 minuten, soms na 5-6 uur. Toen ik na een werkdag van 8 uur thuiskwam, merkte ik altijd dat het programma niet werkte. In dit geval laat de router zien dat de WiFi-client verbonden is en een IP-adres toegewezen heeft gekregen. Ik verloor al snel mijn interesse in de bibliotheek. Ik heb geen klachten gezien over het bevriezen van aRest op Russischtalige forums. Ik maakte me al schuldig aan NodeMCU of een onstabiele stroomvoorziening, maar verdere experimenten wezen uit dat in mijn geval het programma de schuldige was. Hoogstwaarschijnlijk heb ik een speciaal geval. Ik zeg niet dat de bibliotheek niet werkt.

We hebben aRest uitgezocht.

Tweede programma onafhankelijk geschreven, gebruikt slechts één plug-inbibliotheek #include . Het programma is eenvoudig en laat duidelijk zien hoe je pins kunt beheren via webverzoeken. Dit programma kan alleen de logische statussen op de pinnen D1-D4 besturen en informatie over de bedrijfstijd van het programma weergeven als een testverzoek. Indien nodig kunt u voor de resterende GPIO's een programma toevoegen, PWM 'leren', enz. Pin D4 is verbonden met een blauwe LED op de ESP-12E-module. Nadat ik last had van aRest-bevriezing, heb ik relais 4 tijdelijk losgekoppeld van D4 en een paar regels aan mijn programma toegevoegd om deze LED te laten knipperen. Ik kwam na het werk thuis en keek - het knipperde, wat betekent dat het werkte. Ik heb het op mijn mobiele telefoon gecontroleerd en het werkt zeker. Het programma werkte 8 dagen zonder te bevriezen, het zou langer hebben gewerkt, maar ik heb maar één NodeMCU, dus ik bleef het bestuderen en het programma moest worden gestopt.

Na het compileren en laden van het programma in de seriële poortmonitor rapporteert het programma de verbindingsstatus en het IP-adres dat het platform van het toegangspunt zal ontvangen.

Om het relaisblok voor deze twee programma's te besturen, is er een applicatie gemaakt voor een mobiele telefoon met Android OS. De applicatie is heel eenvoudig, hij is gemaakt in App Inventor 2. Ik zal later het proces van het maken van de applicatie beschrijven. Ten eerste de derde optie voor relaisbesturingsoplossing.

Derde optie complex. Platformfirmware en Android-programma van één ontwikkelaar. Ik heb de Blynk-service gebruikt. Het is een cloudgebaseerde dienst voor het maken van grafische bedieningspanelen en is geschikt voor een breed scala aan microcomputers en microcontrollers.

Om via Blynk uw eigen project aan te sturen, heeft u heel weinig nodig: installeer de applicatie (versies voor iOS en Android zijn beschikbaar) of gebruik het webformulier. Hier moet u zich in één stap registreren: voer uw e-mailadres en wachtwoord in. Feit is dat Blynk een cloudoplossing is en dat elke gebruiker zonder registratie controle over de hardware kan krijgen.

Geïnteresseerden kunnen de server lokaal installeren. In dit geval is internettoegang niet nodig.

Ik zal het proces zelf beschrijven. Het bestaat uit twee delen.

Eerste deel. Download Blynk van Google Play. Installeer het programma en voer het uit

  1. Klik op “Nieuw project maken”
  2. Voer de naam van het project in en selecteer NodeMCU in het veld “Hardwaremodel”. Leer Auth Token uit je hoofd of schrijf het op een vel papier en stuur het naar je e-mail. Klik op “Maken”.
  3. Klik op “+” in de hoek.
  4. Selecteer "Knop". Zoals je al hebt gemerkt, kost elk element dat aan het project wordt toegevoegd energie. Standaard krijg je 2000. Als je widgets toevoegt, wordt er energie verbruikt. Als je meer widgets moet plaatsen, zul je met geld energie moeten kopen.

  1. Hier is onze knop. Klik erop. De instellingen worden geopend.
  2. Selecteer een naam, de pin waarop deze zal reageren, de knop- of schakelmodus en de naam voor de 'aan' en 'uit'-statussen. U kunt het signaal van een knop in de applicatie niet omkeren. Voor mijn relais: de knop is uit - 0 aan de uitgang, het relais is aan en omgekeerd. U kunt de regels voorschrijven voor hoe logica werkt door de server op uw lokale computer te installeren.
  3. Klik vervolgens rechtsboven op het driehoekje. Het programma schakelt van bewerkingsmodus naar bediening.
  4. De knoppen werken. Opvallend is dat multi-touch wordt ondersteund. Ik heb geprobeerd op 6 knoppen tegelijk te drukken. Alles werkt (de telefoon heeft 10 drukpunten volgens de beschrijving).

Tweede deel - dit is de NodeMCU-firmware. Download en installeer de Blynk-bibliotheken https://github.com/blynkkk/blynk-library. Start Arduino IDE - Bestand - Voorbeelden - Blynk - BoardsAndShields - ESP8266_Standalone.

Voer het Auth Token uit het geheime e-mailstuk in het voorbeeld in. En ook de SSID van uw WiFi-netwerk en het wachtwoord om er toegang toe te krijgen.

Alle. Compileren en naaien. Alles werkte de eerste keer. Als u een clouddienst gebruikt, moeten zowel uw mobiele telefoon als NodeMCU toegang hebben tot internet.

Een applicatie maken inApp Uitvinder.

App Inventor is een visuele ontwikkelomgeving voor Android-applicaties die minimale programmeerkennis van de gebruiker vereist. Oorspronkelijk ontwikkeld bij Google Labs, werd het na de sluiting van dit laboratorium overgedragen aan het Massachusetts Institute of Technology. Voor het programmeren gebruikt App Inventor een grafische interface, een visuele programmeertaal die sterk lijkt op Scratch en StarLogo TNG. Begrijpen hoe je een applicatie schrijft is niet zo moeilijk. Ik heb geen bruikbare documentatie in het Russisch gevonden, maar er zijn veel video's op YouTube.

De service heeft twee hoofdtabbladen. De eerste is “Designer”, dit is waar componenten in de visuele editor worden geplaatst. De snelheid van de interface-ontwikkeling is erg hoog dankzij een functie van de App Inventor-service. U moet de MIT App Inventor 2 Companion-applicatie op uw mobiele apparaat installeren. Lanceer het. Selecteer op de website Connect - AI Companion. Er wordt een QR-code gegenereerd en op het scherm weergegeven. In de applicatie moet u op “QR-code scannen” klikken en de code scannen. Binnen een paar seconden verschijnt de applicatie op het scherm van uw mobiele apparaat. Nieuwe elementen of gewijzigde gegevens zijn letterlijk in een seconde beschikbaar voor verificatie op een mobiel apparaat.

Het scherm bevat: een invoerveld voor het invoeren van een IP-adres, een knop voor het instellen van het adres en het verzenden van een testverzoek. Hieronder vindt u de component “WebViewer”; deze zal de pagina weergeven die is verzonden als reactie op NodeMCU. Hieronder staan ​​4 groepen van twee knoppen die het relais aan en uit zetten. We hebben ook een “TinyDB” -component nodig; we zullen er een variabele in opslaan om een ​​query te bouwen. Ik heb ook een stemherkenningscomponent toegevoegd om te testen, zodat het relais kan worden bestuurd met spraakopdrachten. Ik zal het algoritme van acties voor tekstherkenning niet beschrijven, omdat het gebruik van deze functie buitengewoon lastig is. Eerst moet je op de knop drukken, dan verschijnt er een venster van Google met het opschrift "spreken", waarna het commando wordt uitgesproken. Bovendien wacht het herkenningssysteem na het beëindigen van de uitspraak van het commando enige tijd en realiseert zich dan dat alles al is gezegd. Dan komt spraakherkenning en een tekstreactie. Het moet worden vergeleken met vooraf voorbereide zinnen. En pas daarna wordt de opdracht uitgevoerd. Het is gemakkelijker om op de knop te tikken.

Het tweede tabblad heet "Blokken". Hier wordt het volledige ‘software’-gedeelte van de applicatie gespecificeerd in de vorm van blokken.

Hier wordt het algoritme van het programma samengesteld uit blokken. Het grootste deel van het algoritme staat op de schermafbeelding. Ik zal beschrijven wat hier gebeurt.

  • Wanneer SET.Click - wanneer de "set"-knop wordt ingedrukt, roept u de IP-functie op
  • Vervolgens komt de IP-functie zelf. Het slaat het IP-adres uit het invoerveld op in TinyDB en voegt aan het begin “http://” toe. Vervolgens neemt WebViewer.GoToUrl het adres van TinyDB, voegt aan het einde “/test” toe en gaat naar dit adres. Ik krijg “http://192.168.0.1/test”. In WebViewer wordt op het scherm informatie geladen dat de test is geslaagd en wordt de tijd van continue werking van de NodeMCU weergegeven. Als het IP-adres verkeerd is ingevoerd, ontvangen we een melding over de onmogelijkheid om de pagina te openen.
  • Wanneer ON1.Click (ON1 is de naam van de knop) wordt de ON1-functie aangeroepen.
  • Functie ON1 neemt het adres van TinyDB, voegt er “/D1/0” aan toe, resulterend in “http://192.168.0.1/D1/0”, en verzendt het verzoek. NodeMCU, die dit verzoek heeft ontvangen, realiseert zich dat pin D1 op 0 moet worden ingesteld. Het voert het antwoord uit en verzendt het antwoord "GPIO set OK", dat we zien in WebViewer.
  • De volgende knop, OFF1, doet hetzelfde, maar voegt aan het einde “/D1/1” toe. Stelt logica 1 in op pin D1. Het relais wordt uitgeschakeld.

De overige knoppen werken op dezelfde manier, waarbij de pincodes en de vereiste status in het verzoek worden gewijzigd.

Nadat alles is gecontroleerd en werkt, klikt u op Bouwen - App (bewaar .apk op mijn computer). Het APK-bestand van de applicatie wordt gecompileerd en gedownload. Het moet op uw mobiele apparaat worden geïnstalleerd, nadat u eerder in de instellingen de installatie van applicaties van externe bronnen had toegestaan. Nu start de applicatie vanzelf. AI Companion is niet meer nodig en er is ook geen verbinding met internet nodig.

Zo kunt u eenvoudig een applicatie voor uw Android-apparaat maken om de WiFi-belasting te beheren.

NodeMCU en mobiele telefoon zijn verbonden met de thuisrouter. Waar er geen WiFi-toegangspunt is, kan de NodeMCU fungeren als toegangspunt om een ​​mobiel apparaat rechtstreeks met de ESP8266 te verbinden. Bijvoorbeeld het regelen van het openen van de garagedeur en het inschakelen van de verlichting in de garage.

P.S. Het is mij nog niet gelukt om het toegangspunt op het platform omhoog te brengen. Het voorbeeld dat bij bibliotheken wordt geleverd, compileert niet. Arduino IDE blijft gewoon hangen tijdens het compileren. Dit moet ik nog uitzoeken.

PPS Ik heb dit punt ter sprake gebracht op het podium, maar heb nog niet voldoende werk verricht. Commando's werden met een vertraging van een paar seconden uitgevoerd of werden helemaal niet uitgevoerd. Het onderzoek naar de module is voorlopig opgeschort. Bezig met auto-onderhoud.