Sari la conținut
ELFORUM - Forumul electronistilor

ESP8266


Liviu M

Postări Recomandate

discutia:http://www.elforum.info/topic/96370-ceas-wifi-cu-esp8266/?hl=esp8266

 

Deci voi scrie un flash cu Arduino IDA.

Mi-as fi doarit sa repet exact pasii vostrii sa vad unde se blocheaza la mine.

 

Lucrez sun Windows, as fi vrut si eu sub Linux (am Zorin 9) dar am driver pentru USB->TTL doar pentru Windows. Sau poate voi reusi sa folosesc un driver de Windows sub Linux.

https://github.com/esp8266/Arduino

 

Asta e link-ul pe care cred ca l-ati urmat mai multi.

 

Am sa urmez pasii si am revin cu rezultatele.

Link spre comentariu

 dar am driver pentru USB->TTL doar pentru Windows.

Nu cred ca exista asa ceva. Ce convertor ai?

Ca intrebai mai sus, eu am cumparat numai esp-ul si mi-am facut pe o placa de test un adaptor. Convertorul rs232-usb folosit e bazat pe ft232 de la ftdi si e facut de mine (adica am cumparat cipul de la magazin si l-am lipit pe un cablaj corodat de mine). Pentru conexiunile Convertor-ftdi am folosit documentatia din primul post (la boards zice cum se conecteaza diversele). Documentatia aia e aproape completa - nu scrie ca dupa programare pinii rst si gpio0 (parca) se lasa liberi, altfel nu iese din programare.

 

Da' dupa parerea mea tu pui problema gresit. Tu te chinui sa programezi esp-ul prin diverse metode, da' n-ai clarificat motivele pentru care crezi ca nu e programat bine.

Te vaiti (pe celalalt forum) ca nu mai merg comenzile AT. Dar ca sa-ti mearga comenzile alea, iti trebuie un firmware care sa le suporte. Asa ca trebuie sa dai detalii despre ce firmware folosesti si de ce crezi tu ca ar trebui sa functioneze comenzile AT.

Link spre comentariu

<< (adica am cumparat cipul de la magazin si l-am lipit pe un cablaj corodat de mine). >>

:aplauze

 

 Tu te chinui sa programezi esp-ul prin diverse metode, da' n-ai clarificat motivele pentru care crezi ca nu e programat bine.

.... Dar ca sa-ti mearga comenzile alea, iti trebuie un firmware care sa le suporte.

Am pus un firmware care sa suporte comenzi AT. Dupa asta portul serial nu mai functioneaza. Dar LED-ul ramane aprins continuu.

Verificat cu: Hyperterminal, Putty, Serial de la Arduino IDE, volmetru si Nu are Tx-ul 3.3V in idle.

-------------------------

Dati-mi voi, un firmware, imi spuneti de la ce adresa trebuie sa il scriu.

 

 

 

Nu cred ca exista asa ceva. Ce convertor ai?

Pe integrat scrie OTI006858. Provine dintr-un cablu de date Ericsson vechi.

Editat de Mondan
Link spre comentariu

Da, s-ar parea ca exista. Un convertor serial-usb cu cipuri mai noi (ftdi, prolific) si suportate de toate sistemele operare costa mai nou cativa firfirici.Aia cu "dati-mi un firmware" e ciudat rau. Din cate stiu eu (n-am testat, nu e sigur), cand cumperi un esp are si firmware in el.Poti incerca un update, da'...Cred ca iarasi pui problema gresit. De ce nu-ti cauti tu un proiect si nu incerci sa-ti scrii propriul firmware?

Editat de Liviu M
Link spre comentariu

Nu vad rostul discutiei:

I-am schimbat firmware-le prin scrierea unui nou program (in IDE-ul arduino) si programandu-l (tot de acolo). 

Nu au schimbat firmware.

<<Aia cu "dati-mi un firmware" e ciudat rau>>

Si de ce pe NET sunt o gramada de firmware in format fisier.bin ? Ca sa fie ciudat?

 

Eu am un interes sa fac 'jucaria' sa mearga. Eu am vorbit frumos, elegant, ba chiar am pus si emoticon de aplauze in post anterior.

 

Daca cineva se s-a simtit atacat, nu e problema mea si nu trebuie sa suport.

Ca sa va raspund. Avea firmware, dar avea firmware custom.

Link spre comentariu

Daca cineva se s-a simtit atacat,

Ma gandeam eu ca iarasi se ajunge la discutii aiurea. Ma mir ca inca n-au aparut "analistii" forumului, sa concluzioneze ei cum e cu cei care stiu/pot da' nu vor.Revenind la asteapta...

Nu e nici pe departe vorba de atacat, e vorba ca...Eu am deschis topicul asta (la programare (= scris programe intr-un editor de texte, compilat si flashuit) de microcontrollere, da?) ca sa semnalez ca ESP8266 se poate programa din IDE-ul Arduino. Programa de la un capat la altul (vezi paranteza anterioara), nu doar "ars" un hex/bin/elf in el. Chestia asta am zis-o de mai multe ori. De asemenea, GodFather a spus cum el scrie programe (= firmware) pentru ele (nu m-am prins ce mediu foloseste, da' lucreaza tot cu firmware "custom").

In conditiile astea, ca sa intelegem ce nu-ti merge, si eu si Nasu' ti-am cerut detalii  despre ce si cum scrii si ce vrei sa faca ESP-ul. In loc sa incerci sa ne lamuresti, tu ceri firmware de la noi (ce sa faci tu cu firmware-ul meu de control de trenulete? :nas:) si metode de flashuit.

 

De-aia, atata timp cat vorbim unul pe langa altul n-ai decat sa astepti. Eventual iti faci un topic dedicat problemei tale si astepti acolo. ;) Si daca tot iti faci topic, dai si mai multe detalii despre ce vrei sa faci, cum faci (schema dupa care legi pinii la convertorul serial-usb e importanta), ce merge, ce nu merge... Adica orice detalii care ar putea ajuta pe cineva care nu vede nimic din setupul tau sa se prinda ce ai tu acolo.

 

O zi buna,

Liviu

Editat de Liviu M
Link spre comentariu

Sal'tare!

 

Ieri am reusit sa fac sa mearga partea de web server a proiectului meu. Cel mai tare mi-a placut "sistemul de fisiere" al ESP-ului, ca am putut sa scriu partea html ca fisier de sine statator si sa-l programez ca atare in ESP. Asta m-a salvat de sutele de "client.print()" in sketch-ul arduino.

Mai mult, fiind un fisier de sine statator, l-am putut testa inainte de programare (cu mici modificari, e drept).

Daca ma prind si cum deschid un alt fisier din browser, pot incerca sa folosesc si javascript cu fisier dedicat.

 

Cam atat deocamdata. Mai scriu cand mai descopar.

Link spre comentariu

....

Daca ma prind si cum deschid un alt fisier din browser, pot incerca sa folosesc si javascript cu fisier dedicat.

...

 

Nu sunt sigur daca am inteles problema ta dar ma hazardez cu un răspuns (sunt mai multe moduri de a include (si rula) cod js intr-o pagina in browser) :

 

Varianta 1: incluzi efectiv codul js direct in pagina intr-un tag script ( http://www.w3schools.com/html/html_scripts.asp)

<script>    document.getElementById("demo").innerHTML = "Hello JavaScript!";</script>

Varianta 2: includerea prin referinta (url) a unui fiisier ce contine doar codul js (http://www.w3schools.com/tags/att_script_src.asp)

<script src="/script/myscripts.js"></script> 

browserul cand citeste aceasta linie mai face un request (din proprie initiativa) in server si cere acest fisier - un exemplu simplist de cod server ar arata astfel:

ESP8266WebServer server ( 80 );..server.on ( "/", sendFile('index.html') );server.on ( "/script/myscript.js", sendFile('myscript.js') );...server.onNotFound ( sendFile('notFound.html') );...server.begin(); 

Succes  

Link spre comentariu

browserul cand citeste aceasta linie mai face un request (din proprie initiativa) in server si cere acest fisier - un exemplu simplist de cod server ar arata astfel:

ESP8266WebServer server ( 80 );..server.on ( "/", sendFile('index.html') );server.on ( "/script/myscript.js", sendFile('myscript.js') );...server.onNotFound ( sendFile('notFound.html') );...server.begin(); 

Succes  

Merci, sunt sanse ca informatia asta sa fie utila.

Ideea e ca sistemul de fisiere din ESP e destul de rudimentar. Nu exista nici un sistem de operare care sa preia cererile browserului, trebuie sa ma prind eu cum sa-i livrez datele.

Asta pentru cazul scripturilor in fisier extern, ca incluse in fisierul html (momentan am doar index.html) merg.

Link spre comentariu

Liviu cred ca nu am fost eu suficient de explicit.

 

Nu ai nevoie de : "un sistem de operare care sa preia cererile browserului"   acest rol i-l preia codul scris de tine:

server.on ( "/script/myscript.js", sendFile('myscript.js') );

Se traduce astfel: daca se face un  request (din client - browser) cu URL-ul "/script/myscript.js"  atunci functia scrisa de tine sendFile trimite continutul fisierului primit ca parametru la client cu : 

server.send ( 200, "application/javascript", buf);

in buf citesti in prealabil continutul fisierului (200 = ok, "application/javascript" = MIME type, buf - datele)

 

Recapitulam:

1. Ai un fisier HTML cu urmatorul continut (salvat in ESP) - index.html:

<html>  <script src="/script/myscripts.js"></script>  <body> 	<h1> TEST </h1>  <body></html>

2. Ai un fisier javascript cu urmatorul continut (salvat in ESP) - myscripts.js:

alert("JS apelat din myscripts.js"); 

3. Codul scris in ESP ca in exemplul nostru (cu: server.on(...)) - inclusiv implementarea functiei sendFile.

 

Testare:

  1. Accesezi prin browser serverul ESP ex: http://192.160.10.101/- browserul face in request GET in server.

  2. Linia:  server.on ( "/", sendFile('index.html') ); "prinde" acest request si trimite continutul fisierului index.html in browser

  3. Browserul citeste si analizeaza continutul fisierului primit. Cand intalneste linia : <script src="/script/myscripts.js"></script> mai face un request la tine in server cu un GET de forma: http://192.160.10.101/script/myscripts.js

  4. Linia din server: server.on ( "/script/myscript.js", sendFile('myscript.js') ); "prinde" acest request si trimite continutul fisierului myscripts.js la client (browser).

  5. Browserul la evaluarea acestui cod fiseaza o fereastra cu textul "JS apelat din myscripts.js".

 

Succes

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări