硬件本身有千奇百怪的型号,网络环境也千差万别。而硬件连接手机、接入云端,就是这么简单的连接过程其实包含了从硬件跨到软件、跨到互联网的诸多问题。因为物联网产品所涉及到的技术领域跨度很大,建议不要从一开始就自己去完成所有的东西,而是要尽可能地去利用外部的资源,找到合适的工具去解决一些通用的问题。 这里在体验过几个智能硬件云平台后,我选择了借助机智云自助开发平台,来实现设备开发和联网。理由么,就是机智云提供了很多开发工具,对于我一个硬件工程师来说,也能做一款APP应用了。下面主要讲如何让设备具有联网能力。 三、让设备具有联网能力要让设备能通过手机APP远程控制,首先得赋予设备联网能力。 通常我们会选用串口无线透传模块(WiFi、Zigbee、Lora、NB-IoT)联网,来实现联网功能。 此处推荐性价比最高的esp8266模块。 在ESP8266模块上烧写GAgent通信协议,把它连接到arduino UNO R3板卡的串口即可,注意Tx、Rx要交叉连接。烧写了GAgent后,MCU与云平台通信的协议对用户来说就屏蔽了,我们只需要在自动生成的单片机/MCU/SoC工程中添加下自己的业务代码即可,整个工程的框架已经为我们搭建好。就像使用Arduino一样,完全不用关心底层驱动原理,只管调用现成的接口函数。 关于GAgent协议: GAgent 的小固件程序,它运行在硬件平台里面,通常在 Wi-Fi 模块里,也可以在硬件的主控芯片里。GAgent 起到了一个承上启下的作用,对云端,它实现了所有的机智云接口,让硬件具有与云端连接的能力;对主控芯片,它又提供了一套对嵌入式开发很友好的封装,让硬件工程师可以面向业务编程,而不用去考虑云端通信的细节。GAgent 在云端所提供的各类型接口能够让整个连接过程变得更加简易,这些接口在传输层面支持多种协议,包括 MQTT,HTTP/S,还有 WebSocket等。
GAgent for ESP8266固件烧写教程:http://club.gizwits.com/thread-3551-1-1.html
四、Let’s Go!准备工作做好后,我们就可以开始奇妙的开发之旅啦~
Step1:在机智云开发者中心创建一个产品,给它起个名字,选择WiFi方案,然后点击保存按钮,这样你的产品就在机智云那里“登记”了。
Step2:接着我们创建数据点,数据点即设备产品的功能的抽象,用于描述产品功能及其参数。 本次我们需要实现控制RGB LED的亮灭和颜色(RGB色单独可调、一键设置组合色彩)5个功能,因此要建立5个数据点。机智云的开发者中心有很多产品模板,我们可以直接利用模板,然后在它的基础上修改。
进入开发者中心的数据点一栏:
点击管理->选择产品数据点模板:
选择gokitDemo:
GokitDemo的数据点有很多,去掉不需要的:
最后保留的5个用于控制RGB LED的数据点:
Step3:数据点建立好后,在MCU开发栏目,选择独立MCU方案,硬件平台为ArduinoUNOR3,点击生成代码包即可生成工程。
稍等几秒,很快就能生成完毕;
工程生成好后,我们下载它;
|