Directories di lavoro sotto: /home/
Caricamento automatico al boot
L’avviamento del sistema deve avvenire in questo ordine:
Cambiare i permessi Lettura Scrittura Esecuzione
IP Locale fisso: come assegnarlo
Username Hazopp_bot
Name Hazop
Web http://telegram.me/Hazopp_bot
Token 682104157:AAG_dDtDdT0P4U-E1M0vjePRh-Tb0ZTxgqE
ID 984105435
Username Lavinio_bot
Name Lavinio
Web t.me/Lavinio_bot
Token 922643155:AAGlCg-dVr_yMuShq8JbKSS-kbL8x4b15nw
CHATID 984105435*
Username Br1Leo_bot
Name Br1Leo
Web t.me/Br1Leo_bot
Token 1043877719:AAGSTJIjhv0fUVc1A_fUIZqscnOKrDcxz-4
CHATID 984105435*
*Per trovare l’ID mandare un messaggio qualsiasi a @chat_id_echo_bot
connected_clients = {}
# Dictionaty containing all connected clients
Installazione telepot pip install telepot
pip install telepot -- upgrade
(prima installare pip con sudo apt install pip)
Lav202 (8 file) LavServer202.py Start202.py pict.jpg angolo.txt datax.txt result.txt log.txt avvio202.sh
|
Lav204 (6 file) LavClient204.py Start204.py datax.txt result.txt log.txt avvio204.sh
|
Lav208 (9 file) LavClient208.py Start208.py pict.jpg angolo.txt datax.txt result.txt log.txt avvio208.sh finecorsa.txt
|
Import
socket threading telepot messageLoop (from teleport.loop) glob time os sys urllib2 subprocess Rpi.GPIO as GPIO |
Lav202
Y Y Y Y
Y Y Y
Y Y Y |
Lav204
Y
Y Y Y Y
Y
|
Lav206 (no more necessary Y
Y Y Y Y
Y
|
Lav208
Y
Y Y Y Y
Y
|
temperatura.py sotto 2 + pin 2 o 4; GND 34 o altri; Signal pin7 = GPIO 4
LedWork1.py sotto 1 + pin 35 = GPIO 19; GND pin 30 o altri
Work1.py sotto 1
Aggiunta rele Signal pin11 = GPIO 17
Jolly-OK sotto 1 LED /on /off /blink
FOTO /foto /vedi /send
TEMPERATURA E UMIDITA’ /temp1 /temp2
Eseguire
sudo crontab -e
Per tutti: per problematiche sulla creazione del Socket, utilizzare uno script di comodo, come da esempio, invocato da una riga da aggiungere in fondo a crontab (chiamato con crontab –e):
@reboot sh /home/Lav202/avvio202.sh
in cui:
/home/Lav202 è la dir di lavoro
avvio202.sh è lo script di lancio
Nota Bene:
avvio202.sh contiene: cd /
cd home/Lav202
sleep 10 (facoltativo)
python Start202.py
cd /
e va autorizzato con sudo chmod 755 avvio.sh
(reso eseguibile con sudo chmod a+x avvio.sh ???)
Versione base; modificata come da pag. seguente
La SIM su chiavetta Vodafone va collocata all’aperto dove migliore è la ricezione tramite un collegamento realizzato con cavo USB di opportuna lunghezza (almeno 3 m)
Il Router sarà collocato all’interno dove può realizzare una migliore copertura per la rete WiFi da esso generata.
Possibili sistemazioni (da verificare):
1. Cucina, sopra mensola
2. Sala, angoli sinistro o destro ai lati della finestra, oppure sulla scrivania accanto al PC.
Raspberry PI 3 Model B IP locale: 192.168.1.202
Fungerà da Server e sarà collocato in Cucina o in Sala File caricato: LavinioServer202.py
Funzioni svolte: Indicazione temperatura esterna T1 Comando /t1
Indicazione temperatura interna T2 Comando /t2
Gestione telecamera esterna fissa Comandi /c2foto /c2vedi /c2send
In aggiunta fungerà da accesso alle funzioni speciali individuate dal comando /xx.... Già implementate:
Remote IP detection Comandi /xxip
WiFi network check Comandi /xxch
Reboot Raspberry 202 Comandi /xxrb202
Raspberry Zero IP locale: 192.168.1.206
Fungerà da Client e sarà collocato nell’ingresso File caricato: LavinioClient206.py
Funzioni svolte: Apertura/chiusura elettrovalvola di Comandi /r1on
Intercettazione acqua locale cassoni /r1 off
Sensore di movimento ambiente M1 Comando /m1
Analogamente al 202 Reboot Raspberry 206 Comandi /xxrb206
Raspberry PI 3 Model A+ IP locale: 192.168.1.204
Fungerà da Client e sarà collocato in Camera da letto File caricato: LavinioClient204.py
Funzioni svolte: Indicazione temperatura interna T3 Comando /t3
Avvio / fermata pompa di calore a Comandi /r2on
mezzo di comando diretto o anche /r2off
asservito al valore corrente della
temperatura ambiente
Gestione telecamera esterna con Comandi /c1foto /c1vedi /c1send
rotazione /dx10 /dx20 /sx10 /sx20
Analogamente al 202 Reboot Raspberry 204 Comandi /xxrb204
Raspberry Zero o IP locale: 192.168.1.208
altro da acquistare
Versione nuova
La SIM su chiavetta Vodafone va collocata all’aperto dove migliore è la ricezione tramite un collegamento realizzato con cavo USB di lunghezza 10 m (verificare eventuale perdita di segnale).
Il Router sarà collocato all’interno (scrivania PC) dove può realizzare una migliore copertura per la rete WiFi da esso generata.
Raspberry PI 3 Model B IP locale: 192.168.1.202
Fungerà da Server e sarà collocato in Cucina su mensola File caricato: LavServer202.py
Funzioni svolte: Indicazione temperatura esterna T1 Comando /t1
Indicazione temperatura interna T2 Comando /t2
In aggiunta fungerà da accesso alle funzioni speciali individuate dal comando /xx...:
Remote IP detection Comandi /xxip
WiFi network check Comandi /xxch
Reboot Raspberry 202 Comandi /xxrb202
Shutdown Raspberry 202 Comando /xxsd202
Raspberry PI 3 Mod.A+ IP locale: 192.168.1.204
Fungerà da Client e sarà collocato nell’ingresso sopra il mobile File caricato: LavClient204.py
Funzioni svolte: Apertura/chiusura elettrovalvola di Comandi /r1on
Intercettazione acqua locale cassoni /r1 off
Avvio / fermata pompa di calore a Comandi /ir1on
mezzo di comando InfraRosso IR /ir1off
con sensori decentrati in camera
Indicazione temperatura interna T3 Comando /t3
Con sensore decentrato in camera
Analogamente al 202 Reboot Raspberry 204 Comandi /xxrb204
Shutdown Raspberry 204 Comandi /xxsd202
Raspberry P1 Mod. A+ IP locale: 192.168.1.208
Gestione telecamera esterna mobile Comandi /c2take /c2dx10 /c2dx20
/c2sx10 /c2sx20 /c2zero /c2azzera
Analogamente al 202 Reboot Raspberry 208 Comandi /xxrb208
Shutdown Raspberry 208 Comandi /xxsd208
Raspberry Zero IP locale: 192.168.1.206
no more used
Comando |
Descrizione |
Scheda |
/r1on |
Apertura acqua |
204 |
/r1off |
Chiusura acqua |
204 |
/t1 |
Temperatura esterna |
202 |
/t2 |
Temperatura interna – cucina |
202 |
/t3 |
Temperatura interna – stanza da letto |
204 |
/c2take |
Scatta foto TLC mobile |
202 |
/c2dx10 |
Ruota TLC mobile 10° a dx |
202 |
/c2sx10 |
Ruota TLC mobile 10° a sx |
202 |
/c2dx20 |
Ruota TLC mobile 20° a dx |
202 |
/c2sx20 |
Ruota TLC mobile 20° a sx |
202 |
/c2zero |
Ruota TLC mobile su 0<punto ZERO |
202 |
/c2azzera |
Azzera l’angolo nel punto in cui si trova la TLC |
202 |
/xxip |
Riporta il n di IP esterno |
202 |
/xxch |
Verifica la presenza del WiFi |
202 |
xxrb202 |
Reboot scheda 202 |
202 |
/xxsd202 |
Shutdown scheda 202 |
202 |
/xxrb204 |
Reboot scheda 204 |
204 |
/xxsd204 |
Shutdown scheda 280 |
204 |
/xxrb208 |
Reboot scheda 208 |
208 |
/xxsd208 |
Shutdown scheda 208 |
208 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Rete WiFi: deve essere correttamente avviata e disponibile
2. Raspy Server 202
3. Raspy Clients 204 / 208 (la tempistica di avviamento tra Client è indifferente; è invece fondamentale che ogni Client si avvii DOPO il Server
In testa al file LavinioServer202.py è stata inserita la funzione WifiCheck() che invocata subito dopo la definizione verifica la corrispondenza degli IP remoti e quindi della connessione Wifi looppando finché la rete non sia disponibile. Ciò può avvenire per due motivi:
1. Mancanza (a) temporanea o (b) permanente della rete elettrica
Provvedimenti: (a)- si attende; (b)-bisogna intervenire essendo un problema dell’intero appartamento.
2. Sequenza difettosa di avvio della (aa) Station Vodafone o del (bb) Raspy-Server.
Provvedmenti: (aa) riavvio Station da Remoto -à PROCEDURA
(bb) riavvio Raspy da Remoto -à comando: /xxrb su ogni Raspy
Login pi
PWD klz22
Editare i files: /etc/hotname e /etc/ hosts
chmod 777 nomefile o directory (* per tutti)
controllo: ls -l
Comandi WebCam fissa [n°1] (in corsivo il nomefile)
fswebcam image.jpg cattura immagine in risoluzione base (320x240) e la salva nella dir corrente
fswebcam –r 1280x720 image.jpg come sopra ma a risoluzione 1280x720
fswebcam ..... --no-banner image.jpg elimina il banner con i dati (NB due trattini prima di no)
Ricordarsi di installare fswebcan dove deve essere gestita la webcam (1) e poi aggiungere l’utente a groups (2)
(1) sudo apt install fswebcam
(2) sudo usermod -a –G video <username> quindi verificare con
(3) groups
Per Raspbian wheezy:
Dal terminale del raspberry (o via collegamento ssh):
sudo nano /etc/network/interfaces
Il file che verrà visualizzato tramite nano è appunto quello che gestisce l’assegnazione dell’ip.
modifichiamolo in questo modo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
auto lo
iface lo inet loopback
allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
auto wlan0 iface wlan0 inet static address 192.168.1.200 gateway 192.168.1.1 netmask 255.255.255.0
auto eth0 iface eth0 inet static address 192.168.1.200 gateway 192.168.1.1 netmask 255.255.255.0 |
I parametri sono:
Ovviamente il contenuto sotto eth0 varrà per le connessione wired (via cavo) mentre quello sotto wlan0 varranno per i collegamenti wireless (senza fili).
Per quanto riguarda i sistemi jessie bisognerà anche modificare il
file /etc/dhcpcd.conf
sudo
nano /etc/dhcpcd.conf
Inseriamo gli stessi valori così:
1 2 3 4 |
interface eth0 static ip_address=192.168.1.200 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 |
1 2 3 4 |
interface wlan0 static ip_address=192.168.1.200 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 |
ui a differenza del primo file del valore netmask troviamo domain_name_servers che và compretato con l’ip del router.
Un alternativa al modificare il secondo file è quella di lanciare
sudo update-rc.d -f dhcpcd remove
Gateway 192.168.1.1 PWD
Home 0 wlan0 192.168.1.200 eth0 192.168.1.201
Main 1 wlan0 192.168.1.202 eth0 192.168.1.203 klz22
2 wlan0 192.168.1.204 eth0 192.168.1.205 klz22
Zero 3 wlan0 192.168.1.206 eth0 192.168.1.207
Mask 255.255.255.0 root assurbanipal