- 本系列博客学习由非机智云官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。
本博文目录;
一、前言;
在写这篇博文前,我希望这机智云专题的笔记可以帮助更多入门物联网智能家居的小伙伴,我是2016年广东省电子设计大赛开始接触机智云的产品的,一路上也算是看到了他们的迅速发展。所以,记下一些笔记来分享下怎么接入这个强大的、免费提供服务器的物联网平台给大家介绍。共勉!!!
- 在当年还在大三的时候,嵌入式这种互联互通的在市面上还不是很常见的,直到阿里智能、百度
dueros
、京东微联和小米出来这个AI
人工智能平台之后,整个物联网智能家居生态才真正地火热起来。我也是接入了好几个平台,感觉还是蛮好玩的;不得不说,是机智云这个平台开始带我走进物联网世界,阅读机智云的文档和相关物联网专有名词,不得不说,大学学的东西真少!至此,我准备建立一个新的博文篇,专门介绍接入机智云的方方面面,相信你一定会爱上她的。哈哈~
二、机智云与其他平台有什么不一样;
我也是一个热爱学习的人,每天都要搞些新知识充电或者重温下旧知识写博文;在我接触许多的物联网平台,其共同的特点都是有免费提供设备的云服务的,像乐鑫云、安信可云、百度云、阿里物理套件和最近的开发快平台,尽管不完善某些功能。但是和设备通讯还是极速的,因为毕竟都几乎是
MQTT
协议。至于机智云为何会有一些与众不同呢?下面是我总结的几点:- [1] 自动生成代码,包括我们的常见的
stm32
主流系列,esp8266
固件源代码;而且还有我们上位机的Android
和ios
源代码,以及跨平台的APICloud SDK
; - [2] 机智云开发者社区有很多的一些
demo
可以借鉴,经典的微信宠物屋,rgb
七彩灯都是远程控制的;这些我后面都会详细为大家怎么实现; - [3] 说到认证和荣誉,每天在微信公众号可以看到官微在推文章,而且很出名的正点原子推出的
stm32
开发板也是在和机智云合作。 - [4] 如果你是一名
Android
开发人员,不了解嵌入式开发的过程,你可以学习机智云提供的上位机的SDK
参考,之后你就可以很轻松面对其他云的设备SDK,比如阿里的SDS
服务提供的SDK
接入,以及小米的插件化的SDK
环境接入;而且可以自己琢磨下机智云的自动生成代码的源码,渗透下整个app
的运作流程。 - [5] 如果你是一名设备端开发人员,但是对设备接入服务器不熟悉,你可以去看下自动生成的
esp8266
的源代码,看下人家怎么写出标准的、高可行的代码;说白了,就是要学习人家的架构思想,编程逻辑; - [6] 这点没有什么好说的 ,在现在的资料开源的时代,我们可以借助一切,把自己的能力提升,而机智云免费开源的这些代码,就是对自己的职业发展的奠基石。
- [1] 自动生成代码,包括我们的常见的
三、在机智云平台创建产品并自动生成代码;
第一步:创建产品;
在任何一个服务器上面,要想开发一个设备,那必须要先在服务器注册一个设备,访问机智云的开发者中心点我访问,和其他的厂家一样,都是需要创建数据点和数据点类型。本篇文章主要讲的是一个定时的智能插座(说白了就是单路继电器),所以只需要注册以下几个数据点即可:
- 注意数据点是一个产品的属性,当我们要控制设备或查询设备,都是通过数据点来操作的;
数据点名字 | 含义 | 取值范围 |
---|---|---|
timerOpen | 当定时器使能时候,设备倒时开的时间;仅仅当 isTimerOpen为true生效; | 0~3600秒 |
lightOnOff | 开关的下发 | true:开;false:关 |
isTimerOpen | 定时器的使能标志位 | true:开;false:关 |
第二步:自动生成代码;
我觉得,自动生成代码是最舒服的,因为不用自己搭建框架;也不用管数据怎么发送和接受,只需要在下发和上发的函数做自己的处理即可:
看到
服务
—–>MCU开发
,我们选择soc方案
,选择esp8266_32M
,因为我们Gokit3
拓展板用的是esp8266-12f
模块,注意下面那个product key
是从上面的基本信息复制下来的。
第三步:修改代码;
- 在机智云的
Gokit3
的拓展板上面,引出的脚有限;我仔细看看,只有一个脚是引出来了,是GPIO0
,那我就准备用它自带的按键2来实现配网,而连接继电器那个是GPIO0
,通过拓展版的原理图可以看到,按键二是连接到GPIO14
的,所以,简化后的原理图就是这样的: