Pages: 1 2 [3]   Go Down
Author Topic: Presentazione di ThermoWeb - Domotica IP - c/php/js/sql  (Read 9344 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 4
Posts: 150
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
Code:
        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)

No Fabio, hai capito bene. E' che tra il primo post e gli altri è cambiato il codice. Il controllo è stato inserito dopo. Ciao
Logged

0
Offline Offline
Faraday Member
**
Karma: 47
Posts: 5895
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-wink
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Napoli
Offline Offline
Sr. Member
****
Karma: 7
Posts: 356
Post fata resurgo
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Andrea,

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.

Saluti,
Dario.
Logged

Souliss - Open-source Distributed Home Automation with Arduino and Android

http://www.souliss.net
Follow at @soulissteam

@veseotech

Offline Offline
Newbie
*
Karma: 1
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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"??
Logged

0
Offline Offline
Shannon Member
****
Karma: 131
Posts: 10473
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

cerca qualche guida SQL, è un linguaggio molto semplice
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 1
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Offline Offline
Shannon Member
****
Karma: 131
Posts: 10473
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

credo non siamo mai state postate. fattele date,tanto un immagine valel'altra, devi solo fare in modo cheti piaccia il risultato finale
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 1
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Code:
var json=eval("(" + xmlhttp.responseText + ")");
Errore
Code:
SCRIPT1006: Previsto ')'
show.php, Riga 21 Carattere 5

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
Code:
<?php

echo 
file_get_contents("http://".$_GET['addr'].":".$_GET['proto']."/?".$_GET['rqst']);

?>


* errore.jpg (44.88 KB, 1092x156 - viewed 18 times.)
Logged

0
Offline Offline
Shannon Member
****
Karma: 131
Posts: 10473
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

1. 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

2.
echo = stampa nella pagina
file_get_contents = da http://it2.php.net/function.file-get-contents " 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.

corretto dvrebbe essere

echo file_get_contents( urlencode("http://".$_GET['addr'].":".$_GET['proto']."/?".$_GET['rqst']) );
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 1
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Purtroppo anche con la tua correzione il problema permane.

Puoi verificare anche tu.
Chiamando il file get.php con i seguenti parametri

Code:
http://fabix68.altervista.org/get.php?addr=79.27.114.175&proto=88&rqst=12349100
raggiungo il file ma questo non inoltra la richiesta al mio arduino.

Inserendo invece direttamente la stringa che la GET  dovrebbe evocare il sistema restituisce correttamente i valori

Code:
http://79.27.114.175:88/?12349100

« Last Edit: May 27, 2014, 01:20:16 pm by fabix68 » Logged

0
Offline Offline
Shannon Member
****
Karma: 131
Posts: 10473
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ahhh ok sembra che la funzione sia bloccata per questioni di sucerezza, posto la discussiopne che anche se vecchiota linka delle alternative

http://forum.it.altervista.org/php-mysql-e-apache-htaccess/97080-aprire-file-di-un-altro-sito.html
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 1
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Code:
<?php
    $ch 
curl_init();
    
curl_setopt($chCURLOPT_URL"http://".$_GET['addr'].":".$_GET['proto']."/?".$_GET['rqst']);
    
curl_setopt($chCURLOPT_HEADERfalse);
    
$out curl_exec($ch);
    
curl_close($ch);
?>

permane l'errore del punto 1  "(var json=eval("(" + xmlhttp.responseText + ")");" nel file Show.php ma sembra non influire sul funzionamento del programma.

Lesto se vuoi dare un'occhiata

fabix68.altervista.org
User chiara
password 123456

ps non guardare le icone, sono state messe a caso giusto per evitare la generazione di errori

Grazie
Logged

0
Offline Offline
Shannon Member
****
Karma: 131
Posts: 10473
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

in teoria dice cheogni secondo parte una richiesta ajax.. però non ti so aiutare, lato JS e in particolare ajax e robacia simile non ne so quasi nulla smiley-razz

poi vedo che ogni tot fa una richiesta get, ma questa ci mette ben 15 secondi a rispondere...

imho c'èp qualche delay lato arduino che impalla tutto (oppure è il timeout perchè non vede arduino?), in ogni caso limiterei a 500/1000ms, e aumenterei di conseuenza il dealy del reaload ajax (che, non modificato, è il seguente):

Code:
window.onLoad = ajaxRequest();
setInterval(ajaxRequest, 1000);
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: 1 2 [3]   Go Up
Jump to: