一、简介
物联网套件是阿里云专门为物联网领域的开发人员推出的,其目的是帮助开发者搭建安全性能强大的数据通道,
方便终端(如传感器、执行器、嵌入式设备或智能家电等等)和云端的双向通信。全球多节点部署让海量设备全球范
围都可以安全低延时接入阿里云IoT Hub,安全上提供多重防护保障设备云端安全,性能上能够支撑亿级设备长连接,
百万消息并发。物联网套件还提供了一站式托管服务,数据从采集到计算到存储,用户无需购买服务器部署分布式架
构,用户通过规则引擎只需在web上配置规则即可实现采集+计算+存储等全栈服务。
为什么选择阿里云IoT呢?笔者认为既然是搞云,那就要选择实力雄厚可靠的公司,阿里巴巴四个字就可以让笔者
没有任何顾虑的愿意把时间和精力投入进去。
笔者以一个小灯泡为例,为你点亮阿里云IoT的世界。读者只要跟着本文一步一步走,1个小时搞定应该没有问题。
二、成果
先上成果,通过网页控制台,可以控制小灯泡的颜色和亮度,也可以通过网页控制台显示开发板传上来的湿度、光
强、温度以及距离传感器数据。眼馋了没有?通过阿里云IoT,只要花很少的代码就可以实现。
(图2-1)
(图2-2)
三、准备
1、你需要有一个阿里云账号
https://www.aliyun.com/product/iot
2、你需要有一块开发板:如mico-kit 3165等,某宝欢迎你
3、你需要有一套开发环境:jdk,eclipse,maven,tomcat等
4、如果没有开发板,也可以使用阿里云IoT提供的模拟设备来代替实际设备
四、步骤
1、说明及约定
Ø 本文中创建的名字均可自定义,本文指定名字是为了对接阿里云IoT提供的demo,减少操作
Ø 除本文指定的配置外,其余配置均使用默认值
Ø 登录阿里云账号
2、在IoT控制台下创建产品设备(官方文档)
Ø 进入IoT控制台
https://iot.console.aliyun.com
Ø 创建产品,名字填写“BulbIoT”,记下两个值备用:productKey,productSecret
Ø 在产品下创建设备,名字填写“bulb”,记下两个值备用:deviceName,deviceSecret
Ø 在设备下授权两个Topic:/BulbIoT/bulb/upload (发布权限)和/BulbIoT/bulb/control(订阅权限)
Ø 点击顶部AccessKeys,创建Access Key,记下两个值备用:Access Key ID,Access Key Secret
3、在MNS控制台下创建消息订阅(官方文档)
Ø 进入MNS控制台
https://mns.console.aliyun.com
Ø 创建队列,名字填写“java-server-demo-bulb”
Ø 创建主题,名字填写“java-server-demo-bulb”,地域选择和创建队列时一致
Ø 创建订阅,名字填写“java-server-demo-bulb”,推送类型选则队列,接收端地址填写队列名字,消息推送格式选择JSON
Ø 点击右上角EndPoint,记下公网EndPoint备用
4、在IoT控制台下创建规则引擎(官方文档)
Ø 创建规则,名字填写“java-server-demo-bulb-upload”
Ø 编写SQL,字段填写*,Topic 为 /BulbIoT/bulb/upload
Ø 添加方法,方法选择“发送消息到消息服务(Message Service)中”,地域选择第3步中创建队列时一致,主题选择java-server-demo-bulb
Ø 启动规则
5、部署本地服务器并启动
Ø TODO:JavaEE服务器代码下载点
Ø 修改com.aliyun.iot.server.demo.util.Confing.java
String productKey = 4.2所述productKey;
String productSecret = 4.2所述productSecret;
String deviceName = 4.2所述deviceName;
String deviceSecret = 4.2所述deviceSecret;
String ACCESS_KEY = 4.2所述Access Key ID;
String ACCESS_SECRET =4.2所述Access Key Secret;
String ACCOUNT_ENDPOINT =4.3所述公网EndPoint;
Ø 编译部署,启动服务器
Ø 如果没有开发板,也可以使用com.aliyun.iot.server.demo.client.MyMQTTClient.java来模拟设备,这样第6步就可以跳过了,否则就继续第6步
6、设备端接入IoT物联网套件(官方文档)
Ø
芯片代码下载点
Ø 代码修改参考官方文档即可,仅修改几行宏定义即可
7、小结
本文大多数操作均是控制台配置,仅4.5和4.6涉及代码编写和编译;如果没有开发板,那么就只剩4.5的代码修改了,够简单吧。
阿里云IoT的设备接入和服务器接入还算是比较快捷方便的,文档也是精炼易懂,略微有点开发基础的程序猿都可以在1小时内入门。