无法获得数据上传Thingspeak arduino电压
23日视图(30天)
显示旧的评论
我试图收集电池电压数据从arduino和上传部分arduino进我Thingspeak通道。到目前为止,我已经troubleshot硬件/布线方面,这似乎并没有问题。
在这一点上,我假设的问题是代码或Thingspeak通道。自从我arduino电路板(elegoo arduino Uno R3)是使用一个USB线连接到我的电脑,我试着使用一个HTTP GET请求以发送信息Thingspeak通道。我在一次危机,不能访问任何Wifi或以太网盾,所以这就是为什么我使用USB电缆。我可以完全错误的使用HTTP GET请求——我完全新手!这是代码:
#包括< SoftwareSerial.h >
SoftwareSerialSerial1 (2、3);/ / RX, TX
/ /定义变量
浮动电压;
无符号长previousMillis = 0;
常量长间隔= 60000;/ /上传时间间隔(以毫秒为单位)
字符串apiKey = " P5LPXSRJT0G4K7VA ";
字符串场= " field1 ";
字符串服务器= " api.thingspeak.com ";
字符串channelID = " 2131761 ";
无效设置(){
Serial.begin (9600);
Serial1.begin (9600);
}
无效循环(){
/ /读取电压从传感器
电压= analogRead (A0) * 0.0049;/ /模拟转换阅读电压(0-5V)
电压=电压* 5.17;/ /调整电压,以反映实际的电压
/ /输出电压连续监测
并同时电压:“);
并同时(电压);
以“V”);
/ /得到当前时间戳
无符号长currentMillis =米尔斯();
/ /检查的时候上传至ThingSpeak
如果(currentMillis - previousMillis > =间隔){
/ /更新时间戳
previousMillis = currentMillis;
/ /构建HTTPGET请求
字符串getRequest = " api_key = " /更新吗?;
getRequest+ = apiKey;
getRequest+ =“&”;
getRequest+ =字段;
getRequest+ =“=”;
getRequest+ =字符串(电压);
getRequest+ =“&”;
getRequest+ =“field2 = *”;
getRequest+ =“HTTP / 1.1 \ r \ n”;
getRequest+ =”主持人:“;
getRequest+ =服务器;
getRequest+ = " \ r \ n ";
getRequest+ =”连接:紧密\ r \ n \ r \ n”;
getRequest+ =“X-THINGSPEAK-CLIENT: arduino \ r \ n”;
getRequest+ =”内容类型:应用程序/ x-www-form-urlencoded \ r \ n”;
getRequest内容长度+ =”:“;
getRequest+ =字符串(电压);
getRequest+ = " \ r \ n ";
getRequest+ =”主持人:api.thingspeak.com \ r \ n”;
getRequest+ = "用户代理:Arduino / 1.0.0 \ r \ n”;
getRequest+ = " \ r \ n ";
getRequest+ = " \ r \ n ";
getRequest+ = channelID;
/ /发送HTTP通过串行通信ThingSpeak GET请求
Serial1.println (getRequest);
/ /打印响应从ThingSpeak连续监测
而(Serial1.available ()) {
Serial.write (Serial1.read ());
}
以();
}
延迟(1000);
}
再一次,我真的不知道我在这里做什么,所以我并不感到惊讶,如果我是完全错误的。非常感谢您的反馈!
0评论
答案(2)
克里斯托弗Stapels
2023年5月4日在58。曾
Uno R3不能发出HTTP请求没有以太网或无线连接。它不能发送这些请求通过USB连接没有相应的应用程序来发送请求运行在计算机是conencted。