Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
controler pin par requete http
#1
bonjour j ai telecharger un programme pour mon arduino uno pour controler les pins depuis une requete http
mais quand je clic sur verrifié j ai un message d erreur suivant:
'textfinder'was not declared in this scope

/*
* WebServerParsing
*
* Respond to requests in the URL to change digital and analog output ports
* show the number of ports changed and the value of the analog input pins.
*
* the following url turns digital pin 2 on and 3 off, analog output on pin 9 is set to 128, pin 11 to 255
* only onen parm http://192.168.1.177/2
*
* http://192.168.1.177/?pinD2=1&pinD3=0&pi...pinA11=255
*/

#if ARDUINO > 18
#include <SPI.h> // needed for Arduino versions later than 0018
#endif


#include <Ethernet.h>
#include <TextFinder.h>


byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,1,20 };
EthernetServer server(80);


void setup()
{
Serial.begin(9600);
Ethernet.begin(mac, ip);
server.begin();
Serial.println("ready");
}


void loop()
{
EthernetClient client = server.available();
if (client) {
TextFinder finder(client );
// an http request ends with a blank line
// boolean current_line_is_blank = true;
while (client.connected()) {
if (client.available()) {
int digitalRequests = 0; // counters to show the number of pin change requests
int analogRequests = 0;
if( finder.find("GET /") ) {
// find tokens starting with "pin" and stop on the first blank line
while(finder.findUntil("pin", "\n\r")){
char type = client.read(); // D or A
int pin = finder.getValue();
int val = finder.getValue();
if( type == 'D') {
Serial.print("Digital pin ");
pinMode(pin, OUTPUT);
digitalWrite(pin, val);
digitalRequests++;
}
else if( type == 'A'){
Serial.print("Analog pin ");
analogWrite(pin, val);
analogRequests++;
}
else {
Serial.print("Unexpected type ");
Serial.print(type);
}
Serial.print(pin);
Serial.print("=");
Serial.println(val);
}
}
Serial.println();

// when we get here the findUntil has detected the blank line (a lf followed by cr)
// so the http request has ended and we can send a reply
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();


// output the number of pins handled by the request
client.print(digitalRequests);
client.print(" digital pin(s) written");
client.println("<br />");
client.print(analogRequests);
client.print(" analog pin(s) written");
client.println("<br />");
client.println("<br />");



// output the value of each analog input pin
for (int i = 0; i < 6; i++) {
client.print("analog input ");
client.print(i);
client.print(" is ");
client.print(analogRead(i));
client.println("<br />");
}
break;
}
}
// give the web browser time to receive the data
delay(1);
client.stop();
}
}
Répondre
#2
Vu le message d'erreur, tu n'as pas l'air d'avoir rajouté la bibliothèque textfinder dans ton dossier libraries d'arduino.
Serial Organisateur d'aPIro
Bloggeur Bidouilleur
Ydle, domotique DIY basée sur un raspberry pi
Répondre
#3
merci , j ai telecharger textfiner je l ai dezzipé dans e/logicielpc/arduino-1.0.6/librairies
dans le dossier textfinder il y avais deja un fichier webserverparsing le meme que j avais telecharger
je l ai ouvert et meme probleme
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)

A propos de Communauté francophone RPi

Communauté francophone RPi est un forum d'aide et de partage autour du Raspberry Pi et des micro-ordinateurs.