物联网
物联网这个词在近几年的亮相频率相当高,甚至可以说是铺天盖地。曾经感觉是下个世纪的黑科技,其实已经开始深入应用到我们日常生产生活中了。物物相联、智能感知,是对物联网最通俗、也最准确的理解。大到工业国防,小到衣食住行,稍加注意,你便会发现它真的是无所不在。
“联发科”这三个字,凭它在移动设备领域的影响力确实无需过多注解,然而,联发科正式宣布进入物联网战场却是在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”,各位看官,此篇拙文算是投石引玉,还有更多更亮眼的物联网创意,就等你们一起去实现了!
全部0条评论
快来发表一下你的评论吧 !