Esp8266 ESP13 WiFiShield


Eerst een waarschuwing:
Ik heb nu veel ge-experimenteerd met de ESP's, het valt me op dat ik nu ook bij het experimenteren met het shield een Arduino Mega defect heb. Het zou niet mogen want de ESP13 is ontworpen voor de Arduino en zou minder stroom moeten gebruiken, Volgens de handleiding (natuurlijk dat deel te laat gelezen) in WiFi mode 70mA en 200 mA max!!!. Ik heb niet de juiste apparatuur om te kijken hoeveel stroom het shield van de Mega ontrekt maar die 70mA is al te veel het is meer dan 50 mA. die de Arduino mag leveren.
Ik raad iedereen af om het shield rechtstreeks op een Arduino te zetten of sluit de voeding pin op een externe voeding aan om op een andere wijze het shield van spanning te voorzien.

Tja het Shield, dat is een heel verhaal. Handleiding gevonden. Het shield is ontworpen door Shenzhen Docters of Intelligence & Technology. (SZDOIT)
Het shield ontwerp is gebasserd op esp8266 van Espressif Systems, pin compatible met de Arduino Uno/Mega2560 DevBoard.
Op 192.168.1.1. zou je DoitWiFi_Ser2Net signaal moeten vinden. Dit knipperen is belangrijk als je het shield wil gaan programeren, of juist niet ;-).
  1. WiFi module is een ESP8266 ESP12E met metalen behuizing.
  2. Een Voltage omzetter van 3.3V (ESP8266) naar 5V (Arduino) is aanwezig.
  3. Dubbele dipswitch voor de seriele poort, zodat het shield zelfstandig kan werken of als shield voor de Arduino.
  4. De data wordt door de ESP via WiFi verzonden, de Arduino hoeft daar niet voor geprogrameerd te worden.
  5. De webserver van de ESP is geprogrameerd voor de Wifi en serialpoort parameters.
  6. NodeMCU open source software met AT commando's kunnen door het shield verwerkt worden.
  7. Voor meer info kijk op doit.am.
  8. Kan verschillend baud rate's van de Arduino aan tussen 1200 t/m 115200 bps.
  9. ondersteund serial data bits 5/6/7/8/ bits. serial parity none. stopbit 1/2 bit,
  10. Arduino pinout 2 t/m 13.
Volgens de handleiding is het shield geprogrameerd voor een andere manier van werken. De configuratiecode wordt bereikt door de KEY knop langer dan 1 seconde ingedrukt te houden of door via de serialpoort "!@!" te sturen.
Wachtwoord is 12345678
En dan moet je via WiFi op 192.168.4.1. de volgende configuratie pagina zien.
Met duidelijke afbeelding. En inderdaad vind ik op http://192.168.4.1 mijn ESP13. Helaas is dat menu iets anders dan wat in de handleiding vermeld is. De gegevens voor een accespoint moet je instellen. En als ik dat doe en ze wil overblazen naar de ESP13 dan lukt dat half. Ik kan wel de verandering zien maar niet de data van de Arduino, die ik zou moeten kunnen zien. Ook dat overblazen lukt soms wel en soms niet.

Stroom er af
pagina verversen
de data aanpassen
ik kies:
AP (accespoint) IP adres 192.168.1.10
AP gateway ip 192.168.1.1
Station enable Yes (kan nog niet vinden wat er dan gebeurd.)
AP list eerst kiezen voor het netwerk waar ik op wil komen
AP name aangeven hoe de naam van de ESP wordt. (ESP8266)
DHCP enable op Yes.
NetWork Setting:
Socket Type Client.
Transporttype TCP
Remote IP 192.168.1.100
Remote Poort 9000 (waarom 9000??)
Dubbele dipswitchen op 'off'
Druk langer dan 1 sec op de 'key' toets
Druk op Submit
Niets ------ geen verandering
Ik druk op refresh web pagina en alles is weer bij het oude. Wil je het verschil weten tussen AP en STA kijk dan even hier.Ik gebruik gewoon AP.
Zet de 2 schakelaars op 'on' nadat je de volgende sketch in de Arduino heb gezet:

void setup()
{
Serial.begin(9600);
}
void loop()
{
delay(1000);
Serial.println("Hello ESP8266 WiFi");
}


Op het internet staan de Engelstalige handleidingen zoals het zou moeten werken. Ik krijg het niet werkend volgens de handleiding. Handleiding aan de kant en zelf maar weer nadenken. ;-) Het is een ESP13 die onafhankelijk moet kunnen werken. Het board heeft geen USB aansluiting maar wel RX en TX zoals het jellowboard. Die had ik werkend gekregen met de FTDI232.
De ESP13 van de Arduino afgehaald en de FTDI232 aangesloten. Key indrukken, Key ingedrukt houden en dan ook kortstondig de reset indrukken, key loslaten en sketch via de Arduino IDE uploaden. LUKT.
Je kan dus een eigen sketch op de ESP zetten. Vervolgens is het dus een kwestie om de pinnen die je vanaf de Arduino wil lezen te verbinden met de ESP8266 pinnen. Die pinnen van de ESP8266 af te lezen en aan te bieden via een html pagina.
Als ik het goed heb begrepen zitten de shield schakelaars 1 en 2 tussen het shield en de digitale 0 en de 1 van het Arduino board. Dat betekend dat als je de Arduino wil programmeren via de USB, je de schakelaars op het shield op 1 en 2 (tegenover ON)moet zetten om te voorkomen dat de ESP ook de tekst te lezen krijgt en ook geprogrammeerd wordt.
Op blog.skunkw0rks lees ik dat TX en RX verkeerd zitten tussen de boarden, netjes gekruist om van de Arduino naar de ESP te gaan maar lastig om de ESP stand allone te programeren. Ook de baudrate van 115200 via de Arduino is veel te snel.
Wordt lastig als je wel een sketch op je shield wil zetten.
Het is wel te doen met een USB FTI stick.
Nu heb ik een Mini Port USB UART Module FT232 For Arduino Development Board (Zoek er maar eens naar en bestel hem bij Ebay). Hiermee kan ik het shield programmeren. Op github lees ik dat de I2C:
I2C (Wire library)
Wire library currently supports master mode up to approximately 450KHz.
Before using I2C, pins for SDA and SCL need to be set by calling Wire.begin(int sda, int scl), i.e. Wire.begin(0, 2); on ESP-01, else they default to pins 4(SDA) and 5(SCL).

Als ik SDA(4) en SCL(5) gebruik kan ik dus data via I2C aanleveren. Dat lijkt me handig omdat ik een Arduino Mega gebruik en SDA en SCL 20 en 21 zijn. Buiten het shield dus. De analoog 4 en 5 zijn ook vrij van het shield maar de 4 is nauwelijks te gebruiken.
Ik moet dus een sketch maken voor het shield dat de I2C afleest en dat als HTML aanbied.;-)Mooi zou zijn dat je dan via die webpagina ook weer de Arduino kan aansturen.
;
bron:
handleiding
https://github.com/adafruit/ESP8266-Arduino blog.skunkw0rks.io

info link:
http://uwvervoerder.nl/robotigs/includes/parts_header.php?idpart=186