Jump to content
ELFORUM - Forumul electronistilor

Familia ESP - Timer diverse functionalitati cu interfata WEB


digitalelectron

Recommended Posts

Salut,

 

As vrea sa dezvolt un nou proiect sa fac un timer pe baza de ESP voi incepe cu cel mai ieftin de pe piata ESP8266-01 voi folosi exact aceasta placa ESP (link) ca dezvoltare beta dar la cerere pot migra si pe alte placi. Va cer ajutorul ce anume functionalitati sa adaug fata de ce exista pe piata (90% china module, ex. youtube mai jos)

 

Multumesc in avans

 

 

 

PS: Cand voi finaliza proiectul il voi pune aici (link)

 

Edited by digitalelectron
Link to comment
1 hour ago, digitalelectron said:

Va cer ajutorul ce anume functionalitati sa adaug fata de ce exista pe piata

De obicei dezvolți un proiect pentru a rezolva o problemă, o cerere a ta sau a unui client.
Ce alte funcționalități să adaugi unui timer programabil ?  Pentru ce ?
Poate doar dacă este un proiect educațional. Să învețe copiii de clasa a VIII-a ce poate face cu ESP.
 

Edited by cloudy
Link to comment

Problema mea principala este furnizorul china (aliexpress etc😀)  nu imi place ca nu ai libertatea in a alege anumite tipare in functionalitate.

 

Am deja o lista cu functionalitati stiu ce am de facut dar nu strica sa mai aflu si alte pareri daca tot muncesc sa fie o data nu de mai multe ori sa fac enspe versiuni doar de dragul de a face.

 

Daca tu crezi ca esp e joaca de copii cum zici tu, nici nu ai idee cat de puternica este familia ESP daca e folosita cum trebuie, poti face diverse proiecte profesionale.

 

Edited by digitalelectron
Link to comment
20 minutes ago, digitalelectron said:

nici nu ai idee cat de puternica este familia ESP daca e folosita cum trebuie, poti face diverse proiecte profesionale.

Cam am idee ce este ală un ESP.
Dar dacă tu crezi că cu Arduino IDE se pot face proiecte profesionale, te cam înșeli.
Nu contest că nu se pot aprinde LED-uri sau nu se pot realiza conexiuni la internet.
Este o frumoasă jucărie. Și pentru cei mici, dar și pentru cei mari.
(mă refer la mediul de programare, nu la ESP).


 

Edited by cloudy
Link to comment
  • 3 months later...
  • 2 weeks later...
La 30.11.2024 la 16:14, mihaiaurul a spus:

Pe mine m-a fascinat joaca cu cele două core ale ESP32.

si RP2040 (de la PR Pico e dual core - si mai noul RP2350) am scris niste cod pentru un produs (python) care are webserver pe ambele dar e oribil de facut debug. La-am lasat pe 1 core din lipsa de timp. (viata e prea scurta si banii erau tot aia)

Cu ESP am avut niste experiente neplacute in trecut (ADC-ul era o porcarie si Low power era ca si inexistent) - probabil ca au rezolavat chestiile aste intre timp ca e o poveste veche. Lipsa unui support comercial solid a fost alt factor (absolut totul la ESP32 emana -> hobby)

RR

 

PS - totdeauna m-am gandit la ESP cu memoria de program externa ca fost facut special sa se poata copia unii pe altii, multi l-au exclus din cauza asta la proiecte comerciale serioase.

Edited by roadrunner
Link to comment
2 hours ago, roadrunner said:

PS - totdeauna m-am gandit la ESP cu memoria de program externa ca fost facut special sa se poata copia unii pe altii, multi l-au exclus din cauza asta la proiecte comerciale serioase.

ESP permite cryptarea datelor din flash. Teoretic (documentație) keys sunt hardware si nu pot fi citite.

Link to comment
Acum 15 ore, mihaiaurul a spus:

ESP permite cryptarea datelor din flash.

dar te costa la viteza de executie daca executa din flash, sau te costa la RAM daca-l decripteaza in RAM si-l executa de acolo. (there's no free lunch) - cei mai multi prefera un MCU cu flash intern, cu tool-uri mature si biblioteci stabile (ma refer la proiecte comerciale, unde timpul de development conteaza) - la hobby toate astea nu conteaza si ESP e la fel de bun ca orice altceva.

RR 

 

PS

Daca poti citii codul chiar si encryptat din memoria externa deja ai un "head start" pentru brute force de-encryption fata de n-ai codul deloc. Sunt metode sa-l extragi si din MCU "protejat la citire" la cele  mai vechi sau la cele  ieftine, la astea noi nu mai merge metoda de care vorbesc (care e de fapt destul de simpla) - la cele noi orice scrire de cod nou forteza un erase. (la cele care nu fac asta injectezi cu bootloderul code la inceputul menoriei care sa faca dump la jumatea de jos a flashului dupa care injectezi cod la sfarsit care sa faca dump la jumatea de sus) 

RR

Edited by roadrunner
Link to comment
1 hour ago, roadrunner said:

la cele noi orice scrire de cod nou forteza un erase.

Acum ceva ani, Microchip a comis-o cu exemplul de bootloader oficial pentru PIC18 pe care multi l-au luat de bun.
S-au găndit ei să adauge o functie in bootloader care sa returneze Checksum-ul flash in ideea de a verifica rapid daca s-a scris ok prin comparatie cu cel al hex-ului.
Numai că functia checksum accepta ca parametrii adresa de start si lungimea pe care sa se facă chk.
Si puteai trimite checksum(addr++,1) :)
Bootloader de la Atmel nu o avea si el frumusetea asta de functie ?



 

Edited by mihaiaurul
Link to comment
Acum 17 minute, mihaiaurul a spus:

Bootloader de la Atmel nu o avea si el frumusetea asta de functie ?

habar n-am. Logic ar fi sa-ti dea checsum error numai la ce a scris in flash (adica OK/FAIL) nu sa-ti calculeze ca nu te ajuta cu nimic, oricum la intelhex nu are rost functia asta ca record-urile au sume de control in fisier si le poate verifica intern ce a scris fata de ce ai trimis. (DFU care e cel mai folosit in ziua de azi la bootloadere are si el sume de control in fisier)

nu-mi dau seama ce i-a manat in lupta pe astia de la Microchip...

RR

Edited by roadrunner
Link to comment

La Atmel se poate face verificarea automată a fiecărei locații de memorie flash, imediat după ce a fost înscrisă, chiar în timpul programării. Dacă ceva dă cu virgulă, programul care face înscrierea se oprește cu o înjurătură și dă adresa de memorie eronată, ce trebuia înscris și ce s-a citit la verificare. Unele programe de înscriere mai fac încă o verificare suplimentară după terminarea înscrierii flash.

Dar dacă vrei să afli dacă programul mai este OK după o perioadă mare de timp, adaugi o rutină simplă care doar la prima pornire face checksum și înscrie rezultatul într-o zonă de memorie flash liberă. Apoi la fiecare pornire se face din nou acel checksum și de data asta, rezultatul se compară cu cel care a fost înscris prima dată în zona flash liberă. 

Asemănător mai poți face deosebirea dintre prima pornire și următoarele, deosebirea dintre o pornire după pierderea alimentării și reset, poți contoriza numărul de pierderi a alimentării, numărul de reseturi și numărul de reseturi provocate de watchdog (util pentru a ști cum să faci deparazitarea unui motor sau relee fără ca microcontrolerul să se mai blocheze "vizibil")

Chestii de doi lei... 😇

Edited by cimitavita
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines