UDOO Quad
Banana Pi
Raspberry Pi Modello B+
Raspberry Pi Modello B Rev2
Il pacchetto completo Telearpic è fatto principalmente per tre tipologie di schede
quali Raspberry Pi (B ver 1-2 e Plus), BananaPi e Udoo (versione Quad)
Eseguendo il file FullInstall.sh viene riconosciuta la scheda ed installati
tutti i software neccessari.
Naturalmente occorre essere in rete per scaricare i vari pacchetti come apache2,
php5, mySQL, phpmyadmin e altro mentre per ser2net, socat, i2c-tools, libi2c-dev,
noip e wiringPi i pacchetti di installazione sono inclusi.
In realtà lo script è predisposto per gestire tutti i pacchetti inseriti nelle apposite cartelle
ma il file.zip risulta poi essere superiore ai 30MB anzichè 8.2MB come risulta attualmente.
Lo script si occupa anche di eseguire configurazioni varie e può essere
rilanciato più volte per verificare se tutto OK, o per cambiare password
del batabase come vedremo più avanti.
Attenzione! Eevitare gli errori di Editor sui file per Linux
(mi riferisco ai caratteri di fine riga, solo LF per Linux, CRLF per windows)
Prepariamo la scheda SD già formattata e scriviamo l'immagine del S.O.
con win32diskimager, al 15/11/2014:
Raspberry Pi ---> 2014-09-09-wheezy-raspbian.img
Banana Pi ---> Raspbian_For_BananaPi_v3_1.img
Udoo quad ---> UDOObuntu_quad_v1.0.img
Alimentiamo la scheda e digitiamo:
sudo raspi-config
configuriamo Raspberry Pi e BananaPi
mentre per UDOO attraverso tastiera USB e monitor, usiamo Confiration Tools.
Configurare:
1 Expand Filesystem (Espando la partizione della scheda SD)
2 Change User Password (la password che vi piace)
4 Internationalisation Options
I1 Change Locale (disabilito EN.UTF... con barra spazio, abilito it_IT.UTF-8 UTF-8)
I2 Change Timezone (Europa , Rome)
I3 Change Keyboard Layout (l'ho usato solo per Udoo, dipende dalla vostra tastiera)
8 Advanced Options
A2 Hostname (come vi piace)
A5 SPI (set NO)
A6 I2C (set NO)
A7 Serial (set NO)
FINISH
Riavvio con
sudo reboot
Diamo una password di root con:
sudo passwd
quindi aggiornare password come richiesto.
Settiamo nome host e indirizzo IP statico.
Per Raspberry Pi o Banana Pi digitiamo:
sudo nano /etc/network/interfaces
Otteniamo:
auto lo
iface lo inet loopback
#iface eth0 inet dhcp Commentiamo la linea con '#' per eliminare dhcp
Inseriamo le seguenti righe:
#Static
iface eth0 inet static
address 192.168.1.190 Scegliamo un IP considerando la nostra rete
netmask 255.255.255.0
gateway 192.168.1.1
network 192.168.1.0
broadcast 192.168.1.255
Lasciare invece queste righe come sono:
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
ctrl 'X' per uscire e 'S' per salvare
Naturalmenti gli indirizzi vanno poi aggiornati in base alla propria rete.
Per Udoo invece sempre in modalità grafica settiamo IP un statico
identico sia per eth0 che per wifi utilizzando Network Manager
come in un normale PC
Riavviamo poi con:
sudo reboot
Abbandoniamo l'eventuale modalità grafica e digitiamo da terminale:
sudo apt-get update
sudo apt-get upgrade
Occorre attendere dai 10 ai 20 minuti ed anche 40 per Banana Pi
a seconda della disponibilità di banda che i server sono in grado di offrire.
Adesso riavviamo ed iniziamo con l'installazione del pacchetto Unico Telearpic...
Decomprimiamo il pacchetto TelearpicWeb ed attraverso winSPC copiamo l'intera
directory Telearpic all'interno della directory UTENTE
che sarà ad esempio:
/home/pi per Raspberry Pi
/home/bananapi per BananaPi
/home/ubuntu per Udoo
Lo script rileva in automatico l'utente corrente.
Quindi avremo:
/home/<utente>/Telearpic
diamo i permessi allo script con:
sudo chmod 755 Telearpic/FullInstall.sh
La password per mySQL (di default è 'prova' senza apici)
Se vogliamo modificare la password di mySQL per l'utente di root,
lo possiamo fare quando vogliamo rilanciando lo script con altri due parametri:
sudo Telearpic/FullInstall.sh -password NUOVA_PASSWORD
Lo script gestisce in maniera autonoma il problema Hold_Passwrd e New_Password
memorizzando le password all'interno dello stesso script.
Viene anche aggiornato il file
/var/www/inc/database.php che contiene la password per tutte le operazioni sul server.
Durante l'installazione di apache2 viene richiesto di inserire 2 volte la password per l'utente root,
dovete digitare la hold_password come viene suggerita sul terminale poco prima dell'installazione
anche se avete cambiato in anticipo la password pwdDB sullo script.
Per avviare l'installazione completa digitiamo:
sudo Telearpic/FullInstall.sh
Riassunto delle operazioni eseguite dallo script FullInstall.sh
Se tutto OK digitando $ installtele (la prima volta occorre digitare come sopra poichè mancano gli 'alias':
quindi...
Le righe di colore verde sono le operazioni trovate già OK
Le righe gialle indicano le operazioni eseguite
Le righe rosse indicano criticità
Gli altri colori si riferiscono alle informazioni da leggere con attenzione.
Apriamo un browser e digitiamo:
IP_Statico del dispositivo
User = admin@gmail.com
Password = password
Ora è possibile verificare grafici, modificare la configurazione, inviare comandi e altro.
La configurazione del dispositivo e della rete sta nel file /home/<UTENTE>/wiringPi/Domotica/LoadConfig.txt
questa viene eseguita ad ogni riavvio della scheda o del servizio telearpic.
Nella cartella /var/www/inc ci sono i file relativi all'indirizzo mail dell'amministratore della rete
vedi /var/www/inc/maildata.php
Il file /var/www/help/ConfigRete.dat è lo stesso file che si trova nella cartella di telearpic VB2012
ed è tramite questo software che è possibile configurarlo. Comunque si può usare anche Notepad++
se si intuisce la logica. Per quanto riguarda il grafico del Logger, questo per default parte dalla data corrente
mentre il file allegato arriva fino al 22/09. Per filtri più complessi occorre inserire anche l'anno nel formato gg/mm/aa.
Per ogni chiarimento scivete a telearpic.monti@gmail.com.
Login di accesso al server Telearpic
Aiuto con visualizzazione delle opzioni del comando
Descrizione del comando
Invio di un comando con risposta (orologio)
Gestione comandi predisposti
Visualizzazione Log giornaliero barrerie con carica solare
Stesso Log visto in modalità grafica (si nota accensione router + altri carichi alle 8:30)
Configurazione del sistema. ad ogni riavvio vengono eseguiti tutti i comandi (stop con '!' e tempi di attesa [xxx])
Non ci sono molte differenze fra una scheda ed un'altra, solo durante l'elaborazione del grafico
(vedi immagine sopra) abbiamo tempi di risposta molto differenti, Raspberry Pi impieaga 22 secondi circa,
BananaPi ne impiega 4,2 mentre Udoo 4,8 (dovrebbe essere invece la più veloce).
Se vogliamo connettere diverse schede ad esempio BananaPi con Arduino, utilizziamo una seriale RS232.
Ma se vogliamo connette BananaPi con Udoo o Raspberry Pi, dopo averle connesse in rete, basta digitare
quanto segue:
Ipotizziamo un situtuazione del genere
Banana Pi nodo 'Q' IP 192.168.1.188
Raspberry Pi nodo 'S' IP 192.1681.1.190
UDOO nodo 'D' IP 192.168.1.180
Da TelearpicWeb o Telearpic per Windows in VB12 ci colleghiamo su BananaPi e digitiamo il comando:
*QAWXS192.168.1.190 2 U#
*QAWXS192.168.1.180 3 U#
Abbiamo creato così 2 connessioni socat una su COM2 (virtuale) ed una su COM3(virtuale) e con 'U'
le abbiamo mandate in UP ('D' per down, 'R' per restart).
Occorre gestire le tabelle dei nodi per poter scambiare comandi.
Sempre connessi su BananaPi co Telearpic digitiamo i comandi:
*QAUR1A2S3D#
*SAUR1AQD#
*DAUR1AQS#
BananaPi si connetterà sulla COM1 virtuale sia di Raspberry Pi che UDOO.
Se le schede non avevano impostato il nome del nodo (Q,S,D) occorrono allora questi comando:
*QAUN00Q#
*QAUR1A2S3D#
*SAUN01S#
*SAUR1AQD#
*DAUN01D#
*DAUR1AQS#
Quindi occorre configurare il primo nodo a cui si è collegati, UN è un comando forzato speciale
che battezza i nodi man mano che riesce a raggiungerli. Per raggiungerli occorre il comando
UR che imposta ciò che le varie COM reali e virtuali riescono a raggiungere.
Se vogliamo che BananaPi registri temperature rilevate con i chip DS1631 I2C
collegate ad su nodi Arduino e/o ChipKit Max32 con misure di batteria analogiche
ipotizzando di avere configurato anche i nodi:
ChipKit Max32 nodo 'U'
Arduino Mega 2560 nodo 'T'
Arduino Mega 2560 nodo 'P'
Possiamo configurare BananaPi con i seguenti comandi:
*Q0ZS0040UQBA140$UQBA070$UQIT90AA$TQIT90AA$PQIT90AA#
*Q0QM00FF1D1D010040#
*Q0BFMH01#
Il primo serve per eseguire le letture sui vari dispositivi con risposta al nodo 'Q' quindi al
Logger di BananaPi. Il secondo crea un temporizzazione di 30 minuti fra una lettura ed
un'altra mentre il terzo abilita il flag M per attivare la temporizzazione che può essere
interrotta portando il FlagM a 00 con il comando *Q0BFML01# (primo bit = Low).