我正在创建一个项目,该项目使用Arduino Uno读取传感器数据并将其通过蓝牙链接发送到Blynk。我还必须通过蓝牙将传感器读数发送到ThingSpeak。我的问题是ThingSpeak不会随着传感器读数的不同而更新。
我正在尝试使用Blynk中的webhook小部件来实现此目的。
我必须在不使用WiFi模块的情况下进行此项目。
float t;
float h;
float ldr;
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
void setup()
{
// Debug console
Serial.begin(9600);
SerialBLE.begin(9600);
Blynk.begin(SerialBLE, auth);
Serial.println("Waiting for connections...");
dht.begin();
// Setup a function to be called every 5 second
timer.setInterval(10000, sendSensor);
timer.setInterval(10000, sendLDR);
timer.setInterval(30000, SendtoThingspeak);
String postStr = V3;
postStr +="&field1=";
postStr += String(t);
postStr +="&field2=";
postStr += String(h);
postStr +="&field3=";
postStr += String(ldr);
postStr += "\r\n\r\n";
}
void loop()
{
Blynk.run();
timer.run();
}
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
// Write DHT22 values to Blynk
Blynk.virtualWrite(V4, h);
Blynk.virtualWrite(V5, t);
}
void sendLDR()
{
float ldr = analogRead(ldr);
// Write LDR values to Blynk
Blynk.virtualWrite(V6, ldr);
}
void SendtoThingspeak()
{
Blynk.virtualWrite(V3, t, h, ldr);
}
我将webhook窗口小部件设置为:
Output: V3
URL: http://api.thingspeak.com/update?api_key=XXXXXXX&field1=t&field2=h&field3=ldr
Method: Get
Content Type: application/json
Body: is empty
当我运行项目时,Blynk将使用正确的值进行更新,但是即使条目数量已更新,ThingSpeak通道中的图形也不会显示任何内容。
我真的需要帮助弄清楚如何解决ThingSpeak不更新传感器值的问题。