Arduino IDE board – ESP32 WiFi & Bluetooth chip
NIEUWE METHODE via boards manager
Sind een tijd kan de ESP32 board eenvoudig worden toegevoegd via board manager:
Ga naar Bestand > Voorkeuren en voeg met een, (komma) toe de volgende link:
https://dl.espressif.com/dl/package_esp32_index.json
Daarna kan via de Board manager de ESP32 toevoeging geïnstalleerd worden:
Nieuwe boards tbv ESP32 worden dan toegevoegd:
OUDE METHODE
Wat heb je nodig?
Informatie (ENG)
Not everything is working yet, you can not get it through package manager, but you can give it a go and help us find bugs in the things that are implemented :)
The framework can also be downloaded as component in an IDF project and be used like that.
Things that work:
- pinMode
- digitalRead/digitalWrite
- attachInterrupt/detachInterrupt
- analogRead/touchRead/touchAttachInterrupt
- ledcWrite/sdWrite/dacWrite
- Serial (global Serial is attached to pins 1 and 3 by default, there are another 2 serials that you can attach to any pin)
- SPI (global SPI is attached to VSPI pins by default and HSPI can be attached to any pins)
- Wire (global Wire is attached to pins 21 and 22 by default and there is another I2C bus that you can attach to any pins)
- WiFi (about 99% the same as ESP8266)
WiFiClient, WiFiServer and WiFiUdp are not quite ready yet because there are still some small hiccups in LwIP to be overcome. You can try WiFiClient but you need to disconnect the client yourself to be sure that connection is closed.
Hoe te gebruiken/installeren?
Er is tot heden van schrijven (2017-01-04) not geen “board manager” link in de ArduinoIDE, men moet het (nog) handmatig installeren:
1) Maak een folder aan in de “Arduino\hardware” folder genaamd “espressif“.
2) Maak een folder aan in “Arduino\hardware\espressif” folder genaamd “esp32“.
3) Pak het archief uit naar deze folder (zodat het bestand “boards.txt” in de root van de folder staat).
Esp32 Toolchain:
De ESP32 toolchain link staat in het bestand “Arduino\hardware\espressif\esp32\package\package_esp32_index.template.json“.
Pak het archief (xtensa-esp32-elf-win32-1.22.0-59.zip) uit in “espressif\esp32\tools” (inclusief de map “xtensa-esp32-elf”).
Of gebruik python (mijn installatie van Python was E:\Python2.7):
1 2 3 4 5 |
f:\Arduino\hardware\espressif\esp32\tools>E:\Python27\python.exe get.py Platform: i686-mingw32 Downloading xtensa-esp32-elf-win32-1.22.0-59.zip Done Extracting dist/xtensa-esp32-elf-win32-1.22.0-59.zip |
Zodra je dan de Arduino IDE (opnieuw) opstart staan de ESP32 boards ertussen:
De eerste stapjes om te testen
Hier in deze video wordt de ESP32 toolchain getest of alles wel werkt, men neemt hier het “blink” voorbeeld en verwijderdt alles behalve de commentaar sectie en men klikt op “compileren”.
Eigenlijk bouw je “niets” maar kan je zo wel kijken of de toolchain werkt! In de video gaat alles goed, maar als ik het probeer dan krijg ik deze foutmelding:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
C:\Users\BLACKB~1\AppData\Local\Temp\arduino_build_870599/arduino.ar(main.cpp.o):(.literal._Z8loopTaskPv+0x0): undefined reference to `setup()' C:\Users\BLACKB~1\AppData\Local\Temp\arduino_build_870599/arduino.ar(main.cpp.o):(.literal._Z8loopTaskPv+0x4): undefined reference to `loop()' C:\Users\BLACKB~1\AppData\Local\Temp\arduino_build_870599/arduino.ar(main.cpp.o): In function `loopTask(void*)': F:\Arduino\hardware\espressif\esp32\cores\esp32/main.cpp:16: undefined reference to `setup()' F:\Arduino\hardware\espressif\esp32\cores\esp32/main.cpp:19: undefined reference to `loop()' collect2.exe: error: ld returned 1 exit status exit status 1 Fout bij het compileren van board ESP32 Dev Module |
We missen dus een setup() en loop() sectie, vreemd…wellicht is de code onderhand bijgewerkt! en zijn deze nu wel vereist, dus mijn arduino code is nu als volgt:
1 2 3 4 5 6 7 |
// ESP toolchain testen. void setup() { } void loop() { } |
Na het compileren krijg ik deze foutmelding:
1 2 |
exec: "python.exe": executable file not found in %PATH% Fout bij het compileren van board ESP32 Dev Module |
De Arduino IDE kan python niet uitvoeren, omdat deze niet in de PATH variablen is meegenomen, zo voeg je de padnaam toe:
ENG: My Computer > Properties > Advanced System Settings > Environment Variables
NL (Win8): Deze PC > Eigenschappen (rechter muisknop) > Geavanceerde systeeminstellingen > TAB geavanceerd > KNOP Omgevingsvariabelen
in de PATH vartiabele kan je dan je python pad toevoegen, bijvoorbeeld:
C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;
Maar een makkelijke manier die ik gevonden heb is om de variabele zelf even aan te passen in de volgende bestanden:
1) Compiler config
Arduino\hardware\espressif\esp32\tools\sdk\include\config\sdkconfig.h
Daar staat:
#define CONFIG_PYTHON "python"
Vervangen in bijvoorbeeld:
#define CONFIG_PYTHON "E:\python27\python.exe"
2) Boards.txt
Arduino\hardware\espressif\esp32\boards.txt
Deze regels:
1 2 3 |
compiler.python.cmd.windows=python.exe tools.esptool.cmd.windows=python.exe tools.esptool.network_cmd.windows=python.exe |
vervangen in bijvoorbeeld:
1 2 3 |
compiler.python.cmd.windows=E:\python27\python.exe tools.esptool.cmd.windows=E:\python27\python.exe tools.esptool.network_cmd.windows=E:\python27\python.exe |
En probeer opnieuw de toolchain te testen, en het werkt!:
1 2 |
De schets gebruikt 147.111 bytes (14%) programma-opslagruimte. Maximum is 1.044.464 bytes. Globale variabelen gebruiken 20.084 bytes (6%) van het dynamisch geheugen. Resteren 274.828 bytes voor lokale variabelen. Maximum is 294.912 bytes. |
Download ESP32 board @ Github.com
[#/arduino/arduinoide_esp32″ ]