WiFi Bee-ESP8266 Module Programmeren.

Evarist

Golden Member

Ik heb zo'n module gekocht die moet dienen om een relayboard te sturen via Wifi.
Ik heb de WiFi Bee-ESP8266 in een USB Bee module gestoken. Maar wat nu?

Kan iemand mij helpen met het programmeren van deze module?

Nihil est verum, quod non probatur primo.

Je hebt al ge-googled zeker? Is toch best veel over te vinden, die ESP12 en kornuiten.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Evarist

Golden Member

Ik heb al een week gegoogled, maar van de Bee uitvoering vind ik niet hoe ik ze moet programmeren.
Alles wat ik vind is voor de Arduino.

Welke software gebruik ik om , als eerste, de firmware te updaten?

Edit:// ik ben er in geslaagd om firmware in de module te doen met
" ESP8266 Firmware Programmer" //

Wat nu om SSID en andere data in de module te programmeren?

[Bericht gewijzigd door Evarist op 28 juli 2017 22:59:09 (29%)]

Nihil est verum, quod non probatur primo.

Welk relaisbord wil je sturen ?
Die wifi-bee heeft (blijkbaar) alleen serial in/out.

Het relaisboard dat je wil sturen moet dus voorzien zijn van een eigen processor.

Met wat omwegen is het mogelijk de TX/RX pinnen anders te gebruiken, maar als dat even niet hoeft adviseer ik het niet.

Heb je een voorbeeldschema ? Blokschema ?

Evarist

Golden Member

Dit is het relayboard wat ik gebruik. Het heeft inderdaad een eigen processor.
http://www.benl.ebay.be/itm/8-Channel-USB-Wireless-Relay-Board-Xbee-Bl…

Blijft de vraag: welke software gebruik ik om de ESP8266 te proggen?

Nihil est verum, quod non probatur primo.

Blijft de vraag: welke software gebruik ik om de ESP8266 te proggen?

Dan heb je enkele opties, en één niet.

je kan NIET de AT standaard firmware van de ESP8266 gebruiken. Deze verwacht zelf gestuurd te worden door een externe microcontroller.

Je hebt grofweg twee opties:

1) Stuur het relaisbord vanaf een ander device (pc?) middels TCP connectie. Voordeel : standaard firmware in de ESP (config noodzakelijk) nadeel: PC nodig om te sturen, TCP connecties begrijpen e.d.

2) Plaats een programma in de ESP die bijv. een webpagina laat zien, voordeel: devices met een browser kunnen sturen, nadeel : maatwerk programma. (hoewel er heel veel voorbeelden zijn)

als firmware kan je in beide gevallen een op arduino-core of nodemcu gebruiken. Ene is gecompileerde code, andere is script.
afhankelijk van je ervaring met e.e.a.

meer nauwkeurig kan ik (nog) niet zijn, ik weet niet welke toepassing je wilt maken.

Evarist

Golden Member

Welke firmware moet ik dan gebruiken?

Op het relayboard komt de ESP8266. Als alles goed geprogrammeerd is, is het relayboard bereikbaar via internet(wifi) om de relays te laten schakelen.

Ik heb veel ervaring met Basic, en een beetje met Arduino.

[Bericht gewijzigd door Evarist op 29 juli 2017 11:18:25 (14%)]

Nihil est verum, quod non probatur primo.

is het relayboard bereikbaar via internet(wifi) om de relays te laten schakelen

Hoe ?
Browser/TCP/MQTT/COAP ???

schakelen via internet kan van alles betekenen. Waar heb je de info vandaan ?

Evarist

Golden Member

Origineel werkte het relayboard met een Wifly module, maar die is kapot.

Met de app TOSR kon ik de 8 relay's schakelen vanaf mijn tablet en via mijn router. Voor de Wifly was een duidelijke programmeerhandleiding ter beschikking.

Voor de ESP8266 is zoveel beschikbaar dat ik door de bomen het bos niet zie.

Nihil est verum, quod non probatur primo.

Even snel bladerend door de handleiding van die APP, lijkt het erop dat die keurig TCP gebruikt om e.e.a. te schakelen. De commando's staan ook gewoon in de handleiding (vb: 'd'=alles aan)

Dus een transparant doorgeefluik als esp8266 is genoeg.
Hier heb je er één, met stappenplan voor het configureren van de esp8266. (instellen wifi, serial speed e.d.)

https://github.com/beckdac/ESP8266-transparent-bridge

de voorgecompileerde firmware staat er ook bij, dus je hoeft niet zelf aan de gang met een compiler ofzo..

flash firmware m.b.v. je usb shield en een flasher programma. neem aandachtig de configuratiestappen door.

dat zou je op weg moeten helpen..

Evarist

Golden Member

Skysoft, dankjewel. Ik heb het weekend om mij er door te worstelen. Ik houd U op de hoogte.

Nihil est verum, quod non probatur primo.
Evarist

Golden Member

Ik heb de firmware kunnen uploaden met ESP8266flasher.

Maar wat moet er met die andere bestanden gebeuren? Wat heb ik nodig om die bridge te kunnen maken? IP, SSID, Password, waar moet ik dat allemaal ingeven.

Nihil est verum, quod non probatur primo.

https://github.com/beckdac/ESP8266-transparent-bridge
staat er duidelijk in
configuration commands are:
+++AT # do nothing, print OK
+++AT MODE # print current opmode
+++AT MODE <mode: 1= STA, 2= AP, 3=both> # set current opmode
+++AT STA # print current ssid and password connected to
+++AT STA <ssid> <password> # set ssid and password to connect to
+++AT AP # print the current soft ap settings
+++AT AP <ssid> # set the AP as open with specified ssid
+++AT AP <ssid> <pw> [<authmode> [hide-ssid [<ch>]]]]
# set the AP ssid and password, authmode:1= WEP,2= WPA,3= WPA2,4= WPA+WPA2,
# hide-ssid:1-hide, 0-show(not hide), channel: 1..13
+++AT BAUD # print current UART settings
+++AT BAUD <baud> [data [parity [stop]]] # set current UART baud rate and optional data bits = 5/6/7/8 , parity = N/E/O, stop bits = 1/1.5/2
+++AT PORT # print current incoming TCP socket port
+++AT PORT <port> # set current incoming TCP socket port (restarts ESP)
+++AT FLASH # print current flash settings
+++AT FLASH <1|0> # 1: The changed UART settings (++AT BAUD ...) are saved ( Default after boot), 0= no save to flash.
+++AT RESET # software reset the unit
+++AT GPIO2 <0|1|2 100> # 1: pull GPIO2 pin up (HIGH) 0: pull GPIO2 pin down (LOW) 2: reset GPIO2, where 100 is optional to specify reset delay time in ms (default 100ms)
+++AT SHOWIP # Display Station IP Address, gateway and netmask
+++AT SHOWMAC # Display Station MAC.
+++AT SCAN # Display available networks around

Upon success, all commands send back "OK" as their final output. Note that passwords may not contain spaces.

The settings are saved after the commands
+++AT PORT <port>
+++AT BAUD <baud> ...

After +++AT FLASH 0 the parameter of command +++AT BAUD <baud> ... are NOT saved to the flash memory.
The new settings are applied to the UART and saved only in RAM.
But a following +++AT PORT <port> need to flash the settings for the necessary reboot. Then also the changed UART setting are saved to flash.

The disable of flash the settings is for devices with baud rate changes to avoid permanently flash of the setting sector.
Some electric meter start conversion with 300 baud and accept a command to change to 9600.

Example session:
user@host:~$ telnet 192.168.1.197 Trying 192.168.1.197... Connected to 192.168.1.197. Escape character is '^]'. +++AT MODE MODE=3 OK +++AT AP SSID=ESP_9E2EA6 PASSWORD= AUTHMODE=0 CHANNEL=3 OK +++AT AP newSSID password OK +++AT AP SSID=newSSID PASSWORD=password AUTHMODE=2 CHANNEL=3 OK +++AT AP ESP_9E2EA6 OK +++AT AP SSID=ESP_9E2EA6 PASSWORD= AUTHMODE=0 CHANNEL=3 OK ^]c
telnet> c Connection closed.

Evarist

Golden Member

ik heb geprobeerd om dit commando in de module te sturen, maar ik kan niets typen in Teraterm.

+++AT # do nothing, print OK

Ook met putty op dit ip 192.168.1.197 heb ik geen verbinding met de module.

[Bericht gewijzigd door Evarist op 31 juli 2017 17:33:57 (24%)]

Nihil est verum, quod non probatur primo.

[topic niet helemaal gelezen, dus misschien mis ik wat]
Hoe zou je die commandos via je LAN kunnen geven als ie nog niet is aangemeld op datzelfde net?
Je zult via de seriele input verbinding moeten maken, de UART interface.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Evarist

Golden Member

Teraterm is de UART interface. Geen connectie.

Nihil est verum, quod non probatur primo.

- rx en tx verkeerd-om?
- verkeerde baudrate?
- USB -> UART converter niet goed?

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com
Evarist

Golden Member

Aangezien ik de firmware in de module kreeg is RX en TX niet omgewisseld en is de USB UART module goed.
De baudrate staat op 9600. Is dat goed?

Nihil est verum, quod non probatur primo.

Wat de default baudrate is weet ik niet en kan nog wel eens varieren.
Ik had een ESP12 die 9600 baud was. Na een firmware upgrade was de default ineens 115200 baud. (wil nog wel eens wisselen met andere firmware)

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com
Evarist

Golden Member

Hoe kan ik weten hoeveel die Baudrate is?

Nihil est verum, quod non probatur primo.

Dat staat normaal gesproken bij de firmware...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com
Evarist

Golden Member

De firmware is een file zonder uitleg. Ook in de readme staat geen baudrate.
Ik heb de baudrate op 115200 gezet, en nog steeds verschijnt niets in het venster van Teraterm.
Als het nu ging over pedofilie- of drugsnetwerken, daar heb ik al eens over gehoord... :-)

Is Teraterm wel goed om naar die module te schrijven?

Nihil est verum, quod non probatur primo.

Op 1 augustus 2017 19:58:49 schreef Evarist:
Hoe kan ik weten hoeveel die Baudrate is?

Alles uitproberen. Zoveel opties zijn er niet.

Moet je trouwens ook nog een paar verbindingen leggen tussen verschillende pinnen? Dat moet bij mijn ESP12 wel.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein
Evarist

Golden Member

Welke verbindingen? Welk pinnen?

Nihil est verum, quod non probatur primo.

Let op, ik ken die Wifi Bee niet. Ik heb een ESP-12 waar ook een 8266 in zit en daarvoor moet je pinnen naar gnd of vcc leggen om 'm in een bepaalde mode te krijgen. Of dat bij jou moet weet ik niet, misschien is dat op het board zelf al gedaan. Is toch een kwestie van googlen denk ik, tenzij iemand hier het precies weet.
[plaatje even geleend van AliExpress]

[Bericht gewijzigd door flipflop op 3 augustus 2017 10:56:49 (12%)]

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein