Montage |
https://www.banggood.com/600Pcs-Black-Carbon-Steel-10_9-Grade-Hexagon-Cap-Button-Head-Flat-Head-Screw-Nuts-Assortment-Set-p-1371234.html?rmmds=search&ID=41527&cur_warehouse=CN
Dit is ideale oplossing voor de Wifi sensor. |
- Aansluitingen
|
Je moet zelf pins aan de module solderen. Vervolgens kan de module met bijvoorbeeld een breadboard worden gebruikt.
- Seriële verbinding
Let op bij het aansluiten dat de Rx (Receive=ontvanger) van de ESP-01 moet worden aangesloten op een Tx (Transmit=zender) van de Arduino.
- Voedingsspanning
De voedingsspanning is 5Vdc. Alle andere aansluitpennen werken ook op TTL niveau.
|
Initialisatie |
Voor het gemak is hier een Arduino Mega 2560 gebruikt omdat deze meerdere seriële poorten bevat. Verder moet je op je mobiel een app installeren zoals bijvoorbeeld Wifi Analyzer. Hiermee kan je de Wifi signalen in je omgeving analyseren. Zodra de voeding wordt aangezet gaat het rode power-on ledje branden op de module. Bovendien verschijnt er in de Wifi Analyzer een acces point op kanaal 1, 2412 mHz, AI-THINKER_C1B532 (5e:cf:7f:c1:b5:32), safety = ESS, of iets vergelijkbaars.
Het blijkt dat het op mijn netwerk beter is om de snelheid terug te zetten naar 57600. Dit leidt tot aanzienlijk minder problemen op het netwerk. |
- Wat wil ik eigenlijk?
|
De ESP-01 is een zeer gecompliceerde module want hij bestaat uit meerdere gebruiksmodes. Dit komt omdat het eigenlijk een compleet systeem is dat eigenlijk geen Arduino nodig heeft. Daardoor bestaan er meerdere gebruiksmogelijkheden. Als je vervolgens op het internet gaat zoeken blijkt het nogal verwarrend te zijn. Je moet goed in de gaten houden wat je precies wil/verwacht van je ESP01.
|
|
Wat is deze module? |
Dit onderdeel bestaat uit een ESP-01 module (Wifi interfacing) en een verloopstukje naar een Arduino breadboard. Het verloopstukje zorgt er bijvoorbeeld voor dat de module op 5Vdc werkt. Ook de seriële communicatie mag gebeuren op 5Vdc.
De ESP-01 module bevat een ESP826 µcontroller, een Wifi chip en een opgebakken antenne. Dit is dus een complete IoT oplossing op zichzelf en heeft voor het gebruik zonder Arduino een eigen webpagina. Deze pagina gaat over het gebruik van de ESP-01 als module gekoppeld aan een Arduino, oftewel: `Hoe verbindt ik mijn Arduino robot met het internet?` Het mag hier wel verklapt worden dat dit via een seriële poort gebeurt.
Er bestaan 2 versies van de ESP-01 module, namelijk de blauwe oude (met 512k Byte flashgeheugen) en de nieuwe zwarte (met 1M Byte flashgeheugen). Wij beschrijven de (zwarte) nieuwe versie. Verder is de software op de ESP8266 µcontroller reeds volledig geschikt gemaakt als Wifi module voor algemeen gebruik met een Arduino. |
AT systeem test |
De module komt met AT software, dat wil zeggen dat de module zich laat sturen met AT-commando`s. AT is een afkorting voor “ATtention” en werd vroeger gebruikt met modems. Deze AT commando`s worden via een seriële verbinding op 115200 bps gecommuniceerd. Upload de ESP-01 sketch naar de Arduino en start. De systeem test antwoordt met Ok. Daarna laat de GMR zien dat wij met versie AT version:1.1.0.0(May 11 2016 18:09:56) van de voorgeïnstalleerde AT-software werken. Dit is een recente versie en deze loopt enkel op de nieuwe modules met groot geheugen. Het vervelende is dat er vele versies van de AT-software bestaan die allen een beetje anders zijn. Een andere AT versie zal dus anders reageren en mogelijkerwijze ook andere commando`s kennen. AT commando`s zijn leuk om netwerk mee te testen etc. maar ze zijn langzaam en omslachtig om mee te werken in een eigen sketch. Vandaar de volgende stap met bibliotheken.
|
Arduino bibliotheken |
- Welke bibliotheek heb ik nodig?
(Bron) The WiFi library is written for the Arduino WiFi Shield, which is completely different than the ESP8266. You cant use the WiFi library with the ESP8266. The ESP8266WiFi library is part of ESP8266 core for Arduino: https://github.com/esp8266/Arduino. which is used to directly program the ESP8266 via the Arduino IDE. The ESP8266WiFi library is similar to the WiFi library in that it attempts to use the same API but the actual code inside the libraries is different.
It appears that you are instead using the ESP8266 as a WiFi module. Likely it is connected to your Mega via serial and the ESP8266 is running the AT firmware. For that usage I recommend this library: https://github.com/bportaluri/WiFiEsp. It also uses the standardized API. When you are using the ESP8266 as a module you will not want to use the ESP8266 core for Arduino as you will be programming the Mega rather than the ESP8266.
- WifiEsp
WifiEsp blijkt de enige library die de regie op de Arduino houdt en de ESP01 als module gebruikt. De WiFiEsp bibliotheek laat zich installeren zoals iedere andere bibliotheek. WiFiEsp example: WebServerLed werkt dan, na enkele kleine aanpassingen, uitstekend. Wij zoeken een bibliotheek die werkt zonder dat wij iets op de ESP01 hoeven te installeren. In dat geval gebruiken we de ESP01 als WiFi module voor de Arduino. Er bestaan vele Wifi bibliotheken. Zo is er standaard een Wifi bibliotheek ingebouwd in de Arduino IDE. Deze is gebouwd voor een wifi schild dat via de SPI bus communiceert en dus sowieso ongeschikt is voor ons.
|
ESP8266 bibliotheken |
Het is ook mogelijk om de ESP01 zelfstandig te gebruiken, dus zonder Arduino. Hiervoor bestaat een aparte pagina.
|
Warning: include(/var/www/html/robotigs/includes/wishlistperpart.php): Failed to open stream: No such file or directory in /var/www/html/robotigs/includes/parts_header.php on line 128
Warning: include(): Failed opening '/var/www/html/robotigs/includes/wishlistperpart.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/robotigs/includes/parts_header.php on line 128
|  Afb 1: Wifi brick ESP01 Afb 2: ESP-01 test
 Afb 3: ESP01 achterkant
 Afb 4: ESP01 voorkant
|