基于MIIO模组的WiFi产品设计规范
软件设计规范
产品功能定义规范
- 对于属性、方法、事件的命名要求明确可读,并且遵循命名规范。禁止使用如“abc”等不可读、无意义的词汇进行命名。
- 对于属性定义,要求单个属性所代表参数独立、无歧义,不同属性间无相关性。
上下行机制规范
- 要求属性值检测变化超过一定范围时进行上报,非必要情况下属性不要循环上报。
- 由于属性上报机制和App订阅机制限制,同一属性上报间隔要求大于1s。
- MCU执行下行方法出现错误使用error进行返回时,需要写明错误情况,以便定位问题。完善MCU内部错误定位逻辑。
- MCU与模组进行通信时需遵守一问一答原则,同时MCU内部需要设置合理的超时时间,以免超时等待影响MCU正常工作。
- 涉及服务器的上下行通信指令,需要将设备调用时间点打散,不要选择同意时间点进行通信,避免造成服务器压力峰值。
产品设计规范
WIFI指示灯
使用模组接入的WIFI产品需要定义自己的WIFI重置按键与WIFI指示灯。小米产品指示灯规范如下:
双色LED灯方案【强烈建议】
橙色指示灯和蓝色指示灯
状态 双色LED闪烁方式
等待快连中 橙灯闪烁(橙0.1s 灭0.2s)
快连中、连网中、路由器掉线重连中 蓝灯闪烁。(蓝0.1s 灭0.2s)
成功连接到路由器、云端掉线 蓝灯慢闪 (optional) (蓝0.2s 灭0.8s) 或 蓝灯常亮
成功连接到云端 蓝灯常亮
升级中 橙灯慢闪。(橙0.2s 灭0.8s)
注: 成功连接到路由器与成功连接到云端通常时间很短,可以选择性区分。
单色LED灯方案【迫不得已】
颜色不指定,可根据外观选择
状态 双色LED闪烁方式
等待快连中 慢闪(亮0.2s灭0.8s)
快连中、连网中、掉线重连中 快闪(亮0.1s灭0.2s)
成功连接到路由器 长亮
成功连接到云端 长亮
升级中 双闪(亮0.1s灭0.2s亮0.1s灭0.8s)
通过net命令可以查询到网络连接状态
>net
<uap
WIFI重置
WLAN重置是指断开当前WLAN连接,使芯片重启后处在等待块连的状态中的操作。MIIO设计规约要求必须预留一个复位按钮,按钮可以设计为以下两种中的一种:
单独的隐藏按钮(类似路由器的复位孔)
与其他按键复用
如:按钮被长按5秒后,触发设备WLAN重置操作。
通过串口命令可以重置WIFI连接,解绑用户账号的关系
>restore
<ok
按钮操作的上报
产品的任何实体按钮,在被按下时,可以用props命令将这一操作作为属性上报给wifi模组。button_pressed是一个保留的属性,在产品量产后能知道用户如何操作了你的设备,通常对售后很有帮助。
>props button_pressed "power"
<ok
硬件设计规范
串口焊孔、焊盘
为方便调试,应该在PCB主板上留有如下过孔:
- WIFI模块的UART0 RX/TX/GND,供输出WIFI模块的调试信息。
- WIFI模块的UART1 RX/TX/GND,供查看WIFI模块与MCU之间的通信。
- WIFI模块的boot pin/GND,boot pin拉低上电,WIFI模块进入串口烧写模式。
- pin与GND做成可被跳线短接的相邻过孔
- MCU的调试输出,如果MCU提供了运行时的调试输出,应该提供相应的过孔
底板参考设计
需要参考所使用模组的尺寸规格进行模组底板设计,注意不同模组尺寸可能存在不同。
不同模组尺寸规格详见模组规格书。
模组PCB设计
- 模组建议放在底板角落处,并且天线朝外,天线周围至少15mm内保持净空,需远离金属器件、传感器、传输高频信号的器件及高频信号走线;从位置上增加距离使得干扰源能量随距离的增加而衰减,继而减小噪声的耦合,提高天线的整体性能。
- PCB天线下方禁止走线,并做净空处理,建议天线下方的开槽宽度离天线板边至少3mm。
- 禁止任何物体与天线产生干涉。
- 模组选型时,尽量不使用PCB板载天线,因为PCB板载天线受到的干扰比较大,容易把干扰源耦合进来影响天线的性能,最好使用外置天线,可以通过电缆线引出PCB板,这样板子上高频干扰信号对模组的天线性能的影响会减弱。
- 模组周围及下方避免走高速信号,如果避开不了,建议严格按照高频信号处理规则走线,尽量做到对高速信号进行包地处理,牵扯到data或addr线时成组进行包地处理。
- 模组所有需要供电的电源接口及上拉电源,请使用同一个电源网络,保证模组电源接口上电时序一致。
- 模组供电建议独立电源供电。模组供电的电源芯片的选型,建议输出电流至少600mA。
- 给模组供电电源纹波要求:发送11n MSC7的包时,电源纹波必须小于100mV;发送11b/11m的包时,电源纹波必须小于120mV。
- 模组与CPU之间通过SDIO和UART进行通信时,最好在信号线上串联一个200欧姆电阻(阻值可以根据实际需要调整),减小驱动电流,减小干扰,同时也可以消除走线长度不一致引起的时序问题。
- 如果在系统设计时牵扯到电机等高功率器件,则务必要把模组的电路返回路径(GND)与其它高功率器件的返回路径(GND)分离开来,通过导线把2个返回路径(GND)连接起来。
- 不同模组由于芯片不同,存在一些不同的硬件设计要求,详细要求请参考模组规格书,更多细节请参考芯片手册等其他资料。
- 建议产品设计完成后,对整机天线性能根据产品定义进行测试,确认天线性能是否符合整机要求。
硬件生产检查
来料检验
- 小米模组出厂检测为全检。
- 来料模块建议抽检。
- 来料全检建议贴片后整板上制具(或接头)检测。这样可以避免卷带拆包、物料中转导致静电防护问题,从而带来的不良。
- 模组静电防护级别为IC级别,产线需要有相关的静电防护测试,严禁徒手操作。
开机检查
你可以通过连接LOG输出口进行开机检查。推荐使用 CP2102 串口线。 我们提供了一个例程。
RF测试
我们所有出厂模块为RF全检,如果你需要进行RF测试复测,请邮件联系我们,我们会提供相应软件包(治具另行付费需要采购)。