Pages: [1]   Go Down
Author Topic: Arduino e php/mysql  (Read 1165 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve Ragazzi,
sto facendo una tesi di laurea con temi arduino e android, per ora ho creato la piccola applicazione per far si che si accenda e spenga il led su arduino uno.
Io però voglio far mostrare una tabella in mysql tramite php che mi dice quante volte è avvenuta la cosa, devo per forza acquistare l'ethernet shield o si può ovviare??
grazie
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 112
Posts: 7123
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dipende da come vuoi comunicare con Arduino: Seriale, Bluetooth, Lan o Wifi.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

seriale per ora, e leggendo in giro ho visto che per comunicare con mysql c'è bisogno della ethernet shield per via del client o mi sbaglio?
Logged

0
Offline Offline
Edison Member
*
Karma: 24
Posts: 2309
Have you mooed today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,
se devi memorizzare i dati su mysql ti basta una seriale.
Per esempio, potresti utilizzare Python  per leggerti i dati da seriale (es. con pyserial http://pyserial.sourceforge.net/) e poi registrarli su mysql .
Ti basta cercare su google python + mysql per trovare esempi funzionanti di codice.

Oppure ancora potresti scriverti un'applicazioncina in java, usando la libreria RXTX (http://arduino.cc/playground/Interfacing/Java) per la comunicazione seriale, e un classico jdbc per gestire l'inserimento in mysql...

Poi per visualizzare i dati inseriti in questo db, utilizzerai php in abbinata con tool per realizzare grafici (ci son librerie php, framework js, etc).
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mentre con l'ethernet shield sarebbe più facile?? ora provo a vedere questo metodo
grazie
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 89
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, se ti interessa la comunicazione seriale con php senza ricorrere all'ethernet shield puoi leggere questa mini guida http://lnx.virtualcalcio.com/emmecilab/index.php?section=6&arg=4.
Si tratta di alcuni esperimenti fatti qualche tempo fa.
Ciao
Logged

Freedomotic Domotica Open Source
http://freedomotic.com
We need your help. Please contact us for contributing

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

grazie smiley
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sto cercando di far registrare nel database su phpmyadmin i dati relativi alla temperatura percepita dal sensore, che voi sappiate, perchè la tabella prende i dati solo quando vado a flashare l'arduino??
il codice è questo...
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {
  0x90, 0xA2, 0xDA, 0x0D, 0x1F, 0x41 };
byte ip[] = {
  192, 168, 1, 2 };
byte server[] = {
  192, 168, 1, 1 }; // Local Server

EthernetClient client;

char strURL[70];
unsigned long previousMillis = 0;
unsigned long currentMillis = 0;
long interval = 600000; // 10 minutes (10*60*1000) 600000

void setup() {
  Ethernet.begin(mac, ip);
  Serial.begin(9600);
  delay(2000);
  Serial.println("connecting...");
 



  if (client.connect(server, 80)) {
    Serial.println("connected");
 getTemp();
    client.stop();
  } else {
    Serial.println("connection failed");
  }
}


void loop() {
  currentMillis = millis();
  if(currentMillis - previousMillis > interval) {
    previousMillis = currentMillis;
    if(client.connect(server, 80)) {
      getTemp();
    }
    else {
      Serial.println("failed to connect. Trying again later.");
    }
    delay(1000);
    client.stop();
  }
}

void getTemp() {
  Serial.println("connected, writing ...");
  int temp = analogRead(5);
  delay(50);
  sprintf(strURL,"GET /temp.php?t=%d",temp);
  client.println(strURL);
  client.println();
  Serial.println(strURL);
}
perchè non lo fa sempre anche quando non lo flasho??
avete idee??
dovrebbe farlo ciclicamente, che rileva la temperatura
Logged

Verona
Offline Offline
Jr. Member
**
Karma: 0
Posts: 79
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ti si aggiorna solo quando carichi la pagina http:
Code:
if(client.connect(server, 80)) { //qui si ferma e aspetta che un client si connetta, poi aggiorni la temperatura
      getTemp();

per farla semplice potresti aggiornare la temperatura ogni tot. sec. con millis , guarda l'esempio blink without delay
Logged

Pages: [1]   Go Up
Jump to: