Differenze tra le versioni di "Gruppo Meteo/HowToOld"

Da raspibo.
Jump to navigation Jump to search
Riga 117: Riga 117:
 
=== Aggiornamento del software ===
 
=== Aggiornamento del software ===
  
Da user rmap
+
Da utente root
  
cd /home/rmap/svn/r-map-code/trunk/
+
yum upgrade --skip-broken -y
svn up
+
reboot
 
 
Da root
 
 
 
su -
 
yum clean expire-cache
 
yum install rmap
 
  
 
= Modulo master =
 
= Modulo master =

Versione delle 14:32, 16 ott 2014

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

  • raspberry B
  • sdcard
  • alimentatore
  • connettore gpio
  • breadboard
  • sensori
  • hub usb alimentato
  • chiavetta wifi
  • hard disk usb (opzionale, ma consigliato), con una partizione etx4 ed etichetta "rmap"
  • RTC (opzionale ma consigliato)
Modulo base

Programmazione

Attualmente è possibile scaricare una immagine già pronta di scheda SD nel sito download. 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 o GSM/GPRS o ethernet. Per ognuna di queste è necessario effettuare apposite configurazioni per impostare la rete.

Il raspberry ha attivo anche un dhcp e fa anche da dns.

Al rspberry risponde al nome "base" mentre le board master ai nomi:

  • master
  • master2
  • master3
  • master4

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ò il primo passo da effettuare è la configurazione della rete.

Da riga di comando:

nmcli device wifi list
nmcli device wifi connect <SSID> password <password>

Per configurare altre interfacce di rete consultare la documentazione di nmcli

Connessione al modulo base via web

Con un browser puntare all'indirizzo:

http://base/


Monitoraggio processi

Verificare che tutti i processi slvo stationd siano attivi cliccando "verifica processi".

A questo punto si passa alla fase di configurazione: cliccare "Configurazione". (Per l'accesso: rmap/rmap)

Monitoraggio processi

Configurazione

Sono presenti alcune pagine per la configurazione dei dati sia dei sensori che dei dati della stazione vera e propria.

Cliccare:

Station

  • Aggiornare i dati di posizione (latitudine, longitudine) (Mantenere slug "home").

Salvare, ed eventualmente procedere con le altre personalizzazioni tramite sempre l'interfaccia web.

  • Hardware boards
  • attivare/disattivare/modificare la configurazione in base alle board che si vorranno collegare
  • sensor
  • attivare/disattivare/modificare la configurazione in base ai sensori che si vorranno collegare

Come ultima operaione attivare la station home sempre dal menu Station

Stationd dovrebbe ora partire iniziando ad rilevare i dati del modulo base.

Configurazione
Configurazione
Configurazione
Configurazione
Configurazione
Configurazione
Configurazione
Configurazione
Configurazione
Configurazione

Aggiornamento del software

Da utente root

yum upgrade --skip-broken -y reboot

Modulo master

Il modulo B richiede cavo ethernet con power over ethernet.

Hardware

Hardware

  • arduino mega 2560
  • breadborad
  • modulo RTC
  • modulo mini ethernet ENC60
  • modulo radio RF24
  • cavo power over ethernet
  • stabilizzatore dcdc switched
  • sensori
Modulo master
Modulo master, schema




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

  • moulo microduino core+ (ATmega644p@5V 16MHz)
  • modulo microduino RF24 con antenna
  • modulo microduino seriale USB FT232R
  • sensori
Modulo satellite

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 da android


Visualizzazione dei dati in formato grafico

I grafici vengono visualizzati su graphite seguire le istruzioni su questa pagina

Visualizzazione grafica
Visualizzazione grafica

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.