Ad Menu

We are the Robots!

We are the Robots!:
Questo è uno script bash molto divertente.

Robot
Se si avvia lo script riceviamo dai nostri auto-parlanti le informazioni meteo,alcune informazioni di sistema,frasi metaforiche nei giorni festivi e osservazioni tecniche sul sistema ecc.
Ho modificato alcuni parametri (ma si può ancora migliorare) e ho tradotto i contenuti parlati in lingua italiana,altrimenti non si capiva un tubo.
La voce robotica utilizza espeak,che è già installato sul nostro sistema,mentre per le informazioni meteo è necessario installare una piccola utility:

sudo apt-get install weather-util

Aprite un editor di testo,incollate tutto il seguente testo e salvate con un nome esempio: "myrobot.sh" oppure scaricatelo già pronto da Qui.


#!/bin/bash
#
# Este sencillo script, basado en eSpeak y en weather-util, recopila
#información sobre tu disco duro, la fecha, la hora y el clima y crea una
#locución, diferente según las distintas circunstancias, que te informa
#de las conclusiones a la que ha llegado a partir de los datos tomados.
#Está pensado para ejecutarse al inicio de sesión, y que así te de la
#bienvenida a la vez que te informe del estado actual.
#
# Realizado por Astaroth (O.R.G.)
# url: http://astarothsworld.blogspot.com
#Adeguato alla lingua italiana: http://ubuntubond.blogspot.com
#
# 1.- Lettura delle date:
# Orario:
Hora=`date +%H`
Minutos=`date +%M`
# Data:
Dia=`date +%-d`
Mes=`date +%B`
mes=`date +%-m`
A=`date +%Y`
DiaS=`date +%A`
DiaA=`date +%-j`
# Disco Rigido:
eTotal=`df | sed -n '2p' | awk '{print $2}'`
eTotal=`echo "scale=2 ; $eTotal / 1048576 " | bc`
eUsado=`df | sed -n '2p' | awk '{print $3}'`
eUsado=`echo "scale=2 ; $eUsado / 1048576 " | bc`
eDisponible=`df | sed -n '2p' | awk '{print $4}'`
eDisponible=`echo "scale=2 ; $eDisponible / 1048576 " | bc`
ePorc=`df | sed -n '2p' | awk '{print $5}' | sed 's/%//g'`
edPorc=`echo "100 - $ePorc" | bc`
Piz=`echo $eDisponible | grep -o "[0-9]*\." | sed 's/\.//g'`
Pdr=`echo $eDisponible | grep -o "\.[0-9]*" | sed 's/\.//g'`
# Clima
clima=`weather -i LIBP` # (LIBP) è il Codice per pescara
Temp=`echo $clima | sed -s '3p' | grep -o "([0-9]* C)" | sed 's/ C//g' | sed 's/(//g' | sed 's/)//g'`
Hum=`echo $clima | sed -s '4p' | grep -o "[0-9]*%"`
# 2.- ANÁLISI DEI DATI:
# Hora:
if [ $Hora -ge 6 -a $Hora -lt 14 ] ; then

Sal="¡Buon Giorno!"
Sal2="giorno"


else

if [ $Hora -ge 14 -a $Hora -lt 20 ] ; then
Sal="¡Buon pomeriggio!"
Sal2="pomeriggio"
else
Sal="¡Buona Notte!"
Sal2="Notte"
fi


fi
# Fecha:
if [ $DiaA -gt 172 -a $DiaA -le 265 ] ; then

Estac="estate"


else

if [ $DiaA -gt 265 -a $DiaA -le 355 ] ; then
Estac="autunno"
else
if [ $DiaA -gt 80 -a $DiaA -le 172 ] ; then
Estac="primavera"
else
Estac="inverno"
fi
fi


fi
# Citas:
if [ $Dia = 1 -a $mes = 1 ] ; then

cita="¿Come mi comporterò il primo giorno dell'anno?, ¿mi prendo un'altra sbronza?"


else

if [ $Dia = 6 -a $mes = 1 ] ; then
cita="¿Sei stato bravo?, ¿che cosa ti hanno portato i Re Magi?"
else
if [ $Dia = 14 -a $mes = 2 ] ; then
cita="Oggi è il giorno degli innamorati. Spero che tu abbia qualcosa di bello per me"
else
if [ $Dia = 8 -a $mes = 3 ] ; then
cita="Oggi è il giorno della donna, quindi voglio riflettere su ciò che sarebbe di te se non fossi tu a gestire i nostri incontri"
else
if [ $Dia = 19 -a $mes = 3 ] ; then
cita="¿ha già accolto con favore tuo padre?, oggi è il tuo giorno!"
else
if [ $Dia = 23 -a $mes = 4 ] ; then
cita="¿sai già quale è il senso della vita, l'universo, e tutto il resto?, oggi è il giorno del libro, ti consiglio The Hitchhiker's Guide to Galaxy,di Douglas Adams"
else
if [ $Dia = 1 -a $mes = 5 ] ; then
cita="Oggi è la Giornata dei lavoratori. Che cosa succede se si inizia a festeggiare facendo qualcosa invece di giocare tutto il giorno alla playstation?"
else
if [ $Dia = 15 -a $mes = 5 ] ; then
cita="sai che oggi non hanno la classe e la cortesia di una volta"
else
if [ $Dia = 31 -a $mes = 10 ] ; then
cita="Se oggi si vedono fantasmi in giro, è normale,perchè è halloween"
else
if [ $Dia = 24 -a $mes = 12 ] ; then
cita="come dice la canzone, stasera è la vigilia di Natale e anche la mattina di Natale"
else
if [ $Dia = 25 -a $mes = 12 ] ; then
cita="25 di Dicembre, fumo, fumo, fumo"
else
if [ $Dia = 28 -a $mes = 12 ] ; then
cita="Ho trovato errori nel disco, tutte le analisi indicano che un virus sta attaccando la sicurezza del sistema informatico, i dati vengono cancellati ad un ritmo allarmante, si procederà alla formattazione in 5, 4, 3, 2, 1. Accidenti!,un giorno da sfigati!"
else
if [ $Dia = 31 -a $mes = 12 ] ; then
cita="Oggi è l'ultimo giorno dell'anno è stato molto bello lavorare con te durante questo anno, $USER"
else
cita=" "
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi


fi
# Disco Duro:
Porcent=`echo $edPorc | sed 's/%//g'`
if [ $Porcent -lt 5 ] ; then

disco="¡Situazione critica! Non si dispone di spazio sufficiente sul disco rigido!"


else

if [ $Porcent -lt 10 ] ; then
disco="¡Attenzione! La maggior parte di noi non ha spazio necessario sul proprio hard disk!"
else
if [ $Porcent -lt 15 ] ; then
disco="Mi raccomando non ti preoccupare troppo del disco rigido."
else
disco="Manca ancora molto, un vuoto difficile da colmare."
fi
fi


fi
# Clima
if [ $Temp -gt 20 ] ; then

temperatura="Oggi fa molto caldo. State attenti ai colpi di sole che fanno venire il mal di testa"
if [ $Estac = "estate" ] ; then
TempAd="anche se è normale che in questo periodo."
else
TempAd="¡Sembra estate! Non c'è da stupirsi allora parlare di riscaldamento globale."
fi


else

if [ $Temp -lt 15 ] ; then
temperatura="È meglio mettere un cappotto, se si va fuori"
if [ $Estac = "inverno" ] ; then
TempAd="anche se è normale che in questo periodo."
else
TempAd="¡O che era inverno! Maledetti cambiamenti climatici!"
fi
else
temperatura="Una temperatura ideale"
TempAd=" "
fi


fi
# 3.- DISCORSO:
espeak -a 1600 -vit+f4 "¡Salve $USER! $Sal. Sono le $Hora y $Minutos minuti del $Sal2. Oggi $DiaS, Giorno $Dia di $Mes di $A, $cita, Abbiamo una giornata maravigliosa di $Estac, con temperatura di $Temp gradi centígradi, $temperatura, $TempAd L'umidità relativa è di $Hum. Cambiando il tema,il tuo disco duro stá al $edPorc % (tieni libero almeno $Piz con $Pdr giga), $disco ¡Buona Giornata!"


Alla riga "38" bisogna sostituire il codice a quattro lettere per i dati meteo della vostra città (Pescara è il default) ,che ottenete da questo sito:Qui.
Alla riga "190" (default 1600) è possibile impostare la velocità.
Adesso bisogna rendere il file eseguibile dalla scheda proprietà o con:

chmod +x ./myrobot.sh

Per avviare trascinare il file nel terminale e pigiare invio oppure digitare:

./myrobots.sh

C'è da divertirsi!
Homepage dell'autore dello script (in lingua spagnola):Aqui.


Share/Bookmark
Stampa il Post - Print this Post

Comments :

4 commenti to “ We are the Robots! ”
WaYdotNET ha detto...
on  

Sempre alla riga 160 metterei anche la lingua in italiano ( -ves a -vi)

;D


WaYdotNET

silvio1964 ha detto...
on  

Thanks:Very true,però ho corretto con -vit per l'italiano (vi=inglese).

Bit3Lux ha detto...
on  

Ciao Silvio,ti considero una persona molto seria e i tuoi post sono veramente utili per la promozione dell'Open Source; sono diventato sostenitore del tuo sito e, a breve, aggiungo un banner del tuo blog sul mio; Un abbraccio Luigi

silvio1964 ha detto...
on  

Ti ringrazio,per l'iniezione di fiducia:)
Cerco di pubblicare al meglio delle mie capacità.

Related Posts with Thumbnails