完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在数字时钟项目中使用 ESP8266。我遇到的问题是我的 ISP 偶尔会断开互联网连接。该程序发现它仍然连接到 WiFi,但是当它尝试从互联网检索时间时,它会循环直到 ISP 重新建立互联网连接。那可能是几分钟。我应该使用什么代码来查看我是否有互联网连接?这是我当前的代码”
if (WiFi.status() == WL_CONNECTED){ do { // 美国中部夏令时。调整 DST datetime = NTPch.getNTPtime(TimeZone, 2); // 查询 NTP } while (!dateTime .valid); hours = dateTime.hour; minutes = dateTime.minute; seconds = dateTime.second; } |
|
相关推荐
1个回答
|
|
您可以使用ESP8266的ping库来检查互联网连接。以下是一个示例代码:
#include #include const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } Serial.println("WiFi connected"); if (Ping.ping("www.google.com")) { Serial.println("Internet connection established"); } else { Serial.println("Internet connection failed"); } } void loop() { // your code here } 在这个代码中,我们首先连接到WiFi。一旦连接成功,我们使用ping库来检查Internet连接。如果ping返回True,则显示“Internet连接建立”,否则显示“Internet连接失败”。您可以使用这个代码片段作为一个检查互联网连接的函数,然后在您的代码中调用。这样,当您的ISP失去互联网连接时,您的程序将不会陷入无限循环等待连接重新建立。 |
|
|
|
只有小组成员才能发言,加入小组>>
1106 浏览 1 评论
574浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
460浏览 5评论
461浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 13:20 , Processed in 0.882792 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号