WiFi Bee-ESP8266 Module Programmeren

Evarist

Golden Member

Ik heb problemen met het instellen van een ESP8266 module.
De firmware moet geupload worden en dat schijnt te lukken.
Maar daarna kan ik niet communiceren met de module.

Ik heb de ESP8266 Flasher (x64) gebruikt om de firmware naar de module te laden.
En als firmware eagle.app.v6.flash.bin.

Is dit de goede?

Ik heb Win10 en de programmeermodule is een Xbee USB adapter.

(Blijkbaar ingewikkeld. Het is me na 3 jaar nog niet gelukt.)

Nihil est verum, quod non probatur primo.

Of die firmware klopt weet je zelf. Dat hangt er vanaf wat je erin wilt hebben. Ik heb zelf m'n eigen firmware geschreven in de Arduino omgeving. Dan doe je ook het programmeren vanuit de IDE en niet met een aparte tool en kabel. Gewoon USB inprikken en klaar. Nou heb ik hier NodeMCU boards, en daar zit de USB-UART omzetter al op. Bij een meer kale ESP heb je een losse converter nodig.

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

Golden Member

Ik gebruik dus de Xbee USB adapter. Daar zit volgens mij de USB-UART al op.
Maar na het opladen van de firmware zou je commando's moeten kunnen geven +++AT, en dat werkt niet. Dus denk ik dat de firmware niet goed is.

Hij moet als transparent-bridge geschakeld worden. En ik begrijp niet welke software er in de ESP moet.

Nihil est verum, quod non probatur primo.

Ik niet snap: 8266 is een WIFI module. Xbee is iets met Zigbee, of iets in die richting. Als ik zoek op xbee vindt ik ook niks met 8266. Post anders even een link of een foto van wat je hebt.
Ik ken het boardje verder niet, dus wachten we even op de experts.

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

Golden Member

De linkse module is een USB-UART waarop je de ESP kunt plaatsen. Zo kan je hem met de computer programmeren.
De rechtse is de ESP.

Nihil est verum, quod non probatur primo.

OK, het is een "wifi bee", dat zal dan wel zo'n 8266 zijn toch. Nou heb ik nog steeds geen ervaring met dit board, en ook niet met de manier van programmeren die je doet, helaas. Wat je wellicht kunt kijken is of dit board niet gewoon via de Arduino IDE te programmeren is. Moet je even kijken of het board daar ondersteund is. Zo ja, dan kun je proberen om even iets heel simpels te programmeren, zoals Blink. Als je de sourcecode hebt van wat je wilt programmeren kan het misschien ook via Arduino. Dat is een wat gangbaardere manier van werken.

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

Golden Member

Dit linkse moduletje is speciaal gemaakt op die ESP te programmeren. Dus daar zou het moeten mee werken. De module 'herkent' ook de ESP en laadt firmware.

De ESP wordt 'leeg' geleverd. Je moet er firmware instoppen en dan kan je commando's geven. Zoals +++AT. Daar reageert hij niet op.

Dat is dus het probleem.

Nihil est verum, quod non probatur primo.

Het boot/UART knopje staat in beide gevallen in de juiste modus ?

Sine

Moderator

Ik gebruik tegenwoordig dit stukje software:

https://github.com/marcelstoer/nodemcu-pyflasher

Om een binary er in te gooien is dat nog steeds de meest soepele methode naar mijn ervaring.

Voor een 8266 doe je dat zo:

[Bericht gewijzigd door Sine op donderdag 16 april 2020 18:39:43 (12%)

Evarist

Golden Member

Dit is het resultaat.


Command: esptool.py --baud 115200 --after no_reset write_flash --flash_mode dout 0x00000 E:\Drivers\Andere\Relay Module\ESP8266\ESP8266Flasher_en\eagle.app.v6.flash.bin --erase-all

esptool.py v2.6
Found 1 serial ports
Serial port COM6
COM6 failed to connect: could not open port 'COM6': PermissionError(13, 'Toegang geweigerd.', None, 5)
....._____....._____
COM6 failed to connect: Failed to connect to Espressif device: Timed out waiting for packet header

In apparaatbeheer staat de poort 6 als correct ingesteld.

Nihil est verum, quod non probatur primo.
Sine

Moderator

Het kan dat niet alle lijnen zijn aangesloten bij die programmer.

Je moet bij het onder spanning zetten van de ESP de GPIO pen '0' aan massa leggen om hem in programmeer modus te zetten.

Dus hij moet bij het onder spanning zetten op UART Download staan.

Geen idee of hij ook aan massa mag blijven liggen eigenlijk, dat heb ik nooit geprobeerd, maar het is maar kort nodig.
Die schuifschakelaar is bijzonder, bij alle andere bordjes die ik ken is dat een momentcontact.

Dus ik zou proberen:
- Zet de switch op 'UART Download'
- Zet het bordje onder spanning
- Zet de switch op 'Flash Boot'
- Probeer te flashen

Evarist

Golden Member

Sine. Eindelijk lukt het volgens uw procedure.
De module antwoordt nu. Ik laat later meer weten.

Vraag 1: Welk is de goede firmware. Sonoff.bin heb ik niet.

Vraag 2: welk programma gebruik ik om alles in te stellen. Wifi Netwerk, Paswoord, Poort, en vast IP?

[Bericht gewijzigd door Evarist op vrijdag 17 april 2020 22:41:44 (14%)

Nihil est verum, quod non probatur primo.

Wat is eigenlijk je applicatie? Wat moet het doen? Wat download je in die module? Daar zal toch van afhangen wat de antwoorden op die vraag zijn.
In de firmware die ik zelf maak zit de Wifi SSID en password hard in geprogrammeerd bv.

[Bericht gewijzigd door flipflop op vrijdag 17 april 2020 22:27:22 (49%)

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

Golden Member

Een transparant doorgeefluik. Hij moet simpele commando's van een app doorgeven naar een relayboard. Die commando's zijn gewoon ASCII codes.

Ik heb Lualoader om AP enz in te stellen maar dat werkt niet.

EDIT// Ik had mijn vraag gewijzigd nadat jij geantwoord hebt.

[Bericht gewijzigd door Evarist op vrijdag 17 april 2020 22:49:56 (14%)

Nihil est verum, quod non probatur primo.
Evarist

Golden Member

Nihil est verum, quod non probatur primo.

Ehm, ja, ik weet niet of ik de enige ben die in verwarring is, niemand anders antwoord dus misschien zit iedereen met vraagtekens...
Als je een doorgeefluik wilt programmeren, zul je toch zelf een programma moeten schrijven? Hoe denk je dat zomaar te vinden en te kunnen programmeren? Ik niet snap.

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

Ik heb er zelf geen ervaring mee, maar ik vermoed dat TS de ESP wil gebruiken als een modem dat met Hayes AT commando's gestuurd kan worden. Dit was gebruikelijk in de korte tijd voordat Arduino ondersteuning kreeg om de ESP direct te programmeren, zo rond 2015 (?)

Zie de eerste alinea in de Wiki: https://en.wikipedia.org/wiki/ESP8266
Het kan nog steeds lijkt mij, als een juiste firmware gevonden en geladen kan worden.

Bedenk dat als men een ESP naast gewone microcontroller zoals een 328 zet de ESP vele malen groter en sneller is. Zijn timing is wel ruisig, als de Wifi routines lopen. Dat en iets als meer analoog i/o kan een reden zijn het toch te doen.

Zit die "AT firmware" er standaard al niet in dan? Ooit, lang geleden heb ik zo wel met me eerste ESP12 gespeeld. Gewoon met een terminal tegen de uart poort aankletsen.

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

Special Member

Met de standaard AT firmware kun je geen i/o poorten aansturen...

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

Golden Member

Ik begrijp niet goed wat je wilt. Je vraagt om een goed firmware, en dan ben je bezig je AP in te stellen.

Op de vraag of er goede firmware is, is meer de vraag wat je wil gaan doen. Wil je sturingen doen, sensoren inlezen enz. dan is vele beschikbaar, bijvoorbeeld ESPEasy of Tasmota. (er zijn er meer)
https://tasmota.github.io/docs/
https://www.letscontrolit.com/wiki/index.php?title=ESPEasy

Wil je niet zoiets uitgebreid kun je ook zoeken naar kleinere programmeringen die je via de Arduino IDE kunt laden en zelf naar harte lust kunt aanpassen.

Wat betreft de standaard firmware in de ESP8266 heb ik geen ervaring, dus weet niet wat hiermee mogelijk is.

People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Evarist

Golden Member

Nog even duidelijk. Ik wil software om in de ESP te laden, waarmee ik die AT commando's kan geven.
En een doorgeefluik om ASCII tekens door te sluizen naar het relayboard dat gemaakt is om met een ESP te werken.
Als de firmware de goede is moet ik commando's als
"""+++AT AP <ssid> # set the AP as open with specified ssid"""
kunnen doorgeven.

Nihil est verum, quod non probatur primo.
Arco

Special Member

Klopt,

Met "AT" <crlf> moet hij "OK" teruggeven.
Met "AT+GMR" <crlf> moet hij versie informatie teruggeven.
Default baudrate is meestal 115200

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

Moderator

Ik heb ze nog nooit "standaard" gebruikt, maar volgens mij zit die software er al af fabriek in.

Arco

Special Member

Die 'modules op een printje' is vaak al aan gesleuteld door een overijverige Chinees die daar zijn eigen firmware in propt... ;)

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

Golden Member

Op 21 april 2020 23:07:32 schreef Evarist:
Nog even duidelijk. Ik wil software om in de ESP te laden, waarmee ik die AT commando's kan geven.
En een doorgeefluik om ASCII tekens door te sluizen naar het relayboard dat gemaakt is om met een ESP te werken.
Als de firmware de goede is moet ik commando's als
"""+++AT AP <ssid> # set the AP as open with specified ssid"""
kunnen doorgeven.

Heb je dat relayboard zelf gemaakt? Als ik het goed begrijp stuurt dus het relayboard een commando naar de ESP8266, die op zijn beurt het weer uitvoert. Dus het relayboard is de master om de WiFi verbinding op te zetten? De SSID en PASS staan in het Relayboard?

Zo heb ik nog nooit een ESP gebruikt, dus kan je niet verder helpen. Vraag me af of er veel mensen zijn die hem zo gebruiken.

Mijn tip zou zijn gebruik een van de genoemde firmware, kun je alle netwerk gerelateerde zaken instellen via de webbrowser. Via diverse methoden kun je uitgangen aansturen of een serieel bericht sturen naar je relaisboard.

People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years