Ik ben een beginner in MCU's
Ik probeer mijn metingen gebatched naar mijn influxdb server te sturen waar ik per 10 metingen een "push" over de wifi van 10 metingen wil doen om de WiFi en de HDD's van de NAS wat te sparen. Ik reserveer een buffer voor max 50 metingen om mogelijks signal loss wat af te vangen.
Om een of andere manier blijft mijn ESP2866 doodleuk elke meting direct over de wife te gooien. Ik doe hoogstwaarschijnlijk iets mis maar ik zie niet wat.

Ik probeer mijn metingen gebatched naar mijn influxdb server te sturen waar ik per 10 metingen een "push" over de wifi van 10 metingen wil doen om de WiFi en de HDD's van de NAS wat te sparen. Ik reserveer een buffer voor max 50 metingen om mogelijks signal loss wat af te vangen.
Om een of andere manier blijft mijn ESP2866 doodleuk elke meting direct over de wife te gooien. Ik doe hoogstwaarschijnlijk iets mis maar ik zie niet wat.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
| #include <InfluxDb.h> #include <OneWire.h> #include <DallasTemperature.h> #include <ESP8266WiFi.h> #include <NTPClient.h> #include <WiFiUdp.h> #if defined(ESP8266) #include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> #elif defined(ESP32) #include <WiFi.h> #include <WiFiMulti.h> #endif #define ONE_WIRE_BUS 2 #define INFLUXDB_URL "http://10.10.10.10:8087" #define INFLUXDB_DB_NAME "buffered" // Setup a oneWire instance to communicate with any OneWire devices OneWire oneWire(ONE_WIRE_BUS); // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); const char* ssid = "blah"; const char* password = "Nothing_Here"; DeviceAddress tempDeviceAddress; InfluxDBClient client(INFLUXDB_URL, INFLUXDB_DB_NAME); void setup(void) { Serial.begin(38400); sensors.begin(); WiFi.begin(ssid, password); // Connect to the network Serial.print("Connecting to "); Serial.print(ssid); Serial.println(" ..."); int i = 0; while (WiFi.status() != WL_CONNECTED) { // Wait for the Wi-Fi to connect delay(1500); Serial.print(++i); Serial.print(' '); } Serial.println('\n'); Serial.println("Connection established!"); Serial.print("IP address:\t"); Serial.println(WiFi.localIP()); configTzTime("Europe/Brussels", "0.be.pool.ntp.org", "server 2.be.pool.ntp.org"); WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP, "pool.ntp.org"); // Enable lines batching per 10 client.setWriteOptions(WriteOptions().batchSize(10)); // Set batch size to 10 points client.setWriteOptions(WriteOptions().bufferSize(50)); // Allow for 5 failed push attempts // Set tags } void loop() { sensors.requestTemperatures(); // Send the command to get temperature readings // Define data point with measurement name 'device_status` Point pointDevice("Testing_buffered_writes"); //pointDevice.addTag("TESTING", "ESP8266"); // Add data pointDevice.addField("TEST SENSOR", sensors.getTempCByIndex(0)); Serial.print("Committing data to database: "), Serial.print(INFLUXDB_DB_NAME); Serial.println(", measurement: Testing_buffered_writes"); client.writePoint(pointDevice); delay(5000); } |