物联网这个词在近几年的亮相频率相当高,甚至可以说是铺天盖地。曾经感觉是下个世纪的黑科技,其实已经开始深入应用到我们日常生产生活中了。物物相联、智能感知,是对物联网最通俗、也最准确的理解。大到工业国防,小到衣食住行,稍加注意,你便会发现它真的是无所不在。
“联发科”这三个字,凭它在移动设备领域的影响力确实无需过多注解,然而,联发科正式宣布进入物联网战场却是在2014年左右,属于后起之秀了。不过如同它曾经在智能手机市场上风光无限一样,因其在低功耗与联网技术方面深厚的经验与科技积累,短短几年内联发科在物联网领域也是捷报频传,作为吃瓜群众的我们竟然也会因其连番不断的新品轰炸,而感受到物联网深情的撩拨。
过去芯片厂商的开发公板都是直接提供给客户厂商,以协助加速完成产品的开发。不过近来的趋势是各芯片厂家愈发慷慨,各种开发板通过各种免费形式送到了相关领域从业者手中,再加上大量的开源软件资源,让众多极客、“攻城狮”也都有机会共同参与到了推动行业进步的大潮中。
这些慷慨的芯片厂家中,就包括了联发科;而享受到免费福利的幸运儿当中,就包括了本人。
对的,经过诚意满满的一番申请,我终于在不久前收到了来自联发科的一套LinkIt7687物联网开发板,现在正式进入正题。
一、开箱:
先暴力撕开邮递包裹,再小心翼翼取出开发板包装盒。
第一感觉是尺寸小巧精致,图文设计什么的也算精美。而且很多英文,侧面一行字特别显眼:If you can write‘hello world!’,you can change the world。
掀开外包装盒,果然开发板身着透视防静电袋在里面乖乖地躺着。如捉J一般把它拉起,拆开“床”板,你会发现里面蜷缩着一条数据线。
上一张“突击成果”全家福。
开发板整体感觉还不错,PCBA两面油亮整洁,一尘不染;元器件布局也有条有理,非常工整。果然有名牌、正品风范。
开发板上最核心的部分当然就是那块8*8mm68-pinQFN封装的MT7687F控制器芯片,方方正正地披着铁皮伸出很多引脚在那里号令全板。更加吸引视线的是上下两排亮黄色的GPIO扩展接口,还有就是电源和USB接口,以及它下方的三个圆形功能按键。它们右边更小的圆点排成一排的都是LED灯。再看最右侧,自带板载无线天线,以及备用的外接天线接口。
具体板载硬件配置如下:
(1)供电
USB或电池供电:Micro USB电源(VBus,5V)和外部VIN(1.8~3.2V);
(2)LED
多种LED指示灯,包含UART通讯和电源,以及6个透过GPIO控制的LED:
D6:5V电源网络;
D5:3.3V电源网络;
D9(UART TX):UART1发送指示;
D10(UART RX):UART1接收指示;
D11、D12、D13,D14,D15可用作其它指示使用。
(3)功能按键
S4、S5、S1分别对应系统重置,RTC(Real Time Clock)中断和外部中断。
(4)扩展GPIO
8个GPIO扩充接口;
(5)RTC时钟模块
时钟模块是LinkIt 7687 HDK的特点之一,它包含一个40MHz源晶体振荡器,以及用于外部频率模式的32.768kHz晶振。
(6)USB数据接口
支持:Mass Storage Device(MSD)flash编程界面;Micro USB CMSIS-DAP(Coresight Debug Access Port);Virtual COM port UART经由USB给PC连接。
(7)射频
射频信号路由到板上的电路天线。
外观部分就到这里,接下来看下具体的硬件特性。
二、开发板及芯片
该LinkIt 7687开发板是基于联发科技的MT7687 Wi-Fi SOC设计制作,最适用于开发智能居家居相关的物联网设备。
想要深入认识开发板,这时候就有必要把包装盒拿来复习了。
根据硬盒正面英文所述,开发板由品佳集团(Silicon Application Corp.Group)设计推出,被描述为一款“为高能效、安全WiFi设备而生的物联网开发板”。下面小字是说此板支持AES、3DES/SHA无线WiFi加密,外设支持UART、I2C、SPI、PWM、IrDA,还有辅助ADC接口。
硬盒反面的英文介绍了开发板的一些详细功能特性,重新整理如下:
?内含MT7687F Wi-Fi芯片模块。该模块可供制造商生产最终商用的物联网设备;
?整合安全引擎的Wi-Fi连网功能(支持AES与3DES/SHA加密标准);
?嵌入式SRAM/ROM与2MB的序列闪存;
?电池(2颗3号电池)与插电选项;
?支持产品上市前的关键测试,除了提供调试端口,方便检测,还提供一个U.FL天线接头,以及保留供监视耗电量的排针。
?与Arduino Uno(Revision 3版)管脚兼容外,另外提供一个8针脚扩充接头,提供多元的外围连接能力。
再来看最核心的MT7687。
MT7687是联发科在2015年就推出的节能型系统级WiFi芯片,主打低功耗、高安全性,以及良好的扩展可编程性能。
它的主要特点整理如下:
?内含一颗ARM Cortex-M4F微控制器;
?1x1组态的802.11b/g/nWiFi子系统,省电、稳定;
?主频达192Mhz/200Mhz的CortexM4核心;
?支持多元的外设接口;
?整合在芯片封装内的嵌入式SRAM/ROM与序列闪存。
三、开发软件配置
安装驱动
通过自带的数据线将开发板连接至电脑,然后到下面的网址下载安装官方的驱动。
https://developer.mbed.org/handbook/Windows-serial-configuration
英文不好的,可以根据“哪里能点点哪里”的原则,点击下载红色划线部分:
安装完成,查看以下3个部分即可:
配置HDK Flash
通过连接J25,启动FlashRecovery模式。
升级固件
打开下面的地址,下载mt76x7_mk20d_mbed.bin文件。
http://download.labs.mediatek.com/LinkIt_SDK_V4_mt76x7_mk20d_mbed.zip
模式进入
先从LinkIt 7687开发板移除micro USB连接线。接下来按下并持续压住RST按钮,同时再用micro USB线将开发板连接至电脑。继续压住按钮约5秒钟后,一个新设备就会出现在Windows文件管理器中了。
安装
将解压缩的mt76x7_mk20d_mbed.bin拷贝至这个新设备中之后,开发板上中间那个U6001LED灯就开始快闪,这时候需要耐心等它个差不多5分钟。
开发软件安装
(1)安装MDK5.22
下载链接:https://www.keil.com/download/product/
(2)安装MediaTek.MTx.4.0.0.pack
下载SDK:LinkItSDK的KEILpackage:
下载链接:http://download.labs.mediatek.com/MediaTek.MTx.4.0.0.pack
下载完成后双击打开安装:
四、跟物联网世界打声招呼吧
1.WiFiAP测试
1.1连接图
1.2调试代码
1.3调试现象
使用网络调试软件,在PC端和手机端分别安装。查看7687的输出记录即可知道:[Gateway]10.10.10.1、[StartIP]10.10.10.2、[EndIP]10.10.10.10。
测试连接的PCIP为10.10.10.2设置UDP,端口号:8080,目标主机10.10.10.3
测试连接的MobileIP为10.10.10.3,设置UDPServer,端口号8080。
互发数据,达到简单的通信测试。
2.WiFiSTA测试
2.1连接图
2.2调试代码
运行官方例程:iot_sdk_demo
2.3调试现象
UART调试打印信息
查看路由器管理界面,MT7687的连接信息。
Lwipsocket测试
LwIP是Light Weight(轻型)IP协议。LwIP在保持TCP协议主要功能的基础上减少对RAM的占用,适合在低端的嵌入式系统中使用。
3.1 Socket通信
(1)创建:int lwip_socket(int domain,int type,int protocol)
(2)绑定:int lwip_bind(ints,const struct sockaddr*name,socklen_tnamelen)
(3)监听端口号:int lwip_listen(int s,int backlog)
(4)接收来自客户端的连接请求:
Int lwip_accept(int s,struct sockaddr*addr,socklen_t*addrlen)
(5)读取数据:int lwip_read(int s,void*mem,size_tlen)
(6)发送数据:int lwip_write(int s,constvoid*data,size_tsize)
(7)关闭:int lwip_close(int s)
3.2调试代码
运行官方例程:lwip_socket。借助WiFiSTA模式测试代码。
3.3调试现象
此处以TCP调试。
(1)MT7687端创建Socket通信,server端。
IP:192.168.0.13
Port:6500
(2)手机端借助网络调试助手,作为Socket Client请求连接
(3)连接成功,开始通信测试。
4.基于MT7687的计量插座设计
4.1项目简介
本文基于MT7687的WiFi版本计量插座实现了普通插座的联网和计量功能,用户可以通过APP端实现对连接在插座上的负载进行控制和电量数据的实时查看。计量方案采用8051微处理器的单相电能计量芯片G80F923,WiFi采用MT7687,采用内核cortex-m4,基于联发科实时操作系统(RTOS)开发平台。
4.2设计框图
4.3设计原理
4.3.1基本参数
电源参数:220-250VAC,50/60HZ;
额定最大电流:10A;
计量精度:1%。
4.3.1计量芯片G80F923
G80F925提供单相电能计量所需要的全部功能,包括有功功率与有功电能、无功功率与无功电能、电压电流有效值及频率计算等,支持灵活校表方案。
电压采样:分压采样,将差分电路电压信号输入采样端口VP和VN
电流采样:使用分流器,采用高精度錳铜电阻,将信号输入IP和IN
4.3.2WiFi模块MT7687
采用MT7687的UART,RX:GPIO36,TX:GPIO37。连接计量MCU的UART。
协议说明
4.4.1用户端——>MT7687
1:查询设备端数据
2:控制设备端打开负载
3:控制设备端断开负载
4.4.2MT7687——>设备端
Uart协议
波特率:115200bps,数据位:8,停止位:1,校验位:N,流控制:N
长度包括:data
CRC采用ModbusCRC计算方法
校验项:为功能码+长度+数据。
(1)下发数据
(2)上报数据
(3)错误应答
错误码说明。
4.4.3数据说明
4.5程序调试
Uart通信
(1)基本配置
网络通信
采用TCP方式,MT7687作为TCP Server,手机端作为TCP Client。参照STA测试。
4.6调试记录
(1)数据通信测试:
建立Socket连接,手机端发送1,当MT7687收到数据后,通过Uart向G80F9023查询检测数据,然后向上发送至手机端。
此处的电气数据为模拟数据。
(2)硬件连接图:
采用USB供电。电气数据为模拟数据,此处实现基本的数据通信。
五、结语
进行到这里,相信大家已经都可以着手开发自己作品了,比如智能灯泡、智能门锁等等。LinkIt7687开发板整个连接、设置和测试运行,以及参考设计都算是完成得非常顺畅,主要是MTK提供的各种开源软件资源非常丰富,可以说是给我们开发设计新产品扫清了许多障碍。
“Advanture is out there”,各位看官,此篇拙文算是投石引玉,还有更多更亮眼的物联网创意,就等你们一起去实现了!
精彩评论