È finalmente giunto il momento di annunciare all'intero pianeta la disponibilità di Webbino. Si tratta di un server web per Arduino, che avevo scritto originariamente per il mio progetto SmartStrip, e che ho successivamente separato e reso indipendente, visto che può avere un utilizzo molto più generico.
Le sue funzionaità principali sono le seguenti:
Compatibile con molte interfacce di rete:
WizNet W5100: Ethernet Shield
WizNet W5500: Ethernet Shield 2
ENC28J60: KMTronic DINo (first version)
WINC1500 (Wi-Fi): WiFi Shield 101, MKR1000
ESP8266 (Wi-Fi): Sia in aggiunta ad Arduino (tipo Shield MLT), sia standalone tipo NodeMCU, WeMos D1/D1 Mini...- Possibilità di salvare le pagine HTML nella flash interna o su una SD.
Permette di sostituire facilmente tag tipo #TEMPERATURA# nelle pagine HTML con dati dinamici generati al momento della richiesta della pagina.
Possibilità di richiamare una funzione alla richiesta di una pagina, con disponibilità dei parametri passati in GET.
La libreria è corredata da una serie di brevi esempi che mostrano come utilizzare le sue funzionalità. Ad esempio, LedControl mostra la facilità con cui è possibile comandare un led (o un relé) da web.
La libreria è attualmente in fase di beta, e sarà presto rilasciata come stabile. Nel frattempo eventuali test, suggerimenti e richieste sono i benvenuti :). Anche le critiche sono benvenute, purché costruttive. Per tutto ciò, e per qualsiasi domanda potete usare questo thread.
Grazie @As_Needed! Ne approfitto per raccomandarti, appena puoi, di portare il tuo sketch alla versione 0.9.0 di Webbino. L'API ora dovrebbe rimanere stabile e alcune cose dovrebbero risultare più semplici. Inoltre i futuri sviluppi (file binari? ;)) saranno aggiunti a questa.
Un bel lavoro Praticamente guardando quello che è tra le parentesi, in mezzo ci va il nome del TAG sulla pagina della SD, poi alla terza posizione il nome della PString e all'inizio quello che prima era
Non so se vale la pena postare qui, però ho un problema. Praticamente ho aggiornato tutto il mio codice con la nuova libreria, ovviamente con IDE 1.6.12 compilato e tutto e nessun errore ovviamente. Poi dopo quando cerco di accedere all'IP impostato da me non visualizzo niente, come mai?
Queste le definizioni
//SD ED ETHETNET SHIELD///////////////
#define SD_SS 4
WebServer webserver;
#include <WebbinoInterfaces/WIZ5x00.h>
NetworkInterfaceWIZ5x00 netint;
//EthernetServer server(80);
// Configurazione Network
#define IP_ADDRESS 192,168,1,51 //l'ip usato dalla scheda ethernet
//#define DNS_ADDRESS 208,67,222,222
#define GW_ADDRESS 192,168,1,1 //l'ip del vostro modem
#define NETMASK 255,255,255,0 //la netmask della vostra rete
E nel setup
Serial.println (F("Using Webbino " WEBBINO_VERSION));
IPAddress ip (IP_ADDRESS);
//IPAddress dns (DNS_ADDRESS);
IPAddress gw (GW_ADDRESS);
IPAddress mask (NETMASK);
Serial.println (F("Configuring static IP address"));
byte mac[6] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55};
bool ok = netint.begin (mac, ip, dns, gw, mask);
if (!ok) {
Serial.println (F("Failed to configure static IP address"));
while (42)
;
} else {
Serial.println (F("Static IP configuration done:"));
Serial.print (F("- IP: "));
Serial.println (netint.getIP ());
Serial.print (F("- Netmask: "));
Serial.println (netint.getNetmask ());
Serial.print (F("- Default Gateway: "));
Serial.println (netint.getGateway ());
Serial.print (F("Initializing SD card..."));
if (!webserver.begin (netint, NULL, tags, SD_SS)) {
Serial.println (F(" failed"));
while (42)
;
}
Serial.println (F(" done"));
}
Sicuramente sbaglio qualcosa nel setup. Poi con la seriale mi scrive che tutto è stato configurato, sia ip che scheda SD, insomma tutto "done".
Beh, questo thread serve proprio per queste cose, hai fatto benissimo a postare qui. Cosa ti scrive nel monitor seriale? Hai provato ad abilitare il debug?