联发科LinkIt 7687物联网开发板评测

2017-03-31 14:35:24 来源:未知

  导读:LinkIt 7687开发板整个连接、设置和测试运行,以及参考设计都算是完成得非常顺畅,主要是MTK提供的各种开源软件资源非常丰富,可以说是给我们开发设计新产品扫清了许多障碍。

  OFweek智能家居网讯:物联网这个词在近几年的亮相频率相当高,甚至可以说是铺天盖地。曾经感觉是下个世纪的黑科技,其实已经开始深入应用到我们日常生产生活中了。物物相联、智能感知,是对物联网最通俗、也最准确的理解。大到工业国防,小到衣食住行,稍加注意,你便会发现它真的是无所不在。

  “联发科”这三个字,凭它在移动设备领域的影响力确实无需过多注解,然而,联发科正式宣布进入物联网战场却是在2014年左右,属于后起之秀了。不过如同它曾经在智能手机市场上风光无限一样,因其在低功耗与联网技术方面深厚的经验与科技积累,短短几年内联发科在物联网领域也是捷报频传,作为吃瓜群众的我们竟然也会因其连番不断的新品轰炸,而感受到物联网深情的撩拨。

  过去芯片厂商的开发公板都是直接提供给客户厂商,以协助加速完成产品的开发。不过近来的趋势是各芯片厂家愈发慷慨,各种开发板通过各种免费形式送到了相关领域从业者手中,再加上大量的开源软件资源,让众多极客、“攻城狮”也都有机会共同参与到了推动行业进步的大潮中。

  这些慷慨的芯片厂家中,就包括了联发科;而享受到免费福利的幸运儿当中,就包括了本人。

  对的,经过诚意满满的一番申请,我终于在不久前收到了来自联发科的一套LinkIt 7687物联网开发板,现在正式进入正题。

  一、开箱:

  先暴力撕开邮递包裹,再小心翼翼取出开发板包装盒。

  

  

  第一感觉是尺寸小巧精致,图文设计什么的也算精美。而且很多英文,侧面一行字特别显眼:If you can write ‘hello world!’, you can change the world。

  

  

  掀开外包装盒,果然开发板身着透视防静电袋在里面乖乖地躺着。如捉J一般把它拉起,拆开“床”板,你会发现里面蜷缩着一条数据线。

  

  上一张“突击成果”全家福。

  开发板整体感觉还不错,PCBA两面油亮整洁,一尘不染;元器件布局也有条有理,非常工整。果然有名牌、正品风范。

  

  开发板上最核心的部分当然就是那块8*8mm 68-pin QFN封装的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.768 kHz晶振。

  (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/n WiFi子系统,省电、稳定;

  ·主频达192Mhz/200Mhz的Cortex M4核心;

  ·支持多元的外设接口;

  ·整合在芯片封装内的嵌入式SRAM/ROM与序列闪存。

  三、开发软件配置

  安装驱动

  通过自带的数据线将开发板连接至电脑,然后下载安装官方的驱动。

  英文不好的,可以根据“哪里能点点哪里”的原则,点击下载红色划线部分:

  

  安装完成,查看以下3个部分即可:

  

  配置HDK Flash

  通过连接J25,启动Flash Recovery模式。

  

  升级固件

  下载mt76x7_mk20d_mbed.bin文件。

  模式进入

  先从LinkIt 7687开发板移除micro USB连接线。接下来按下并持续压住RST按钮,同时再用micro USB线将开发板连接至电脑。继续压住按钮约5秒钟后,一个新设备就会出现在Windows文件管理器中了。

  

  安装

  将解压缩的mt76x7_mk20d_mbed.bin拷贝至这个新设备中之后,开发板上中间那个U6001 LED灯就开始快闪,这时候需要耐心等它个差不多5分钟。

  开发软件安装

  (1)安装MDK 5.22

  

  (2)安装MediaTek.MTx.4.0.0.pack

  下载SDK:LinkIt SDK的KEIL package

  下载完成后双击打开安装:

  

  四、跟物联网世界打声招呼吧

  1.WiFi AP测试

  1.1 连接图

  

  1.2 调试代码

  

  1.3 调试现象

  使用网络调试软件,在PC端和手机端分别安装。查看7687的输出记录即可知道:[Gateway]10.10.10.1、[Start IP]10.10.10.2、[End IP]10.10.10.10。

  测试连接的PC IP为10.10.10.2 设置UDP,端口号:8080,目标主机10.10.10.3

  测试连接的Mobile IP为10.10.10.3,设置UDP Server,端口号8080。

  互发数据,达到简单的通信测试。

  

  2.WiFi STA测试

  2.1 连接图

  

  2.2 调试代码

  

  运行官方例程:iot_sdk_demo

  2.3 调试现象

  UART调试打印信息

  查看路由器管理界面,MT7687的连接信息。

  

  Lwip socket测试

  LwIP是Light Weight (轻型)IP协议。LwIP在保持TCP协议主要功能的基础上减少对RAM 的占用,适合在低端的嵌入式系统中使用。

  3.1 Socket通信

  (1) 创建:int lwip_socket(int domain, int type, int protocol)

  (2) 绑定:int lwip_bind(int s, const struct sockaddr *name, socklen_t namelen)

  (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_t len)

  (6) 发送数据:int lwip_write(int s, const void *data, size_t size)

  (7) 关闭:int lwip_close(int s)

  3.2 调试代码

  运行官方例程:lwip_socket。借助 WiFi STA模式测试代码。

  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.2 WiFi模块 MT 7687

  采用MT7687的UART ,RX:GPIO36 ,TX:GPIO37。连接计量MCU的UART。

  

  协议说明

  4.4.1用户端——>MT7687

  1:查询设备端数据

  2:控制设备端打开负载

  3:控制设备端断开负载

  4.4.2 MT7687——>设备端

  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供电。电气数据为模拟数据,此处实现基本的数据通信。

  五、结语

  进行到这里,相信大家已经都可以着手开发自己作品了,比如智能灯泡、智能门锁等等。LinkIt 7687开发板整个连接、设置和测试运行,以及参考设计都算是完成得非常顺畅,主要是MTK提供的各种开源软件资源非常丰富,可以说是给我们开发设计新产品扫清了许多障碍。

  “Advanture is out there”,各位看官,此篇拙文算是投石引玉,还有更多更亮眼的物联网创意,就等你们一起去实现了!