giovedì 14 aprile 2022
venerdì 8 aprile 2022
giovedì 24 marzo 2022
Stima distanze con Aruco Tags ed OpenCV
Ho voluto provare questo progetto
https://github.com/GSNCodes/ArUCo-Markers-Pose-Estimation-Generation-Python
ho provato ad usare la webcam del portatile per provare a stimare le distanze mediante i tag Aruco (sono concettualmente simili a QrCode ma piu' robusti per il riconoscimento a scapito del numero di dati inseriti...di fatto solo un codice ID)..altri progetti usano gli AprilTag
Attenzione : e' necessario Python3
Per generare i tag si usa il codice sottostante
python3 generate_aruco_tags.py --id 24 --type DICT_4X4_50 --output tags/ -s 230
Una delle immagini di calibrazione
Dopo aver raccolto una ventina di immagini di calibrazione (nel mio caso salvato nel folder pose) si lancia
python3 calibration.py --dir './pose/' -s 0.023 -w 9 -t 6
se tutto va a buon fine saranno create i file della matrice di calibrazione e dei coefficienti di distorsione
A questo punto si puo' procedere con la stima di distanza
python3 pose_estimation.py --K_Matrix calibration_matrix.npy --D_Coeff distortion_coefficients.npy --type DICT_4X4_50
il codice e' leggermente differente dal progetto originario perche' di fatto in origine vengono calcolate le matrici rvec e tvec ma non viene effettuato il calcolo della distanza. Le modifiche possono essere ritrovate al mio GitHub https://github.com/c1p81/Aruco_distance
Macchie solari
Riprese con Celestron 70/700 con filtro in mylar...avevo comprato il filtro solare l'anno scorso quando l'attivita' solare era al minimo e non erano presenti macchie😊😊
lunedì 14 marzo 2022
Platformio IDF MPU6050
Ho voluto provare a fare un esperimento programmando un ESP32 con il framework IDF al posto di quello Arduino (esperimento che rimarra' solitario perche' alla fine non ho trovato grandi vantaggi)
Ho avuto diverse difficolta' ad usare il monitor seriale di Platformio per cui ho usato Minicom
Il codice (si tratta sostanzialmente dell'esempio della libreria con impostate lo porte SDA SCL a GPIO 21 e 22 nel file i2c.c alla riga 23 e 24)
sabato 12 marzo 2022
Anatomia di un conducimetro Neomet 29D
In ufficio e' morto il conducimetro da cantiere. Una volta rimosso dall'inventario e' arrivato il momento di sezionarlo
All'interno si puo' osservare la presenza di un microcontrollore ATMega 103L (8 bit, Flash 128 Kb, EEPROM 4 Kb, SRAM 4Kb), un integrato MAX232CE (RS232 porta seriale) ed un display da 4.3 pollici 94V0. Il display e' saldato alla base
Al di sotto si trova un ICL7135CPI, un convertitore analogico digitale a 4 digit 1/2 ed un DC/DC converter tc7662cpa
venerdì 11 marzo 2022
Protocol Buffers in Golang
Protocol Buffers (protobuf) e' una libreria di Google per la serializzazione di dati. Con il termine serializzazione si intende il processo di tradurre una "data structure" (array, struttura, albero binario.....) in un file che conservi oltre che i dati anche la struttura. Una forma tipica di serializzazione sono i file in formato JSON
Per utilizzare protobuf con GoLang si parte dalla definizione della struttura in file .proto. Un semplice modello puo' essere il seguente
da notare che il file .proto deve avere lo stesso package del codice che lo utilizzera'
i numeri di fianco ai vari campi sono univoci
il file .proto deve essere compilato tramite il compilatore protoc. Su Debian l'installazione del compilatore avviene mediante
si crea il file .proto nella stessa directory del sorgente Go e si compila con
questo genera un nuovo file con estensione .go. Se si apre il file con editor di testo si osserva che oltre alla struttura dei dati sono state create delle funzioni tipo helper che facilitano l'immissione e gestione della struttura dati
per gestire i dati all'interno del progetto Go, nel caso si usino tipo dati di uso comune tipo datetime gia' formalizzati in protobuf si deve scaricare la loro definizione per esempio
i dati di un protobuf possono essere salvati su un file ma questo sara' binario e non immediatamente human readable
Debugger integrato ESP32S3
Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede nell'ID USB della porta Jtag. Nel modulo...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...