abonneren

Eigen slimme verlichting bouwen met Arduino en Sonoff

Inhoudsopgave

  1. Inleiding
  2. Lees verder op de volgende pagina
Er bestaan heel wat modules op de markt waarmee je je verlichting op afstand kunt aansturen, maar meestal zijn die vrij duur of gebruiken ze verouderde technologie. In dit artikel nemen we een goedkope wifi-module, vervangen de firmware en herprogrammeren deze tot een volwaardige schakelaar voor slimme verlichting.

Veel modules voor slimme verlichting zijn duur of gekoppeld aan een specifieke app. De goedkopere systemen hebben dat laatste nadeel vaak niet, maar maken dan bijvoorbeeld gebruik van de 433MHz-frequentieband. Die signalen zijn niet beveiligd (waardoor iedereen in je buurt in staat is om je verlichting in en uit te schakelen). Bovendien zijn die signalen ook nogal storingsgevoelig.

Er zijn wel andere goedkope modules om je verlichting te schakelen die niet aan een app gebonden zijn, maar dan moet je zelf wel de handen uit de mouwen steken. De Sonoff Basic van het Chinese bedrijf iTead is zo’n goedkope module: op Chinese websites als Banggood.com en AliExpress.com vind je ze voor rond de vijf euro.

Standaard gebruik je ze met een app van iTead, maar door nieuwe firmware op de microcontroller te installeren maak je het apparaatje open voor je eigen systemen. Dat is wat we in deze DIY gaan doen. Het apparaatje blijkt op een ESP8266-microcontroller gebaseerd te zijn en daar weten we wel raad mee.

Boodschappenlijstje

- Sonoff Basic WiFi Switch; ca. € 5,- op Banggood.com

- 3,3 volt usb-naar-ttl break-outbordje (of seriële kabel); € 2,- op Banggood.com

- 5-pins mannelijke pinheader

- 4 vrouwelijk-naar-vrouwelijk jumperwires

- Soldeerbout en soldeertin

Totale kosten: ca. € 7,-

Arduino IDE klaarmaken / Sonoff Basic flashen

Om de firmware op de Sonoff Basic te flashen, werken we met de Arduino IDE, die naast de Arduino-microcontrollers ook de ESP8266 ondersteunt. Om met de ESP8266 aan de slag te gaan in de Arduino IDE, dien je eerst de ondersteuning ervoor in te schakelen. Open daarvoor het menu Bestand / Voorkeuren en voer bij Additionele Board Beheer URLs de url http://arduino.esp8266.com/stable/package_esp8266com_index.json in. Bevestig met OK onderaan en herstart de Arduino IDE. Open daarna in het menu Hulpmiddelen / Board: het Board Beheer. Zoek daar op esp en installeer esp8266.

Kies in het menu Hulpmiddelen / Board: voor Generic ESP8266 Module, zet (ook via het menu Hulpmiddelen) de Flash Mode op DOUT en de Flash Size op 1M (64 K SPIFFS).

Download dan het zip-bestand van GitHub met de broncode van de Tasmota-firmware en pak het uit. Kopieer de directory sonoff naar de directory Arduino in je home-directory en de inhoud van de directory lib naar de directory Arduino\libraries. Open het bestand sonoff.io in de directory Arduino\sonoff in de Arduino IDE en klik linksboven op het vinkje om te controleren of de code correct compileert. Zo ja, dan is het tijd om de hardware klaar te maken!

Sonoff-module openmaken en pinnen aansluiten

Open de behuizing van de Sonoff-module door met een schroevendraaier in het spleetje naast de groene schroefterminal te duwen tot het plaatje aan de onderkant loskomt. Daarmee verbreek je overigens het garantielabel (althans, we vermoeden dat dat het is, er staat iets Chinees op gedrukt).

In het midden, vlak naast de 470 µF-condensator, zie je vijf gaatjes in het printplaatje (zie afbeelding ##links/rechts/onder/boven##). Het gaatje dat het verst van de knop staat, gebruik je niet. De vier andere zijn (van dichtst bij de knop tot verder van de knop) achtereenvolgens 3,3 V, RX, TX en GND.

Verzeker je ervan dat je usb-naar-ttl-kabel 3,3 volt op de pinnen zet, niet alleen voor de I/O-pinnen, maar ook voor de spanningspin. Op sommige usb-naar-ttl break-outbordjes kun je dit met een jumper op de juiste pinnetjes instellen. 

Sommige kabels hebben vier gekleurde draadjes: rood = 3,3 V, zwart = GND, wit = RX en groen = TX. Bij een break-outbordje kijk je naar de aanduidingen bij de pinnen. Sluit nu de pinnen aan zoals in tabel hiernaast.

Om de pinnen betrouwbaar aan te sluiten, moet je een header op de gaatjes in het printplaatje van de Sonoff Basic wifi-schakelaar solderen. Wil je die moeite niet doen, probeer dan om de jumperwires van de usb-naar-ttl-kabel een beetje schuin in de gaatjes van de Sonoff Basic te drukken zodat ze contact maken. Maar dat bleek bij ons niet betrouwbaar genoeg te werken, dus we hebben toch de moeite genomen om de header op de Sonoff Basic te solderen.

Firmware flashen

Open eerst in de Arduino IDE het bestand user_config.h van de Sonoff-code voor wat instellingen. Haal de twee commentaartekens (//) weg voor de regel

#define MY_LANGUAGE nl-NL

om de interface in het Nederlands in te stellen. In de regel

#define PROJECT "sonoff"

vervang je sonoff door de naam van je project (en de quotes blijven dus staan). Geef elke Sonoff-module in je huis een unieke naam. Je wifi-netwerk definieer je in STA_SSID1 en je wifi-wachtwoord in STA_PASS1. Je kunt ook een tweede wifi-netwerk definiëren. Dat zijn de belangrijkste instellingen. De andere kun je later nog altijd veranderen.

Sla je wijzigingen op, druk op het knopje op het Sonoff-printplaatje (en houd deze ingedrukt) en druk de draadjes op het printplaatje goed aan. Sluit dan de usb-naar-ttl-kabel op je computer aan en laat het ingedrukte knopje na enkele seconden los. Het Sonoff-bordje staat nu in flashmodus.

Kijk in de Arduino IDE na of de juiste seriële poort is ingesteld. Dat zie je onderaan rechts of in het menu Hulpmiddelen / Poort. Verander indien nodig de poort in dat menu. Klik tot slot op het pijltje naast het vinkje links bovenaan om het flashen te beginnen.

Als je geen pinheader hebt gesoldeerd, houd dan de hele tijd de draadjes op het Sonoff-printplaatje goed vast. Als de firmware correct geflasht is, krijg je onderaan de console van de Arduino IDE 100% te zien en knippert het groene ledje op de Sonoff-module één keer. Je kunt de usb-naar-ttl kabel nu verwijderen.

Sonoff-module aansluiten

Nu je Sonoff-module is geflasht met nieuwe firmware, kun je deze aansluiten op de verlichting die je ermee wilt schakelen. Dat werkt overigens niet alleen met verlichting, maar ook met andere apparaten, bijvoorbeeld een ventilator. Wij probeerden dit uit met sfeerverlichting.

Voor je met het aansluiten begint, verzeker je je ervan dat de usb-naar-ttl-kabel niet meer is aangesloten. Zorg ook dat je de stekker van de verlichting eruit hebt getrokken.

Knip de kabel van je sfeerverlichting door vóór en achter de schakelaar. Die schakelaar hebben we niet meer nodig, want we gaan de verlichting schakelen met de Sonoff-module. Dat is niet alleen op afstand via wifi mogelijk, maar ook via het knopje dat uit de uitsparing van de behuizing van de Sonoff-module komt.

Strip beide kanten van de kabel van je verlichtingskabel, zodat je twee keer twee draden hebt met aan het uiteinde over enkele millimeters de isolatie verwijderd. Aan elke kant van de Sonoff-module heb je nu twee schroefverbindingen. Aan de kant die met INPUT is aangeduid, steek je de draden die naar de stekker gaan, fase naar L en nul naar N.

Aan de kant die met OUTPUT is aangeduid, steek je de draden die naar de verlichting gaan. Schroef de draden telkens goed vast, zet het deksel van de behuizing erop en schroef het deksel stevig op de onderkant van de behuizing met de meegeleverde schroeven. Doe dit alles aandachtig zodat je geen fouten maakt!

Geschreven door: Koen Vervloesem op

Category: Workshop, Programmeren

Tags: Iot, arduino, DIY, sonoff