zqy 8ff0c5a445 zz 2 years ago
..
include 8ff0c5a445 zz 2 years ago
pic 8ff0c5a445 zz 2 years ago
src 8ff0c5a445 zz 2 years ago
BUILD.gn 8ff0c5a445 zz 2 years ago
README.md 8ff0c5a445 zz 2 years ago

README.md

智能停车设备端代码介绍

简介:

本Demo是基于LYEVK-3861A IoT 开发套件开发,通过获取光照强度变化感知是否有车停放。
特别说明:设备端代码基于开源版本code_3.0 LTS版本

产品配置

登录

设备接入华为云平台之前,需要在平台注册用户账号,华为云地址:https://www.huaweicloud.com/

在华为云首页单击产品,找到IoT物联网,单击设备接入IoTDA 并单击立即使用。

创建产品

在设备接入页面可看到总览界面,展示了华为云平台接入的协议与域名信息,根据需要选取MQTT通讯必要的信息备用。

接入协议(端口号):MQTT 1883

选中侧边栏产品页,单击右上角“创建产品”

在页面中选中所属资源空间,并且按要求填写产品名称,选中MQTT协议,数据格式为JSON,并填写厂商名称,选择所属行业以及添加设备类型,并单击右下角“确定”如图:

创建完成后,选择“查看详情”,在产品页会自动生成刚刚创建的产品,单击“查看”可查看创建的具体信息。

单击产品详情页的自定义模型,在弹出页面中新增服务,自定义服务ID:

在服务ID的下拉菜单下点击“添加属性”填写相关信息:

注册设备

在侧边栏中单击“设备”,进入设备页面,单击右上角“注册设备”,勾选对应所属资源空间并选中刚刚创建的产品,注意设备认证类型选择“秘钥”,按要求填写秘钥。

记录下设备ID和设备密钥

注册完成后,在设备页面单击“所有设备”,即可看到新建的设备,同时设备处于未激活状态。

设备绑定

在连接平台前需要获取CLIENT_ID、USERNAME、PASSWORD,访问这里,填写注册设备时生成的设备ID和设备密钥生成连接信息(ClientId、Username、Password),并将修改代码对应位置。

消息转发

新建规则->数据转发,用于转发设备属性上报的消息到应用侧。

设置转发目标时,选择AMOP推送消息队列,同时要预置消息凭证,并设置具体的转发队列,应用侧根据队列接受转发消息。具体设置方法,参考官方说明。

关于应用侧如果接受消息,请参考官方说明。

代码编译

1) 拉取相关代码后,拷贝代码demo_park目录到OpenHarmony的源码中。目录为applications/sample/wifi-iot/app

可见demo_park目录结构如下:

demo_park    
├── BUILD.gn
├── include
│   ├── iot_adc.h
│   ├── iot_wifi.h
│   ├── oc_iot_cloud.h
│   ├── oc_mqtt.h
│   └── oc_mqtt_profile_package.h
└── src
    ├── demo_park.c   #具体实现
    ├── iot_adc.c
    ├── iot_wifi.c
    ├── oc_mqtt.c
    ├── oc_mqtt_profile_package.c
    └── wifi_connect.c

3) 修改app/BUILD.gn 文件

配置./applications/sample/wifi-iot/app/BUILD.gn文件,在features字段中增加索引,使目标模块参与编译。features字段指定业务模块的路径和目标,features字段配置如下。
    import("//build/lite/config/component/lite_component.gni")
    
    lite_component("app") {
    features = [
        "demo_park",
    ]
    deps = []
}

4) 打开三方驱动中的编译宏

    打开:device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk
     找到:CONFIG_I2C_SUPPORT is not set,修改为CONFIG_I2C_SUPPORT=y

5)代码修改

​ 修改以下的代码参数为当前的wifi和密码。

BOARD_ConnectWifi("Test", "11111111");

6) 引入三方paho_mqtt库

下载三方开源paho_mqtt库,改名为paho_mqtt放置在OpenHarmony源码的third_party目录下。 备注:此库已经做过移植适配,可直接使用。

7) 编译后烧录bin 文件

    编译环境、源码获取等参考:https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/Readme-CN.md
 编译命令:1、hb set // 设置工程目录和选择相应目标 
                       wifiiot_hispark_pegasus

​ 2、hb build -f

 烧录步骤:请参考 “Hi3861开发板第一个示例程序.md” 镜像烧录 烧录章节。