Ciao a tutti!
Come alcuni già sanno, sono entrato in possesso di 50 cartellini di prezzo basati su ZBS243. I tag si possono riprogrammare ed integrare in homeAssistant grazie a questo repo. Il progetto è sperimentale e un po’ hackerino, ma pare funzioni, però non ho ancora provato effettivamente.
Il progetto originale usa un tag come access point, ma io pensavo che potrei implementare il protocollo su un ESP32-C6.
Dato che ne ho 50, pensavo di offrirli ai nostri soci (e non) a 2,00€ al pezzo, oppure a 2,50€ già riprogrammati, se c’è interesse.
Mi ci stavo mettendo perchè vorrei lavorarci su la prossima settimana in esilio lavorativo, è questo il posto giusto per chiacchierarne?
(rispetto al post iniziale mi pare di aver capito che la questione per riprogrammarli sia un po’ diversa…)
Allora da quanto ho capito io, anche in originale non parlano in WLAN (802.11) [come credevo di aver capito io a voce mercoledì ma forse ho frainteso], ma in (simil)zigbee 802.15.4.
Quindi se ho ben capito il progetto linkato, prevede 2 firmware, uno per trasformare un tag in master/base-station/AP e quindi serve l’aggiunta di un ESP32, l’altro per avere i veri slave che parlano col master ogni tanto. Per la seconda parte, almeno dalla descrizione, mi pare perfetta, mentre non mi spiego bene perchè mai “sacrificarne” una per fare da master, quindo si potrebbe fare lo stesso con un qualcosa di USB, tipo, leggendo altrove, nRF52840 (mai sentito, ma guarda caso è appena scivolato dentro il mio carrello aliexpress :D).
Ho capito bene?
C’è qualche altro progetto alternativo? (che provando a cercare un po’ online non mi pare di trovar)
Forse ci siamo capiti male perché io prevedevo di usare un ESP32-C6, che ha nativamente Wi-Fi, Bluetooth e 802.15.4, quindi userei quello per fare da access point. È una cosa che non esiste ancora, va portato!
aahhh ecco!
Se mi dici che è una cosa che non esiste ancora allora si, adesso mi torna
Con un ESP32-C6 che faccia da ponte tra Client-Wireless e TAG-zigbee sarebbe perfetto, così con un solo ESP32 si potrebbero controllare più display
Non credo di aver competenze informatiche sufficienti per fare qualcosa…al limite se serve qualcosa di competenze elettroniche o come beta-tester quello ovviamente volentieri.
Intanto vedo di mettere in carrello anche un po’ di pogo-pin “belli” (con punta a semisfera e completamente dorati) e mi stampo il guscio per tenerli (mi par di capire che basti il “ZBS243_Pogo_Flasher_main_body.stl” come soluzione minimale)
Prima che qualcun’altro ci sbatta la testa: cercavo dei modelli 3D per farmi una batteria dummy da collegare a 2 ministilo e non trovavo niente, allora passo a cercare le dimensioni della fantomatica CR2540 nominata ovunque nel wiki al link del primo post qui e niente: allora aspetto di tornare a casa, apro un tag e dentro c’è una CR2450!
E visto che mi sono appena ricordato che io tendenzialmente non mi fido me ne sto disegnando una partendo da questo datasheet dettagliato:
Se poi serve a qualcuno il modello 3D ditemelo, che lo pubblico.
Secondo me il modello potrebbe essere utile @lucaB! Carica su printables e linka qui
A me invece sono arrivati i pogo pin, e sono finalmente quelli giusti!
EDIT: Non appena arrivo in sede costruirò il flasher con un SS Mini e USB-C, e ci flashiamo un firmware demo da mostrare in fiera.
Ecco fatto: l’ho messo su Thingiverse che ho già account da tempo, immagino vada bene anche li.
Già stampato e provato ad inserire e mi pare calzi a pennello. Devo ancora provare ad aggiungerci i contatti (ho previsto nastro adesivo in rame da 0.1mm per quello ho lasciato 2 micro-spazi e canali per i fili).
Che invidia per i pogo-pin! Io se non resisto mi sa che mi metterò a provare con reofori spinti da spugna (e con la mia onnipresente 1k in serie ai segnali “che non si sa mai”)
Leggendo nella repo non riesco a capire se è necessario fare modifiche hardware ai tag per poterci smanettare…
Qualcuno potrebbe aiutarmi a chiarire questo aspetto?
Se sono necessarie, quanto sono delicate o difficili?
Wow!! Che notiziona! Parrebbe quasi allora che il mio acquisto compulsivo di una manata di ESP32-C6 che mi sono arrivati giusto ieri non sia stato completamente folle
Quindi lato sw se capisco bene ci sarebbe già il firmware per programmare i tag, che poi fanno richiesta di dati aggiornati ad un “AP” che finalmente può essere un C6
Se così devo decisamente mettermi a trovar del tempo da dedicarci.
Per chi volesse stamparsi il coso per programmarli ho notato un dettaglio in quello pubblicato: i canotti per i pogo pin io li avrei fatti un po’ più lunghi per dar maggiore rigidità angolare ed i miei pogo pin poi non hanno nessun rigonfiamento quindi ci scivolano dentro, sarebbe da aggiungere qualcosa per bloccarli in fondo (o come farò un giro di spgna+elastico (e sputo) finchè si programma
Beh, è stata un po’ un’impresa. A grandi linee, questi sono stati i miei passi:
andare su ZBS_Flasher, scaricarmi il repo, adattarlo per il l’atmega32u4 + buck converter che pensavo di usare, flasharlo, saldare i pogo pin, incollarli con cianoacrilato al jig.
usato zbs_flasher.py (nel repo ZBS_Flasher) per fare un read-infopage questo step è necessario se volete mantenere il MAC
usato zbs_flasher.py per programmare il firmware in binaries/Tag_FW_2.9.bin
usato zbs_flasher.py per programmare il MAC originale
caricato sul ESP32-C6 il programma in ARM_Tag_FW/OpenEPaperLink_esp32_C6_AP, dopo aver selezionato nel menuconfig di avere la console di log su USB-JTAG e configurato nel file secondary_uart.c di usare la UART0. Questo per avere l’output “di controllo” sulla seriale del connettore UART.
Usato gli script ARM_Tag_FW/cc2531_OEPL/OpenEPaperLink-PyStation per tirare su il gateway che gestisce la radio (ESP32-C6) e invia le immagini ai tag. Prima ho dovuto correggere l’orribile, orribile Python scritto dall’autore.
Farò un fork del progetto riorganizzando un po’ il tutto e aprirò un MR all’autore originale, sperando di fare una cosa gradita. Altrimenti forko e basta.