lunedì 26 maggio 2014

CC2540 vs CC2541

Il mio fornitore di beacon ha cambiato l'integrato passando da un CC2540 ad un CC2541 (entrambi Texas Instruments)



Ho fatto una breve prova per vedere se c'era una miglioramento sulla stabilita' del segnale
La prova (seppur con un numero modesto) e' stata fatta a geometria fissa evitando il piu' possibile di influenzare la misura

Alla fine e' emerso che il parametro Accuracy e' stato di 
CC 2540 : 6.79+/-5.23 
CC 2541 : 4.89+/-3.32

Con il 2540 la deviazione standard vale circa il 77% del valore medio mentre con il 2541 circa il 67%
Un miglioramento ma non certo sensibile



Fauna caldinese

Non so che specie sia ma un paio di giorni fa Caldine e' stata invasa da questi vesponi lungi circa 3 cm
Erano quasi tutti a terra (forse per la pioggia??)


giovedì 22 maggio 2014

Visualizzare PointCloud via Web

Sempre giocando con Kinect mi sono imbattuto in Point Cloud Web Viewer, uno strumeno in WebGL che gestisce anche file di generose dimensioni


Per poter utilizzare e visualizzare i propri dati le uniche impostazioni importanti sono quelle relative alla posizione della telecamera (un cattivo orientamento della telecamera risultera' in uno schermo nero) che si trova alle righe 35,36 del file index.html

L'immagine e' navigabile via mouse o tastiera per cambiare l'orientazione


Da Debian Stable a Testing

A causa di un programma che mi richiede una versione di GLibC moderna (almeno 2.18) ho dovuto abbandonare Debian Stable (dove e' presente la versione 2.13) per passare nel ramo Unstable


Dato che non avevo voglia di ripartire da una installazione da zero ho provato a fare il dist-upgrade.

La procedura, anche se un po' lunga, e' piuttosto semplice
in /etc/apt/sources si sostituisce la stringa stable con testing

apt-get update
apt-get --download-only dist-upgrade
apt-get dist-upgrade

il sistema e' ripartito correttamente senza particolari problemi

mercoledì 21 maggio 2014

IBeacon e direzione

Ho fatto qualche prova per vedere di poter replicare la navigazione con i radiofari (beacon) che veniva utilizzata in aeronautica prima dell'avvento delle nuove tecnologie

In pratica si puo' fare navigazione mettendo un trasmettitore con una antenna omnidirezionale (beacon) ed un ricevitore con una antenna direzionale. In questo modo l'aereo punta direttamente sul radiofaro massimizzando il segnale nella propria antenna direzionale

Si puo' fare qualcosa di simile con IBeacon ed i telefoni cellulari??
Per la prova ho preso un Motorola G ed un AprilBeacon ed ho scritto una piccola applicazione che legge i valori di RSSI di BT4
Dopo ogni serie di misure ho ruotato il telefono di 90° (mantenendolo alla stessa distanza) e ripreso le misure (l'angolo 0° coincide con il telefono puntato in direzione del beacon e 180° con il telefono orientato in direzione opposta al beacon

Serie 1
Come era lecito attendersi i valori di RSSI sono molto variabili e danno luogo a grandi valori della standard deviation. In ogni caso l'orientazione a 90° sembra sensibilmente quella con valori minori



Serie 2
nella serie 2 i dati dell'angolo 0° sono decisamente anomali. In ogni caso si ha che ancora l'angolo 90° mostra i valori minori

In sostanza sembra che ci sia una certa direzionalita' nelle antenna BT dei telefoni cellulari ma i valori di RSSI sono cosi' poco affidabili da rendere sostanzialmente impossibile utilizzare nel mondo reale tale metodo


lunedì 12 maggio 2014

Da SMB Share name a IP

Per trovare l'indirizzo IP di una connessione SMB  sotto Windows e'  sufficiente richiamare il comando NBTSTAT seguito dal nome del computer

Per esempio

nbtstat -a hw2229



giovedì 8 maggio 2014

Illegal Operation su OpenNi e IBM X40

Ho compilato da sorgenti le librerie OpenNI e PyOpenNI sul mio IBM X40 per poter usare il programmino per gestire il Kinect gia' visto in questi post



Con sopresa pero' lo script genera un errore di "Illegal Operation"
Dopo un po' di ricerche ho scoperto che OpenNi e' ottimizzato per utilizzare le estensioni delle istruzioni del processore SSE3 mentre il Centrino montato sull'X40 ammette solo le estensioni SSE2

In conclusione non si puo' usare Kinect accoppiato all'IBM X40

Opencv camera calibration in cpp

Oltre che con uno script Python come visto qui la calibrazione della camera si puo' fare anche con il programma in CPP Questo il proce...