App android per controllo arduino

Ho fatto questa pagina web che legge i dati da arduino attraverso jsonp, e li mostra a video. Il vincolo più grande è che ho dovuto caricare la pagina su un sito internet per poterla visualizzare correttamente, poi ho installato un web server su smartphone android e carico la pagina con quello senza più entrare nel sito internet, ma bisogna sempre controllare l’IP, che varia di volta in volta, aprire il browser e scrivere l’indirizzo corretto.
Ora vorrei poter convertire la pagina in una applicazione per android in modo che giri tutto in locale senza più dover avviare il web server, sapete se è possibile?

Non hai usato JSONP altrimenti sarebbe stato per ES: e non serviva un server esterno

$.ajax({ url: "http://192.168.2.177/", jsonp: "analog", dataType: "jsonp", type: "GET", data: { dato_1: "15", dato_2: 0, dato_3: "blabla", dato_4: false },

e tu hai messo

function getArduino() {
  $.getJSON("http://xxx.xxx.xxx.xxx:pppp/&callback=?", leggistato);
}

comunque per aggiornare l'ip devi usare un servizio esterno che poi ti reindirizza all'IP della ethernet di arduino http://www.logicaprogrammabile.it/aggiornare-host-no-ip-tramite-arduino-ethernet/

pablos: Non hai usato JSONP altrimenti sarebbe stato per ES: e non serviva un server esterno

e tu hai messo

function getArduino() {
  $.getJSON("http://xxx.xxx.xxx.xxx:pppp/&callback=?", leggistato);
}

Con jQuery aggiungendo "callback=?" viene effettuata una richiesta jsonp

pablos: comunque per aggiornare l'ip devi usare un servizio esterno che poi ti reindirizza all'IP della ethernet di arduino http://www.logicaprogrammabile.it/aggiornare-host-no-ip-tramite-arduino-ethernet/

L'articolo spiega come aggiornare l'IP di Arduino che invece deve rimane invariato, a me cambia l'IP della pagina web che ho nella memoria del telefono e raggiungo tramire un webserverche ho installato. Io vorrei sostituire l'uso del webserver+browser con un app sul telefono

Non ti capisco, scusa deve rimanere invariato cosa? 192.168.1.150 certo che è fisso, lo hai stabilito tu in base alla rete locale .....

Arduino ha un IP tipo 192.168.1.150 statico, ma si trova connesso ad un router con IP WAN dinamico (cioè ogni tanto può cambiare), tu vuoi che sia sempre rintracciabile, il servizio NO-IP ti dice sempre quale è l'IP del router al quale arduino è collegato, aggiungendo la porta da te impostata (tramite forwarding) su router (dove sta arduino) lo raggiungi. non è questo che hai chiesto?

Io vorrei sostituire l'uso del webserver+browser con un app sul telefono

questo è un altro discorso, l'app non la trovi già fatta, te la devi fare tu, poi non dici quale sistema OP ha il telefonino, se è un Iphone, paghi i diritti all'apple e poi te lo fai, android te lo fai senza pagare.

Comunque ti dico per la 5a volta che usare uno spazio web non serviva la pagina può interamente essere caricata da qualunque browser pc o smartphone senza SD anche da 5 Mbyte :grin: e una paginetta leggera su SD per avere una temperatura è impossibile che ti rimanesse troppo lenta, avevi sbagliato qualcosa nello sketch a meno che non possiedi una ethernet ENC.

pablos: Non ti capisco, scusa deve rimanere invariato cosa? 192.168.1.150 certo che è fisso, lo hai stabilito tu in base alla rete locale .....

Arduino ha un IP tipo 192.168.1.150 statico, ma si trova connesso ad un router con IP WAN dinamico (cioè ogni tanto può cambiare), tu vuoi che sia sempre rintracciabile, il servizio NO-IP ti dice sempre quale è l'IP del router al quale arduino è collegato, aggiungendo la porta da te impostata (tramite forwarding) su router (dove sta arduino) lo raggiungi. non è questo che hai chiesto? questo è un altro discorso, l'app non la trovi già fatta, te la devi fare tu, poi non dici quale sistema OP ha il telefonino, se è un Iphone, paghi i diritti all'apple e poi te lo fai, android te lo fai senza pagare.

Comunque ti dico per la 5a volta che usare uno spazio web non serviva la pagina può interamente essere caricata da qualunque browser pc o smartphone senza SD anche da 5 Mbyte :grin: e una paginetta leggera su SD per avere una temperatura è impossibile che ti rimanesse troppo lenta, avevi sbagliato qualcosa nello sketch a meno che non possiedi una ethernet ENC.

ora ho capito cosa intendevi, il router l'ho già configurato per l'accesso dall'esterno e per il suo IP non ho problemi. Ho voluto spostare tutto su un sito in modo che arduino risponda con i soli dati e dal sito li recupero e faccio tutte le operazioni che mi servono, precedentemente avevo tutto sulla SD dell'ethernet shield e passavo i dati tramite XML ma man mano che aggiungevo pagine (non tutte semplici) e codice allo sketch, il sistema rallentava sempre di più, avevo un refresh ogni secondo ma a volte dovevo attenderne anche 15 per vedere il cambio di stato.

Il problema dell'IP che ho ora è che: 1_ ho tolto la pagina dal sito e messa in una cartella del telefono Android; 2_ sempre sul telefono ho installato un applicazione che lo trasforma in webserver 3_ apro l'app webserver che mi da l'indirizzo IP del telefono (sempre diverso) 4_ dal browser anzichè navigare all'indirizzo del sito vado all'IP del telefono che mi carica la pagina 5_ la pagina fa la richiesta ad arduino e visualizza i risultati quindi l'IP che mi cambia è quello del telefono

so che potrei creare un'app android per fare tutto, ma non sono in grado, volevo sapere se esiste un modo per trasformare le pagine html che ho già nella cartella del telefono/pc in un'app in modo da bypassare il problema di dover avere un webserver sul telefono da aprire e chiudere ogni volta che voglio vedere la mia pagina

scusate per la confusione e spero che così la mia richiesta sia più chiara