查看: 198|回复: 5

[使用文档] 为什么esp8266/esp32 wifi接入app显示设备离线

[复制链接]
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2020-3-26 20:18 | 显示全部楼层 |阅读模式
    blinker会自动获取设备状态,通常用户不需要做任何处理,但当你错误编写程序时,可能会造成状态反馈失败或者不及时的问题,这时blinker App就会显示该设备 离线。为了帮助开发者更好的调试程序,这里我对blinker app的判断逻辑,及调试方法做一些讲解。

    blinker App如何判断设备是否在线?  
    blinker App在 App打开时、进入设备页面时、在设备页面中每隔一定时间 会向设备发送心跳请求,内容为{"get":"state"}。  
    设备收到请求后,会返回{"state":"online"},app接收到这个返回,即会显示设备在线。


    app中显示设备离线,并不等于设备没有连接上mqtt,但可以肯定的是:你的设备没有响应或者错误响应了app发出的心跳请求。



    哪些情况可能照成显示离线?
    1. 程序没有成功上传到开发板  
    解决办法:重新上传,上传后打开串口监视器,确认程序正确运行  

    2. 程序中没有设置正确的ssid和密码,导致没有连接上网络  
    解决办法:设置后再重新上传程序,上传后打开串口监视器,确认程序正确运行  

    3. 程序错误,导致程序运行不正确  
    解决办法:先使用并理解blinker例程,再自由发挥  

    4. 开发板供电不足   
    解决办法:换电源 或 换USB口  

    对于程序错误造成的离线,如何调试?
    在程序初始化时添加debugAll,获取更详细的调试信息。
    arduino程序如下:

    kittenblock中小学创客名师推荐的图形化编程软件

    
    void setup()
    {
        Serial.begin(115200);
        BLINKER_DEBUG.stream(Serial);
        BLINKER_DEBUG.debugAll();
    }
        


    然后通过串口调试,查看设备是否正确接收到{"get":"state"}并响应{"state":"online"}

    如何修复错误?
    笨办法:逐句注释掉自己写的代码,看看是那一句造成的反馈错误  
    正常的办法:理解blinker程序逻辑,通过调试信息,分析程序哪里造成了反馈错误或不及时  

    该用户从未签到

    发表于 2020-3-28 22:46 | 显示全部楼层
    学习一下,我的舵机开门,偶尔会不在线,但有时一周也都不断

    点评

    4. 开发板供电不足 解决办法:换电源 或 换USB口 可能是这个原因,舵机一定要独立供电  详情 回复 发表于 2020-3-29 00:54
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

     楼主| 发表于 2020-3-29 00:54 | 显示全部楼层
    ebeeb 发表于 2020-3-28 22:46
    学习一下,我的舵机开门,偶尔会不在线,但有时一周也都不断

    4. 开发板供电不足   
    解决办法:换电源 或 换USB口  

    可能是这个原因,舵机一定要独立供电
  • TA的每日心情
    开心
    2020-3-30 08:15
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2020-3-29 07:33 | 显示全部楼层
    补充一点就是网络环境

    该用户从未签到

    发表于 2020-3-29 09:20 来自手机 | 显示全部楼层
    奈何col 发表于 2020-3-29 00:54
    4. 开发板供电不足   
    解决办法:换电源 或 换USB口  


    我是从nodemcu板上接的5v

    该用户从未签到

    发表于 2020-3-29 09:21 来自手机 | 显示全部楼层
    试下单独供电
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    【Arduino】108种传感器模块系列实验(55)---DHT11温湿度传感器
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    一个初级的hello world的问题
    一个初级的hello world的
    串口监视器不显示,第一个程序就这样,求大佬指点
    【Arduino】u8g2中文字库制作教程 小白请进
    【Arduino】u8g2中文字库
    我知道对于这个话题许多大佬们都会,发这个贴子也算是炒冷饭了,所以一开始我也十分纠
    【干货分享】mega2560原理图PCB图纸altium designer18
    【干货分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表