物联网这个词在近几年的亮相频率相当高,甚至可以说是铺天盖地。曾经感觉是下个世纪的黑科技,其实已经开始深入应用到我们日常生产生活中了。物物相联、智能感知,是对物联网最通俗、也最准确的理解。大到工业国防,小到衣食住行,稍加注意,你便会发现它真的是无所不在。
“联发科”这三个字,凭它在移动设备领域的影响力确实无需过多注解,然而,联发科正式宣布进入物联网战场却是在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”,各位看官,此篇拙文算是投石引玉,还有更多更亮眼的物联网创意,就等你们一起去实现了!
有趣的灵魂万里挑一:从智能座舱看汽车进化史
电池包壳体设计要求与选材
为什么网络安全现在比以往任何时候都更具挑战性
中国"龙芯"漫漫征程路
汽车级音频处理器ADAU1452 有效提高代码效率
LinkIt 7687 HDK开发板评测:跟2017年的物联网世界说“Hello”
英特尔在芯片中实现背面供电
重庆争取工信部设立第三个手机检测中心
小米6、荣耀V9对比评测:一百元差价体现在哪?谁更值得购买?
上海交大π2.0超算实现天文学N体模拟粒子数的新记录
怎么选购一款合适的智能锁?智能锁品牌诺托告诉您
CK-FR104ANS多探头高频读写器原理及使用
未来电动汽车会对环境产生什么样影响?电动汽车真的“环保”吗?
人工智能好就业吗好找工作吗
为什么PCIe Gen3/Gen4不使用CXL
电子芯闻早报:西门子收购明导国际 华为Mate9 Pro国内独享
关于当前主流移动支付技术安全分析
智能魔镜的功能有哪些,为什么智能家居都爱它
什么是信号发生器 信号发生器类型总结
华为帮助上海市高校更“智能”、更“智治”