A.Freda (AKA Astroale), appassionato di astrofotografia digitale e di autocostruzione elettronica e meccanica, ci guida nell'assemblaggio e nell'installazione del sensore JoyWarrior 24F8. Con questo sensore, dotato di interfaccia USB, è possibile partecipare al progetto Quake Catcher Network.
.
Il sensore JoyWarrior 24F8 è un accelerometro a tre assi collegabile a una porta USB. Attualmente è l'unico ufficialmente supportato dal QCN per la propria rete “desktop” che nelle intenzioni dei gestori del progetto lavorerà in parallelo ad una rete “mobile” basata sugli accelerometri contenuti in alcuni modelli di PC portatili.
Attualmente e possibile acquistare un kit JoyWarrior in Europa dal sito Codemercs al costo di circa 66€, spese di spedizione e tasse (IVA) comprese. La scatola del kit per il QCN contiene:
- la schedina del sensore
- un cavo USB
- un box plastico in due pezzi su misura per la schedina
- un foglietto di istruzioni in tedesco/inglese
ASSEMBLAGGIO
Assemblare il sensore è relativamente semplice, basta aver un poco di pratica con il saldatore e rispettare l'ordine dei fili sulla scheda e il verso in cui va inserita nel box plastico. Il collegamento dei fili alla scheda deve seguire il seguente ordine:
- +5V = rosso
- D- = bianco
- D+ = verde
- Gnd = nero
La schedina va poi inserita nel box con il lato componenti verso l'alto e il lato delle saldature dalla parte opposta dell'ingresso del cavo USB.
Il secondo pezzo del box va poi incastrato nel primo allargandolo leggermente con delicatezza visto che non sembra molto robusto, seguendo le guide e premendo per chiudere.
Il secondo pezzo del box va poi incastrato nel primo allargandolo leggermente con delicatezza visto che non sembra molto robusto, seguendo le guide e premendo per chiudere.
TEST e CARATTERIZZAZIONE degli ASSI
Collegando il sensore alla porta USB, Windows (sia XP che VISTA) riconosce automaticamente una nuova periferica, e lo possiamo verificare da “Risorse del computer => proprietà => Hardware => Gestione periferiche”. Nell'elenco sotto “Human Interface Device (HID)” dovrà essere presente una nuova voce “Controller gioco compatibile HID”, un altro joystick quindi. Da “Pannello di controllo => Periferiche di gioco” dovremmo vedere una nuova voce Joystick in stato OK, selezionando le proprietà e il tab “test” devono essere presenti 3 assi, nessun pulsante, e muovendo il sensore dovremmo vedere muoversi i relativi controlli dell'applicazione di test.
Un test simile può essere eseguito dalla GUI del QCN, un programma didattico interattivo chiamato QCN Live che riporta le letture sui tre assi in formato grafico. Con questo ci possiamo divertire a sollecitare il sensore in vari modi per vedere quali sono quelli che causano le attivazioni (trigger) rappresentate graficamente da linee verticali, che, durante l'attività del client BOINC comporteranno l'upload al server QCN di un'intervallo dei dati registrati intorno all'istante in questione.
Sempre con il programma QCN Live è consigliabile verificare l'orientamento e il verso degli assi del sensore, poichè questo andrà posizionato in direzione nord-sud.
Spostando il sensore avanti e indietro una sola volta, lungo uno dei lati del box, dovremmo ottenere due impulsi di segno opposto (come quelli evidenziati nel rettangolo rosso in figura), su uno solo degli assi, avremmo in questo modo identificato sia l'asse che il suo verso. Se il primo impulso è positivo e il secondo negativo allora l'asse è a crescere nella direzione del primo spostamento e viceversa.
Sempre con il programma QCN Live è consigliabile verificare l'orientamento e il verso degli assi del sensore, poichè questo andrà posizionato in direzione nord-sud.
Spostando il sensore avanti e indietro una sola volta, lungo uno dei lati del box, dovremmo ottenere due impulsi di segno opposto (come quelli evidenziati nel rettangolo rosso in figura), su uno solo degli assi, avremmo in questo modo identificato sia l'asse che il suo verso. Se il primo impulso è positivo e il secondo negativo allora l'asse è a crescere nella direzione del primo spostamento e viceversa.
POSIZIONAMENTO
Il sensore, secondo quanto consigliato dai gestori del progetto, andrebbe incollato nel posto più vicino alle fondamenta della casa, per evitare che eventi come lo sbattere di porte o finestre provochino troppe false attivazioni. Quindi non sulla scrivania ma almeno sul pavimento e in posto al riparo da possibili urti di scope o lucidatrici, l’ideale sarebbe proteggerlo dentro un contenitore fissato al muro.
Dal test sugli assi, il mio sensore è risultato identico a quello mostrato sul forum del QCN e quindi è stato posizionato con il cavo USB uscente in direzione nord dalla parte bassa del box. Nel mio caso (figura a lato) ho usato del normale attaccatutto ripulendo per bene le superfici da incollare e aiutandomi con il bordo della bussola per mantenere la direzione giusta. Controllando inoltre che il cavo USB con fosse in trazione e che a colla essicata il sensore non inizi a spostarsi o a ruotare (attenzione ai pavimenti con la cera).
CONFIGURAZIONE e REQUISITI per il funzionamento del software
Perchè il client QCN possa funzionare correttamente dobbiamo verificare i seguenti requisiti:
- PC con CPU > 2 Ghz e una porta USB libera.
È possibile (leggi sotto) usare anche PC più lenti, modificando la priorità del client QCN manualmente da task manager o automaticamente (in vari modi). Naturalmente è preferibile utilizzare un PC che sia acceso 24 ore su 24 per aver maggiori probabilità di registrare un evento. - Programma BOINC installato.
La versione consigliata è la 6.4 poiché sui PC con più di una CPU virtule (core o HT), che utilizzano versioni precedenti, viene lanciato erroneamente un numero di client maggiore di quello corretto che, vista la natura del programma, è 1. Tuttavia se già BOINC è messo in condizioni (configurazione o tipo di CPU) di lanciare un solo client “elaborativo”, non avrà problemi e lancerà anche un solo client QCN, quindi sarà possibile usare anche una versione 5.x di BOINC. - Collegamento diretto a internet.
Il collegamento, come previsto da BOINC può essere diretto oppure via proxy se ad esempio siete connessi a una LAN, tuttavia in questo caso è bene controllare che non sia bloccata da qualche firewall la porta 23 UDP poiché una delle funzioni essenziali per il funzionamento del client QCN è la sincronizzazione temporale degli eventi tramite un client NTP. Nota si parla di sincronizzazione degli eventi e non dell'orologio del PC, infatti il client NTP utilizzato dal QCN non è “invasivo” e si limita a calcolare la differenza tra il clock del PC e quello del server NTP di Stanford.
Una volta completata l'installazione fisica del sensore e il collegamento ad un PC adeguato, si potrà fare l'attach del progetto QCN Alpha Test al link http://qcn.caltech.edu/sensor/
Se tutti i requisiti precedenti sono stati rispettati, in parallelo ai client BOINC tradizionali partirà l'elaborazione di una WU un poco atipica per la piattaforma BOINC. Il suo stato sarà “Running” su BOINC 5.x e “Running non-CPU intensive” su 6.x, e il processo del client (qcnX.XX_windows_intelx86.exe) da task manager non dovrà in condizioni normali utilizzare più del 1% della CPU. Una WU dura esattamente 24 ore ed equivale all'ascolto del sensore per un giorno intero, per un utilizzo tipico del processore di circa 5 minuti di CPU Time complessivo.
L'attività del proprio host ha una sua pagina di report con un storico delle attivazioni nelle ultime 24 ore. In blu sono visibili delle attivazioni periodiche di controllo (i cosiddetti trigger di ping che hanno una cadenza di 30 minuti) mentre le righe bianche corrispondono a attivazioni reali, nel 99% dei casi dovute ad eventi di microsismicità locale o forse a rumore interno del sensore e quindi tipicamente di bassa intensità.
Se l'NTP client riesce a comunicare correttamente con il server del progetto, le colonne “Sync Time” e “Sync Offset” saranno popolate, in caso contrario saranno vuote e quindi occorrerà verificare il firewall o altri programmi che bloccano le comunicazioni con alcuni IP (ad esempio PeerGuardian) altrimenti invieremo i nostri eventi senza sincronizzazione temporale e il tutto sarà completamente inutile!
Ultimo passo essenziale è aggiungere il riferimento geografico: sempre dalla pagina del proprio host (dopo aver fatto il logon) dal link alla voce "Computer Locations" si accede alla pagina di edit dell'host location. Di default sono attive le coordinate riferite al domicilio del nostro ISP probabilmente tratto dall'IP "esterno" del nostro PC che tuttavia è assolutamente da cambiare dato che con questo metodo può facilmente accadere di ritrovarsi nella città sbagliata. Con questo sistema basato su Google Maps si può riportare in modo molto preciso la posizione del nostro sensore, in particolare ho potuto anche trovare il tetto del mio condominio e dare la posizione della "colonna" dove si trova il mio studio. Tuttavia le coordinate del nostro PC per i visitatori poi vengono riportate sul sito in modo approssimato in modo da traslare in modo causale (da qualche centinaio di metri a qualche km) la posizione pubblica e garantire la privacy degli utenti.
Se l'NTP client riesce a comunicare correttamente con il server del progetto, le colonne “Sync Time” e “Sync Offset” saranno popolate, in caso contrario saranno vuote e quindi occorrerà verificare il firewall o altri programmi che bloccano le comunicazioni con alcuni IP (ad esempio PeerGuardian) altrimenti invieremo i nostri eventi senza sincronizzazione temporale e il tutto sarà completamente inutile!
Ultimo passo essenziale è aggiungere il riferimento geografico: sempre dalla pagina del proprio host (dopo aver fatto il logon) dal link alla voce "Computer Locations" si accede alla pagina di edit dell'host location. Di default sono attive le coordinate riferite al domicilio del nostro ISP probabilmente tratto dall'IP "esterno" del nostro PC che tuttavia è assolutamente da cambiare dato che con questo metodo può facilmente accadere di ritrovarsi nella città sbagliata. Con questo sistema basato su Google Maps si può riportare in modo molto preciso la posizione del nostro sensore, in particolare ho potuto anche trovare il tetto del mio condominio e dare la posizione della "colonna" dove si trova il mio studio. Tuttavia le coordinate del nostro PC per i visitatori poi vengono riportate sul sito in modo approssimato in modo da traslare in modo causale (da qualche centinaio di metri a qualche km) la posizione pubblica e garantire la privacy degli utenti.
RETE FISSA e RETE MOBILE
Come dicevo all'inizio esiste anche una rete basata sugli accelerometri contenuti nei PC portatili. Questa dovrebbe inizialmente disporre di più nodi grazie alla facilità di mettere a disposizione l'accelerometro del proprio portatile semplicemente facendo l'attach del progetto. Tuttavia la mancanza di specifiche degli accelerometri interni dei portatili rende attualmente difficile partecipare alla rete, a dispetto di un'operazione di attach conclusa con successo, poi il client non funziona. Solo pochi modelli di portatili sono supportati (IBM-Lenovo ThinkPad e Mac) e spesso neanche quelli funzionano bene. Inoltre credo che una rete “mobile” potrebbe essere meno affidabile per vari motivi:
- l'operatività è limitata ai periodi in cui il portatile è attivo e non viene toccata la tastiera, tuttavia questa configurazione è manuale, quindi è possibile che utenti possano, non avendo configurato correttamente il profilo, inviare eventi (trigger) dovuti al semplice uso del PC
- un portatile attivo inoltre non si troverà quasi mai in corrispondenza delle fondamenta dell'edificio in cui si trova, quindi potrà dare un numero maggiore di trigger dovuti a vibrazioni della struttura innescati dallo sbattere di porte e finestre, colpi alla scrivania ecc.
- l'aggiornamento della posizione geografica del portatile è manuale e a carico dell'utente, quindi è maggiormente probabile che non tutti i nodi siano continuamente aggiornati alla loro posizione reale
- a differenza del JW il sensore del portatile non avrà quasi mai gli assi orientati rispetto al nord geografico
CONCLUSIONI e RIASSUNTO dei REQUISITI
In conclusione prima di imbarcasi in queste prove bisogna verificare di poter soddisfare tutti i requisiti tecnichi sopra elencati e tener in conto che se si vuol provare, lo deve fare con il fine unico del test di progetto e non quello di produrre dati utili, a scanso di equivoci e inutili delusioni.
Ecco in breve riassunti i requisiti più o meno obbligatori per poter partecipare al test in modo utile:
- test preventivo del programma QCN Live; anche in assenza del sensore il programma deve funzionare pur senza mostrare dati, se il programma non parte a causa di un errore di sistema, probabilmente su quel PC non funzionerà neanche il client QCN per BOINC
- sito con ridotta sismicità locale, il più vicino possibile al suolo, se siete su un soppalco in ferro dentro una fonderia, o al 14-esimo piano, forse meglio rinunciare, per evitare di inviare un numero eccessivo di false attivazioni
- PC con CPU > 2 GHz preferibilmente sempre acceso
- BOINC installato in versione 6.x per CPU multicore, 5.x per CPU a core singolo e non HT
- accesso a internet continuo, con firewall sbloccato sulla porta dell'NTP client (23 UDP)
- sul forum consigliano di tenere sotto gruppo di continuità sia il PC che l'NT per l'accesso alla rete, perchè in corrispondenza di una scossa di particolare magnitudo solitamente si verifica un blackout; basterebbe un'autonomia di pochi secondi perchè l'invio dei dati del trigger avviene subito dopo la scossa
Come avevo accennato è possibile partecipare anche con CPU più lente di 2 GHz: potete seguire i test che sto facendo dal mio Celeron M 1.3GHz su forum del QCN qui e qui o contattarmi direttamente per qualsiasi dubbio.
Un grosso ringraziamento va ad astroale per la sua esauriente guida la cui versione originale e aggiornata è presente sulle pagine del suo sito.