版权声明:本文为博主徐松亮的原创作品,未经允许不得转载,多谢支持!QQ:5387603
推荐点击此链接:欢迎进入徐松亮博客一站式导航搜索(随时更新)
目录
一,前言
-
本文项目
- 做个简单的属于自己的智能wifi开关。
-
适合人群
- 想要快速搭建属于自己的物联网产品的公司与产品开发工程师
- 想一天就快速做出一个智能灯,智能开关,智能宠物窝等等。
-
起因:
- 近来物联网真正兴起与落地,作为研发型的产品经理,怎么可能不了解将设备接入物联网平台的知识呢!
- 目前,大多数公司还是用自己公司的服务器,这样所有环节都需要自己的研发人员投入大量开发时间和成本。
- 我必须亲自掌握,跑通这个数据流,“机智云”,让我相见恨晚啊。
- 今天,我从不了解什么是机智云,到做成一个用手机可以通过wifi远程控制的智能灯,智能灯是用ESP8266实现的,读文档,做实验,各种注册配置设置开发调试,一共用了5-6个小时,真的效率很高啊,除了我有一定的开发基础的原因以外,更多的是“机智云”这个平台果然很机智,很好用。
-
“机智云”是什么?
- 详细的自己看官方说明:http://docs.gizwits.com/zh-cn/overview/overview.html
- 它主要完成了物联网产品的服务器端的设备管理和数据管理。
-
为什么要用“机智云”?
- 作为一个物联网工程师(尤其是嵌入式工程师),你可以不依靠任何其他人,自己就设计出属于自己的物联网产品,
- 它提供了整个物联网产品的开发环节的技术支持,真是牛逼,别的公司开发的是产品,“机智云”开发的是开发产品的工具。
- 自动化完成平台端:设备管理,数据统计,数据存储等等
- 自动化完成APP:提供方便的SDK(如果不二次开发,调试的时候有现成的DEMO很方便的使用)
- 甚至你的嵌入式代码的90%也都由机智云给你自动生成了,还有量产的工具,相关的文档,你什么都没做,都由机智云完成了!
-
“机智云”免费吗?
- 个人做实验肯定是免费的,量产产品视乎也是免费的。
- 但是如果都免费的话,“机智云”怎么生存呢?应该会有什么增值服务吧,这些我目前还不确定。
-
本文对开发者的要求
- 有ESP8266(NodeMCU开发板)的开发经验
- 有“安信可”开发环境的开发ESP8266的开发经验(或者基于linux开发ESP8266的开发经验),因为“机智云”自动生成的文件框架代码是C语言的,所以只会micropython或Ardiuno开发环境的开发人员,就不用看本文啦!
-
注意
- 本文对“机智云”的应用介绍只是入门级的,“机智云”真正的服务要比本文介绍的强大的多。
二,准备工作
-
了解机制云官网:
-
电脑系统:
- Win10-64bit
-
开发环境
- 安信可集成环境(eclipse+cygwin)
- 不会的请看本人原创:徐松亮ESP8266专项教学1-简介与多种开发环境搭建
- 串口工具
- 安信可串口调试助手(其他串口调试助手一样用,就是查看调试信息而已)
- 安信可集成环境(eclipse+cygwin)
-
开发板
- NodeMCU开发板(以ESP8266为核心芯片模块)
- 自制了一个底板,没有的自己按要求用杜邦线接线一样。
三,从零开始的流程
-
申请“机智云”开发者账号:
- 注册链接:http://dev.gizwits.com/zh-cn/developer/
- 按要求填写即可,简单又快捷!
-
创建产品
-
创建产品的数据节点
- 我们的实验以最简为原则,所以我就创建了一个InOut节点,即可以远程控制的一个开关量即可。
-
云端自动生成MCU源码
-
“安信可”的开发环境导入刚下载的源码
- File---import 弹出如下对话框:
- 导入后如下文件:
-
修改makefile文件
- 直接导入的工程,编译是会出错的,要做如下更改:打开根目录的MakeFile文件,修改如下部分:
-
添加回调函数程序
- 有小伙伴会,不是自动生成代码吗?为什么还要写代码!就算给你请个做饭阿姨,你也要说明白你要吃啥吧!
- 再次我们写2个函数,分别是数据节点变为0/1的时候要做什么。我这里是要让灯亮,我把灯接到了P0.4口。
- 函数写完了,在哪里调用呢?在gizwits_product.c里,如下
-
修改打印函数程序
- 将打印信息输出到UART0,因为NodeMCU的USB就是UART0,并且把波特率改为115200.
-
编译
- 先Clean Project,再Build Project。等待编译完成。
-
下载
- 第一次先执行一次擦除,再进行烧写。
-
制作底板(或连接硬件)
- 根据程序,有2个按键需要连接(P0.0,P0.14),有1个输出需要连接到LED(P0.4)
- 有这段程序得知,按键1接到了GPIO0上,按键2接到了GPIO14上。
- 有main.c的程序得知按键如下功能:
- 按键1短按:运行出厂测试代码
- 按键1长按:模块复位
- 按键2短按:AP模式
- 按键2长按:airlink模式
- 根据我们之前加的回调代码,我们知道程序把LED接到了GPIO4引脚上。
-
手机下载产品调试APP
-
手机端申请机智云账号
- 这个账号是使用者的账号,跟上面的开发者账号是两回事。
-
使设备进入airlink模式
- 长按按键2,使设备进入airlink模式。
-
手机给设备配置WLAN信息
- 手机接入路由的WLAN
- 点击我的设备---加号---一键配置
- 因为我们用的是ESP8266,所以在下一个界面我们选择“乐鑫”
- 等待配网结束,然后再界面上出现了设备:
-
测试功能
- 用手机操控设备的开关
- 查看串口信息,开发板已经收到了手机的遥控信息。
- 查看硬件:实际上我开发的灯已经点亮。
四,总结
- 一天,即做完了“机智云”的整个数据链路实验,又整理完了这篇文档,让我觉得进步很多也很充实。
- 后续关于机智云还有如下需要研究:
- 设备的量产测试
- 设备的在线升级(OTA)
- APP的开发应用
- 设备管理与数据管理
- 与其他运服务器的借口
- 。。。
- 要学的东西真是太多了,加油!
- 这些不仅仅是我的工作,而是我的对前沿科技产品的追求与爱好!