Mi scuso per la domanda stupida, in quanto sono alle prime armi con Arduino.
Volevo sapere come si può inviare una semplice variabile dal mio sito PHP al mio Arduino 1 connesso tramite Ethernet.
Ho letto alcuni post sulla possibile comunicazione tra Arduino e il web e mi sembra di aver capito che le strade sono due o delle socket o la creazione di un webServer. Il problema che non riesco a capire come il mio sito possa inviare ad Arduino, qual'è l indirizzamento ad esempio del form o altre strade.
Avevo provato a utilizzare anche la libreria Arest ma rimango sempre bloccato a come inviare l'oggetto array che ho creato ad Arduino.
Prima di tutto, essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ...
... poi, in conformità al suddetto REGOLAMENTO, punto 13 (... secondo capoverso), il cross-posting è proibito (anche tra lingue diverse), pertanto, il tuo thread duplicato nell'area di lingua inglese è stato cancellato e ti prego di continuare qui.
gpb01:
Prima di tutto, essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ...
... poi, in conformità al suddetto REGOLAMENTO, punto 13 (... secondo capoverso), il cross-posting è proibito (anche tra lingue diverse), pertanto, il tuo thread duplicato nell'area di lingua inglese è stato cancellato e ti prego di continuare qui.
Grazie,
Guglielmo
Grazie Guglielmo ho dato una letta e mi sono presentato nella apposita sezione da te indicata. Ho trovato anche nel regolamento una guida molto utile in PDF per la programmazione con Arduino che ovviamente non avevo visto, non avendo preso visione del regolamento.
Per il cross posting mi scuso non ne ero a conoscenza, e non trovando più il mio post ho preferito pubblicarlo nella sezione Italiana.
Spero di non aver commesso altri errori! So sorry.
Ragazzi riscrivo in questo post per chiedervi qualche parere su questo mio programma.
Sto proseguendo nello studio della connessione tra un mio sito php e l'Arduino. Ho scelto di inviare un array al mio dispositivo tramite la porta 23.
Ho fatto delle prove con dei valori secchi e non ho avuto problemi (semplici int o char) ma per l array ho trovato difficoltà. Ho letto altri post sul forum che parlavano di situazioni abbastanza simili ma non riesco a capire perché il mio messaggio viene immagazzinato un po' a caso. Avevo letto che poteva essere un problema con le varie intestazioni del messaggio e quindi potevano esserci devi valori in più(che non interessavano nel messaggio ) o dei valori vuoti indicati con (-1) .
Ho provato ad aggiungere qualche stampa per vedere il mio messaggio, ma è molto confusionario e non riesco a farmi luce.
Vi allego il mio codice intanto
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x42, 0x4E };
IPAddress ip(192, 168, 178, 100);
IPAddress mydns(192, 168, 178, 1);
IPAddress gateway(192, 168, 178, 1);
IPAddress subnet(255, 255, 255, 0);
EthernetServer server(23);
boolean isConnected = false;
char messaggio[3];
void setup() {
Ethernet.begin(mac, ip, mydns, gateway, subnet);
server.begin();
Serial.begin(9600);
Serial.print("Telnet server address:");
Serial.println(Ethernet.localIP());
}
void loop() {
EthernetClient client = server.available();
if (client) {
if(!isConnected){
client.flush();
client.println("Buongiorno utente!!");
isConnected =true;
}
if(client.available()>0 ){
for (int i=0; i<3; i++){
messaggio[i]=client.read();
client.print("messaggio");
client.println(i);
client.println(messaggio[i]);
}
switch (messaggio[0]) {
//case per le luci
case '1':
client.println(messaggio[1]);
if (messaggio[1] == '0'){
digitalWrite(6,LOW);
}
else if (messaggio[1] == '1'){
digitalWrite(6,HIGH);
}
break;
//case per condizionatore
case '2':
if (messaggio[1] == '0'){
digitalWrite(6,LOW);
}
break;
default:
// if nothing else matches, do the default
// default is optional
break;
}
}
}
}