7.1 HaaS506 -HD1综合案例 - 智能路灯

最新案例教程点击下方链接跳转,CSDN已停止更新

点击跳转HaaS506官方最新案例







简介

本案例打造的智能路灯系统能检测周围环境的明亮变化。
路灯包括准点定时开关与检测光照强度两种模式 . 可以通过移动应用切换路灯模式以及切底关闭路灯.应用界面如下:

  • 主界面
    在这里插入图片描述

准备

本案例需要的硬件

器材数量
HaaS506 - HD1(RTU)1
建大仁科光照温湿度变送器1
220v电灯泡1
SIM卡1
杜邦线若干

硬件连接图

在这里插入图片描述

功能实现

1、物联网平台开发

第一次使用物联网平台的读者,需要开通实例后使用物联网平台功能。也可以使用免费的公共实例进行开发,在阿里云物联网平台中,左上角选择‘华东2-上海’,点击‘公共实例’,即可开通。

1、平台产品创建可参考haas506 2.0开发教程-aliyunIoT
2、创建产品属性(添加物模型)
选择产品功能定义编辑草稿
在这里插入图片描述
1、添加自定义功能
2、添加标识符数据类型(标识符要与代码一致)
3、点击发布上线
在这里插入图片描述

  • 点击确定
    在这里插入图片描述
    打开对应设备查看三元组(需要使用三元组修改代码)
    在这里插入图片描述
    在这里插入图片描述

2、设备端开发

  • 第一次使用开发板的读者可以按照haas5062.0开发教程-导学篇搭建开发环境。

  • 下载代码,更改如下部分,productSecret可以不改

     本案例没有使用动态注册,直接使用三元组连接阿里云平台
    

在这里插入图片描述

代码测试

烧写后设备log如下:

  • 连接阿里云
  • 上报信息
  • 重复打印光照强度和继电器状态

[10:46:04.653]收←◆amp shakehand begin...

[10:46:06.174]收←◆POWERONREASON:0x0000,parse:NORMAL_REBOOT.
mpthread_init stack:0x80afbb5c 0x80afbb5c

[10:46:12.908]收←◆[  10.392]<E>ACTIVATION_REPORT2 activation_report2:286 report http data:POST /device/add HTTP/1.1
Host:nps.huntercat.cn
User-Agent: AliOS-Things
Content-Length:157
Accept: */*
Content-Type:application/json
Connection: Keep-Alive

{"activationStr":"V=3.0.0&P=Enginelf&A=HaaS506_App&B=HaaS506&C=M601&N=Cellular&X=HaaS506-M320&S=Cellular&O=FreeRTOS&T=DTU&M=866907051899317&Y=Alibaba-Cloud"}


network register successed

[10:46:13.213]收←◆[  10.696]<E>sntp timeout_ms= 5000

[10:46:18.217]收←◆[  15.700]<E>sntp timeout_ms= 5000

[10:46:23.217]收←◆[  20.700]<E>sntp timeout_ms= 5000

[10:46:23.293]收←◆

device_obj->iot_device_handle:0x80ba1510

{'deviceName': '******', 'deviceSecret': '*************', 'region': 'cn-shanghai', 'productKey': '*********', 'keepaliveSec': 60}
[1665715583.000][LK-0313] MQTT user calls aiot_mqtt_connect api, connect
[1665715583.000][LK-0317] RTU_test&a1laDtv9VrO
[1665715583.000][LK-0318] 3800F14EAEED1393CC723BD2085F45FFFE4A644D3BF1F355E17874B92B426F7E

[10:46:23.902]收←◆[1665715583.666][LK-0313] MQTT connect success in 599 ms
<I>UA uagent_ext_comm_init[63]: [uA]prepare start uagent comm a1laDtv9VrO RTU_test

<I>UA uagent_ext_comm_init[74]: [uA]Subsrcibe TOPIC /sys/a1laDtv9VrO/RTU_test/_thing/service/invoke

[1665715583.666][LK-0309] sub: /sys/a1laDtv9VrO/RTU_test/_thing/service/invoke
<I>UA uagent_ext_comm_init[80]: [uA]IOT_MQTT_Subscribe(/sys/a1laDtv9VrO/RTU_test/_thing/service/invoke) success

[1665715583.666][LK-0309] sub: /sys/a1laDtv9VrO/RTU_test/_thing/service/post_reply
<I>UA uagent_ext_comm_init[89]: [uA]IOT_MQTT_Subscribe(/sys/a1laDtv9VrO/RTU_test/_thing/service/post_reply) success

[1665715583.666][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/config/log/get

[LK-030A] > 7B 22 69 64 22 3A 22 31  22 2C 22 76 65 72 73 69 | {"id":"1","versi
[LK-030A] > 6F 6E 22 3A 22 31 2E 30  22 2C 22 70 61 72 61 6D | on":"1.0","param
[LK-030A] > 73 22 3A 7B 22 67 65 74  54 79 70 65 22 3A 22 63 | s":{"getType":"c
[LK-030A] > 6F 6E 74 65 6E 74 22 2C  22 63 6F 6E 66 69 67 53 | ontent","configS
[LK-030A] > 63 6F 70 65 22 3A 22 64  65 76 69 63 65 22 7D 7D | cope":"device"}}

[1665715583.666][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/deviceinfo/update

[LK-030A] > 7B 22 69 64 22 3A 22 32  22 2C 22 76 65 72 73 69 | {"id":"2","versi
[LK-030A] > 6F 6E 22 3A 22 31 2E 30  22 2C 22 70 61 72 61 6D | on":"1.0","param
[LK-030A] > 73 22 3A 5B 7B 22 61 74  74 72 4B 65 79 22 3A 22 | s":[{"attrKey":"
[LK-030A] > 53 59 53 5F 53 44 4B 5F  4C 41 4E 47 55 41 47 45 | SYS_SDK_LANGUAGE
[LK-030A] > 22 2C 22 61 74 74 72 56  61 6C 75 65 22 3A 22 43 | ","attrValue":"C
[LK-030A] > 22 2C 22 64 6F 6D 61 69  6E 22 3A 22 53 59 53 54 | ","domain":"SYST
[LK-030A] > 45 4D 22 7D 7B 22 61 74  74 72 4B 65 79 22 3A 22 | EM"}{"attrKey":"
[LK-030A] > 53 59 53 5F 4C 50 5F 53  44 4B 5F 56 45 52 53 49 | SYS_LP_SDK_VERSI
[LK-030A] > 4F 4E 22 2C 22 61 74 74  72 56 61 6C 75 65 22 3A | ON","attrValue":
[LK-030A] > 22 61 6F 73 2D 72 2D 33  2E 30 2E 30 22 2C 22 64 | "aos-r-3.0.0","d
[LK-030A] > 6F 6D 61 69 6E 22 3A 22  53 59 53 54 45 4D 22 7D | omain":"SYSTEM"}
[LK-030A] > 7B 22 61 74 74 72 4B 65  79 22 3A 22 53 59 53 5F | {"attrKey":"S***** connect lp succeed****
handle 0x80ba1510
iot_device_handle:0x80ba1510
ota register default status cb[1665715583.666][LKota Public topic:/sys/a1laDtv9VrO/RTU_test/thing/deviceinfo/updateota Public msg:{"id":"0","version":"1.0","params":[{"attrKey":"SYS_OTA_ID","attrValue":"HOTA-3.3.0-1-0-0"}],"method":"thing.deviceinfo.update"}[1665715583.666][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/deviceinfo/update

[LK-030A] > 7B 22 69 64 22 3A 22 30  22 2C 22 76 65 72 73 69 | {"id":"0","versi
[LK-030A] ota rollback err1:-1ota ota init fail, ret:-1[  21.460]<E>APP_OTA customer ota init failed!

ota report submode version
ota Public topic:/ota/device/inform/a1laDtv9VrO/RTU_test msg:{"id":0,"params":{"version":"amp-v2.03","module":"system"}}[1665715583.666]ota Public topic:/ota/device/inform/a1laDtv9VrO/RTU_test msg:{"id":0,"params":{"version":"1.0.1"}}[1665715583.777][LK-0309] pub:[LK-030A] > 2E 31 22 7D 7D 00                                | .1"}}.          

---------------- {'params': '{"modle": 1}'}
[1665715583.777][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/event/property/post

[LK-030A] > 7B 22 69 64 22 3A 22 33  22 2C---------------- {'params': '{"onoff": 1}'}
[1665715583.777][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/event/property/post

[LK-030A] > 7B 22 69 64 22 3A 22 34  22 2C 22 76 65 72 73 69 | {"id":"4","versi
[LK-030A] > 6F 6E 22 3A 22 31 2E 30  22 2C 2---------------- {'params': '{"light": 200}'}
[1665715583.777][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/event/property/pos---------------- {'params': '{"time_beg": 18}'}
[1665715583.777][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/event/property/post

[LK-030A] > 7B 22 69 64 22 3A 22 36  22 2C 22 76 65 72 73 69 | {"id":"6","versi
[LK-030A] > 6F 6E 22 3A 22 31 2E 30  22 ---------------- {'params': '{"time_end": 6}'}
[1665715583.888][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/event/property/po
K-030A] > 31 7D 7D                                         | 1}}             
t


[LK-030A] < 7B 22 63 6F 64 65 22 3A  32 3[1665715583.888][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/event/property/post_reply

[LK-030A] < 7B 22 63 6F 64 65 22 3A light_intensity 340
modle
relay port1,state=0
[1665715583.888][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/event/property/post_reply

[LK-030A] < 7B 22 63 6F 64 65 22 3A  32 30 30 2C 22 64 61 74 | {"code":200,"dat
[LK-030A] < 61 22 3A 7B 7D 2C 22 69  64 22 3A 22 36 22 2C 22 | a":{},"id":"6","
[LK-030A] < 6D 65 73 73 61 67 65 22  3A 22 73 75 63 63 65 73 | message":"succes
[1665715583.888][LK-0309] pub: /sys/a1laDtv9VrO/RTU_test/thing/event/property/post_reply

[LK-030A] < 7B 22 63 6F 64 65 22 3A 
[10:46:24.688]收←◆light_intensity 336
modle
relay port1,state=0


[10:46:25.229]收←◆light_intensity 336
modle
relay port1,state=0

[10:46:25.769]收←◆light_intensity 338
modle
relay port1,state=0

[10:46:26.309]收←◆light_intensity 338
modle
relay port1,state=0

应用开发

以下是物联网应用开发流程,接下来按以下流程介绍移动端应用的开发。

3.1新建‘普通项目’

  • 使用阿里云IoTStudio创建项目。
  • 在项目管理新建空白项目
    在这里插入图片描述
    在这里插入图片描述

3.2关联产品和设备

在这里插入图片描述
在这里插入图片描述

3.3新建‘移动应用’

在这里插入图片描述

界面创建
  • 点击页面"+"创建三个空白界面
    在这里插入图片描述
  • 主界面模式选择,及两个跳转界面:光照强度模式和定时开关模式
    在这里插入图片描述
  • 配置模式选择界面信息
    在这里插入图片描述
    在这里插入图片描述
  • 光照强度界面
    在这里插入图片描述
    在这里插入图片描述
  • 定时开关模式界面在这里插入图片描述
    在这里插入图片描述
添加组件
  • 模式选择界面组件添加
    在这里插入图片描述
  • 添加交互(光照强度需要交互两个动作,一个跳转界面,一个切换开发板模式)
    在这里插入图片描述
  • (定时开关需要交互两个动作,一个跳转界面,一个切换开发板模式)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 指示灯更改样式
    在这里插入图片描述
  • 光照强度模式组件添加
    在这里插入图片描述
  • 配置交互(路灯开关同上)
    在这里插入图片描述
  • 定时开关模式组件添加

在这里插入图片描述
在这里插入图片描述

  • (路灯开关同上)
    在这里插入图片描述

3.4保存预览

在这里插入图片描述
手机扫描二维码即可通过手机控制路灯
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值