Aansturen tasmota device met IR afstandbediening

Last Updated on 2 december 2023 by Syds

Variatie op mijn eerder blog Aansturen van verlichting met IR afstandsbediening. Maar nu zonder tussenkomst van MQTT, Domoticz of Node Red. Use-case voor deze tutorial is het aansturen van een Shelly dimmer 2 geflashed met Tasmota via een IR afstandsbediening, dit door de tussenkomst van een Wemos D1 mini met een VS1838B IR Receiver waarop EspEasy Mega geflashed is.

EspEasy Mega voorziet standaard in ondersteuning van een IR ontvanger, en het vertalen van een IR code naar een EspEasy commando. Via het EspEasy commando SendToHttp kun je een URL aanroepen. Tasmota devices kun je bedienen via Web requests. C’est ça.

Benodigdheden:

  • Wemos D1 mini (Aliexpress)
  • VS1838B IR Receiver (Aliexpress)
  • Soldeerbout
  • Soldeertin voor electronica
  • Wat isolatietape
  • 10 secondenlijm
  • Optioneel: dubbelzijdig tape
  • Boormachine met trapgatboor/8mm boortje
  • 3D printer met bijbehorende software
  • IR afstandbediening (van bijvoorbeeld de kerstverlichting 😉

Reeds geïnstalleerd en up-and-running:

Ontwerp: Een VS1838B IR Receiver aansluiten op de bestaande Wemos D1 mini WIFI Thermometer conform onderstaand schema.

Pinout:

 Wemos D1 miniVS1838B
1D4 (GPIO2)Out
2GNDGND
35VVCC
Omdat de poten van de IR ontvanger precies aansluiten op de 5V, Gnd en D4 posities van de Wemos, er voor gekozen om gebruik te maken van de 5V aansluiting ipv de 3.3v aansluiting. Conform de datasheet van de VS1838B IR ontvanger kan deze belast worden tot 5.5v.

Stap 1. Montage

De IR Ontvanger conform bovenstaande pinout rechtstreeks op de Wemos D1 mini gesoldeerd, hierbij rekening gehouden met de hoogte van het deksel zodat de IR ontvanger netjes door het dekseltje heen steekt. Vervolgens met een tangetje de poten van de IR ontvanger bijgebogen zodat deze precies door het deksel van de casing past. Voor de zekerheid een stukje isolatietape op de ESP8266 chip geplakt zodat die geen contact kan maken met de poten van de IR ontvanger. Zie ook stap 3. voor de 3D geprinte casing en de eindmontage.

Stap 2. Wemos D1 flashen en configureren met ESP Easy Mega

Download de nieuwste ESP Easy Mega versie van https://github.com/letscontrolit/ESPEasy/releases, en unzip deze ergens op je laptop/desktop. Start een opdrachtprompt door in windows te zoeken op “cmd.exe”

Erase eventueel de flash van je Wemos D1 mini met het commando (verander evt. de com poort):

C:\>esptool.py --chip esp8266 --port COM5 erase_flash
esptool.py v4.3
Serial port COM5
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 5c:cf:7f:9b:b8:10
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 8.4s
Hard resetting via RTS pin...

ga naar de map waar je ESP Easy Mega distributie hebt uitgepakt, in mijn geval D:\Downloads\ESPEasy_mega_20231130_ESP82xx_binaries en ga binnen die map naar de submap bin

C:\d:

D:\cd Downloads\ESPEasy_mega_20231130_ESP82xx_binaries\bin

D:\Downloads\ESPEasy_mega_20231130_ESP82xx_binaries\bin>

Flash de Wemos D1 mini vervolgens met Esp Easy Mega d.m.v. het commando:

D:\Downloads\ESPEasy_mega_20231130_ESP82xx_binaries\bin>esptool.py --port com5 --baud 115200 write_flash 0x00000 ESP_Easy_mega_20231130_minimal_IRext_ESP8266_4M1M.bin
esptool.py v4.3
Serial port com5
Connecting...
Failed to get PID of a device on com5, using standard reset sequence.
.
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Failed to get PID of a device on com5, using standard reset sequence.
.
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 5c:cf:7f:9b:b8:10
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Flash will be erased from 0x00000000 to 0x000e3fff...
Compressed 932464 bytes to 616748...
Wrote 932464 bytes (616748 compressed) at 0x00000000 in 54.3 seconds (effective 137.3 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

De Wemos D1 mini start nu opnieuw op met Esp Easy Mega in Accesspoint mode. Pak een telefoon of laptop en maak wifi verbinding met ‘Minimal–IR-with-AC’, het wachtwoord is ‘configesp’, als je de vraag krijgt op je verbonden wilt blijven met Minimal–IR-with-AC terwijl deze geen internettoegang heeft, antwoord dan met ‘Ja’

Open vervolgens je browser en navigeer naar 192.168.4.1, selecteer je WiFi netwerk, voer het wachtwoord in en klik op “Connect”

Je Wemos D1 mini reboot en maakt verbinding met je WiFi netwerk. Achterhaal op je router of DHCP-server het IP-address wat je Wemos D1 mini gekregen heeft. In mijn geval is dat 192.168.2.139.

Navigeer in je browser naar het ip-address van je Wemos D1 mini en configureer de ESP Easy als volgt:

Druk vervolgens op de knoppen van de IR afstandsbediening, schrijf eventueel de volgorde op, en de IR codes worden automatisch toegevoegd. Vervolgens kun je een commando aan een IR code koppelen, klik daarvoor op de ‘Edit’ knop van het device die je net hebt toegevoegd en scroll naar beneden tot de sectie “Code – command map”:

In mijn geval is de eerste code de “on” knop van mijn IR afstandbediening, en de twee code de “off” knop. M.b.v. he Esp Easy commando “SendToHTTP,http://<host>:<Portnumber>/<url>”, verzend ik een “Power On” commando naar mijn tasmota device, het volledige commando wordt dan (3bollen.sydspost.nl is één van mijn tasmota devices in huis, voer hier je eigen FQDN naam of IP-address van je apparaat in):

sendtohttp,3bollen.sydspost.nl,80,'cm?cmnd=Power%20On'

en voor de “off” knop:

sendtohttp,3bollen.sydspost.nl,80,'cm?cmnd=Power%20Off'

en als je een dimmer wilt aansturen, kun je onderstaande commando’s gebruiken:

sendtohttp,3bollen.sydspost.nl,80,'cm?cmnd=Dimmer-'
sendtohttp,3bollen.sydspost.nl,80,'cm?cmnd=Dimmer+'

Sla dit op, en test het uit.

Stap 3. 3D Casing uitprinten

De 3D casing heb ik gedownload van thingiverse.com: https://www.thingiverse.com/thing:1786517

Het deksel heb ik enigzins gemodificeerd zodat de IR ontvanger er doorheen steekt. Hiervoor met een trapgatboor het gat ik het deksel iets groter gemaakt zodat de IR ontvanger er door past. De Wemos D1 mini in de casing gelegd, en het deksel met wat 10 secondenlijm op de casing geplakt. Ten slot nog wat dubbelzijdig tape aan de onderkant van de casing geplakt zodat ik de ontvanger ergens op vast kan plakken. Zie hier het eindresultaat.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *