quando usate il CSS, è buona cosa includere come file principale un foglio CSS detto reset, in pratica in quel foglio settate TUTTI gli elementi che usate con dei valori di default, in modo da non avere spiacevoli sorprese causate dai diversi valodi di default dei browser.
Ovviamente se cercate "reset CSS" trovate vari fogli già pronti, i più famosi sono quelli di Eric Meyer (CSS Tools: Reset CSS) e la YUI di Yahoo (CSS Reset - YUI Library)
grazie lesto del consiglio,
secondo te sulla questione database + password non ce la fa il webserver per l'arduino 1 ?
volendo usare un solo utente, quindi una sola password, c'e' cmq bisogno di un database ?
Credo sia molto interessante rendere uno di questi aggeggi autonomi, senza bisogno di un pc acceso, in modo da sostituire ad esempio un normale termostato
un database è un sistema per gestire più utenti contemporanei, ovvero la concorrenza nell'uso dei dati.
Poichè i dati li modifica arduino e non gli utenti, allora non servono lock, quindi arduino semplicemente salva il valore su file o eprom o variabile e lo stampa direttamente nell'HTML quando serve
edit: scusa intendevi memorizzare i dati che invece lui tiene nel DB/pc.
allora come fa lui no, non hai abbastanza ram, puoi usare la eeprmse basta o una SD, oppure uno dei primi post ho parlato di un sistema per ridurre assai l'uso della ram
Se hai la precisione di un'ora e devi solo indicare acceso/spento, allora ti serve un array di 24 byte (1 byte per ora, dove i bit rappresentano i giorni: il bit 0 è il lunedì, il bit 1 il martedì, etc... e ti avanza pure un bit!) invece usi un array di 128 e non capisco il perchè
Testato:
grazie lesto del consiglio,
secondo te sulla questione database + password non ce la fa il webserver per l'arduino 1 ?
volendo usare un solo utente, quindi una sola password, c'e' cmq bisogno di un database ?
Credo sia molto interessante rendere uno di questi aggeggi autonomi, senza bisogno di un pc acceso, in modo da sostituire ad esempio un normale termostato
io ho utilizzato un sito in php + database perche l'idea e' che un singolo utente puo' gestire piu' arduini ( casa 1 casa, casa 2 ecc) ed ogni arduino puo' essere gestito da piu' persone...
inoltre per me un arduino e' un microcontrollore, non e' un microprocessore + un hd + un lettore dvd + una scheda video ecc
questo progettino che ho fatto mi piace perche' se vuoi eliminare il server basta che scrivi una app per android o per quello che vuoi e il codice sull' arduino non deve essere cambiato di una virgola.
aggiungo che il server non devi averlo per forza in casa, puo' anche essere in india
lesto:
quando usate il CSS, è buona cosa includere come file principale un foglio CSS detto reset, in pratica in quel foglio settate TUTTI gli elementi che usate con dei valori di default, in modo da non avere spiacevoli sorprese causate dai diversi valodi di default dei browser.
Ovviamente se cercate "reset CSS" trovate vari fogli già pronti, i più famosi sono quelli di Eric Meyer (CSS Tools: Reset CSS) e la YUI di Yahoo (CSS Reset - YUI Library)
nel file css utilizzato sono stati riscritti tutti gli elementi usati dal html, solo lo sfondo del box dove scrivi l' username e la password puo' non essere giallo crema ma bianco
lesto:
un database è un sistema per gestire più utenti contemporanei, ovvero la concorrenza nell'uso dei dati.
Poichè i dati li modifica arduino e non gli utenti, allora non servono lock, quindi arduino semplicemente salva il valore su file o eprom o variabile e lo stampa direttamente nell'HTML quando serve
edit: scusa intendevi memorizzare i dati che invece lui tiene nel DB/pc.
allora come fa lui no, non hai abbastanza ram, puoi usare la eeprmse basta o una SD, oppure uno dei primi post ho parlato di un sistema per ridurre assai l'uso della ram
Se hai la precisione di un'ora e devi solo indicare acceso/spento, allora ti serve un array di 24 byte (1 byte per ora, dove i bit rappresentano i giorni: il bit 0 è il lunedì, il bit 1 il martedì, etc... e ti avanza pure un bit!) invece usi un array di 128 e non capisco il perchè
nessun dato proveniente da database e' usato dall'arduino e nessun dato usato dall'arduino e' salvato sul database.
per quanto riguarda le struct in byte e' un discorso molto interessante ma in questo caso il gioco non vale la candela... quante righe di codice ti servono in piu' x non usare un array di ben 128 byte... e quindi 0,168K sui 32K disponibili
Ciao, bel progetto, io sto realizzando qualcosa di molto simile, con la possibilità di salvare la temperatura sul db per fare una piccola statistica
Quello che non ho capito dal progetto è un if, nel particolare:
int x1 = 0
...
...
if (x1 > 5 && x1 < 24)
{
get[x1 - 6] = c & 15;
}
x1++;
nell'array get vai a salvare la stringa "c" partendo dal 6 carattere che nel caso in esempio sarebbe 7 e poi 6121, quindi il get[0] è 7 e non 1 che servirebbe per il controllo (1234)
un consiglio, quando aggiorni qualcosa al progetto aggiorna sempre il primo post, perche' resta di riferimento e non obbliga ad andarsi a leggere tutte le pagine
mi accodo ai complimenti per il lavoro, anche l'interfaccia è molto pulita e rende bene. Se hai voglia, avremo bisogno di una persona che sviluppi e curi l'interfaccia HTML per il progetto Souliss. E' sempre un progetto di domotica basato su arduino ed ovviamente opensource.
Ma il progetto è stato abbandonato?
Ero interessato a realizzare qualcosa del genere, ho provato ad utilizzare i file allegati ma non capisco come creare il database mysql (struttura dei campi) .
Qualcuno mi "illumina"??
Scusa lesto, ma qualcosa mi sfugge.
Ok per la parte sql, leggendo il codice si riesce a capire le strutture che dovrà avere il database, ma sempre nel codice trovo riferimenti ad immagini (es. mOn.png) che non trovo tra quanto presente nel post.
C'era qualche allegato andato perso o non sono mai state postate ?
Grazie
Sto "cercando" di capire il funzionamento del sistema.
Tutto ok per quanto concerne la parte hardware e lo sketch, dopo una giornata di analisi sono riuscito a capirlo tutto, mi areno sulla parte WEB.
1° problema - > File Show.php il file viene eseguito regolarmente ma analizzando la console di Explorer trovo un sulla seguente riga
2° problema, se ho capito bene il funzionamento della parte web, il file Show.php invia la richiesta (ip,porta,richiesta) al file Get.php che a sua volta dovrebbe inviarla al micro.
Questo 'purtroppo' non avviene. Ho provato a richiamare anche manualmente (da indirizzo web) il file get.php http://xxx.altervista.org/get.php?192.168.1.234&80&1234911000 ma non ho ottenuto nessun risultato. Se digito invece manualmente la stringa sul Browser (es. 192.168.1.234:80/?1234911000) tutto funziona regolarmente, il comando viene accettato e cambiato il modo di funzionamento.
Non riesco in sintesi a capire cosa fa questo codice
get.php
il debug fallo con firefox e/o chrome. quado funziona si aggiunge il supporto con IE, purtroppo IE è una brutta bestia perchè fa le cose a modo suo. Prima di tutto dobbiamo capire se l'errore è nel codice o se è di IE
echo = stampa nella pagina
file_get_contents = da PHP: file_get_contents - Manual " file_get_contents() is the preferred way to read the contents of a file into a string. It will use memory mapping techniques if supported by your OS to enhance performance.
Note:
If you're opening a URI with special characters, such as spaces, you need to encode the URI with urlencode(). "
quindi stai "sbagliando" perchè manca l'urlencode
"http://".$_GET['addr'].":".$_GET['proto']."/?".$_GET['rqst'] = prende i parametri get e chrea l'uri.
Lesto, sei un GRANDE, il problema era proprio il blocco imposto da Altavista.
Per la risoluzione ho dovuto modificare le impostazioni di protezione del sito e modificare il file che, per chi come me è ospite di Altervista, allego.
Vi ricordo che in ogni caso Altervista permette l'utilizzo solo delle porte 80 0 443.
File get.php
permane l'errore del punto 1 "(var json=eval("(" + xmlhttp.responseText + ")");" nel file Show.php ma sembra non influire sul funzionamento del programma.