Arduino Sensoren sketche

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Arduino Sensoren sketche

    Hallo habe einige Probleme mit den Arduino Sensoren Sketche aus dem Github.

    https://github.com/agent4788/SHC_Arduino_Sensorpoints/tree/master/enc28j60

    Beim DS18x20 fehlt mir die PString.h in #include <PString.h>

    Frage, wo kann ich diese finden und einbinden.

    Den Sketch für den DHT22 konnte ich verifizieren, nur leider verbindet sich dieser nicht mit dem SHC.

    Verkabelung zu ENC 28J60 stimmt da der switchserver bereits lief. MAC Adresse ebenfalls und die IP des Arduinos mit 192.168.200.125 auch.

    Sketch wurde ohne Fehler hochgeladen und Temperaturen, sowie Luftfeuchtigkeit wird auf der Konsole ausgegeben, allerdings mit der Fehlermeldung: Verbindung fehlgeschlagen.

    Folgendes Setup habe ich vor dem Hochladen vorgenommen:

    Quellcode

    1. //Ethernet Initalisieren
    2. byte mac[] = { 0x74, 0x69, 0x69, 0x2D, 0x30, 0x31 };
    3. byte server[] = {192, 168, 200, 125};
    4. EthernetClient client;
    5. char host[] = "192.168.200.115";
    6. char url[] = "/shc/index.php?app=shc&a&ajax=pushsensorvalues?"; //? oder & am Ende um dem Query String weiter zu fuehren


    Weitere Einstellungen habe ich nicht vorgenommen, da die Sensorpoint Id mit 5 und die Sensor ID mit 1 noch nicht bei mir belegt sind.

    Unsicher bin ich mir bei char host ob dorthin die IP des SHC's kommt?

    Sowie ob die char url richtig ist. Habe es mit ? und& probiert.

    Was könnte noch falsch sein, dass keine Verbindung aufgebaut wird?
    SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
  • RE: Arduino Sensoren sketche

    Quellcode

    1. char url[] = "/shc/index.php?app=shc&a&ajax=pushsensorvalues&"; //? oder & am Ende um dem Query String weiter zu fuehren


    Die URL muss unbedingt mit einem & enden. Zudem sollten Server und Host Adresse gleich sein:

    Quellcode

    1. byte server[] = {192, 168, 200, 125};
    2. char host[] = "192.168.200.115";


    PString habe ich an den Beitrag angehängt, einfach das Archiv in den libarys Ordner der Arduino IDE entpacken.
    Dateien
    • PString.tar.gz

      (2,51 kB, 10 mal heruntergeladen, zuletzt: )
  • RE: Arduino Sensoren sketche

    Ok, danke für die schnelle Antwort.

    Ich glaube es jetzt verstanden zu haben.

    Es muss also so aussehen:
    byte server[] = {192, 168, 200, 125}; // IP des Arduino
    char host[] = "192.168.200.125"; // IP des Arduino
    char url[] = "192.168.200.115/shc/index.php?app=shc&a&ajax=pushsensorvalues&"; // URL des Masters
    SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
  • RE: Arduino Sensoren sketche

    Habe ich jetzt gemacht, geht aber leider noch nicht.

    Serieller Monitor:

    Verbindung Fehlgeschlagen
    Temperatur: 21.90C
    Luftfeuchte: 42.80%

    Sketch:

    Quellcode

    1. //Allgemeine Einstellungen
    2. #define PRINT_ON_SERIAL 1 //Werte auch auf der Seriellen Schnittstelle ausgebe
    3. //Daten des Sensorpunktes
    4. #define POINT_ID 5 //ID des Sensorpunktes (muss zwischen 1 und 999 sein)
    5. //Sensorpunkt Spannung senden
    6. #define SEND_POINT_CURRENT 1 //Sensorpunkt Spannung Senden
    7. #define SEND_POINT_INDPUT A0 //Analogeingang für die Spannungsmessung
    8. #define SENSOR_1_TYPE 2 //Typ des ersten Sensors (0 wenn deaktiviert)
    9. #define SENSOR_1_ID 1 //ID des ersten Sensors (muss Zwischen 1 und 998 sein und Systemweit eindeutig)
    10. //Sonsorbelegungen
    11. #define DHT_POWER_PIN 2 //Pin der den DHT ein/aus-schaltet
    12. #define DHT_PIN 3 //Pin an dem der DHT Data Pin angeschlossen ist
    13. //Ethernet Initalisieren
    14. byte mac[] = { 0x74, 0x69, 0x69, 0x2D, 0x30, 0x31 };
    15. byte server[] = {192, 168, 200, 115}; // IP SHC
    16. EthernetClient client;
    17. char host[] = "192.168.200.115";
    18. char url[] = "/shc/index.php?app=shc&a&ajax=pushsensorvalues&"; //? oder & am Ende um dem Query String weiter zu fuehren
    Alles anzeigen
    SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
  • RE: Arduino Sensoren sketche

    Nein.

    Ich habe ja den Arduino Switchserver bereits mit dieser MAC Adresse laufen gehabt, also diese stimmt und ist auch sonst nicht verwendet. An der Verkabelung habe ich nichts geändert. Lediglich einen anderen Arduino mini pro aufgesteckt und mit dem DHT Sketch bespielt.

    Es muss bereits an dem LAN part liegen, da ich ihn auch nicht singen kann. Die IP des Arduino müsste 192.168.200.15 sein. Die hatte er irgendwann mal bezogen.

    EDIT: Ich kann morgen der MAC Adresse in der Fritzbox eine feste IP zuweisen und vorsichtshalber den Arduino mit dem Switchserver noch mal aufstecken. Sonst wüsste ich aber nicht mehr weiter.
    SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von rmjspa ()

  • RE: Arduino Sensoren sketche

    @ agent

    Habe heute früh den Sketch für den DS18x20 Hochgeladen und dieser lief auf anhieb einwandfrei.

    Der Sketch für den Switchserver läuft auch einwandfrei, nur der DHT Sketch nicht.

    Hier noch mal der komplette DHT Sketch wie ich ihn hochgeladen habe.

    C-Quellcode

    1. /**
    2. * Sensorpunkt
    3. *
    4. * Benötigte Hardware:
    5. * - Arduino Uno, Mega, Due, Pro Mini oder Nano (für Pro Mini wird zum flashen noch ein FTDI/USB Adapter benötigt)
    6. * - ENC28J60 Netzwerk Chip
    7. *
    8. * - ENC28J60 (http://arduino.alhin.de/index.php?n=24)
    9. *   VCC -> 3,3V oder 5V je nach Chip
    10. *   GND -> 0V/GND
    11. *   SO -> Arduino Pin 12 (beim Mega Pi 50)
    12. *   SCK -> Arduino Pin 13 (beim Mega Pi 52)
    13. *   RESET -> Reset
    14. *   SI -> Arduino Pin 11 (beim Mega Pi 51)
    15. *   CS -> Arduino Pin 10 (beim Mega Pi 53)
    16. *
    17. * @author Oliver Kleditzsch
    18. * @copyright Copyright (c) 2015, Oliver Kleditzsch
    19. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
    20. * @since 1.0.0
    21. * @version 1.0.0
    22. */
    23. #include <UIPEthernet.h> // https://github.com/ntruchsess/arduino_uip
    24. #include <DHT.h>         // https://github.com/markruys/arduino-DHT
    25. //Allgemeine Einstellungen
    26. #define PRINT_ON_SERIAL 1 //Werte auch auf der Seriellen Schnittstelle ausgebe
    27. //Daten des Sensorpunktes
    28. #define POINT_ID 5   //ID des Sensorpunktes (muss zwischen 1 und 999 sein)
    29. //Sensorpunkt Spannung senden
    30. #define SEND_POINT_CURRENT 1  //Sensorpunkt Spannung Senden
    31. #define SEND_POINT_INDPUT A0  //Analogeingang für die Spannungsmessung
    32. //Sensor Typen
    33. //0 -> nicht Verwendet
    34. //1 -> DS18x20
    35. //2 -> DHT11/22
    36. //3 -> BMP085/180
    37. //4 -> Regensensor (Analogwert)
    38. //5 -> Feuchtigkeitssensor (Analogwert)
    39. //6 -> LDR (Analogwert)
    40. #define SENSOR_1_TYPE 2 //Typ des ersten Sensors (0 wenn deaktiviert)
    41. #define SENSOR_1_ID 1   //ID des ersten Sensors (muss Zwischen 1 und 998 sein und Systemweit eindeutig)
    42. #define SENSOR_2_TYPE 0
    43. #define SENSOR_2_ID 0
    44. #define SENSOR_3_TYPE 0
    45. #define SENSOR_3_ID 00
    46. #define SENSOR_4_TYPE 0
    47. #define SENSOR_4_ID 00
    48. #define SENSOR_5_TYPE 0
    49. #define SENSOR_5_ID 00
    50. #define SENSOR_6_TYPE 0
    51. #define SENSOR_6_ID 00
    52. //Sonsorbelegungen
    53. #define DHT_POWER_PIN 2 //Pin der den DHT ein/aus-schaltet
    54. #define DHT_PIN 3       //Pin an dem der DHT Data Pin angeschlossen ist
    55. //Ethernet Initalisieren
    56. byte mac[] = { 0x74, 0x69, 0x69, 0x2D, 0x30, 0x31 };
    57. byte server[] = {192, 168, 200, 115}; // IP SHC
    58. EthernetClient client;
    59. char host[] = "192.168.200.115";
    60. char url[] = "/shc/index.php?app=shc&a&ajax=pushsensorvalues&"; //? oder & am Ende um dem Query String weiter zu fuehren
    61. //DTH Initalisieren
    62. // Connect pin 1 (on the left) of the sensor to +5V
    63. // Connect pin 2 of the sensor to whatever your DHTPIN is
    64. // Connect pin 4 (on the right) of the sensor to GROUND
    65. // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
    66. DHT dht;
    67. void setup() {
    68.  
    69.  //Grundkonfiguration
    70.  if(PRINT_ON_SERIAL) {
    71.    
    72.    Serial.begin(9600);
    73.  }
    74.  
    75.  //DHT PIN
    76.  pinMode(DHT_POWER_PIN, OUTPUT);
    77.  
    78.  //Bis zum ersten durchlauf einschalten
    79.  digitalWrite(DHT_POWER_PIN, HIGH);
    80.  
    81.  //Netzwerk initialisieren
    82.  Ethernet.begin(mac);
    83.  //DHT Setup
    84.  delay(2500);
    85.  dht.setup(DHT_PIN);
    86. }
    87. void loop() {
    88.  
    89. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    90. // Sensor 1 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    91. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    92.  if(SENSOR_1_TYPE != 0) {
    93.    
    94.    digitalWrite(DHT_POWER_PIN, HIGH);
    95.    delay(2500);
    96.  
    97.    float temperature = dht.getTemperature();
    98.    float humidity = dht.getHumidity();
    99.    
    100.    //Daten Senden
    101.    if(client.connect(server, 80)) {
    102.        
    103.      if(PRINT_ON_SERIAL) {
    104.        
    105.        Serial.println("verbunden");
    106.      }
    107.      
    108.      //Anfrage senden
    109.      client.print("GET ");
    110.      client.print(url);
    111.      client.print("spid=");
    112.      client.print(POINT_ID);
    113.      client.print("&sid=");
    114.      client.print(SENSOR_1_ID);
    115.      client.print("&type=");
    116.      client.print(SENSOR_1_TYPE);
    117.      client.print("&v1=");
    118.      client.print(temperature);
    119.      client.print("&v2=");
    120.      client.print(humidity);
    121.      client.println(" HTTP/1.1");
    122.      client.print("Host: ");
    123.      client.println(host);
    124.      client.println();
    125.      client.println();
    126.      client.stop();
    127.        
    128.    } else {
    129.        
    130.      if(PRINT_ON_SERIAL) {
    131.        
    132.        Serial.println("Verbindung Fehlgeschlagen");
    133.      }
    134.    }
    135.    
    136.    if(PRINT_ON_SERIAL) {
    137.        
    138.        Serial.print("Temperatur: ");
    139.        Serial.print(temperature);
    140.        Serial.println("C");
    141.        Serial.print("Luftfeuchte: ");
    142.        Serial.print(humidity);
    143.        Serial.println("%");
    144.        Serial.println("");
    145.     }
    146.    
    147.    //Sensor ausschalten
    148.    digitalWrite(DHT_POWER_PIN, LOW);
    149.  }
    150.  
    151. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    152. // Sensor 2 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    153. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    154. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    155. // Sensor 3 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    156. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    157. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    158. // Sensor 4 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    159. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    160. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    161. // Sensor 5 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    162. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    163. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    164. // Sensor 6 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    165. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    166. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    167. // Sensorpunkt Spannung senden ///////////////////////////////////////////////////////////////////////////////////
    168. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    169. if(SEND_POINT_CURRENT) {
    170.    //Betriebsspannung ermitteln
    171.    float voltage = analogRead(SEND_POINT_INDPUT) * (14.5 / 1023.0);  
    172.    
    173.    //Daten Senden
    174.    if(client.connect(server, 80)) {
    175.        
    176.      if(PRINT_ON_SERIAL) {
    177.        
    178.        Serial.println("verbunden");
    179.        Serial.print("Voltage ");
    180.        Serial.println(voltage);
    181.      }
    182.      
    183.      //Anfrage senden
    184.      client.print("GET ");
    185.      client.print(url);
    186.      client.print("spid=");
    187.      client.print(POINT_ID);
    188.      client.print("&type=");
    189.      client.print(999);
    190.      client.print("&v1=");
    191.      client.print(voltage);;
    192.      client.println(" HTTP/1.1");
    193.      client.print("Host: ");
    194.      client.println(host);
    195.      client.println();
    196.      client.println();
    197.      client.stop();
    198.        
    199.    } else {
    200.        
    201.      if(PRINT_ON_SERIAL) {
    202.        
    203.        Serial.println("Verbindung Fehlgeschlagen");
    204.      }
    205.    }
    206. }
    207. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    208. // Verweilzeit bis zum nächsten Sendevorgang /////////////////////////////////////////////////////////////////////
    209. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    210.  delay(30000);  
    211. }
    Alles anzeigen


    Die Verbindung schlägt weiterhin fehl.

    Verdrahtungsfehler sind auszuschließen, da der DS18 läuft und der DHT22 im Serial Monitor angezeigt wird.

    Hier ist jetzt ein Punkt, wo ich nicht mehr weiter komme, ohne vielleicht noch jeden Buchstaben der Sketche so weit sie gleich sind miteinander zu vergleichen.

    Nachtrag: Die Spannung wird beim DS18x20 übrigens falsch angezeigt. Ich bekomme einen Wert von 7,07 Volt obwohl nur max. 5 Volt anliegen können. Das stört mich aber nicht weiter.
    [hr]
    Jetzt habe ich noch folgendes gemacht. Ich habe den funktionierenden DS18x20 Sketch genommen, umbenannt und dort hinein die DHT relevanten Einträge hineinkopiert.

    Im Serial Monitor werden die Daten vom DS und DHT angezeigt, aber die Verbindung zum SHC schlägt wieder fehl.

    Ich habe die Vermutung, dass mit dem DHT Sketch etwas nicht stimmt.

    Modifizierter Sketch Sensoren DS18x20 und DHT22

    C-Quellcode

    1. /**
    2. * Sensorpunkt
    3. *
    4. * Benötigte Hardware:
    5. * - Arduino Uno, Mega, Due, Pro Mini oder Nano (für Pro Mini wird zum flashen noch ein FTDI/USB Adapter benötigt)
    6. * - ENC28J60 Netzwerk Chip
    7. *
    8. * - ENC28J60 (http://arduino.alhin.de/index.php?n=24)
    9. * VCC -> 3,3V oder 5V je nach Chip
    10. * GND -> 0V/GND
    11. * SO -> Arduino Pin 12 (beim Mega Pi 50)
    12. * SCK -> Arduino Pin 13 (beim Mega Pi 52)
    13. * RESET -> Reset
    14. * SI -> Arduino Pin 11 (beim Mega Pi 51)
    15. * CS -> Arduino Pin 10 (beim Mega Pi 53)
    16. *
    17. * @author Oliver Kleditzsch
    18. * @copyright Copyright (c) 2015, Oliver Kleditzsch
    19. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
    20. * @since 1.0.0
    21. * @version 1.0.0
    22. */
    23. #include <UIPEthernet.h> // https://github.com/ntruchsess/arduino_uip
    24. #include <OneWire.h>
    25. #include <DallasTemperature.h> // https://github.com/milesburton/Arduino-Temperature-Control-Library
    26. #include <PString.h>
    27. #include <DHT.h>
    28. //Allgemeine Einstellungen
    29. #define PRINT_ON_SERIAL 1 //Werte auch auf der Seriellen Schnittstelle ausgebe
    30. //Daten des Sensorpunktes
    31. #define POINT_ID 28 //ID des Sensorpunktes (muss zwischen 1 und 999 sein)
    32. //Sensorpunkt Spannung senden
    33. #define SEND_POINT_CURRENT 1 //Sensorpunkt Spannung Senden
    34. #define SEND_POINT_INDPUT A0 //Analogeingang für die Spannungsmessung
    35. //Sensor Typen
    36. //0 -> nicht Verwendet
    37. //1 -> DS18x20
    38. //2 -> DHT11/22
    39. //3 -> BMP085/180
    40. //4 -> Regensensor (Analogwert)
    41. //5 -> Feuchtigkeitssensor (Analogwert)
    42. //6 -> LDR (Analogwert)
    43. #define SENSOR_1_TYPE 1 //Typ des ersten Sensors (0 wenn deaktiviert)
    44. #define SENSOR_1_ID 29 //ID des ersten Sensors (muss Zwischen 1 und 998 sein und Systemweit eindeutig)
    45. #define SENSOR_2_TYPE 2
    46. #define SENSOR_2_ID 1
    47. #define SENSOR_3_TYPE 0
    48. #define SENSOR_3_ID 00
    49. #define SENSOR_4_TYPE 0
    50. #define SENSOR_4_ID 00
    51. #define SENSOR_5_TYPE 0
    52. #define SENSOR_5_ID 00
    53. #define SENSOR_6_TYPE 0
    54. #define SENSOR_6_ID 00
    55. //Sonsorbelegungen
    56. #define ONE_WIRE_BUS 8 //Daten Pin des DS18x20
    57. #define TEMPERATURE_PRECISION 9
    58. #define DHT_POWER_PIN 2 //Pin der den DHT ein/aus-schaltet
    59. #define DHT_PIN 3 //Pin an dem der DHT Data Pin angeschlossen ist
    60. //DS18x20 Initialisieren
    61. OneWire oneWire(ONE_WIRE_BUS);
    62. DallasTemperature sensors(&oneWire);
    63. DeviceAddress sensor1, sensor2;
    64. //Ethernet Initalisieren
    65. byte mac[] = { 0x74, 0x69, 0x69, 0x2D, 0x30, 0x31 };
    66. byte server[] = {192, 168, 200, 115};
    67. EthernetClient client;
    68. char host[] = "192.168.200.115";
    69. char url[] = "/shc/index.php?app=shc&a&ajax=pushsensorvalues&"; //? oder & am Ende um dem Query String weiter zu fuehren
    70. //DTH Initalisieren
    71. // Connect pin 1 (on the left) of the sensor to +5V
    72. // Connect pin 2 of the sensor to whatever your DHTPIN is
    73. // Connect pin 4 (on the right) of the sensor to GROUND
    74. // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
    75. DHT dht;
    76. void setup() {
    77. //Grundkonfiguration
    78. if(PRINT_ON_SERIAL) {
    79. Serial.begin(9600);
    80. }
    81. //DHT PIN
    82. pinMode(DHT_POWER_PIN, OUTPUT);
    83. //Bis zum ersten durchlauf einschalten
    84. digitalWrite(DHT_POWER_PIN, HIGH);
    85. //Netzwerk initialisieren
    86. Ethernet.begin(mac);
    87. //DHT Setup
    88. delay(2500);
    89. dht.setup(DHT_PIN);
    90. //DS18x20 starten
    91. sensors.begin();
    92. }
    93. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    94. // Hilfsfunktionen ///////////////////////////////////////////////////////////////////////////////////////////////
    95. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    96. //gibt den Wert des Sensors zurueck
    97. float printTemperature(DeviceAddress deviceAddress) {
    98. //Wert schreiben
    99. float tempC = sensors.getTempC(deviceAddress);
    100. return tempC;
    101. }
    102. void loop() {
    103. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    104. // Sensor 1 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    105. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    106. if(SENSOR_1_TYPE != 0) {
    107. //DS18x20 lesen
    108. sensors.requestTemperatures();
    109. for(int n = 0; n < sensors.getDeviceCount(); n++) {
    110. if(sensors.getAddress(sensor1, n)) {
    111. //Puffer
    112. char buffer1[20];
    113. PString address(buffer1, sizeof(buffer1), "");
    114. //Adresse schreiben
    115. address.print(sensor1[0], HEX);
    116. address.print("-");
    117. for (uint8_t i = 1; i < 8; i++) {
    118. // zero pad the address if necessary
    119. if (sensor1[i] < 16) address.print("0");
    120. address.print(String(sensor1[i], HEX));
    121. }
    122. //Daten Senden
    123. if(client.connect(server, 80)) {
    124. if(PRINT_ON_SERIAL) {
    125. Serial.println("verbunden");
    126. }
    127. //Anfrage senden
    128. client.print("GET ");
    129. client.print(url);
    130. client.print("spid=");
    131. client.print(POINT_ID);
    132. client.print("&sid=");
    133. client.print(address);
    134. client.print("&type=");
    135. client.print(SENSOR_1_TYPE);
    136. client.print("&v1=");
    137. client.print(printTemperature(sensor1));
    138. client.println(" HTTP/1.1");
    139. client.print("Host: ");
    140. client.println(host);
    141. client.println();
    142. client.println();
    143. client.stop();
    144. } else {
    145. if(PRINT_ON_SERIAL) {
    146. Serial.println("Verbindung Fehlgeschlagen");
    147. }
    148. }
    149. if(PRINT_ON_SERIAL) {
    150. Serial.print("Sensor: ");
    151. Serial.println(address);
    152. Serial.print("Temperatur: ");
    153. Serial.print(printTemperature(sensor1));
    154. Serial.println("C");
    155. Serial.println("");
    156. }
    157. }
    158. }
    159. }
    160. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    161. // Sensor 2 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    162. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    163. if(SENSOR_1_TYPE != 0) {
    164. digitalWrite(DHT_POWER_PIN, HIGH);
    165. delay(2500);
    166. float temperature = dht.getTemperature();
    167. float humidity = dht.getHumidity();
    168. //Daten Senden
    169. if(client.connect(server, 80)) {
    170. if(PRINT_ON_SERIAL) {
    171. Serial.println("verbunden");
    172. }
    173. //Anfrage senden
    174. client.print("GET ");
    175. client.print(url);
    176. client.print("spid=");
    177. client.print(POINT_ID);
    178. client.print("&sid=");
    179. client.print(SENSOR_1_ID);
    180. client.print("&type=");
    181. client.print(SENSOR_1_TYPE);
    182. client.print("&v1=");
    183. client.print(temperature);
    184. client.print("&v2=");
    185. client.print(humidity);
    186. client.println(" HTTP/1.1");
    187. client.print("Host: ");
    188. client.println(host);
    189. client.println();
    190. client.println();
    191. client.stop();
    192. } else {
    193. if(PRINT_ON_SERIAL) {
    194. Serial.println("Verbindung Fehlgeschlagen");
    195. }
    196. }
    197. if(PRINT_ON_SERIAL) {
    198. Serial.print("Temperatur: ");
    199. Serial.print(temperature);
    200. Serial.println("C");
    201. Serial.print("Luftfeuchte: ");
    202. Serial.print(humidity);
    203. Serial.println("%");
    204. Serial.println("");
    205. }
    206. //Sensor ausschalten
    207. digitalWrite(DHT_POWER_PIN, LOW);
    208. }
    209. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    210. // Sensor 3 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    211. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    212. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    213. // Sensor 4 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    214. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    215. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    216. // Sensor 5 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    217. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    218. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    219. // Sensor 6 Daten senden /////////////////////////////////////////////////////////////////////////////////////////
    220. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    221. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    222. // Sensorpunkt Spannung senden ///////////////////////////////////////////////////////////////////////////////////
    223. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    224. if(SEND_POINT_CURRENT) {
    225. //Betriebsspannung ermitteln
    226. float voltage = analogRead(SEND_POINT_INDPUT) * (14.5 / 1023.0);
    227. //Daten Senden
    228. if(client.connect(server, 80)) {
    229. if(PRINT_ON_SERIAL) {
    230. Serial.println("verbunden");
    231. }
    232. //Anfrage senden
    233. client.print("GET ");
    234. client.print(url);
    235. client.print("spid=");
    236. client.print(POINT_ID);
    237. client.print("&type=");
    238. client.print(999);
    239. client.print("&v1=");
    240. client.print(voltage);;
    241. client.println(" HTTP/1.1");
    242. client.print("Host: ");
    243. client.println(host);
    244. client.println();
    245. client.println();
    246. client.stop();
    247. } else {
    248. if(PRINT_ON_SERIAL) {
    249. Serial.println("Verbindung Fehlgeschlagen");
    250. }
    251. }
    252. if(PRINT_ON_SERIAL) {
    253. Serial.print("Voltage ");
    254. Serial.println(voltage);
    255. Serial.println("");
    256. }
    257. }
    258. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    259. // Verweilzeit bis zum nächsten Sendevorgang /////////////////////////////////////////////////////////////////////
    260. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    261. delay(30000);
    262. }
    Alles anzeigen
    SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von rmjspa ()

  • RE: Arduino Sensoren sketche

    Ohne das nochmal auf zu bauen kann ich dir da jetzt auch nicht weiter helfen. Ich hatte jetzt nochmal die dafür relevanten Abschnitte verglichen, die sind aber identisch.
    Das einzige was mir da noch pauschal einfallen würde ist das die IP oder der Port falsch sind.

    STelle doch bitte nochmal den funktionierenden DS18x20 Sketch mit rein.
  • Erledigt: Arduino Sensoren sketche

    Danke für Deine Mühe.

    Es gehen jetzt beide Sketche, DHT und DS18.

    Es muss wohl am Hochladen des Sketches gelegen haben. Ohne etwas zu verändern geht der Sketch nicht nach jedem Hochladen. Es schlägt dann immer die Verbindung fehl.
    Ein erneutes Hochladen bringt dann meist den Erfolg. Fehlermeldungen gab es keine.

    Wie auch immer, kann ich bestätigen, dass die Sketche funktionieren und sollte es einmal nicht gehen, muss man eben noch ein oder zweimal verifizieren und hochladen.

    Nachtrag: Nach ca. 30 Min. hat er die Verbindung wieder verloren. Nach einem Reset des Arduinos war die Verbindung wieder da. Ich werde es beobachten und berichten.
    SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von rmjspa ()

  • Hi,

    ich habe das selbe Problem mit dem ENC28J60 Netzwerk Chip.

    Es treten immer wieder Verbindungsfehler auf, die nach einem Reset für kurze zeit weg sind.

    Ich habe das mit einem Zähler gelöst der bei jedem Verbindungsfehler aufadiert wird. Nach einer bestimmen Anzahl löse ich dann ein Reboot aus.

    siehe File.
    Dateien
    habe SHC aufgegeben.
  • Achte mal auf die Stromversorgung des ENC. An einer anderen Stelle hier im Forum hatte ich darüber berichtet.
    Seitdem habe ich keine Probleme mehr.
    Kann den Link jetzt nicht suchen, habe nur ein Tablet hier im Urlaub.
    SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.