手摸手带你完成智慧路灯构建及避坑【华为云至简致远】

本文的主要内容有:一 先完成准备任务二 然后构建并归档软件包三 实现消息通知服务(SMN)四 云服务器部署初步上线五 设备接入及模拟器连接一 ️ 先完成准备任务前面登录,账号密码哪些略过,直接下载要用到资源先,回到桌面双击“Xfce终端”打开Terminal,输入以下命令下载保存“HubSimulator.jar”到自己的云桌面上面cd Desktop/
wget https://sandbox-experiment-re...然后输以下命令保存“SmartStreetLight.zip”压缩包wget https://sandbox-experiment-re...新建项目然后选择“服务列表”->“开发与运维”->“项目管理”,进入软件开发云,如下图这样敲黑板啊:不过先知道什软件开发平台是啥?它是集华为近30年研发实践、前沿研发理念、先进研发工具为一体的一站式云端DevOps平台,面向开发者提供的云服务,即开即用,随时随地在云端进行项目管理、代码托管、流水线、代码检查、编译构建、部署、测试、发布等,从而给开发者快速而又轻松地开启云端开发之旅。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第1张图片
点击“立即使用”按钮,跳转到DevCloud操作界面,它是企业级软件协作一体化DevOps平台,如下图这样
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第2张图片
DevCloud操作界面如下图:
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第3张图片
点击上图红圈标注“新建项目”按钮,开始创建项目,如下图所示:
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第4张图片
点击标注的“Scrum”区域,创建“Scrum”类型项目,参数如下:项目设置模板:Scrum项目名称:QuickStart
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第5张图片
参数填写完毕,点击确定按钮即可完成项目创建。1.2创建代码仓库1.2.1新建仓库选择导航栏“代码 > 代码托管”,进入管理页面,展开右上角“普通新建”下拉菜单,点击“按模板新建”
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第6张图片
1.2.2选择模板在搜索框中输入“IoT_Streetlight_New_Demo”,如下图所示选择“华北-北京四”,选中该模板,单击“下一步”。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第7张图片
1.2.3然后填仓库基本信息基本信息参数如下:①代码仓库名称:自定义,如:IoT_Streetlight_New_Demo ②选择gitignore:Java 其他选项保持默认单击“确定”,完成仓库创建。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第8张图片
创建成功后,可单击仓库名称进入仓库,查看仓库文件二 ⛳ 然后构建并归档软件包2.1新建编译构建任务点击导航栏“构建&发布 > 编译构建”,进入管理页面,点击“新建任务”,参数如下①源码源:CodeHub;②源码仓库:默认选择1.2步创建的代码仓库;③分支:master;点击“下一步”进入“选择构建模板”
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第9张图片
2.2选择构建模板本项目是一个Java Maven项目,所以搜索选择“Maven”模板, 单击“确定”,进入“构建步骤”页面
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第10张图片
2.3然后构建步骤使用系统模板中提供的两个默认步骤、以及每个步骤中的默认配置,即可完成本例的构建。点击“新建并执行”即可完成步骤的配置并启动构建任务,如下图所示
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第11张图片
敲黑板:构建需要2-3分钟,请耐心等待...............当出现上面图片表示的页面时,表示构建任务执行成功。若执行失败,就查看日志信息排查问题,或通过编译构建-常见问题查找解决方法。2.4验证构建任务执行结果点击导航栏“发布”,进入“软件发布库”页面,点击进入“IoT_Streetlight...”下的“202…”日期命名的文件夹,即可看到生成的软件包“huawei-0.0.1-SNAPSHOT.jar”
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第12张图片
2.5创建主题并订阅 SMN在华为云控制台,展开左侧目录,选择【服务列表】->【管理与监管】 -> 【消息通知服务SMN】,或在服务列表搜索框中搜索“SMN”。什么是消息通知服务?
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第13张图片
注意:若提示无权限,请确认左上角区域是否在“华北-北京四”即可在左侧导航栏,选择“主题管理 > 主题”,单击“创建主题”,输入“主题名称”(自定义,例如:StreetLight)后单击“确定”完成主题创建
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第14张图片
三 实现消息通知服务(SMN)主题创建成功后,系统会自动生成主题URN,主题URN是主题的唯一资源标识,不可修改,后续步骤将会用到该URN
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第15张图片
点击主题“StreetLight”右侧操作“添加订阅”,可采用短信或者邮件任意一种协议完成订阅。“短信协议”参数如下:①协议:短信②订阅终端:用户手机号码(需填写您的手机号完成此步)单击“确定”后,请查看手机接收短信,点击短信中的链接进行订阅确认
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第16张图片
“邮件协议”参数如下:①协议:邮件②订阅终端:用户邮箱地址(需填写您的邮箱完成此步)单击“确定”后,请查收邮件,点击邮件中的链接进行订阅确认
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第17张图片
四 云服务器部署初步上线4.1网络配置点击“前往控制台创建”,就能跳转到虚拟私有云控制台页面
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第18张图片
在虚拟私有云控制台,点击“创建虚拟私有云”,区域选择“华北-北京四”,名称自定义(如:vpc-iot),默认子网名称自定义(如:subnet-iot),其他参数均可默认,点击“立即创建”完成后,即可返回网络配置页面;
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第19张图片
返回网络配置页面,刷新后,选择刚创建的虚拟私有云VPC(如:vpc-iot)和子网(如:subnet-iot),自动分配IP地址,如下图所示
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第20张图片
②扩展网卡:默认配置③安全组:默认配置④弹性公网IP:现在购买⑤线路:默认配置⑥公网带宽:按带宽计费⑦带宽大小:1Mbit/s
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第21张图片
4.2 高级配置完成网络配置后单击“下一步:高级配置”,参数如下:①云服务器名称:自定义,如:ecs-iot②登录凭证:密码③密码/确认密码:自定义,如:SM1$b9Zs1#⑥其他参数:默认配置
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第22张图片
完成高级配置后点击“下一步:确认配置”,阅读并勾选同意协议,单击“立即购买”后,点击返回云服务器列表。当状态为“运行中”表示已创建完成;
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第23张图片
4.3 主机授信配置创建的弹性云服务器ECS的“弹性公网IP”信息将在后续步骤4.1添加授信主机的配置中用到;
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第24张图片
4.4 添加安全组入方向规则点击新创建的弹性云服务器ECS的名称进入详情页,选择“安全组”页签,点击Sys-WebServer安全组右侧的【配置规则】进入规则配置页面。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第25张图片
在新打开的安全组控制界面,选择“入方向规则”,单击“添加规则”,如下图所示:① 优先级:1② 策略:允许③ 协议端口:8080;④ IP地址设为0.0.0.0/0。点击“确定”。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第26张图片
敲黑板:SSH协议端口(22)的入方向TCP协议默认开放,无需修改。将智慧路灯应用端口(8080)的入方向放开限制,用于后续访问智慧路灯应用。出方向规则默认不做限制,无需修改;4.5 配置系统防火墙规则返回实验桌面双击“Xfce终端”打开Terminal,输入以下命令,并按照操作说明执行,登录云服务器:操作说明:①使用弹性云服务器ECS的弹性公网IP替换命令中的[EIP]说明:云服务器的弹性公网IP地址可以通过点击“控制台”->“服务列表”->“计算”->“弹性云服务器ECS”进入服务器列表,进行查看并复制ssh root@EIP
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第27张图片
②接受秘钥输入“yes”,回车;③输入密码:SM1$b9Zs1#(输入密码时,命令行窗口不会显示密码,输完之后直接键入回车)。成功登录云服务器之后如下图所示
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第28张图片
④执行sudo ufw enable开启ufw服务,输入“y”确认。sudo ufw enable⑤执行sudo ufw allow 22/tcp启用22端口。sudo ufw allow 22/tcp⑥执行sudo ufw allow 8080/tcp启用8080端口。sudo ufw allow 8080/tcp
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第29张图片
4.6 部署智慧路灯应用添加授信主机“智慧路灯”是一个Web项目,需要部署到服务器上才可以运行,本例采用部署服务器是华为云弹性云服务器DevCloud在使用弹性云服务器之前需要先对其授信回到软件开发平台DevCloud,这个开头我介绍过 若不知道到开头熟悉先,点击已创建的项目,如QuickStart,如下图所示
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第30张图片

手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第31张图片
单击导航栏“更多 > 设置 > 通用设置”,选择左侧栏“主机组管理”,然后点击“新建主机组”,参数如下:①主机组名:自定义,如:iot②操作系统:Linux点击“保存”完成主机组的创建,并进入该主机组。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第32张图片
在创建的主机组内,点击“添加主机”,参数如下:①主机名:自定义,可与创建的ECS名称保持一致,如:ecs-iot②IP:创建弹性云服务器ECS的弹性公网IP(见步骤3.2)③认证方式:密码④用户名:root⑤密码:填创建弹性云服务器ECS的用户密码;如:SM1$b9Zs1#⑥ssh端口:22勾选阅读并同意声明,点击“添加”完成主机的添加。当主机连通性验证显示“验证成功”时,说明主机成功添加
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第33张图片

手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第34张图片
新建部署任务点击导航栏“构建&发布 > 部署”进入,然后点击“新建任务”,输入任务名称(可使用默认值),单击“下一步”进入“选择部署模板”。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第35张图片
选择模板“SpringBoot应用部署”,单击“下一步”,进入“部署步骤”页面
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第36张图片
4.3配置部署步骤并执行SpringBoot应用部署模板默认包含以下步骤:安装JDK、停止SpringBoot服务、选择部署来源、启动SpringBoot服务、URL健康测试4.3.1删除“停止SpringBoot服务”和“URL健康测试”;4.3.2选中“安装JDK”,主机组:选择添加授信主机是创建的主机组(如:iot),弹框提示点击“确定”,jdk版本:openjdk-1.8.0;敲黑板啊:部署失败怎么办?答案:请根据实验步骤逐步检查: 1、主机是否添加成功并完成了连通性验证 2、所有步骤的参数是否配置正确,手动输入的参数是否多了个空格,少了个符号等等。 3、不用的步骤和参数是否都已删除。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第37张图片
选中“选择部署来源”,参数如下:①选择源类型:软件包;②选择软件包:点击右侧“…”,选择构建包,路径如下图所示;
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第38张图片
③下载到主机的部署目录:按需填写,如/usr/local
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第39张图片
选中“启动SpringBoot服务”,参数如下:①服务操作类型:保持默认值②服务对应的绝对路径:由“下载到主机的部署目录”和软件包包名组成,如/usr/local/huawei-0.0.1-SNAPSHOT.jar③组件监控:去掉勾选
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第40张图片

手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第41张图片
切换到“参数设置”页签,逐一删除全部参数
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第42张图片
点击“保存并执行”,完成部署任务的配置,并执行部署任务;页面显示“部署成功”,表示任务执行完毕。若任务执行失败,可通过页面中的原因提示及链接来排查解决;五 设备接入及模拟器连接5.1创建产品在华为云控制台,展开左侧导航,选择“服务列表”-> “物联网”->“设备接入IoTDA”,如下图所示敲黑板啊:设备接入服务是什么?它是华为云的物联网平台,提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务。物联网平台中,某一类具有相同能力或特征的设备的合集被称为一款产品。您可为产品定义产品模型,产品模型用于描述设备具备的能力和特性。定义产品模型,即在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息;
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第43张图片
在左侧栏中选择“产品”,点击“创建产品”,参数如下
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第44张图片
①所属资源空间:Default_APP_Sandbox_user_iot②产品名称:自定义,如:StreetLight③协议类型:MQTT④数据格式:JSON⑤厂商名称:自定义,如:Huawei_IoT⑥设备类型:自定义,如:StreetLight填写完成,点击“立即创建”,产品创建成功,请记录“产品ID”信息,并查看“详情”
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第45张图片
5.2 上传模型文件点击创建的产品进入详情,然后点击“上传模型文件”,选择SmartStreetLight.zip文件,点击“确认”完成上传
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第46张图片
5.3 访问智慧路灯Web界面新建浏览器标签页,输入http://EIP:8080/index.html(使用步骤3.2中弹性云服务器的弹性公网IP替换地址中的“EIP”),访问智慧路灯Web页面。6.2参数设置在弹出的“参数设置”窗口,参数填写如下:①数据来源:参数设置页面下拉框选择“订阅推送”;②本机IP:“控制台”->“服务列表”->“计算”->“弹性云服务器ECS”进入服务器列表,进行查看并复制弹性公网IP;敲黑板啊:为什么要配置这些参数?智慧路灯应用通过API方式和华为云对接,注册设备、获取设备数据和下发命令,这些参数在调用API时才用;
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第47张图片
③主题URN:“控制台”->“服务列表”->“管理与监管”->“消息通知服务SMN”进入主题列表,进行查看并复制主题URN
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第48张图片
④APPID:“控制台”->“服务列表”-> “物联网”->“设备接入IoTDA”,在左侧导航栏选择“资源空间”,复制获取产品所需的“APPID”
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第49张图片
⑤账号名:系统为您分配的华为云实验账号名⑥IAM用户名:系统为您分配的华为云实验用户名⑦IAM用户密码:系统为您分配的华为云实验密码
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第50张图片
⑧项目ID:控制台在右上角用户名下拉框中选择“我的凭证->API凭证”页面复制获取所属区域为“华北-北京四”的项目ID。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第51张图片
⑨产品ID:“控制台”->“服务列表”-> “物联网”->“设备接入IoTDA”,在左侧导航栏选择“产品”,复制获取产品所需的“产品ID”。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第52张图片

手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第53张图片
填写完成后点击“确定”,弹窗提示如下,表示参数设置成功
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第54张图片
5.4 注册设备输入设备标识(自定义,如123456789f),点击“注册设备”
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第55张图片
敲黑板啊:弹窗提示如下,表示注册设备成功。请记录“设备Id”和“密钥”信息,用于后续验证,请记录设备id以及密钥,便于后期使用!
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第56张图片
设备注册成功后是“未激活”状态,请选择“服务列表”-> “物联网”->“设备接入服务”,在左侧栏选择“设备 > 所有设备”,点击设备标识码进入,查看设备Id,或修改密钥。结果验证(设备属性上报/订阅/设备命令下发);5.5 模拟器与平台建立连接7.1.1打开MQTT设备模拟器在实验桌面双击“Xfce终端”打开Terminal,执行以下命令打开设备接入模拟器(HubSimulator.jar),然后切换到MQTT设备模拟器页签敲黑板啊:HubSimulator.jar是什么工具?HubSimulator.jar是设备接入服务提供的多功能模拟器,本实验中我们用它来模拟MQTT设备接入;连接失败怎办呢,请检查服务IP(域名),设备ID和设备秘钥的填写是否都正确,有无多余的空格基本就可以解决了哈;cd Desktop/
/usr/local/share/jre1.8.0_181/bin/java -jar HubSimulator.jar
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第57张图片
5.6 建立连接在MQTT设备模拟器页签下,填写参数如下:①服务IP:进入“服务列表”-> “物联网”->“设备接入IoTDA”,在左侧栏选择“总览”,点击“平台接入地址”
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第58张图片
复制使用MQTT/MQTTS接入信息的域名。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第59张图片
②设备ID:配置智慧路灯应用,注册设备成功后返回的设备Id③设备密钥:配置智慧路灯应用,注册设备成功后返回的密钥配置好以上参数后,点击“建立连接”按钮。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第60张图片
建立连接成功后,右侧日志显示MQTT服务连接成功,如下图所示:
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第61张图片
若无法建立连接,请打开“命令提示符”窗口,输入“ping 服务IP”查看您的主机是否能和华为云物联网平台正常通信,若无法正常通信,请更换主机的网络环境5.7 查看设备状态回到物联网所有设备列表( “服务列表”-> “物联网”->“设备”→“所有设备”),设备状态变更为“在线”,如下图所示
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第62张图片
5.8 模拟器设备属性上报7.2.1模拟器发送消息,上报设备属性①在模拟器窗口中的Topic栏中输入以下代码:$oc/devices/{device_id}/sys/properties/report,其中的{device_id}需要替换成实际设备ID敲黑板啊:应用界面不显示上报的数据怎么办?首先检查上报数据的Topic填写是否正确,然后检查上报数据是否符合JSON格式。如果以上两点都检查没问题,再检查之前参数设置的是否都正确$oc/devices/{device_id}/sys/properties/report②消息内容:其中,光感强度可自定义,灯状态建议为OFF。在模拟器窗口中的消息编辑栏中输入以下代码:{"services":[{"service_id":"Sensor","properties":{"luminance":"200","light_state":"OFF"}}]}
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第63张图片
发送消息成功后,右侧日志显示信息推送成功(图片仅为示意,请以你上报实际数据为准哈)5.9 查看应用界面变化返回智慧路灯Web界面,此时显示“环境亮度”为200LUX,“灯状态”为关。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第64张图片
敲黑板啦:模拟器与Web页面之间会有短暂延迟,不用刷新页面,几秒钟后可发现页面会随之变化!5.10 模拟器订阅Topic切换到“订阅Topic”页签,并在Topic栏中输入以下代码:$oc/devices/{device_id}/sys/commands/#,其中的{device_id}需要替换成实际设备ID。输入完毕后,点击“订阅”按钮可完成订阅。$oc/devices/{device_id}/sys/commands/#
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第65张图片
订阅成功后,右侧日志显示订阅Topic成功5.11 平台下发设备命令/模拟器响应7.4.1终端联控模式配置返回智慧路灯Web界面,“路灯控制”选择“终端联控模式”,开关选择“开”,单击“设置”,然后点击”确认”。①若当前灯状态为“关”,开关选择为“开”,服务后台会实时下发一条开灯命令,弹窗提示会有5-10秒左右延迟,请耐心等待。②若当前灯状态为“关”,开关选择为“关”,不会触发命令下发,直接弹窗提示设置成功;即“灯状态”与“开关选择”一致时,不会触发命令下发;“灯状态”与“开关选择”不一致时,会触发实时命令下发;收不到命令怎么办?
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第66张图片
5.12 命令接收因为当前“灯状态”为关,“开关选择”为开,查看模拟器日志区域,会收到一条开灯命令。(payload的值经过base64加密,解密后即可得到命令内容)
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第67张图片
5.13 模拟器发送消息,上报变更后的设备属性①Topic:$oc/devices/{device_id}/sys/properties/report,其中的{device_id}需要替换成实际设备ID。$oc/devices/{device_id}/sys/properties/report②消息内容:其中,光感强度可自定义,灯状态建议为ON。{"services":[{"service_id":"Sensor","properties":{"luminance":"110","light_state":"ON"}}]}5.14 查看应用界面变化如下图所示,应该显示“环境亮度”为110LUX,“灯状态”为开。
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第68张图片
5.15 短信/邮件通知在模拟器上单击“断开连接”后,重复7.4.1,“路灯控制”选择“终端联控模式”,开关选择“关”,单击“设置”。因为灯状态为“开”,开关选择为“关”,服务后台会实时下发一条关灯命令;而设备处于离线状态,导致命令下发失败此时,系统会发送短信/邮件通知告知订阅用户命令下发失败;通知内容为命令下发失败的错误信息通知示例:【华为云】错误信息:{"error_code":"IOTDA.014016","error_msg":"Operation not allowed. The device is not online."}设备变更为“离线”状态,请登录华为云控制台,选择“物联网 > 设备接入服务”,在左侧导航栏,选择“设备 > 所有设备”,根据设备标识码查看设备状态
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第69张图片
5.16(可选)自动调光模式自动调光模式参数配置在模拟器上单击“建立连接”,将设备重新上线。返回智慧路灯Web界面,“路灯控制”选择“自动调光模式”,设置亮度阈值为100
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第70张图片
5.17 模拟器接收反应因为当前“环境亮度”为110LUX,“灯状态”为开,查看模拟器日志区域,应该会收到关灯命令。①若当前“环境亮度”大于“亮度阈值”,且“灯状态”为“开”,服务后台会实时下发一条关灯命令,弹窗提示会有5-10秒左右延迟,请耐心等待。②若当前“环境亮度”小于“亮度阈值”,且“灯状态”为“开”,不会触发命令下发,直接弹窗提示设置成功即“环境亮度”小于“亮度阈值”,且“灯状态”为“开”或“环境亮度”大于“亮度阈值”,且“灯状态”为“关”时,不会触发命令下发;反之,则会触发实时命令下发
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第71张图片
模拟器发送消息,上报变更后的设备属性。①Topic:$oc/devices/{device_id}/sys/properties/report,其中的{device_id}需要替换成实际设备ID$oc/devices/{device_id}/sys/properties/report②消息内容:其中,光感强度<100,灯状态为OFF{"services":[{"service_id":"Sensor","properties":{"luminance":"80","light_state":"OFF"}}]}5.18 查看Web界面返回智慧路灯Web界面,单击“设置”,查看模拟器日志区域,会收到一条开灯命令
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第72张图片
5.19(可选)分段定时模式分段定时模式参数配置返回智慧路灯Web界面,“路灯控制”选择“分段定时模式”,设置关灯时间段为06:30-18:30。敲黑板啦:“关灯时间段”和“亮度曲线”横轴时间均为弹性云服务器系统时间,即为GMT+0:00时区
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第73张图片
结果判定,因为当前“灯状态”为关,需根据弹性云服务器系统时间(参考“亮度曲线”横轴时间)判断结果;①若系统时间位于“关灯时间段”之外,且“灯状态”为“关”,服务后台会实时下发一条开灯命令,弹窗提示会有5-10秒左右延迟,请耐心等待
手摸手带你完成智慧路灯构建及避坑【华为云至简致远】_第74张图片
②若系统时间位于“关灯时间段”之内,且“灯状态”为“关”,不会触发命令下发,直接弹窗提示设置成功啦开心5.20 (可选)如何正确删除应用服务首先删弹性云服务器 ECS在华为云控制台,选择“服务列表”-> “计算”-> “弹性云服务器 ECS”进入,勾选待删除ECS服务器,如ecs-iot,选择“更多 > 删除”,在弹窗中请勾选删除弹性公网IP和数据盘后,点击“是”完成删除然后删设备接入服务 IoTDA在华为云控制台,选择“服务列表”->“物联网”->“设备”→“所有设备”进入所有设备列表,根据设备标识码删除设备,如123456789f。然后在左侧栏选择“产品”,删除产品,如StreetLight最后删桌面下载的资源包桌面双击“Xfce终端”打开Terminal,输入以下命令下载删除“HubSimulator.jar”文件。cd Desktop/
rm HubSimulator.jar接下来删除“SmartStreetLight.zip”压缩包。命令如下:rm SmartStreetLight.zip【华为云至简致远】有奖征文火热进行中:https://bbs.huaweicloud.com/b...
想了解更多的华为云产品相关信息,请联系我们:电话:950808按0转1

你可能感兴趣的:(python)