De winter 2023/2024 ligt achter ons, het project "PLAN-C" voor de regeling van de radiator-ventilatoren met ESP Easy wordt uitgesteld tot het najaar.
De zomer komt er aan. Het oude ESP-2 project om een extra deurbel signaal in de tuin te horen wordt weer actueel!
In Blog: september 2022 was ik begonnen met het project ESP-2.
De ESP-2 is de tweede "peripheral" met ESP Easy software.Helaas vond ik weinig voorbeelden om met Domoticz een rtttl melodie af te spelen op ESP Easy.
Dit project heeft nog wat extra studie nodig!
Een andere optie is om ESP-NOW te gebruiken.
Met het ESP-NOW protocol kunnen twee Wemos mini/esp8266 boards direct met elkaar communiceren.
Deze techniek gebruikt de hardware "mac" adressen voor de onderlinge draadloze wifi verbinding.
Het is niet nodig om het lokale wifi netwerk te gebruiken!
Een paar jaar geleden was ik met de Arduino IDE begonnen, zie: Wemos: Arduino.
Na korte tijd was ik overgestapt naar ESPEasy.
Voor ESP-NOW moet ik weer in de Arduino duiken!
De DFPlayer Mini is een kleine mp3- modulespeler met een vereenvoudigde output rechtstreeks naar de luidspreker. De module kan worden gebruikt als een stand-alone module met aangesloten batterij, luidspreker en drukknoppen of in combinatie met een Arduino UNO of een andere met RX / TX-mogelijkheden.
Voor de opslag van de MP3 bestanden is een MicroSD card-slot aanwezig.Afbeelding: DFPlayer mini: afmetingen ca 2 x 2 cm
Aansluitingen: DFPlayer
Details:Specificaties:
Aansluit schema: DFPlayer
Het eenvoudigste circuit met de DFPlayer is om met een schakelaar naar aarde het eerste MP3 nummer af te spelen van de MicroSD geheugen chip.Dit voldoet uitstekend in mijn geval!
Een uitgebreid circuit met de Wemos kan ook als een echte MP3 speler werken, zie epiloog: DFPlayer: MP3.
Een voorbeeld van het aansluiten van de Wemos staat op de site: ProtoBoard.nl: Installatie van de Wemos D1 Mini
Opmerking: het is van belang om weten welke pinnen gebruikt worden voor input of output.
Een gedetailleerd overzicht staat op de website:
RandomnerdTutorials: ESP8266 Pinout Reference: Which GPIO pins should you use?
Bepaalde I/O pins worden bijvoorbeeld voor de seriële I2C of SPI gebruikt.
De Wemos wordt met een USB kabel verbonden met de Asus C434TA Chromebook of de Raspberry Pi 4, voor de ontwikkeling van de software.
Vrijwel alle ESP8266/ESP32 boards hebben een led. Een van de eerste oefen projecten is om deze led te laten knipperen.
Deze led is bij de Wemos mini aangesloten op GPIO pin 2.
De beldetector heeft drie aansluitingen op de bestaande schakeling:
"LOW" knooppunt trafo en deurbel, "AC" tussen trafo en bel-schakelaar en "BEL" tussen de schakelaar en deurbel.
Gebruikte code:
/* Rui Santos & Sara Santos - Random Nerd Tutorials Complete project details at https://RandomNerdTutorials.com/get-change-esp32-esp8266-mac-address-arduino/ */ #include <ESP8266WiFi.h> void setup(){ Serial.begin(115200); Serial.println(); Serial.print("ESP8266 Board MAC Address: "); Serial.println(WiFi.macAddress()); } void loop(){ }
Resultaat:
Linking everything together... /home/fritsvleeuwen/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/xtensa-lx106-elf-gcc -CC -E -P -DVTABLES_IN_FLASH /home/fritsvleeuwen/.arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/sdk/ld/eagle.app.v6.common.ld.h -o /tmp/arduino_build_360796/local.eagle.app.v6.common.ld ... Using library ESP8266WiFi at version 1.0 in folder: /home/fritsvleeuwen/.arduino15/packages/esp8266/hardware/esp8266/2.5.0/libraries/ESP8266WiFi /home/fritsvleeuwen/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/xtensa-lx106-elf-size -A /tmp/arduino_build_360796/MAC-Address.ino.elf Sketch uses 264108 bytes (25%) of program storage space. Maximum is 1044464 bytes. Global variables use 26912 bytes (32%) of dynamic memory, leaving 55008 bytes for local variables. Maximum is 81920 bytes. Uploading 268256 bytes from /tmp/arduino_build_360796/MAC-Address.ino.bin to flash at 0x00000000 erasing flash size: 0417e0 address: 000000 first_sector_index: 0 total_sector_count: 66 head_sector_count: 16 adjusted_sector_count: 50 erase_size: 032000 espcomm_send_command: sending command header espcomm_send_command: sending command payload setting timeout 15000 setting timeout 1000 espcomm_send_command: receiving 2 bytes of data writing flash ................................................................................ [ 30% ] ................................................................................ [ 61% ] ................................................................................ [ 91% ] ...................... [ 100% ] starting app without reboot espcomm_send_command: sending command header espcomm_send_command: sending command payload espcomm_send_command: receiving 2 bytes of data closing bootloader
After uploading the code, open the Serial Monitor at a baud rate of 115200 and press the ESP8266 RESET button.
The MAC address should be printed as follows:
ESP8266 Board MAC Address: 2C:3A:E8:4B:A0:90
Tot nu toe gebruikte ik de nu "Legacy IDE" op de Raspberry Pi en de Asus Chromebook zie de introductie:
blog.arduino.com: Arduino 1.8.13 has been released [Arduino Team — June 17th, 2020]
Een goede site voor de introductie is:
DronebotWorkshop.com: ESP NOW – Peer to Peer ESP32 Communications
Today we will be working with ESP-NOW, a connectionless protocol developed by Espressif for the ESP32 and ESP08266 microcontrollers.
With ESP-NOW we can build a private network without WiFi or a Router!
Op de site van het arduino-forum vond ik precies wat ik nodig had, zie:
Forum.Arduino: Basic peer-to-peer sketch - ESP-NOW WeMos D1 Mini
A sketch for WeMos D1 Mini that: connects two WeMos D1 Minis peer-to-peer using ESP-NOW
Master01.ino: //==========================================// // MASTER // // Board : LOLIN (WEMOS) D1 MINI PRO // // Up++load speed : 92160 // // CPU frequency : 80 Mhz // // Flash size : 16MB // //------------------------------------------// #include <ESP8266WiFi.h> extern "C" { #include <espnow.h> } uint8_t mac[] = {0xF4, 0xCF, 0xA2, 0x6D, 0x20, 0x2C}; //AP MAC MASTER'S ADDRESS ...
Slave01.ino: //==========================================// // SLAVE // // Board : LOLIN (WEMOS) D1 MINI PRO // // Upload speed : 92160 // // CPU frequency : 80 Mhz // // Flash size : 16MB (FS:14MB OTA:~1019KB // //==========================================// #include <ESP8266WiFi.h> extern "C" { #include <espnow.h> #include <user_interface.h> } ...
Opmerking: het programma voor de mini "Pro" werkt ook op de standaard WEMOS D1 mini.
Zie: BensElectronics.nl: WEMOS D1 Mini Pro
De D1 Mini Pro is een betere versie van de D1 Mini.
Dit board heeft een ESP8266 chip met 16MB flash geheugen en de D1 Mini heeft maar 4MB flash geheugen.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Deze link laadt automatisch de laatste versie van de 8266 chip.
Aansluit schema: Wemos, DFPlayer en speaker
Bedrading: | ||
Signaal | Omschrijving | Kleur |
---|---|---|
Tx | UART output | Geel |
Rx | UART input | Groen |
Vcc | Voedings spanning | Rood 5 Volt |
GND | Ground | Zwart |
Opmerking: een "UART" is een wikipedia: universal asynchronous receiver-transmitter signaal.