Gruppo Meteo/HowToOld
How to start
Di seguito tutti i passaggi (o quasi) per rendere funzionante un sistema rmap che comprenda uno modulo base, un modulo master ed un modulo satellite.
Modulo base
Hardware
|
Programmazione
Attualmente è possibile scaricare una immagine già pronta di scheda SD nella pagina software alla voce Software pronto all'uso. La dimensione minima richiesta è di 8 giga.
Connessione in rete
Per il collegamento in rete è consigliabile utilizzare uno switch a cui collegare sia il modulo base, che il modulo master, che eventualmente un portatile per connettersi a Raspberry.
Il modulo base si collega ad internet con una chiavetta wifi su cui va settata la chiave di rete.
In dettaglio il raspberry ha attivo anche un dhcp e fa anche da dns.
Al nome "base" corrisponde l'ip 192.168.0.1. Gli ip assegnati alle board iniziano da 192.168.0.100.
Prima connessione
Info utili per l'accesso a Raspberry:
- hostname: base
- indirizzo ip: 192.168.0.1
- user: rmap - password: rmap
- user: root - password: cambiami
ssh root@base
La chiavetta permette la sincronizzazione ntp da internet e l'upload dei dati su internet inoltre il raspberry è gia configurato come gateway e permette il collegamento ad internet anche degli altri dispositivi collegati allo switch perciò l primo passaggio da effettuare è la configurazione della chiave di rete.
Vanno modificati alcuni files di configurazione.
Ad esempio se la rete ha SSID Pat1 vanno modificati i seguenti files:
/etc/sysconfig/network-script/ifcfg-AutoPat1 /etc/sysconfig/network-script/keys-AutoPat1
Modificare la configurazione e riavviare.
Connessione al modulo base via web
Con un browser puntare all'indirizzo:
http://base/
Verificare che tutti i processi siano attivi cliccando "verifica processi".
A questo punto si passa alla fase di configurazione: cliccare "Configurazione". (Per l'accesso: rmap/rmap)
Configurazione
Sono presenti alcune pagine per la configurazione dei dati sia dei sensori che dei dati della stazione vera e propria.
Cliccare:
- Station Metadata
- Home
- Aggiornare i dati di posizione (latitudine, longitudine altezza) e gli altri metadati (Mantenere slug "home").
Uscire e procedere con le seguenti operazioni
- Hardware boards
- modificare la configurazione in base alle board che si vorranno collegare alla stazione base
Per render operative le modifiche apportate ai metadata del modulo base va restartato stationd (per un problema in fase di analisi, e' consigliato un reboot).
Aggiornamento del software
Da user rmap
cd /home/rmap/svn/r-map-code/trunk/ svn up
Da root
su - yum clean expire-cache yum install rmap
Modulo master
Il modulo B richiede cavo ethernet con power over ethernet.
Hardware
Hardware
|
Aggiornamento bootloader
E' necessario aggiornare il bootloader di arduino mega per evitare che il watchdog intervenga resettando la scheda in modo indesiderato
avrdude -c dragon_isp -P usb -p atmega2560 -e -u -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xD8:m -U efuse:w:0xFF:m avrdude -c dragon_isp -P usb -p atmega2560 -V -U flash:w:/usr/share/arduino/hardware/arduino/bootloaders/stk500v2/stk500boot_v2_mega2560.hex avrdude -c dragon_isp -P usb -p atmega2560 -U lock:w:0x0F:m
The first command unlocks the bootloader section and sets the fuses. The second writes the bootloader to the flash memory. And the third locks the bootloader section again.
Programmazione
Utilizzare il modulo A, accedere con l'utente rmap (pass rmap).
E' presente sulla home una dir svn che contiene tutto il software:
cd /home/rmap/svn/r-map-code/trunk svn up cd arduino/ino/rmap ino clean ln -sf /home/rmap/svn/r-map-code/trunk/arduino/ino/rmap/src/rmap_master.h /home/rmap/svn/r-map-code/trunk/arduino/ino/rmap/src/rmap_config.h ino build -m mega2560 ino upload -m mega2560 ino serial
un pò di spiegazione: nella home dell'utente rmap è presente tutto l'archivio software
con il comando svn up si aggiorna l'archivio scaricando l'utima versione dal repository
ino clean pulisce l'ambiente per la compilazione
linkiamo nello skecth la configurazione per il modulo master dato, l'unica cosa che cambia tra lo sketch del modulo master e quella del modulo satellite è questa e viene gestita cambiando il puntamento al file di configurazione
ino build compila il software per la piattaforma mega 2560
ino upload carica lo sketch su arduino
ino serial attiva il monitor seriale
Configurazione
aggiornare le info sul file usando l'interfaccia web
http://base:/
per forzare il caricamento della configurazione avviare arduino con il pin 8 collegato a massa
rmap-configure
Modulo satellite
Il modulo C richiede batterie con stabilizzatore (e pannellino solare con regolatore di corrente)
Hardware
|
Programmazione
E' simile a quella del modulo master si cambia solo il link al file di configurazione con un link simbolico ed il modello della scheda per compilazione ed upload
cd /home/rmap/svn/r-map-code/trunk svn up cd arduino/ino/rmap ino clean ln -sf /home/rmap/svn/r-map-code/trunk/arduino/ino/rmap/src/rmap_satellite.h /home/rmap/svn/r-map-code/trunk/arduino/ino/rmap/src/rmap_config.h ino build -m 644pa16m ino upload -m 644pa16m ino serial
Configurazione
Per la configurazione si usa il comando rmap-configure.
Sulle board per va collegato a massa i pin 8, sul modulo master è predisposto un apposito jumper vicini appunto al pin 8.
Durante la fase di configurazione devono essere collegati tutti i moduli da configurare con i relativi sensori altrimenti la configurazione non va a buon fine.
In caso di necessità è comunque possibile disabilitare un modulo dalla configurazione web che può essere riattivato a configurazione eseguita.
[rmap@pidora ~]$ rmap-configure django_extensions is not installed; I do not use it STATION: home >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> configure board: my master start configuration Serial Transport /dev/ttyACM0 >>>>>>> reset config save {'reset': True} TCP/IP Transport master mqttserver: {'mqttsampletime': 5, 'mqttserver': 'mqttserver'} mqtt user and password: {'mqttpassword': u, 'mqttuser': u} ntpserver: {'ntpserver': 'ntpserver', 'mac': 'OK'} RF24Network Transport 0 thisnode: {'thisnode': 0, 'channel': 93} key: {'key': 'OK'} iv: {'iv': 'OK'} >>>> sensors: remote sensor tmp-True-RF24-TMP-72-254,0,0-105,2000,-,--my-master add driver: {'id': 0} my sensor-True-TMP-TMP-72-254,0,0-105,4000,-,--my-master add driver: {'id': 1} mqttrootpath: {'mqttrootpath': 'rmap/-/1137617,4449221/rmap/'} >>>>>>> save config save {'save': True} ----------------------------- board configured --------------------------------------- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> configure board: my microduino start configuration Serial Transport /dev/ttyUSB0 >>>>>>> reset config save {'reset': True} transport tcpip not present RF24Network Transport 1 thisnode: {'thisnode': 1, 'channel': 93} key: {'key': 'OK'} iv: {'iv': 'OK'} >>>> sensors: my sensor-True-TMP-TMP-72-254,0,0-105,10000,-,--my-microduino add driver: {'id': 0} mqttrootpath: {'mqttrootpath': 'rmap/-/1137617,4449221/rmap/'} >>>>>>> save config save {'save': True} ----------------------------- board configured --------------------------------------- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> configure board: my raspberry start configuration transport serial not present
Volendo i dati si possono vedere anche un client in rete con Android:
Visualizzazione dei dati in formato grafico
I grafici vengono visualizzati su graphite seguire le istruzioni su questa pagina
Shutdown del modulo base
Sul modulo base è presente il software [raspdbusgpiopy] sviluppato nei mesi precedenti che monitora li stato del pin18 sul gpio.
Quando il pin 18 viene collegato a massa, il software invia un segnale su dbus e il sistema va in shutdown, questo risulta molto comodo quando il modulo base risulta installato headless cioè senza testiera e video collegati.