Jump to content
ELFORUM - Forumul electronistilor

Webserver RPi Pico (python) - nu trimte pagini mai mari de 6000de bytes


roadrunner

Recommended Posts

Am un produs care l-am facut cu RPi Pico si lucrand la un upgrade la software am despoperit ca web serverul (Micropython) nu trimite inapoi toata pagina se opreste undeva la 6000 (si ceva) de bytes. Pagine e buna in memorie ca i-am dat un print si e toata doar ca nu o baga toata pe socket. 

s-a mai lovit cineva de chestia asta ?

RR

Edited by roadrunner
Link to comment
  • Replies 8
  • Created
  • Last Reply

Top Posters In This Topic

  • roadrunner

    9

sunt ok cu delay-ul ca webserverul e acitvat de user cand vrea sa schimbe ceva settings in rest nu merge (e un jumper pe placa) - urasc sa scriu software.

Multam!

RR

 

Link to comment
  • 2 weeks later...

nu mai deschid un topic separat - contextul e acelasi Rpi Pico cu Micropython.

 

Ma tot uit cum as putea sa initializez memoria flash cu Miropyhon si continutul partitiei littleffs (adica scripturile si totate alte fisiere care mai sunt in file system)

Am facut un produs bazat pe Rpi_Pico cu Micropython dat trebuie sa am o metoda simpla sa pot configura placile noi (fara Thonny sau command line)

Cel mai simplu ar fi sa intr-u in bootloader si sa "drag and drop" un fisier DFU cu continutul filesys-ului.

am gasit pe net cum se face https://github.com/Gadgetoid/dir2uf2  si urmeaza sa incerc daca merge. 

Are cineva o idee diferita la abordarea de mai sus?

RR

Link to comment

Din pacate cu command line nu o sa merga in cazul meu. Cine trebuie sa faca upgrade (in the field) se plange si de "drag & drop" la un fisier cu mouse-ul.

RR

 

Link to comment

sunt mai multe fisiere, pagini html fisiere text cu settings date de calibarare la ADC ....

practic fac un uf2 cu tot filesys-ul si le arunc toate catre bootloder care pune filesys-ul asta nou. 

Am mai facut o solutie cu server de FTP care ruleaza pe un laptop si un script care face download la fiserele noi. dar e complicat pentru utilizator (too many moving parts) 

 

Era misto sa fac imaginea la tot flash-ul adica miropythonul + filesys. care sa fie un singus uf2

RR

 

PS - trebuia sa stau pe curu' meu de inginer hardware mi-am batut cuie in talpa.

Edited by roadrunner
Link to comment

am facut df2 -ul ala si surpriza ...nu merge. scrie flashul ca-mi dispar fisierele vechi dar nu apar fisierele noi...

ma-m uitat cu Notepad prin uf2 si se pare ca constine ce trebuie (adica are fisierele care ma asteptam in el) dar cred ca nui place FS-ul asta nou..

mai sap.

RR

Edited by roadrunner
Link to comment

merge, am discutat cu tipul care a scris lib-ul ala si nu mergea din cauza ca RPi Pico foloseste Filesys (littlefs) V2.0 si trebuie folosita o biblioteca mai veche de littlefs-python si anume 4.0. (am facut downgrade la littlefs-python 4.0)

Acum merge pot crea sistemul de fisiere intr-un director si genera un fisier uf2 care merge flashuit cu bootloaderul de pe RPi Pico.

https://github.com/Gadgetoid/dir2uf2

 

Intre timp am mai dat de un priect care se cheama vfs_merge care e si mai destept ca in afara ca creaza FS-ul face si merge la Micropithon si obtii un fisier uf2 care contine tot.

https://github.com/Josverl/vfs_merge/tree/main

 

RR

Edited by roadrunner
Link to comment
  • 3 months later...

reciclez topicul asta (ca tot cu Pico e la ce lucrez)

Am pe masa chirurgicala un PCB nou de la un produs nou pe care l-am crosetat recent. E deosebit in multe aspecte primul e pcb-ul mare ca dimensiune (intra intr-o carcasa de 19inch - de rack) si din cauza asta mi-a creat probleme la fabricatie. 

Mai precis cutitele de la printerul de pasta (e smd in mare parte) nu erau suficient de late, am comandat cutite mai mari (300 Eur) dupa care mi-am dat seama ca trebuie sa demontez o rigla din printer ca sa incapa. 

Din criza de timp am decis sa lipesc cu mana ce era pe acolo sa nu mai pun prima placa pe masini ca oricum eram sigur ca va trebui sa mai schimb pe ici pe colo.

 

Nu e mare lucru pe placa asta e un RPI pico niste IO expandere de 16 biti (I2C) un multiplexor de I2C cu 8 bus-uri un DAC de 8 canale si un ADC de 16 canale pe 16 biti (toate I2C)

Prima chestie lipesc toate IC-urile astea cu ce mai era pe langa, scriu un pic de python sa scanez busul de I2C care gaseste 6 device-uri si eu am 5 circuite pe bus? la iau prin eliminare si gasesc misterul, unul din device-uri DAC-ul mai precia are si adresa de "broadcast" ca sa poti sincroniza daca ai mai multe. (mister rezolvat) 

Citesc datsheet-ul (ca nu am gasit nimic pe net  si AI nu te poate ajuta) scriu niste functii, merge. Masor cateva iesiri din DAC merge super bine.

Trec la ADC aici datasheet-ul era mult mai stufos (scris un pic cam ciudat - Linear Technology) scriu cod, am gasit ceva online dar folosea o biblioteca care nu exista in micro python, ma rog il scriu de mana

ADC ul asta are 16 pini de ADC care pot fi grupati ca 8 canale diferentiale sau 16 canale nediferentiale (single ended) - il configurez cum vreau (single ended)

Pun un fir de la iesirea DAC (referinta la DAC de 3V deci Full scale dadea 3V la iesire) - la intrarea ADC-ului (care si el avea Ref de 3V) - si dai si sapa.

Tot ce masuram peste 1.5V era overflow.  Normal am zis ca am eu un bug si dai si uitate la ce vine si cum iau datele si nu vrea frate. 

Dupa doua ore de injurat in cel putin doua limbi de circulatie internationala si una materna, citesc cu atentie pentru a 100-a oara datasheet-ul la ADC un de scrie mic "FS este Vref/2" adica full scale este 3V/2 care este 1.5V. = deci nu pot masura nimic peste 1.5V (nu e mare tragedie ca am niste divizoare de unde pot sa divizez mai vartos.

Mi-a\ mincat juma de zi aventura asta.

Ah si alta unde am tras peste poarta cu poarta goala, e ca am uitat sa scot cuprul de sub partea de Wifi la PCB-ul meu (de sub antena) si wifi-ul are un range de...10cm. nu e f. important dar aviz amatorilor

RR

Edited by roadrunner
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