当主机与微控制器连接到同一个WiFi时,可以通过网络进行双向通信。
这时微控制器可以获取主机中CFET2APP的数据,并存储到Host的channels中,称为目标数据。
对目标数据进行条件判断,如果满足某些条件则微控制器发出警报。
配置属性使微控制器连接到WiFi
const char *ssid = "WiFi_name";
const char *password = "WiFi_password";
注意ESP32微控制器不能连接频率为5G的WiFi
设定目标服务器URL(主机CFET2APP给出)
const char *serverName = "http://192.168.43.184:8003/PPHeat/CurrentStateNO";
在WiFi成功连接,且此时微控制器与主机处于同一网络时,
CFETclient会轮询目标服务器(HTTP GET请求)
如果正常:
会接收到目标服务器返回的JSON格式信息后进行解析,然后将目标数据存储到channels中
由于CFETclient已经读取到主机中CFET2APP的目标数据并存储到channels中,
WarningSensor只需要读取channels中的数据进行条件判断,
然后发出警报即可。
实际测试时,如果正常串口为输出"Warning"或"Normal"等信息
但测试时发现情况如下:
[E][WiFiClient: cpp:266] connect(): socket error on fd 54, errno: 113, "Software caused connection abort"
Error code: -1
推测程序错误原因和CFETclient.cpp下的
WiFiClient client;
HTTPClient http;
有关,但无法进一步查看WiFiClient的声明,也无法打开对应的"WiFi.h"和"HTTPClient.h"头文件,需要进一步查询相关资料
本文章使用limfx的vscode插件快速发布