我正在放置一个监控一些传感器的系统,并根据它们打开/关闭一些灯。
对于进一步的数据分析,我们还希望将该数据发送到中央服务器,因此我们添加了 Wifi shield。请记住,如果没有网络,系统应该可以正常运行。所以我所做的是在 loop() 中监控网络状态,如果它出现故障则再次连接。
现在,问题是 Wifi.begin() 阻止执行,直到连接或抛出错误。这是不可接受的,因为在此期间系统将无响应。
我已经研究过在 Arduino 中使用线程,例如这里,但是这会出现在限制中:
这个库的主要潜在问题之一是,一个挂起的线程将锁定整个系统,因为在当前线程完成其 loop() 函数之前无法调用下一个线程。
那么,任何人有任何指示,想法或经验吗?
谢谢,
胡安