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! 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 (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 ! ). 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