前言
基于IOT平台构建智慧路灯应用,用到了一下云产品:弹性服务器ECS,虚拟私有云VPC,弹性公网IP,项目管理Project,部署CloudDeploy,代码托管,编译构建,消息通知服务SMN,设备接入IOTDA.
通过这个智慧路灯应用的构建,最重要的是掌握设备上报数据到物联网平台的原理和方法,这里主要用的MQTT协议通信。不了解MQTT的同学,可以去补一下。
1.资源下载
在华为云实验环境下,双击Xfce,打开Terminal终端。
下载“HubSimubator.jar”
cd Desktop/
wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/internet-wisdom-lamp/HubSimulator.jar
下载“SmartSreetLight.zip”
wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/internet-wisdom-lamp/SmartStreetLight.zip
这两个文件后面会用到,其中SmartStreeLight.zip是一个模型文件。
2.构建智慧路灯应用
做项目的时候,我们都会有自己的项目管理工具,这里使用华为云的项目管理ProjectMan。
2.1 构建项目
打开项目管理ProjectMan_云端异地协同办公工具_敏捷迭代开发_Scrum_华为云
经过一系列免费的买买买,最后进入下面的页面
新建项目
点击新建项目后,获取到下面的页面
点击空白项目中的Scrum,填写项目
到这里项目就创建完成。
2.2 创建代码仓库
同样的项目创建好之后,我们写代码需要放到代码管理的工具,这是使用代码托管功能,创建代码仓库。
选择代码中的代码托管
按模板创建
这里直接选择华北-北京四
选择出现的模板
填写仓库基本信息
到这里就完成了代码仓库的创建。
2.3 构建并归档软件包
选择构建&发布中的编译构建
新建任务
新建编译构建任务
使用默认参数,然后点击新建并执行
当出现下图的时候说明构建任务执行成功。
验证执行结果:点击发布
说明我们的构建任务执行成功。
3.创建主题并订阅SMN
什么是消息通知服务SMN?
消息通知服务(Simple Message Notification)可以依据华为云用户的需求主动推送通知消息,最终用户可以通过HTTP、HTTPS、应用等方式接收通知信息。华为云用户也可以在应用之间通过消息通知服务实现应用的功能集成,降低系统的复杂性。
下面我们进行SMN订阅。
主题管理->主题-创建主题
3.2 订阅SMN
点击添加订阅
采用短信订阅,在终端填上自己的手机号码
然后博主收到了短信
4.创建弹性云服务器ECS
什么是ECS?
弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器,可帮助您打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。
想要学习更多关于ECS的可以看这里成长地图_弹性云服务器 ECS_华为云。
4.1 创建主机
“服务列表”-> “计算”-> “弹性云服务器”,
购买弹性云服务器
进入 购买界面
完成上述操作后,点击下一步,网络配置
点击前往控制台创建
点击创建虚拟私有云
参数都可以用默认,点击立即创建
然后返回网络配置页面
选择下一步:高级配置
配置参数
点击立即购买
返回云服务器,查看当前状态,出现运行中,说明已经创建完成。
点击ecs-ed12->安全组->配置规则
点击入方向规则->添加规则
填写协议端口
5.导入产品模型
在物联网模块设备接入IOTA创建产品。
然后上传模型文件
6.配置智慧路灯应用
注册成功后,我们就可以用过后面的MQTT来进行设备饿命令收发了。
7.智慧灯的验证
打开模拟器。
在设备接入服务中查询平台接入的地址,这个MQTT中需要用到。
我们编辑一个设备标识号,并且注册它。
连接MQTT:填写IP地址,设备号,设备密匙。
填写好上面信息后,点解建立连接,可以看到右面日志打印了MQTT服务连接成功。然后我们在设备连接查看设备,显示在线。
接下来我们发送一条关灯的MQTT消息,Topic如图。
然后考web页面的灯已经关闭,并且亮度值显示为200Lux.
订阅如下图命令的主题。
因为上面我们硬件订阅了Topic,所以在web页面操作开关选择为关(当然状态为开),然后在模拟器可看接收到了一条开灯消息。
然后模拟器给Topic下发送开关消息
Topic:
$oc/devices/61c2ed35078a93029b832a83_123456789f/sys/properties/report
开灯消息
{"services":[{"service_id":"Sensor","properties":{"luminance":"110","light_state":"ON"}}]}
此时web界面变为开灯,环境亮度为110LUX.
测试一下断开连接。
查看web页面设备状态,变为离线。
调光模式信息测试
总结
整个智能灯应用的构建,在IOT平台上,项目快速部署。物联网的设备端开发和平台端开发,在华为云IOT平台下,变的非常简单。