Arduino -cURL einbinden Problem

OP #5448573
Lesenswert?
• ▲
▼
Liebe User,

ich habe mich neu in diesem Forum angemeldet.
Erstmal ein Hallo an alle!

Ich habe ein Arduino Uno mit EthernetShield und möchte damit eine 
Website parsen. Wie kann man das mit CURL machen?  Ich habe versucht die 
Lib von
https://curl.haxx.se/download.html mit der Arduinosoftware einzubinden. 
Geht aber nicht. :-(   Da kommt, dass die Bibliothekendatei nicht passt.

Mit einer "normalen"  Verbindung (ohne CURL) gehts schonmal. Ich brauche 
aber dringend CURL um die Funktionen curl_easy_setopt usw. verwenden zu 
können. Kann da jemand weiterhelfen?

Mit folgendem Code, geht zumindest eine unverschlüsselte Verbindung. Das 
reicht aber nicht weil ich https mit htacces verwenden muss...

LG Andreas
1
 
2
#include <SPI.h>
3
#include <Ethernet.h>
4

5

6
byte mac[] = { 
7
 0x82, 0xC0, 0x50, 0xFB, 0xCD, 0xE7 };
8

9
IPAddress ip(192,168,0,80);
10
 
11
char server[] = "meine-domain.de";    // name address (using DNS)
12

13
EthernetClient client;
14

15
void setup() {
16
  Serial.begin(9600);
17
   while (!Serial) {
18
    ; 
19
  }
20

21
  // start the Ethernet connection:
22
  if (Ethernet.begin(mac) == 0) {
23
    Serial.println("Failed to configure Ethernet using DHCP");  
24
    Ethernet.begin(mac, ip);
25
  }
26
  // give the Ethernet shield a second to initialize:
27
  delay(1000);
28
  Serial.println("connecting...");
29

30
  // if you get a connection, report back via serial:
31
  if (client.connect(server, 80)) {
32
    Serial.println("connected");
33
    
34
  // Make your API request:
35
    client.println("GET /ordner/test.php HTTP/1.1");
36
    client.println("Host: meine-domain.de");
37
    client.println("Connection: close");
38
    client.println();  
39
  } 
40
  
41
  else {
42
    // kf you didn't get a connection to the server:
43
    Serial.println("connection failed");
44
  }
45
}
46

47
void loop()
48
{
49
  // if there are incoming bytes available 
50
  // from the server, read them and print them:
51
  if (client.available()) {
52
    char c = client.read();
53
    Serial.print(c);
54
  }
55

56
  // if the server's disconnected, stop the client:
57
  if (!client.connected()) {
58
    Serial.println();
59
    Serial.println("disconnecting.");
60
    client.stop();
61

62
    // do nothing forevermore:
63
    while(true);
64
  }
65
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.