Yún – Utilizzare PHP

by luca
21 comments

Se avete visto qualche mio progetto (dashboard, grafici web…), sicuramente avrete notato come prediligo l’uso del linguaggio PHP quando si tratta di programmare pagine/siti dinamici. Possiamo utilizzare PHP anche con il nostro Yun, ecco come fare…

Questa guida è scritta per la versione iniziale di Arduino Yun. Se possedete uno Yun Rev.2 o uno Yun Shield, potete seguire questo mio post per installare php.

Per prima cosa dobbiamo installare i pacchetti software. Ho scelto di installare la versione 5, includendo il modulo CLI, che consente di lanciare script PHP dalla riga di comando (vedremo che sarà utile quando impareremo a lanciare comandi tramite Bridge!):

Modifichiamo ora il file di configurazione (/etc/config/uhttpd) del webserver, decommentando (= togliendo il simbolo # ad inizio riga) l’uso dell’interprete php:

Riavviamo il webserver:

Per verificare che tutto funzioni, prepariamo una pagina con il comando phpinfo().

Spostiamoci sulla SD (cd /www/sd) e creiamo la pagina:

Apriamo ora il browser e controlliamo che la pagina venga correttamente interpretata:

Related Posts

21 comments

Mauro Alfieri 18 febbraio 2014 - 14:11

Articoli sempre estremamente interessanti !

Grazie

Reply
Tutorial arduno yun php timezone - Alfieri Mauro Elettronica Domotica 2 aprile 2014 - 08:02

[…] sull’arduino yùn e per farlo ho seguito l’utile guida dell’amico Luca ( leggi guida ) … fatto […]

Reply
luca 29 settembre 2014 - 04:55

Ciao Luca, complimenti per i tutorial!
Essendo alla prime armi con Arduino Yun ho qualche difficoltà nell’ installazione del php. Il file zip che scarico dal sito ufficiale ph lo devo decompattare nella SD nella cartella creata Arduino o nella root? Fatto questo, entro con putty e lancio la riga di comando… opkg… descritta sopra?

Grazie mille per la disponibilità
Luca Serafini

Reply
luca 29 settembre 2014 - 07:43

Ciao Luca,

è molto più semplice: non devi scaricare nulla dal sito php, basta che lo Yun sia connesso ad Internet… con il comando opkg […] scarica tutto quello che serve e te lo installa in automatico.

Reply
luca 30 settembre 2014 - 21:46

Ciao Luca, Grazie per la risposta… pian piano ci sto arrivando… dopo aver creato la pagina phpinfo al momento della verifica sul browser mi da questo errore…
Parse error: syntax error, unexpected ‘>’ in /mnt/sda1/arduino/www/phpinfo.php on line 1

dove sbaglio?

Grazie per l’aiuto
Luca

Reply
luca 30 settembre 2014 - 21:50

Come non detto… ho riprovato a creare la pagina phpinfo e ora funziona
Grazie e ancora complimenti per l’ottimo sito

Luca

Reply
Luca 29 ottobre 2014 - 21:37

Ciao Luca, ho eseguito la procedura sopra descritta,ora per entrare in phpmyadmin della sd di Arduino come faccio? Vorrei creare una tabella e inviare i dati di alcuni sensori sul server locale sd
Grazie per l’aiuto

Reply
luca 2 novembre 2014 - 13:04

Ciao Luca

devi installare MySQL e phpMyAdmin, sono entrambi pacchetti installabili via interfaccia web

Reply
Gianluca 24 febbraio 2015 - 12:27

Ciao Luca,
Quando cerco di decommentare il file httpd non trovo la riga ho usato nano /etc/config/uhttpd

Reply
Gianluca 24 febbraio 2015 - 16:43

Aggiungo che con /etc/config/uhttpd mi da permission denied

Reply
luca 24 febbraio 2015 - 21:10

Ciao Gianluca, strano: i comandi precedenti (opkg…) sono andati bene? Ti sei collegato come “root” allo Yun?

Reply
Alfred 5 giugno 2015 - 17:04

Ciao Luca,
quando metto questa riga di codice:

opkg install php5 php5-cgi php5-cli

mi dice:

Unknown package ‘php5’.
Unknown package ‘php5-cgi’.
Unknown package ‘php5-cli’.
Collected errors:
* opkg_install_cmd: Cannot install package php5.
* opkg_install_cmd: Cannot install package php5-cgi.
* opkg_install_cmd: Cannot install package php5-cli.

Eppure dovrebbe essere connesso a internet.

Reply
luca 8 giugno 2015 - 18:57

Ciao, prova a dare opkg update prima di fare gli install, è possibile che tu abbia i repository vecchi…

Reply
Sandro 27 novembre 2015 - 02:54

Ciao Luca, ho un problema sulla visualizzazione della pagina. Se la inserisco sulla root /www tutto ok.
Ma se creo la pagina sul percorso /mnt/sda1/arduino/www non viene visualizzata con l’url ipArduinoYun/sd/…..php . Premetto che il pacchetto php è stato inserito correttamente. Tramite WinSCP vedo che il percorso esiste ed anche il file php. Come posso fare? Grazie

Reply
Sandro 27 novembre 2015 - 11:15

Come non detto Luca, sono riuscito a visualizzare la pagina. Scusami.

Reply
Manuel 5 settembre 2016 - 14:19

Ciao Luca,
complimenti per i tuoi tutorial.
ho seguito tutti i passi da te indicati,
Una volta creata la pagina phpinfo.php, apro il browser, inserisco l’indirizzo di arduino, ma non apre nessuna pagina.

come posso procedere?

Reply
Davide C 1 ottobre 2018 - 14:40

ho un arduino yun rev2, posso installare php5? cercando tra i pacchetti trovo solo php7!

Reply
Davide C 7 ottobre 2018 - 16:49

scusa il disturbo, hai dimestichezza con il php7 su arduino Yun rev2? non riesco a modificare il file uhttpd per togliere il #. il file che apro è completamente diverso dal tuo.

Reply
luca 8 ottobre 2018 - 07:19

ciao Davide, purtroppo no… non possiedo uno Yun rev2 quindi non so cosa abbiano modificato in php o uHttpd. Ho trovato alcuni tutorial relativi a OpenWrt (la distribuzione che usa lo Yun), prova a vedere se funzionano

Reply
marco 17 maggio 2020 - 22:48

Ciao Luca complimenti per la tua realizzazione! uno sketch veramente utile e complesso !

ho una scheda arduino Yun.. aggiornato OpenWrt alla versione del 2017… quindi ho installato tutti i pacchetti che ho trovato nella tua guida apposita per aggiornare la scheda … quindi ho php7 ecc ecc

Ho un problema con l’interfaccia web … non funzionano gli slider e forse dipende da php che non riesce ad inviare i comandi… al db ?
se provo a modificare uno slider .. ottengo ” Warning Unable to call irrighino” dove sbaglio ?

Reply
luca 1 giugno 2020 - 10:51

ciao Marco e grazie x i complimenti. L’errore normalmente indica che la chiamata API fallisce: lo sketch è in esecuzione? Hai per caso cambiato la password di default delle API?

Reply

Leave a Comment

15 − 11 =