博客 页面 3

5月26日晚服务故障说明

由于阿里云broker服务故障,导致26日晚9点至11点,blinker设备无法连接。该问题由阿里云方面造成,属于一次突发意外情况,不会影响此后设备的正常使用。

如果您的设备仍然无法连接,请尝试复位设备,并查看设备端调试信息。

PS:blinker设备默认使用阿里云broker通信,在blinker运营过程中遇到了数次阿里云故障,但不可否认阿里云还是国内目前最不差的云服务提供商。针对此次故障,我们会加快准备备用broker方案,以防未来阿里云未来又出现故障。

为什么wifi接入app显示设备离线

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口 或者 在vcc和gnd间并电容

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

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

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

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

摇杆组件使用说明

应一些重要用户要求,在blinker app 2.4.4中我们恢复了摇杆组件的使用权限。

因为摇杆控制,会发送较多消息,直接提高了我们服务运行成本,因此我们目前只面向付费用户提供该组件。
关于摇杆组件使用说明如下:

1.在mqtt通信状态下,触摸停顿即会发送摇杆数据;
2.如需提高摇杆组件通信频率,你可以使用局域网通信(wifi接入后,让设备和app在同一局域网中运行,即会切换到局域网通信) 或 使用蓝牙接入设备;
3.你可以添加一个调试组件,方便查看摇杆组件发送了什么数据;
4.设备请不要频繁向app反馈信息,可能会照成通信锁死,或app卡顿;

Mqtt连接返回码

 Connect Return code values
ValueReturn Code ResponseDescription
00x00 Connection AcceptedConnection accepted
10x01 Connection Refused, unacceptable protocol versionThe Server does not support the level of the MQTT protocol requested by the Client
20x02 Connection Refused, identifier rejectedThe Client identifier is correct UTF-8 but not allowed by the Server
30x03 Connection Refused, Server unavailableThe Network Connection has been made but the MQTT service is unavailable
40x04 Connection Refused, bad user name or passwordThe data in the user name or password is malformed
50x05 Connection Refused, not authorizedThe Client is not authorized to connect
6-255 Reserved for future use