Salve a tutti,
premetto che non ho mai usato Arduino, ma ne ho solo sentito parlare.
Parlavo con un amico (che ha comprato Arduino anche se al momento usato poco) e ci chiedevamo se fosse possibile una configurazione di Arduino con web server (tipo apache), comunque web server con il supporto di php per esempio.
Lo scopo sarebbe quello di capire se in una lan si puo' mettere una macchina arduino che funga da web server e fornire pagine web (tipo php etc).
Per effettuare operazioni minimali di programmazione (per esempio incrementare un contatore nella pagina web con php).
Immagino che nel caso non sia possibile interfacciare il web server con ingresso o altro?
Intendo riceve un impulso in ingresso ed incrementare il contatore dentro una pagina web. Si può ?
è possibile in parte:
apache è un demone che necessita di un sistema operativo, cosa che arduino non ha.
puoi programmare delle pagine non in php ma puoi mettere delle pagine html dinamiche, incrementare una variabile ad ogni connessione puoi, devi prendere un arduino ed una cosa chiamata ethernet shield.
questo per darti un'idea.
poi conta che comunque se non sbaglio hai massimo 4 client contemporanei da poter usare
se sapete programmare bene potreste creare un interprete PHP, ovviamente sarà molto limitato rispetto alla controparte PC, ma un'ottimo esercizio per esperti
lesto:
se sapete programmare bene potreste creare un interprete PHP, ovviamente sarà molto limitato rispetto alla controparte PC, ma un'ottimo esercizio per esperti
beh ora non so il loro grado di programmazione ma se hanno chiesto se un microcontrollore a 8 bit con una quantità esigua di ram e flash possa girare un demone come apache mi pare che non abbiano le compentenze di creare un vero e proprio interprete per php. inoltre si troverebbero a lavorare anche con sd e rallentamenti che programmando direttamente non avrebbero. sbalgio?
anche se rimane che la soluzione migliore sia un pc vecchio, in discarica trovi parti funzionanti, ti basta un HD da 20GB, una scheda madre del cavolo e un processore single core e 1GB di ram (anche mezzo) e ci butti su un bel ubuntu desktop 10.10 ed hai la comodità delle finestre in un computer veloce. la configurazione di apache e altri webserver la trovi in rete, nulla di più facile se deve girare in lan, usi il firewall poi per gestire le porte e tenerlo ancora più sicuro con configurazione standard.
se poi vuoi strafare vi sono programmi che fanno conversione php<->seriale e lo usi per comunicare con arduino
bho io quando ho iniziato non sapevo nemmeno cosa fosse uno shield o che arduino supportasse il tcp/ip, eppure avevo già usato il protocollo. Per me era questa la domanda, posta in modo niubbo, ma non è detto che la niubbaggine sia anche a lato programmazione ma solo a lato cosa può e cosa non può fare un microcontrollore.
E' vero che usare un vecchio PC è molto più potente di un arduino, e che l'ethernet shield supporta al massimo 5 connessioni, etc... ma vuoi mettere le diversità di consumo?
Se il server web mi serve per controllare da remoto lo stato dell'impianto domotico di casa, o comunque per un uso molto limitato ma 24/24, allora è meglio un'arduino.
Lo scopo sarebbe quello di capire se in una lan si puo' mettere una macchina arduino che funga da web server e fornire pagine web (tipo php etc).
Per effettuare operazioni minimali di programmazione (per esempio incrementare un contatore nella pagina web con php).
Certo la dinamicità del sito non la farei in PHP ma userei direttamente il C. Dai un'occhiata aagli esempi nell'IDE, file->examples->Ethernet->WebServer
Vi posso dare un consiglio in quanto per ora sto scrivendo un piccolo web server (per un'app android).
Se sapete già che il vostro arduino dovrà hostare un certo tipo di pagine potete fare in modo da evitare php... cioè, usando il più possibile javascript (ajax fa miracoli!) e, se proprio è necessaria qualche operazione lato server, implementare le singole funzioni che vi servono direttamente in C.
Secondo me, far girare bene php su arduino è un'utopia!
io ho realizzato un progetto Arduino + ethernet shield con webserver(SD) questo è il link su arduino.cc dove ho chiesto info al forum per la sua realizzazione, mentre a questo link troverai il progetto completo e la documentazione necessaria alla sua realizzazione.
avevo optato per pagine in php ma poi ho scelto di utilizzare pagine in html con l'implementazione di jquery.js (se googoli troverai un sacco di documentazione) che semplifica notevolmente il parser della pagina web, e delle azioni ad essa effettuate (invio form, richieste http, ecc..)
A mio avviso è complicarsi la vita fine a se stesso. Lasciamo i microcontrollori il loro mestiere e ad un calcolatore anche vecchio facciamo fare da server. Già solo per la memoria ridotta (giustamente) che hanno i microcontrollori atmega rischieresti di iniziare a scrivere codice e vedere che non ti sta più nulla di ciò che dovresti fare.