Loading...
Pages: [1]   Go Down
Author Topic: Arduino e php/mysql  (Read 745 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
Offline Offline
Faraday Member
**
Karma: 49
Posts: 3000
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

IDE 1.0.4 - Arduino UNO R3 - Ethernet Shield R3 - DCF77 Module - Adafruit Data Loggin Shield - LCD 16x2 RGB positive backlight - i2c LCD backpack - RTC 1307 Board - Saleae Compatibile Logic Analyzer 8ch 24Mhz - ATtiny2313 ProtoBoard - Xino Board - ATtiny 4313 - Arduino 2009 - Arduino USB Serial Ligth - DS18B20 - LM35DZ - ShiftRegister - TL431 - ATtiny 85
Ultimi acquisti:
CodeBender: http://codebender.cc/register/?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: 15
Posts: 1876
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: 81
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: 78
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
Print
 
Jump to: