Een uitgebreid artikel over de Wemos staat op de pagina: diyi0t.com: ESP8266 WeMos D1 Mini Tutorial
The ESP8266 WeMos D1 Mini is one of my favorite IoT microcontroller when I need a microcontroller for a battery powered project, because the ESP8266 has an integrated WiFi module and an exceptionally low power consumption. Therefore, I want to share my knowledge and experience with the ESP8266 WeMos D1 Mini in this tutorial.
Uitgebreide documentatie:
De nieuwe generatie micro controllers met wifi bestaat in hoofdzaak uit de de ESP8266 en de ESP32 families.
Een goed overzicht van de ESP8266 chips is op de pagina: MakerAdvisor: Best ESP8266 Wi-Fi Development Board – Buying Guide 2020
Een overzicht van de ESP32 familie is: MakerAdvisor: ESP32 Development Boards Review and Comparison
Aanvankelijke was ik begonnen met de Arduino IDE.
Het eerste project was de BME280: temperatuur / luchtdruk / vochtigheid opnemer.
Een probleem bij de Arduino zijn de vele "libraries", de hulp programma's om bij voorbeeld de BME chips aan te sturen.
Zowel Adafruit.com
als Sparkfun.com leveren een uitgebreid assortiment randapparaten voor de Arduino boards.
Deze leveren ook werkende libraries bij de door hun geleverde componenten!
Bij nader inzien ben ik overgestapt op ESP-Easy: geen code ... maar configuratie!
Het eerste project: ESP-1, de Wemos met BME280 en LCD-display
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.
In bovenstaande voorbeelden is de Wemos direct verbonden met de Raspberry.
In de meeste gevallen zijn sensoren vaak op afstand van het ontwikkel systeem.
In dat geval is het nodig om de Wemos via wifi met het huis netwerk te verbinden... zie het netwerk hoofdstuk!
fritsvleeuwen@penguin:~$ cd Downloads/ fritsvleeuwen@penguin:~/Downloads$ lt total 126096 ... -rw-r--r-- 1 fritsvleeuwen fritsvleeuwen 128225404 Aug 30 10:14 arduino-1.8.13-linux64.tar.xz
$ sudo tar xvJf arduino-1.8.9-linux64.tar.xz -C /optUitgevoerd:
fritsvleeuwen@penguin:~/Downloads$ sudo tar xvJf arduino-1.8.13-linux64.tar.xz -C /opt arduino-1.8.13/ arduino-1.8.13/arduino-linux-setup.sh arduino-1.8.13/lib/ arduino-1.8.13/lib/version.txt arduino-1.8.13/lib/commons-io-2.6.jar arduino-1.8.13/lib/public.gpg.key arduino-1.8.13/lib/arduino-core.jar ... arduino-1.8.13/tools/WiFi101/tool/firmwares/NINA/1.2.1/NINA_W102.bin arduino-1.8.13/tools/WiFi101/tool/firmwares/NINA/1.2.1/NINA_W102-Uno_WiFi_Rev2.bin arduino-1.8.13/tools/howto.txt fritsvleeuwen@penguin:~/Downloads$ ls -lh /opt total 0 drwxr-xr-x 1 fritsvleeuwen fritsvleeuwen 276 Jun 16 11:44 arduino-1.8.13 drwxr-xr-x 1 root root 30 May 4 16:46 googleResultaat voorbeeld:
$ sudo usermod -aG dialout $(whoami) $ sudo usermod -aG tty $(whoami) $ sudo usermod -aG uucp $(whoami) $ sudo usermod -aG plugdev $(whoami) $ sudo rebootUitgevoerd:
fritsvleeuwen@penguin:~/Downloads$ sudo usermod -aG dialout $(whoami) fritsvleeuwen@penguin:~/Downloads$ sudo usermod -aG tty $(whoami) fritsvleeuwen@penguin:~/Downloads$ sudo usermod -aG uucp $(whoami) fritsvleeuwen@penguin:~/Downloads$ sudo usermod -aG plugdev $(whoami) fritsvleeuwen@penguin:~/Downloads$ sudo rebootResultaat voorbeeld:
$ sudo -E /opt/arduino-1.8.9/install.shUitgevoerd:
fritsvleeuwen@penguin:~/Downloads$ sudo -E /opt/arduino-1.8.13/install.sh Adding desktop shortcut, menu item and file associations for Arduino IDE... done!
fritsvleeuwen@penguin:~$ arduino Picked up JAVA_TOOL_OPTIONS: Set log4j store directory /home/fritsvleeuwen/.arduino15Hier na start de Arduino IDE grafische desktop.
Step 3: Configure the Arduino IDE for D1 Mini boards
toegevoegd:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
Step 4: Select your board
Select Tools > Board: *
Select your board (I selected LOLIN(WEMOS) D1 R2 & Mini)
Arduino IDE Setup:
Tools -> Board -> wemos -> install
info -> Github.com: esp8266/Arduino
Step 5: Run the example Blink sketch
Select File > Examples > 01. Basics > Blink
The code should look something like this: ... volgende hoofdstuk!
Broncode: laat de Wemos on-board led knipperen
// the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
#include <ESP8266WiFi.h> // Network SSID const char* ssid = "YOUR-SSID-HERE"; const char* password = "YOUR-PASSWORD-HERE"; void setup() { // Connect WiFi WiFi.hostname("Name"); WiFi.begin(ssid, password); } void loop() { //Add project code here }
Een leermomentje, wat kan er fout gaan!
Bij de installatie van Arduino gebruikte ik vanzelfsprekend de nieuwste versie...
Helaas, werkte het niet, met Google vond ik:
Veel van de voorbeelden op internet zullen waarschijnlijk de oude versie gebruiken!
Dus de versie 2.5.0 gebruiken!