Installare phpsysinfo su raspberry
Una delle soluzioni più pratiche e veloci per tenere sotto controllo le informazioni generali della raspberry pi è PHPSYSINFO che “di base” tramite una schermata come quella sotto raccoglie tutte le informazioni che ci servono.
Requisiti per l’installazione
Per prima cosa dovete verificare se nel vostro sistema è stata installata una versione di php 5.1.3 o superiore installate le seguenti estensioni:
- SimpleXML
- PCRE
- XML
- DOM
Vi lascio il link alla guida per l’installazione su Raspberry Pi: https://computer4dummy.altervista.org/raspberry-installare-apache-php-e-mysql/
Estensioni suggerite:
- mbstring: Necessario per i sistemi non UTF-8
- com_dotnet: Necessario per i sistemi Windows
- xsl: Necessario per la modalità statica
- json: Necessario per Bootstrap
Sistemi verificati compatibili
L’applicazione è testata e compatibile con i seguenti sistemi operativi:
- Linux 2.6+
- FreeBSD 7+
- OpenBSD 2.8+
- NetBSD
- DragonFly
- HP-UX
- Darwin / Mac OS / OS X
- Windows 2000 / XP / 2003 / Vista / 2008 / 7 / 2011 / 2012 / 8 / 8.1 / 10 / 2016 / 2019
- Android
Per questi altri sistemi operativi invece non sono ancora stati completati tutti i test.
- Haiku
- Minix
- SunOS
- ReactOS
- IBM AIX
- QNX
Installazione e configurazione
Scaricate il file .zip dal sito ufficiale: http://phpsysinfo.github.io/phpsysinfo/ dalla sezione DOWNLOAD e estraetelo nella vostra cartella del sito web.
Es.
unzip phpsysinfo-3.3.1.zip -d /var/www/html/
A questo punto nella cartella dobbiamo copiare il file phpsysinfo.ini.new e rinominarlo in phpsysinfo.ini in modo da mantenere una copia originale in caso di problemi in seguito a modifiche sbagliate.
In questa guida non andremo a vedere i dettagli delle impostazioni di questo file, sappiate che da qui potete andare ad abilitare e configurare diversi plugin e tanti altri parametri di funzionamento generale di phpsysinfo; se volete un articolo con tutti i dettagli scrivetemelo nei commenti.
cp phpsysinfo.ini.new phpsysinfo.ini
Nel caso state utilizzando una Raspberry Pi vi consiglio di abilitare nella sezione SENSOR PARAMETERS il parametro SENSOR_PROGRAM=PiTemp in modo da poter visualizzare anche il valore di temperatura della CPU.
Una volta rinominato il file possiamo quindi aprire un browser ed aprire la pagina: http://tuaraspberrypi/phpsysinfo/ per aprire la pagina principale e leggere tutti i dati di sistema.
Accesso ai dati tramite JSON e XML
Un altro modo per accedere ai dati di sistema ed il motivo principale per cui ho utilizzato questo programma è che possiamo estrarre tutti i dati di sistema in formato JSON o XML per poi essere utilizzati ed elaborati all’interno di un qualsiasi programma in php, jquery, python, ecc…
Nei link sotto trovate alcuni esempi dalla pagina ufficiale con dei dati dimostrativi.
- XML: /phpsysinfo/xml.php?plugin=complete
- JSON: /phpsysinfo/xml.php?plugin=complete&json
- JSONP: /phpsysinfo/xml.php?plugin=complete&jsonp&callback=getData
Vi aggiungo qui sotto una parte di codice in PHP per estrarre alcuni dati, il file completo lo trovate pubblicato sulla pagina di GitHub: https://git.io/JexcW
<?php $ip1 = '192.168.1.1; $tmpStr1 = 'http://'.$ip1.'/phpsysinfo/xml.php?plugin=complete&json'; $opts = array('http'=>array('header' => "User-Agent:MyAgent/1.0\r\n")); $context = stream_context_create($opts); $jsondata1 = file_get_contents($tmpStr1); //converte l'oggetto json in array associativo php $data1 = json_decode($jsondata1, true); //CPU & HDD $CPU_load = $data1['Vitals']['@attributes']['CPULoad']; $CPU_avg = $data1['Vitals']['@attributes']['LoadAvg']; $Hdd_space_free = $data1['FileSystem']['Mount'][0]['@attributes']['Free']; $Hdd_space_used = $data1['FileSystem']['Mount'][0]['@attributes']['Used']; $Hdd_space_percent = $data1['FileSystem']['Mount'][0]['@attributes']['Percent'];
Fonti:
https://github.com/phpsysinfo/phpsysinfo
https://tech.scargill.net/phpsysinfo-on-raspberry-pi
http://phpsysinfo.github.io/phpsysinfo/
Spero che questo articolo ti sia stato utile, se hai avuto problemi oppure vuoi approfondire meglio qualche particolare scrivimi un commento o condividi l’articolo con persone che potrebbero trovarlo utile.
GRAZIE!!!