ePaper display da 2.9"

Qualche info dalla mille mila prove che sto facendo in questi giorni:

  • mi pare che con questo comando dato come prima cosa (quando ancora ha il firmware originale) lui poi si tenga il suo MAC (senza dirtelo…io avrei messo anche una printf ma vabbeh…) anche dopo aver flashato il firmware custom:

python3 zbs_flasher.py -p /dev/ttyUSB0 mac

  • Nel caso ve lo perdiate, per impostare il MAC richiede 8 bytes ma l’etichetta sul posteriore riporta solo 6 bytes: guardando i miei 2 tag dove sono riuscito a fargli tenere il loro, senza dover intervenire confermo quanto supposto da @g5pw che i primi 2 bytes vanno bene impostati a 0x00.

  • Dopo essermi sbattuto a disegnare, stampare ed assemblare (con tannta perizia e nastro di rame per i contatti) una batteria a bottone dummy per alimentazione esterna, faceva comunque contatto male e mi son rotto: via il nastro protettivo bianco centrale e si raggiungono 2 punti comodi e fortunatamente i suoi contatti sono stagnabili! :tada: due colpetti veloci con abbondante flussante (per non fondere la plastica) ed il gioco è fatto. Cosa ancor più bella è pare digerire anche una coppia di batterie ricaricabili :v: (per lo meno azzera lo schermo, arriva a cercare e collegarsi all’AP poi non so perchè il mio AP ancora non è a posto.

  • con un arduino nano (genuino, prestato da un collega) che funziona a 5V non funzionava nulla: tutti i segnali avevano in serie 1k e controllando con oscilloscopio i fronti mi parevano buoni, provato anche con “–slow” ed aggiungendo delay qua e là nel codice: niente da fare.
    Poi un collega mi ha detto che ha avuto problemi con Arduino e SPI, quindi ho rifatto tutto da zero con un ESP32 WROOM DevKit; anche se è 3V3 le resistenze da 1k le ho mantenute (si, lo ammetto, io sono pagato dalla lobby delle resistenze da 1000 Ohm ! :laughing: ). Con quello funziona anche full-speed. Ha qualche rogna a “partire” perchè spesso non mi risponde neanche ad un

python3 zbs_flasher.py -p /dev/ttyUSB0 version

(quindi problemi dell’ESP in se, nulla a che fare col dialogo con il TAG). Questo il mio platformio.ini che ho creato apposta per il mio HW:

[platformio]
build_dir = build

; Autor: Luca
[env:espwroom32]
#platform = espressif32@5.0.0
platform = espressif32
#board = denky32
board = esp32doit-devkit-v1
framework = arduino
upload_protocol = esptool
upload_port = /dev/ttyS0
upload_speed = 921600
#monitor_port = COM17
monitor_speed = 115200
build_flags =
-D LED=2
-D ZBS_SS=5
-D ZBS_CLK=18
-D ZBS_MoSi=23
-D ZBS_MiSo=19
-D ZBS_Reset=21
# do not connect directly to a GPIO only trough some kind of Mosfet or switch!
-D ZBS_POWER=22
# Used to read UART data from the firmware running on the ZBS, not needed at all
-D ZBS_RXD=17
-D ZBS_TXD=16
-D ZBS_SPI_BUS=VSPI

  • Altra cosa utile, ho estratto il comando di flash (perchè il mio sistema di sviluppo sta a 5km dal mio HW da programmare):

esptool.py --chip esp32 --port “/dev/ttyACM0” --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 bootloader_dio_80m.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin

  • Mi par di capire che con ESP32 non ci sia la modalità pass-through: ci sto guardando un po’ perchè vorrei poter comandare il TAG finchè è attaccato al programmatore…se risolvo qualcosa poi mando il codice.

PS: io sono nuovo a molte di queste cose, quindi se ho scritto qualcosa di molto-brutto fatemelo notare :wink:

Consiglio di preparare una pagina wiki apposita, altrimenqui qui si perderà (scusate per l’intruione).

1 Mi Piace

Mi son messo a lavorarci. Per ora le basi, ma ho già in mente di aggiungere altro, quindi per ora direi che sono indipendente; più avanti sicuramente mi servirà aiuto, ma per ora spero di no :slight_smile:

https://wiki.mittelab.org/progetti/epaper-2.9

Ho iniziato a documentare il protocollo di dialogo tra PC e flasher, per vedere di riuscire ad arrivare a dialogare con il TAG per debug qui:

https://wiki.mittelab.org/progetti/epaper-2.9#protocollo_dialogo_con_il_flasher

Sembra entrare in modalità PassThrough (ho aggiunto lampeggi del LED extra e leggendo la seriale mentre mando il comando vedo i print del firmware del flasher, ma poi il TAG non risponde a ‘?’. Prossimamente provo a veder che passa sui pin TX e RX tra loro, si sa mai che abbiano sbagliato a definirli relativamente al TAG ( second_uart.c:#define S3_TX_PIN 16 e second_uart.c:#define S3_RX_PIN 17 che tra l’altro coincidono con quelli che ho sul flasher…forse in sonnambulismo li ho cambiati ma non mi pare…)

1 Mi Piace

Non so come commentare “senza rispondere”. Innanzi tutto un grazie enorme a queli che si sono sbattuti ed hanno sperimentato.
I vorrei sapere cosa usate per creare le immagini. C’è qualche software che permetta di definre per esempio delle aree, e far sì che le etichette siano sempre simili? Oppure anche con librrie Python.

Inoltre: quant’è l’energia assorbita per scaricare una nuova immagine? E quanta energia/potenza si riesce a generare con un RFID?

Personalmente non ho ancora tirato su nulla, però pensavo di generarlo con Cairo o con Pillow, ma non ho indagato oltre. Un’altra opzione potrebbe essere SVG.

ah buh

che c’entra RFID? I tag funzionano via radio 802.15.4

Io che sono vecchia scuola, ho usato una immagine base fatta con gimp, su cui scrivo sopra con imagemagick.
Dai anche un’occhiata a cutycapt (l’avevo provato brevemente poi non ricordo perchè ho preso una strada diversa)

Altro argomento leggermente separato: sono per caso avanzati altri tag? :grimacing:

tra un po’ faccio la conta e vedo, forse qualcuno avanza…

Un altro paio di link interessanti: