Warning: file_get_contents(http://ismanettoneblog.altervista.org/blog/wp-content/themes/Nexus/style.css): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in /membri/ismanettoneblog/blog/wp-content/plugins/pdf-print/pdf-print.php on line 779
Crea sito

Come vedere Sky, Mediaset Premium e altre TV gratuitamente


In questo articolo vedremo come trasformare un Raspberry PI in un vero e proprio decoder satellitare, in grado di poter ricevere e visualizzare canali TV, da tutto il mondo.

Disclaimer

ATTENZIONE: TV Supertuga non è un add-on creato dal team di Kodi/XBMC ma da sviluppatori di terze parti non autorizzati. Eventuali violazioni di copyright non sono quindi da attribuire a Kodi nè tantomeno a questo blog, che ha lo solo scopo informativo.

Installazione di Kodi

Vedi articolo

Installazione di TV-SUPERTUGA (fonte)

  • Accendete Kodi, andate nella sezione SISTEMA e cliccate su Gestione File
  • Cliccate su Nessuno
  • Aggiungete la url http://repo.cazwall.com/sc e cliccate su Fatto
  • Rinominate la nuova sorgente in .Caz e cliccate su OK
  • Tornate nella home e cliccate su SISTEMA / Add-on / Installa da un file zip / .Caz
  • Cliccate su .Repository (Click Here)
  • Cliccate una volta su repository.simplycaz-X.X.X.zip e attendete la notifica di conferma dell’installazione
  • Cliccate ora su Installa da repository / Simply Caz Repo / Add-on Video / Last Played (all source) / Installa
  • Al termine dell’installazione troverete il nuovo add-on nel percorso VIDEO / Add-on Video / TV-SUPERTUGA

Installazione di f4mTester (fonte)

  • Avviate Kodi, portatevi su SISTEMA e cliccate su Gestione File
  • Cliccate due volte su Aggiungi Sorgente
  • Cliccate su <Nessuno>
  • Inserite la url http://fusion.tvaddons.ag e cliccate su Fatto
  • Rinominate la sorgente in fusion e cliccate su OK
  • Tornate nella home e cliccate su SISTEMA / Add-on / Installa da un filz zip / fusion / xbmc-repos / international
  • Cercate il file pakistani-repository.shani-x.x.zip e cliccateci su una volta per installarlo
  • Attendete la notifica di conferma e cliccate su Installa da repository / Sahnis Addon Repository / Add-on Video / F4M Tester / Installa

Commenti

Questo articolo ha il solo scopo di mostrare come sia facile sfruttare Internet, per poter accedere e visualizzare canali televisivi di tutto il mondo. Essendo questi software non sviluppati direttamente da Kodi, il loro funzionamento non è garantiti e per questo motivo si consigliare di utilizzare i canali ufficiali streaming, delle varie piattaforme. Pertanto spendere qualcosina in più al mese per un abbonamento satellitare oppure per una pay-tv, è consigliato per avere un servizio di qualità maggiore ed evitare problemi di natura legale.




Come installare Kodi sul Raspberry PI


In questo articolo, vedremo come installare il sistema operativo multimediale Kodi, per trasformare il nostro Raspberry PI in un vero e proprio media center.

unnamed

Kodi è un sistema operativo, che permette di trasformare un dispositivo, com ad esempio un Raspberry PI, in un vero e proprio media center, con la possibilità di riprodurre filmati, foto, musica e tanto altro.

L’installazione è davvero semplice ed ecco cosa è necessario:

  • Raspberry PI Zero, oppure 1,2 o 3
  • Una memoria micro SD da almeno 16 GB (8 GB va bene comunque)
  • Installer Libreelec
  • Una connessione ad Internet

La procedura d’installazione è guidata, attraverso l’installar Libreelec, che è scaricabile per le diverse piattaforme, dal seguente sito web. Una volta scaricato, basterà aprirlo ed effettuare le seguenti operazioni:

  • Formattare la memoria micro SD in FAT
  • Selezionare il proprio dispositivo (Raspberry 2 etc…)
  • Selezionare la voce download, per procedere allo scaricamento del file
  • Selezionare la memoria micro SD (PRESTARE attenzione alla propria selezione)
  • Aspettare che la procedura venga completata

creator_mac-383x400

Una volta che avremo la scheda micro SD pronta, basterà inserirla all’interno del nostro Raspberry PI e potremmo vedere se abbiamo eseguito correttamente la procedura.

Per maggiori informazioni riguardo a Kodi, è possibile reperirle dalla pagina WiKi officiale.




Tariffa.it, dove c'è confronto c'è risparmio


Tra tutte le offerte per la connessione ad Internet da casa o da cellulare,  è difficile trovare quella migliore o semplicemente avere tutte le informazioni che vogliamo. Per questo motivo si ricorre a siti web, che permettono di mettere a confronto le offerte migliori; uno dei più recenti e molto valido è tariffa.it.tariffa

Tariffa.it permette di cercare la migliore offerta, in base alle diverse categorie:

  • ADSL
  • ADSL + Tariffa Mobile
  • Internet Mobile
  • Internet Mobile + Tablet
  • Tariffa Mobile
  • Tariffa Mobile + Smartphone

Per ogni categoria, permette di trovare l’offerta più conveniente e adatta alle proprie esigenze, riassumendo le principali caratteristiche di essa. Alla pagina dell’offerta, è possibile capire in maniera veloce gli eventuali costi di attivazione/disattivazione, permanenza minima contrattuale, velocità minima garantita e tanto altro, in unica schermata.

Tariffa.it è un sito web davvero utile, che permette di trovare in maniera veloce, l’offerta più adatta alle proprie esigenze, sia per casa, che per il cellulare.

 

 




Progetto rilevatore apertura garage con Arduino


Oggi vedremo un piccolo progetto, che ha lo scopo di creare un sistema IoT in casa, per la segnalazione dell’apertura del garage, oppure di una porta, con rilevamento acustico.

Sectional-type_overhead_garage_door

Requisiti hardware

Requisiti software

Descrizione del progetto

L’idea alla base del progetto, è quello di sfruttare un micro-controllore come Arduino oppure Photon per la rilevazione attraverso un sensore magnetico l’apertura del garage, oppure di una finestra/porta. Appena viene rilevata l’apertura, il dispositivo invierà un pacchetto/segnale ad un piccolo server posto in casa, come ad esempio un Raspberry PI Zero, che attraverso un buzzer emetterà un piccolo segnale acustico. Nelle future versioni del progetto, verranno aggiunte funzionalità.

Tutte e due i dispositivi devono essere connessi alla stessa rete WiFi, in modo da poter ricevere senza problemi i pacchetti TCP. Per quanto riguarda l’utilizzo del Buzzer per il Raspberry Pi Zero, conviene usare una resistenza di 100 ohm in serie, tra il PIN GPIO6 e il dispositivo.

Codice Photon Particle

TCPClient client;
byte server[] = { 192, 168, 1, 10 };
int port = 8000;
unsigned long previousMillis = 0;
unsigned int interval = 2000;


void setup() {
  pinMode(D2, INPUT_PULLUP);
  attachInterrupt(D2, notify, RISING);
}

 void loop()
{

}

void notify(){
    unsigned long currentMillis = millis();

  if(currentMillis - previousMillis > interval) {
     previousMillis = currentMillis;
		client.connect(server, port);
        if ( client.connected() == TRUE )
       {
          client.flush();
          client.print("open");

        }
    }
}

Codice Arduino

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server(192,168,1,10);  

EthernetClient client;
int port = 8000;
int pin = 2;
unsigned long previousMillis = 0;
unsigned int interval = 2000;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    Ethernet.begin(mac);
  }
  delay(1000);
  pinMode(pin,INPUT);
  Serial.println("connecting...");
  attachInterrupt(pin, notify, RISING);
}

void loop() {
  
}

void notify(){
  unsigned long currentMillis = millis();
  if(currentMillis - previousMillis > interval) {
     previousMillis = currentMillis;
    client.connect(server, port);
        if ( client.connected() == true )
       {
          client.flush();
          client.print("open");
        }
    }
}

Nota bene

Per entrambi i programmi, è necessario modificare l’IP del server, con quello relativo al Raspberry PI Zero.

Codice per Raspberry PI Zero

package main;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin;

public class Main {
	public static void main(String[] args) throws IOException, InterruptedException {
		final GpioController gpioBuzzer = GpioFactory.getInstance();
		final GpioPinDigitalOutput buzzer = gpioBuzzer.provisionDigitalOutputPin(RaspiPin.GPIO_06, "Buzzer",
				PinState.LOW);
		buzzer.low();

		ServerSocket welcomeSocket = new ServerSocket(8000);

		while (true) {
			Socket connectionSocket = welcomeSocket.accept();
			BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
			String message = inFromClient.readLine();
			if (message.equalsIgnoreCase("open")) {
				buzzer.high();
				Thread.sleep(2000);
				buzzer.low();
			}
		}
	}
}

Per quest’ultimo progetto, è necessario aggiungere la libreria JAR pi4j all’interno del progetto in Eclipse.

Il codice completo del progetto, è disponibile in questo repo su GitHub.




C.H.I.P il nuovo PC low cost targato Linux da 9$


Negli ultimi, grazie all’avvento di Arduino, il mondo dei maker è aumentato in modo esponenziale. Nel mercato dei micro-controllori, ci sono tantissimi prodotti, che permettono di avere a disposizione un piccolo PC, per poter leggere valori da sensori, processarli ed inviarli a server remoti, sfruttando Internet. Da pochi mesi è disponibile un nuovo PC, dal costo di 9$: il suo nome è C.H.I.P.

chipheader

Ecco le principali caratteristiche del dispositivo:

  • Connessione WiFi nativa
  • Processore da 1 GHz
  • Memoria non volatile da 4 GB
  • 512 MB di RAM
  • Connessione Bluetooth 4.0
  • Connessioni per display VGA/HDMI

Il PC dispone di una versione Linux già pronta all’uso, con il quale poter leggere email, navigare sul web, lavorare e tanto altro in maniera facile.

Per una guida completa al dispositivo è possibile visitare il sito ufficiale e la documentazione.




Come installare Mac Os Sierra da chiavetta USB


Apple lo scorso Settembre ha reso disponibile il suo nuovo sistema operativo, che si chiama Mac Os Sierra.

og_image

Diverse sono le novità introdotte in questo OS, come ad esempio l’integrazione con Siri come sui dispositivi mobile, una migliore gestione dei file e del discorso rigido, oltre che a nuove funzionalità con i dispositivi Apple.

Come per ogni aggiornamento importante, conviene sempre fare un po’ di pulizie sul proprio dispositivo, in quanto alcuni file di sistema, possono essersi danneggiati durante l’utilizzo quotidiano e una nuova installazione del sistema operativo, può migliorare le prestazioni e l’affidabilità del proprio computer.

Come procedere per un’installazione pulita?

  1. Fare un Backup dei propri dati
  2. Creare una chiavetta USB con Sierra
  3. Installare il sistema operativo
  4. Ripristinare i dati

Fare un backup dei propri dati

La prima cosa molto, ma molto importante, prima di effettuare un aggiornamenti di un sistema operativo oppure una nuova installazione, è quella di effettuare un backup dei propri dati personali, onde evitare spiacevoli problemi. Mac Os offre diverse soluzioni per effettuare questa operazione; quella più consigliata è utilizzare Time Machine, con un disco rigido USB oppure un NAS, dove poter salvare i propri dati personali. L’operazione, se eseguita per la prima volta, potrà richiedere un po’ di tempo. Il motivo è che un backup di Time Machine contiene tutti i dati, applicazioni e quindi è molto pesante.

L’alternativa è quella di effettuare un backup dei dati personali in modalità manuale, ovvero copiando e incollando i file su una chiavetta USB esterna. In questo caso, le applicazioni installate non saranno recuperabili successivamente.

Creare una chiavetta USB con Sierra

Per poter creare una chiavetta USB con il nuovo sistema operativo, basterà scaricarlo da App Store gratuitamente e scaricare l’applicazione Disk Maker X. Quest’ultima applicazione è davvero semplice da utilizzare, in quanto richiede solamente una chiavetta USB formatta Mac Journal da 8 GB e l’installer di Sierra che è stato ottenuto da App Store. L’operazione di creazione della chiavetta richiederà un po’ di minuti.

Installare il sistema operativo

Una volta che abbiamo fatto il backup dei dati personali e creato la chiavetta USB, spegniamo il nostro computer. Una volta riavviato, dobbiamo premere CMD+R per utilizzare il tool per formattare il disco rigido (Questa operazione farà perdere tutti i dati!) e successivamente riavviamo il nostro computer, premendo il comando ALT. Qui selezioniamo la chiavetta USB con Sierra e seguiamo le operazioni passo passo per poter effettuare l’installazione, che richiederà un po’ di tempo.

Ripristino dei dati

Ora che abbiamo quasi completato l’installazione di Sierra, possiamo recuperare i dati durante gli ultimi passaggi guidati, selezionando la voce di recupero con Time Machine. Qualora invece avessimo effettuato un backup dei dati in modalità manuale, possiamo saltare questo passaggio. Se abbiamo seguito tutte le procedure correttamente, dovremmo avere sul nostro computer, il nuovo sistema operativo Sierra con tutti i nostri dati




Unboxing schermo touchscreen ufficiale 7" per Raspberry PI


long1

In questo articolo verrà trattato un unboxing dello schermo touchscreen ufficiale da 7″ per il Raspberry PI, il piccolo PC targato Linux da 35 Euro.

touchscreen-ufficiale-7-800x480

Il prodotto è possibile acquistarlo dal sito di Kubii direttamente da questo link.

Questo schermo touchscreen permette di poter utilizzare il Raspberry PI senza uno schermo HDMI, ma attraverso l’uso dello schermo capacitivo del dispositivo da 7″, in modo da aver “quasi” un piccolo tablet con le funzionalità e potenzialità del Raspberry PI.

 

Specifiche tecniche del prodotto

  • 7” Touch screen Display.
  • Dimensioni schermo: 194mm x 110mm x 20mm con bordini
  • Parte schermo visibile: 155mm x 86mm
  • Risoluzione schermo 800 x 480 pixels
  • 10 finger capacitive touch.
  • Connessioni al Raspberry PI con DSI port.
  • Adattatore per alimentazione e trasferimento segnale
  • È necessaria l’ultima versione del Raspberry PI Os per poter funzionare

Contenuto del kit

    • 7” Touch screen Display
    • Scheda/adattatore
    • DSI Ribbon cavo
    • 4 x viti per fissare il Raspberry PI al monitor
    • 4 x cavi flessibili per collegare lo schermo al Raspberry PI

 

Installazione

Una volta che il pacco contenente lo schermo verrà consegnato a casa, all’interno troverete una scatola simile a quella in foto.

IMG_4839

All’interno sono presenti diversi componenti, tra cui lo schermo touchscreen e i cavi che servono per poterlo collegare correttamente al Raspberry PI.

IMG_4840

L’installazione è abbastanza semplice, ma occorre fare molta cautela, in quanto sbagliare un collegamento di un cavo può causare gravi danni allo schermo.

Ecco la lista di passaggi che dobbiamo effettuare:

  1. Installare su Raspberry PI l’ultima versione del Raspbian
  2. Spegnere il nostro Raspberry PI e scollegarlo dall’alimentazione
  3. Collegare il cavo bianco sottile presente nella scatola tra lo schermo e il PI
  4. Fissare il Raspberry PI con le viti dietro lo schermo
  5. Collegare i 2 fili flessibili (5V e GND) tra i due dispositivi

Nota bene: Il cavo che è collegato al pin 5V dell’adattatore presente dietro lo schermo, va collegato al corretto pin da 5V della GPIO del Raspberry PI, come il pin GND al suo corrispettivo. Sbagliare questo collegamento può causare danni allo schermo!

Circuitos26_4_Pinout_RaspPI

Ecco un video che spiega come collegare correttame i fili tra lo schermo touchscreen e il Raspberry PI:

https://www.youtube.com/watch?v=T_ZAgMZ-COI

 

Se abbiamo seguito correttamente tutti i passaggi, dovremmo avere una situazione simile a quella in foto.

IMG_4843

Ora che abbiamo verificato che i cavi sono stati collegati correttamente, possiamo collegare l’alimentazione al Raspberry PI e tutti gli accessori, quali scheda WiFi USB, tastiera, mouse etc…

Se tutto è partito correttamente, avremo finalmente la schermata di Raspbian sul nostro schermo touchscreen.

IMG_4842

Conclusione

Questo schermo touchscreen è un prodotto davvero utile, perché permette di avere una migliore interazione con il Raspberry PI, per poter effettuare diverse operazioni, come navigare sul web, scrivere messaggi etc…

Il piccolo PC sembra trasformarsi in un piccolo tablet, con tante funzionalità. Il prezzo è sicuramente molto interessante, visto anche che è un prodotto ufficiale e quindi perfettamente funzionante e supportato per il Raspberry PI.

Con l’aggiunto di questo nuovo schermo touchscreen, è possibile realizzare diversi progetti IoT e alcuni di questi verrano mostrati nei successi posts.

long1



Come installare il server Java Wildfly sul Raspberry PI


In questo articolo vedremo come installare sul Raspberry PI il server Java Wildfly, un ottimo strumento per aumentare le funzionalità del nostro PC.

Wildfly_logo

Nello scorso articolo abbiamo spiegato come installare sul piccolo PC il server Apache con PHP, con i quali è possibile sviluppare progetti che richiedono l’invio di dati tra diversi nodi e il salvataggio di tali informazioni all’interno di un DB MySQL. Wildfly è “concorrente” di di PHP, in quanto è una tecnologia lato server, con la quale è possibile trasformare il Raspberry PI in un dispositivo in grado di ricevere ed effettuare richieste, salvare dati etc…

Grazie all’utilizzo di strumenti come Hibernate, JSON etc… sarà davvero semplice gestire grosse quantità di informazioni.

Rispetto al PHP, il server Wildfly è uno strumento più potente che richiede più risorse, in quanto dietro c’è sempre la Java Virtual Machine, mentre la prima tecnologia è spesso impiegata all’inizio di un progetto, in quanto richiede poco tempo sviluppare un prototipo.

Giusto per descrivere correttamente Widfly, ecco la definizione tratta da Wikipedia:

WildFly, precedentemente noto come JBoss AS o semplicemente JBoss, è un application server open source che implementa le specifiche Java EE. WildFly è un sistema multipiattaforma, interamente realizzato in Java.

Il sistema è stato originariamente creato dalla società “JBoss Inc.“; nel 2006 è stato acquistato da Red Hat per 420 milioni di dollari. Viene gestito come progetto open source ed è sostenuto da una enorme rete di sviluppatori.

A WildFly sono associati una quantità di altri prodotti, incluso Hibernate, Tomcat, JBoss ESB, jBPM, JBoss Rules (ex Drools), JBoss Cache, JGroups, JBoss Portal, SEAM, JBoss Transaction, e JBoss Messaging.

Nei prossimi articoli, verranno mostrati un po’ di progetti basati sulla tecnologia Wildfly, che metteranno in luce le enormi funzionalità di questo strumento. Uno tra tutti è la creazione di un server con REST API, pattern ormai famosissimo nel mondo dell’informatica.

Installazione

L’installazione del server Wildfly è un’operazione non semplicissima, che però verrà semplificata grazie all’utilizzo di un script, in quanto sarebbe richiesti diversi comandi, da inviare attraverso il terminale. Inoltre, grazie a questo script, Wildfly verrà impostato come servizio e questo significa che partirà all’invio del sistema operativo, proprio come Apache.

Il primo passaggio è quello di caricare sul Raspberry PI questo script:

#!/bin/bash
#title           :wildfly-install.sh
#description     :The script to install Wildfly 10.x
#more            :http://sukharevd.net/wildfly-8-installation.html
#author	         :Dmitriy Sukharev
#date            :2015-10-24T17:14-0700
#usage           :/bin/bash wildfly-install.sh
#tested-version  :10.0.0.CR3
#tested-distros  :Debian 7,8; Ubuntu 15.10; CentOS 7; Fedora 22 

WILDFLY_VERSION=10.0.4.Final
WILDFLY_FILENAME=wildfly-$WILDFLY_VERSION
WILDFLY_ARCHIVE_NAME=$WILDFLY_FILENAME.tar.gz
WILDFLY_DOWNLOAD_ADDRESS=http://download.jboss.org/wildfly/$WILDFLY_VERSION/$WILDFLY_ARCHIVE_NAME

INSTALL_DIR=/opt
WILDFLY_FULL_DIR=$INSTALL_DIR/$WILDFLY_FILENAME
WILDFLY_DIR=$INSTALL_DIR/wildfly

WILDFLY_USER="wildfly"
WILDFLY_SERVICE="wildfly"
WILDFLY_MODE="standalone"

WILDFLY_STARTUP_TIMEOUT=240
WILDFLY_SHUTDOWN_TIMEOUT=30

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root."
   exit 1
fi

echo "Downloading: $WILDFLY_DOWNLOAD_ADDRESS..."
[ -e "$WILDFLY_ARCHIVE_NAME" ] && echo 'Wildfly archive already exists.'
if [ ! -e "$WILDFLY_ARCHIVE_NAME" ]; then
  wget -q $WILDFLY_DOWNLOAD_ADDRESS
  if [ $? -ne 0 ]; then
    echo "Not possible to download Wildfly."
    exit 1
  fi
fi

echo "Cleaning up..."
rm -f "$WILDFLY_DIR"
rm -rf "$WILDFLY_FULL_DIR"
rm -rf "/var/run/$WILDFLY_SERVICE/"
rm -f "/etc/init.d/$WILDFLY_SERVICE"

echo "Installation..."
mkdir $WILDFLY_FULL_DIR
tar -xzf $WILDFLY_ARCHIVE_NAME -C $INSTALL_DIR
ln -s $WILDFLY_FULL_DIR/ $WILDFLY_DIR
useradd -s /sbin/nologin $WILDFLY_USER
chown -R $WILDFLY_USER:$WILDFLY_USER $WILDFLY_DIR
chown -R $WILDFLY_USER:$WILDFLY_USER $WILDFLY_DIR/

#mkdir -p /var/log/$WILDFLY_SERVICE

echo "Registrating Wildfly as service..."
# if should use systemd
if [ -x /bin/systemctl ]; then
    # Script from $WILDFLY_DIR/docs/contrib/scripts/systemd/launch.sh didn't work for me
    cat > $WILDFLY_DIR/bin/launch.sh << "EOF"
#!/bin/sh

if [ "x$WILDFLY_HOME" = "x" ]; then
    WILDFLY_HOME="/opt/wildfly"
fi

if [ "x$1" = "xdomain" ]; then
    echo 'Starting Wildfly in domain mode.'
    $WILDFLY_HOME/bin/domain.sh -c $2 -b $3
    #>> /var/log/$WILDFLY_SERVICE/server-`date +%Y-%m-%d`.log
else
    echo 'Starting Wildfly in standalone mode.'
    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3
    #>> /var/log/$WILDFLY_SERVICE/server-`date +%Y-%m-%d`.log
fi
EOF
    # $WILDFLY_HOME is not visible here
    sed -i -e 's,WILDFLY_HOME=.*,WILDFLY_HOME='$WILDFLY_DIR',g' $WILDFLY_DIR/bin/launch.sh
    #sed -i -e 's,$WILDFLY_SERVICE,'$WILDFLY_SERVICE',g' $WILDFLY_DIR/bin/launch.sh
    chmod +x $WILDFLY_DIR/bin/launch.sh
    
    cp $WILDFLY_DIR/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/$WILDFLY_SERVICE.service
    WILDFLY_SERVICE_CONF=/etc/default/$WILDFLY_SERVICE
    # To install multiple instances of Wildfly replace all hardcoding in systemd file
    sed -i -e 's,EnvironmentFile=.*,EnvironmentFile='$WILDFLY_SERVICE_CONF',g' /etc/systemd/system/$WILDFLY_SERVICE.service
    sed -i -e 's,User=.*,User='$WILDFLY_USER',g' /etc/systemd/system/$WILDFLY_SERVICE.service
    sed -i -e 's,PIDFile=.*,PIDFile=/var/run/wildfly/'$WILDFLY_SERVICE'.pid,g' /etc/systemd/system/$WILDFLY_SERVICE.service
    sed -i -e 's,ExecStart=.*,ExecStart='$WILDFLY_DIR'/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND,g' /etc/systemd/system/$WILDFLY_SERVICE.service
    systemctl daemon-reload
    #systemctl enable $WILDFLY_SERVICE.service
fi

# if non-systemd Debian-like distribution
if [ ! -x /bin/systemctl -a -r /lib/lsb/init-functions ]; then
    cp $WILDFLY_DIR/docs/contrib/scripts/init.d/wildfly-init-debian.sh /etc/init.d/$WILDFLY_SERVICE
    sed -i -e 's,NAME=wildfly,NAME='$WILDFLY_SERVICE',g' /etc/init.d/$WILDFLY_SERVICE
    WILDFLY_SERVICE_CONF=/etc/default/$WILDFLY_SERVICE
fi

# if non-systemd RHEL-like distribution
if [ ! -x /bin/systemctl -a -r /etc/init.d/functions ]; then
    cp $WILDFLY_DIR/docs/contrib/scripts/init.d/wildfly-init-redhat.sh /etc/init.d/$WILDFLY_SERVICE
    WILDFLY_SERVICE_CONF=/etc/default/wildfly.conf
    chmod 755 /etc/init.d/$WILDFLY_SERVICE
fi

# if neither Debian nor RHEL like distribution
if [ ! -x /bin/systemctl -a ! -r /lib/lsb/init-functions -a ! -r /etc/init.d/functions ]; then
cat > /etc/init.d/$WILDFLY_SERVICE << "EOF"
#!/bin/sh
### BEGIN INIT INFO
# Provides:          ${WILDFLY_SERVICE}
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/Stop ${WILDFLY_FILENAME}
### END INIT INFO

WILDFLY_USER=${WILDFLY_USER}
WILDFLY_DIR=${WILDFLY_DIR}

case "$1" in
start)
echo "Starting ${WILDFLY_FILENAME}..."
start-stop-daemon --start --background --chuid $WILDFLY_USER --exec $WILDFLY_DIR/bin/standalone.sh
exit $?
;;
stop)
echo "Stopping ${WILDFLY_FILENAME}..."

start-stop-daemon --start --quiet --background --chuid $WILDFLY_USER --exec $WILDFLY_DIR/bin/jboss-cli.sh -- --connect command=:shutdown
exit $?
;;
log)
echo "Showing server.log..."
tail -500f $WILDFLY_DIR/standalone/log/server.log
;;
*)
echo "Usage: /etc/init.d/wildfly {start|stop}"
exit 1
;;
esac
exit 0
EOF
sed -i -e 's,${WILDFLY_USER},'$WILDFLY_USER',g; s,${WILDFLY_FILENAME},'$WILDFLY_FILENAME',g; s,${WILDFLY_SERVICE},'$WILDFLY_SERVICE',g; s,${WILDFLY_DIR},'$WILDFLY_DIR',g' /etc/init.d/$WILDFLY_SERVICE
chmod 755 /etc/init.d/$WILDFLY_SERVICE
fi

if [ ! -z "$WILDFLY_SERVICE_CONF" ]; then
    echo "Configuring service..."
    echo JBOSS_HOME=\"$WILDFLY_DIR\" > $WILDFLY_SERVICE_CONF
    echo JBOSS_USER=$WILDFLY_USER >> $WILDFLY_SERVICE_CONF
    echo WILDFLY_HOME=\"$WILDFLY_DIR\" > $WILDFLY_SERVICE_CONF
    echo WILDFLY_USER=\"$WILDFLY_USER\" > $WILDFLY_SERVICE_CONF
    echo STARTUP_WAIT=$WILDFLY_STARTUP_TIMEOUT >> $WILDFLY_SERVICE_CONF
    echo SHUTDOWN_WAIT=$WILDFLY_SHUTDOWN_TIMEOUT >> $WILDFLY_SERVICE_CONF   
    echo WILDFLY_CONFIG=$WILDFLY_MODE.xml >> $WILDFLY_SERVICE_CONF
    echo WILDFLY_MODE=$WILDFLY_MODE >> $WILDFLY_SERVICE_CONF
    echo WILDFLY_BIND=0.0.0.0 >> $WILDFLY_SERVICE_CONF
fi

echo "Configuring application server..."
sed -i -e 's,<deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000",<deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" deployment-timeout="'$WILDFLY_STARTUP_TIMEOUT'",g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml
sed -i -e 's,<inet-address value="${jboss.bind.address:127.0.0.1}"/>,<any-address/>,g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml
sed -i -e 's,<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>,<socket-binding name="ajp" port="${jboss.ajp.port:28009}"/>,g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml
sed -i -e 's,<socket-binding name="http" port="${jboss.http.port:8080}"/>,<socket-binding name="http" port="${jboss.http.port:28080}"/>,g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml
sed -i -e 's,<socket-binding name="https" port="${jboss.https.port:8443}"/>,<socket-binding name="https" port="${jboss.https.port:28443}"/>,g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml
sed -i -e 's,<socket-binding name="osgi-http" interface="management" port="8090"/>,<socket-binding name="osgi-http" interface="management" port="28090"/>,g' $WILDFLY_DIR/$WILDFLY_MODE/configuration/$WILDFLY_MODE.xml

[ -x /bin/systemctl ] && systemctl start $WILDFLY_SERVICE || service $WILDFLY_SERVICE start

echo "Done."

Una volta completata tale operazione, apriamo il terminale e ci spostiamo nella cartella dove è stato caricato tale file, che è stato chiamato wildfly-install.sh. Successivamente digitiamo:

bash wildfly-install.sh

L’operazione richiederà qualche minuto, in quanto verranno scaricate diversi pacchetti dalla rete.

Una volta completata la proceduta d’installazione, per verificare se tutto è stato installato correttamente digitiamo i seguenti comandi:

sudo systemctl enable wildfly

sudo systemctl status wildfly


Se tutto è andato bene, dovremmo ottenere una risposta del genere:

Wildfly

Qualora ci fosse qualche scritta in rossa, che è dovuto ad un problema esistente con la versione di Java; per poter sistemare tale situazione dovremmo procedere nel seguente modo. Apriamo il terminale e digitiamo il seguente comando, che permette di aprire un file di configurazione:

nano /opt/wildfly/bin/standalone.sh

Una volta inviato tale comando, comparirà una schermata simile alla seguente:

Wildfly

Per poter sistemare il problema è necessario cancellare le seguenti due righe, presente in tale file:

else
       PREPEND_JAVA_OPTS=“$PREPEND_JAVA_OPTS -server”

Ora premiamo CTRL+X e successivamente Y, per confermare le modifiche e salvarle.

Ora digitando i seguenti i comandi da terminale, dovremmo aver risolto il problema relativo alla Java Virtual Machine:

sudo systemctl enable wildfly

sudo systemctl status wildfly

Ora rimangono ancora due operazioni da fare, che permettono di poter utilizzare correttamente il server Wildfly; la prima operazione è quella di autorizzare altri PC a collegarsi alla pagina di controllo, poter gestire correttamente il server e la seconda riguarda la creazione di credenziali d’accesso al server.

Accesso da esterno alla pagina di controllo

Per poter autorizzare PC ad accedere alla pagina di controllo da remoto, è necessario modificare il file standalone.xml, che si trova nella cartella /opt/wildfly/standalone/configuration/ ; tale file è molto importante, in quanto contiene diverse impostazioni che permettono al server di girare correttamente sul Raspberry PI. Quindi apriamo il terminale e digitiamo il seguente comando:

sudo nano /opt/wildfly/standalone/configuration/standalone.xml

Le righe da modificar sono:

 <interfaces>
        <interface name="management">
            <loopback-address value="${env.OPENSHIFT_WILDFLY_IP}"/>
        </interface>
        <interface name="public">
            <any-address/>
        </interface>

che diventano:

<interfaces>
        <interface name="management">
            <any-address/>
        </interface>
        <interface name="public">
            <any-address/>
        </interface>
</interfaces>

Aggiunta utente

L’ultimo passaggio è la creazione delle credenziali d’accesso per poter accedere alla pagina di controllo del server Wildfly. Esiste uno script molto semplice e guidato, che permette di effettuare tale operazione. Per avviare la procedura è necessario digitare da terminale:

sudo bash /opt/wildfly/bin/add-user.sh

La procedura è guidata,  sarà necessario inserire il nome utente, la password e altre informazioni riguardo al tipo di account.

WIldfly

Ora che abbiamo completato questa procedura, riavviamo il nostro Raspberry PI e apriamo il browser da remoto, digitando l’indirizzo IP del dispositivo e come porta la 9990:

http://$IP_RASPBERRY:9990

Wildfly

Conclusione

L’installazione richiede diverse procedura che permettono di aver un server completamente funzionante anche da remoto. Wildfly è uno strumento molto potente, che permette di sfruttare al massimo le funzionalità di JavaEE per lo sviluppo di progetti non sono IoT. Nei prossimi articoli vedremo un po’ d’esempi di utilizzo di tale tecnologia.

 

long1




Installare Apache, PHP, MySQL sul Raspberry PI Zero


In questo articolo vedremo come installare sul Raspberry PI Zero i principali programmi che vengono usati nei progetti domotici e non solo. Ecco la lista dei software:

 

Raspberry PI Zero

A differenza di altri micro-controllori come Arduino, Photon, ESP8266 etc…, il Raspberry PI Zero permette l’esecuzione di un sistema operativo Linux, il quale apre le porte alla possibilità di installare software molti utili, come i 3 che sono stati citati in precedenza. In questo modo è possibile trasformare il piccolo PC da 4£ in un vero e proprio web server, con il quale inviare e ricevere dati, che a loro volta possono essere salvati in modo persistente all’interno di un database MySQL.

zero_3_of_5_1024x1024-100630881-primary.idge

Passi preliminari

Come detto in precedenza, il Raspberry PI Zero è in grado di supportare un sistema operativo Linux come Raspbian. Per questo motivo, è necessario installare su tale dispositivo un versione del OS. Dal momento che è la stessa versione del sistema operativo che gira sulla versione 3, possiamo seguire la medesima guida che è presente sul mio blog.

In alternativa, esistono le pagine ufficiali che spiegano le procedure dettagliate, per poter installare sul proprio Raspberry PI Zero il sistema operativo Raspbian su una micro-SD.

Guida ufficiale

Installazione Apacheapache-http-server

Apache un software scritto in C, che permette di trasformare il Raspberry PI Zero in un vero e proprio webserver, in grado quindi di ricevere ed elaborare richieste HTTP(s), per poter mostrare pagine web, ad esempio una pagina html. Uno dei rivali di Apache è NGIX; entrambi sono software gratuiti le loro differenze riguardano le performance per diversi tipi di siti web. Tipicamente NGIX risulta essere più veloce a caricare pagine dinamiche, (ad esempio un blog WordPress), mentre Apache è più performante con pagine web statiche.

Vediamo quali passaggi dobbiamo effettuare per poter installare Apache sul nostro Raspberry PI Zero.

Apriamo il terminale del nostro PC e digitiamo il seguente comando:

sudo apt-get install apache2 -y

Una volta premuto invio, il nostro dispositivo incomincerà a scaricare un po’ di pacchetti utili all’installazione, che richiederà qualche decina di secondi. Una volta completata, per verificare che funzioni tutti correttamente, basterà aprire il browser e digitare sulla barra degli indirizzi http://127.0.0.0.1. Se l’installazione è stata completata correttamente, comparirà una pagina web simile a questa:

Apache

Ora potremo caricarci i nostri file html all’interno della cartella /var/www/. Ovviamente sono disponibile tantissime configurazioni, che permettono di gestire diversi siti web contemporaneamente, cambiare la porta d’utilizzo e introdurre il protocollo SSL.

Installazione PHPPHP-logo.svg_

PHP è un linguaggio di programmazione lato server, che permette di introdurre una logica per la gestione di dati, che vengono inviati al server. Ad esempio possiamo validare l’invio di un form di registrazione e gestire i vari casi. Inoltre PHP è un linguaggio di programmazione che permette facilmente di poter leggere e scrivere dati all’interno di un database MySQL. Sicuramente PHP è un linguaggio non recentissimo, che però permette di creare in poco tempo buoni infrastrutture server; basti pensare che Facebook all’inizio era scritto in PHP. La versione più recente è la 7, ma nella repo ufficiale del Raspberry PI è presente ancora la versione 5.6, che ormai è molto stabile e consolidata. Occorre notare che PHP è molto severo nei metodi deprecati e quando ci sono nuovi aggiornamenti, è possibile che del codice che prima funzionava, adesso non funzioni più Per questo motivo, prima di effettuare qualsiasi aggiornamento, è sempre meglio verificare la lista dei metodi che non sono più validi.

Ora vediamo come installare PHP sul nostro Raspberry PI zero.

Il primo passaggio è quello di aprire il terminale e digitare il seguente comando:

sudo apt-get install libapache2-mod-php5 php5 php-pear php5-xcache php5-mysql php5-curl php5-gd


Se ci dovessero essere dei problemi, molto probabilmente è dovuto al fatto che mancano dei pacchetti aggiornati del sistema operativo. In questo caso sarà necessario inviare i seguenti comandi:

sudo apt-get update

e successivamente:

sudo apt-get upgrade

Per verificare che tutto funzioni correttamente, è necessario creare un piccolo file PHP di nome info.php, all’interno della cartella Apache, come il seguente:

<?php phpinfo(); ?>

Occorre ricordare che per poter accedere alla cartella di Apache è necessario accedere con i privilegi da root. Ora che abbiamo caricato la pagina PHP, possiamo testare il funzionamento aprendo il browser e digitando nella barra degli indirizzi:

http://127.0.0.1/info.php

Se tutto funziona correttamente, dovremo vedere una pagina web simile alla seguente:

Schermata 2016-06-19 alle 18.30.28

Installare MySQLMySQL

L’ultimo programma molto utile che verrà descritto in questo articolo è MySQL. Tale software è molto utile per quanto riguarda il salvataggio dei dati, che vengono generati a run-time dai nostri programmi/sensori collegati al nostro Raspberry PI. Per poter leggere e scrivere successivamente tali dati, sarà necessario effettuare delle query, che utilizzano il linguaggio SQL. Tale linguaggio non è complicato e sul web è possibile trovare tante guide e tanti esempi a riguardo. Un tutorial molto utile/interessante è il seguente.

Per poter utilizzare il sistema di persistenza dei dati in un DB è necessario disporre di un MySQL server e dei driver per potersi collegare a tale dispositivo. Esiste un client molto utile, che si chiama MySQL Workbench, che permette di fare manutenzione sul server ed effettuare le query al DB.

Vediamo un po’ come installare il MySQL server. Il primo passaggio è quello di aprire il terminale e digitare il seguente comando:

sudo apt-get install mysql-server

Una volta premuto y, verrà chiesta la password dell’account root. Per motivi di sicurezza, si consiglia di crearne una abbastanza robusta, in quanto tale password permette di dare praticamente di tutto all’interno del DB.

MySQL

Successivamente comparirà una pagina, in cui dovremmo confermare la password, che abbiamo digitato in precedenza.

Schermata 2016-06-19 alle 18.27.39

Dopo qualche istante l’installazione del MySQL server dovrebbe essere stata completata correttamente.

Di default, per motivi di sicurezza, il server non è accessibile da remoto. Per ovviare a tale limitazione, sebbene riduca il livello di sicurezza, possiamo modificare il file di configurazione.

Per farlo digitiamo da terminale il seguente comando:

nano /etc/mysql/my.cnf

La riga da modificare è:

bind-address = 127.0.0.1

Schermata 2016-06-19 alle 18.31.56

che diventa:

bind-address = 0.0.0.0

Schermata 2016-06-19 alle 18.32.08

Ora è necessario riavviare il servizio MySQL:

sudo /etc/init.d/mysql restart

Ora dovremmo essere riusciti ad aver installato Apache, PHP e MySQL server sul nostro Raspberry PI zero.

Per poter acquistare il Raspberry PI zero, oppure il Raspberry PI model B e tanti altri accessori, potete farlo sul sito http://www.kubii.it/.

long1 




CloudMonitor24 un nuovo servizio cloud per l'Internet of Things


L’IoT è uno dei settori dell’informatica, che sta acquisendo sempre maggiore attenzione negli ultimi anni. Questo è dovuto a diversi fattori; quello più importante è la facilità con cui è possibile utilizzare micro-controllori, come ad esempio Arduino, Raspberry PI etc… anche per utenti che non necessariamente hanno conoscenze scolastiche a riguardo.

IoT

Infatti per poter realizzare un progetto domotico, basta un po’ di passione e con l’aiuto del web è possibile trovare tanti tutorial che permettono di comandare prese elettriche da remoto, creare sistemi d’allarme, monitorare lo stato della casa e tanto altro.

Se siete interessati al mondo dei markers, vi consiglio di dare un’occhiata al sito Instructables e a questo link potete trovare tantissimi progetti.

logo-instructables-01

Per quanto riguardo il mondo dell’Internet of Things, ho scoperto un servizio italiano molto interessante, che permette di sfruttare al massimo la potenza che mette a disposizione Internet, con il mondo dei micro-controllori; il servizio si chiama CloudMonitor24.

logo_monitor24

 

Questo sito web offre due servizi, uno relativo alla localizzazione delle flotte e uno relativo all’IoT, ma che entrambi si basano sul controllo da remoto di dispositivi, che nel primo caso sono mezzi di trasporto, nel secondo dispositivi più vari.

Localizzazione di flotte

Questo servizio permette all’azienda di localizzare i propri veicoli che circolano in Europa, grazie all’utilizzo di localizzatori GPS che si connetto al servizio cloud attraverso una connessione dati GPRS, più che sufficiente per lo scambio di dati. CloudMonitor24 offre all’azienda la possibilità di localizzare in qualsiasi momento e in tempo reale la posizione dei propri mezzi, la riduzione dei consumi del carburante grazie allo storico dei rifornimenti, una comunicazione ottimizzata tra la centrale logistica e gli autisti ed infine un monitoraggio che permette di prevenire i furti.

CloudMonitor24

Funzionalità in dettaglio del servizio per la localizzazione di flotte di CloudMonitor24.

Scopri tutto quello che puoi fare con CloudMonitor24.

Posizione corrente
Conosci in ogni momento la posizione corrente di tutti i tuoi veicoli, se sono in marcia o fermi e quale è il veicolo più vicino ad un indirizzo.

Storico dei percorsi
Tutti i percorsi effettuati dai tuoi veicoli sono memorizzati. Consulta in ogni momento quali sono stati gli spostamenti effettuati da tutti i mezzi.

Monitoraggio eventi
La piattaforma può avvisarti nel caso di eventi legati al tuo veicolo, come raggiungimento di un punto o superamento di una velocità massima.

Acquisizione misure
Puoi acquisire e storicizzare varie tipologie di misure come la temperatura, il numero dei giri del motore, il totale di chilometri percorsi e tante altre .

Controllo carburante
Tieni sempre sotto controllo i consumi ed il livello di carburante di tutti i tuoi veicoli per accorgerti di anomalie ed evitare furti.

Antifurto
La piattaforma è in grado di avvisarti nel caso rilevasse un tentativo di furto o un movimento del veicolo in orari anomali.

Riconoscimento autisti
Ogni autista può identificarsi al momento dell’accensione del veicolo in modo da tracciare le ore di guida e i percorsi effettuati.

Report statistici
Svariati report disponibili con lo storico sulle ore di guida di un autista, il consumo medio di un veicolo o di un autista, le percorrenze e lo stile di guida.

Integrazione col navigatore
La piattaforma può comunicare con i principali navigatori Garmin per inviare in tempo reale all’autista messaggi di testo o destinazione.

Comunicazione con l’autista
Puoi comunicare in maniera bidirezionale mediante messaggi di testo sul telefono dell’autista o direttamente sul navigatore a bordo mezzo.

Comandi remoti
Invia in qualsiasi momento comandi o nuove configurazioni. Si occupererà la piattaforma di memorizzarli nel caso la centralina del veicolo non fosse collegata.

Manutenzione e scadenziario
Puoi tenere sotto controllo tutte le scadenze di manutenzione dei veicoli ed essere avvisato da CloudMonitor24 quando una scadenza si avvicina.

Il sistema è possibile provarlo gratuitamente, registrandosi alla seguente pagina. Una volta inseriti i nostri dati, sarà possibile capire le funzionalità del sistema, attraverso una demo.

Ad esempio è possibile inserire un rifornimento di carburante e vedere lo storico, con il relativo calcolo dei consumi:

Carburante

Schermata 2016-06-18 alle 18.39.05

Oltre alla possibilità di visualizzare lo storico dei rifornimenti, è possibile visualizzare tutti i percorsi compiuti dai diversi mezzi, con diversi dati utili per capire anche come l’autista ha guidato. Ecco un esempio:

Dettaglio percorso

Attraverso questo servizio è possibile tenere sotto controllo l’intera flotta dei mezzi a disposizione dell’azienda, attraverso la localizzazione dei mezzi, lo storico dei carburanti, dei percorsi. Inoltre grazie all’utilizzo di sensori, sarà possibile prevenire furti.

Mondo IoT

Sebbene il servizio riguardante i mezzi di trasporto sia comunque legato al mondo IoT, CloudMonitor24 mette a disposizione un servizio dedicato per il controllo di dispositivi connessi ad Internet, sia per hobbisti, i famosi Markers, sia per aziende che vogliono utilizzare le potenzialità del mondo delle cose.

Ecco una panoramica dei principali servizi offerti da CloudMonitor24:

CloudMonitor24

I punti chiave di questo servizio sono quindi la possibilità di collegare i più famosi micro-controllori, come Arduino, ESP8266 all’infrastruttura, per l’invio dei dati, l’analisi e il monitoraggio. Oltre a queste funzionalità, è possibile avere una piccola intelligenza artificiale, in grado di prendere decisioni a seconda di alcuni valori. Ad esempio se la temperatura di casa supera i 24°, è possibile far accedere il condizionatore di casa. Interessante no?

Anche in questo caso, è possibile registrarsi al sito per poter provare le funzionalità messe a disposizione da quest’ultimo.

Home

In questa schermata è possibile inviare comandi da remoto e aggiungerne di nuovi. Ovviamente per ogni comando sarà necessario implementare all’interno del software del micro-controllore la relativa operazione da effettuare:

Invio comando

Remote commands

Inoltre, come già accennato in precedenza, è possibile impostare l’azione da intraprendere, a seconda dei dati che vengono ricevuti dai dispositivi:

Config eventi

CloudMonitor24 mette a disposizione delle librerie per i principali dispositivi, che permettono la connessione e l’utilizzo dei servizi dell’infrastruttura. Tali librerie e i codici d’esempio sono presenti nella repo su Github dell’azienda.

Riassunto

CloudMonitor24 è un ottimo servizio per aziende e per hobbisti che permette di poter sfruttare le potenzialità di Internet e quelle dei dispositivi come Arduino, per poter rendere intelligenti i vari dispositivi che ci circondano. Attraverso una semplice interfaccia grafia e le librerie è possibile mettere in comunicazioni gli oggetti con il servizio cloud in poco tempo.