gpt4 book ai didi

c - 如何将测量值发送到服务器并同时从传感器接收数据?

转载 作者:太空宇宙 更新时间:2023-11-04 00:00:53 26 4
gpt4 key购买 nike

我正在尝试处理来 self 的传感器的数据,同时将数据上传到服务器 (Thingspeak)。

问题是,每当服务器连接(使用 wifi)结束时(我找不到延长 session 以防止超时的方法),重新连接需要时间,并且在此期间,我无法处理来自传感器,导致我的数据偶尔出现漏洞。

我听说有一些方法可以通过使用回调函数来解决这个问题,以某种方式让核心在每次尝试连接到服务器时等待服务器的响应,同时处理我正在处理的数据从传感器获取。

我现在的代码是这样的

loop
{
while(now==prev)
{
processdata;
}
prev=now;
count++;
if(count==15)
{
count=0;
senddata();
}
}
senddata()
{
if(!serverconnected)
{
if(!send connect request()) error message; //after this function calls,
if(!receive connection confirmed()) error message; //takes too long time until this function finishes executing.
}
send data.
}

注释部分的实际函数名称是

client.connect(host, port)
client,verify(fingerprint, host)

函数来自 WiFiClientSecure.h

有没有办法使用回调方法来解决这个问题?在搜索解决方案时,我找到了以下头文件

espconn.h

它似乎具有我可以使用的回调函数...但我不确定这是否使用不同的方法与服务器建立 wifi 连接,也不确定如何使用这些函数本身。

最佳答案

只要您使用 rest api,您就无法舒适地保持 session 事件。所以你最好有 websocket 或 MQTT 之类的协议(protocol), session 由它们处理,你只负责随时将数据立即推送到服务器。

link描述了如何在 Thingspeak 上完成 mqtt 客户端连接并将数据推送到它。

从链接中截取了一些代码:

#include <PubSubClient.h>

WiFiClient client;
PubSubClient mqttClient(client);
const char* server = "mqtt.thingspeak.com";

mqttClient.setServer(server, 1883);

关于c - 如何将测量值发送到服务器并同时从传感器接收数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45113885/

26 4 0
文章推荐: python - 枕头,添加和旋转图像中的文本
文章推荐: 有人可以解释这两个初始化程序之间的区别吗?
文章推荐: jquery - 在