• Home
Name Date Size #Lines LOC

..--

BUILD.gnD12-May-20241.6 KiB4643

README.mdD12-May-20248.7 KiB147111

app_demo_config.cD12-May-202472.5 KiB2,0731,841

app_demo_config.hD12-May-20243.4 KiB11791

app_demo_gl5537_1.cD12-May-20244.1 KiB11686

app_demo_gl5537_1.hD12-May-2024770 225

app_demo_i2c_oled.cD12-May-202426.5 KiB609524

app_demo_i2c_oled.hD12-May-20241,013 258

app_demo_iot.cD12-May-202416.6 KiB426363

app_demo_multi_sample.cD12-May-202429.3 KiB893703

app_demo_multi_sample.hD12-May-20246.9 KiB287237

app_demo_traffic_sample.cD12-May-20243.7 KiB10980

app_demo_traffic_sample.hD12-May-2024903 3113

cjson_init.cD12-May-2024952 3819

hal_iot_adc.cD12-May-20241.1 KiB2811

hal_iot_gpio_ex.cD12-May-20241.2 KiB4527

iot_adc.hD12-May-20243.1 KiB11630

iot_config.hD12-May-20241.8 KiB4311

iot_gpio_ex.hD12-May-202410.3 KiB397214

iot_hmac.cD12-May-20243 KiB9460

iot_hmac.hD12-May-20241.5 KiB375

iot_log.cD12-May-20241.2 KiB5031

iot_log.hD12-May-20243.8 KiB12156

iot_main.cD12-May-202410.8 KiB336280

iot_main.hD12-May-20241.5 KiB457

iot_profile.cD12-May-20248.2 KiB310244

iot_profile.hD12-May-20244.9 KiB12185

iot_sta.cD12-May-20247.5 KiB258198

ssd1306_oled.hD12-May-20244.9 KiB133101

task_start.cD12-May-20241.9 KiB7550

wifi_connecter.cD12-May-20244.7 KiB160115

wifi_connecter.hD12-May-2024879 278

README.md

1# 华为云的智能交通灯上报<a name="ZH-CN_TOPIC_0000001130176841"></a>
2## 硬件环境搭建
3-    硬件要求:Hi3861V100核心板、扩展板,OLED板,交通灯板;硬件搭建及组网图如下图所示。
4-    [Hi3861V100核心板参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料\原理图\HiSpark_WiFi-IoT_Hi3861_CH340G_VER.B.pdf](http://gitee.com/hihope_iot/embedded-race-hisilicon-track-2022/blob/master/%E7%A1%AC%E4%BB%B6%E8%B5%84%E6%96%99/HiSpark_WiFi_IoT%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6_%E5%8E%9F%E7%90%86%E5%9B%BE.rar)
5-    [扩展板参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料\原理图\HiSpark_WiFi-IoT_Hi3861_CH340G_VER.B.pdf](http://gitee.com/hihope_iot/embedded-race-hisilicon-track-2022/blob/master/%E7%A1%AC%E4%BB%B6%E8%B5%84%E6%96%99/HiSpark_WiFi_IoT%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6_%E5%8E%9F%E7%90%86%E5%9B%BE.rar)
6-    [OLED板参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料\原理图\HiSpark_WiFi_IoT_OLED_VER.A.pdf](http://gitee.com/hihope_iot/embedded-race-hisilicon-track-2022/blob/master/%E7%A1%AC%E4%BB%B6%E8%B5%84%E6%96%99/HiSpark_WiFi_IoT%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6_%E5%8E%9F%E7%90%86%E5%9B%BE.rar)
7-    [交通灯板硬件原理图参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料\原理图\HiSpark_WiFi_IoT_SSL_VER.A.pdf](http://gitee.com/hihope_iot/embedded-race-hisilicon-track-2022/blob/master/%E7%A1%AC%E4%BB%B6%E8%B5%84%E6%96%99/HiSpark_WiFi_IoT%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6_%E5%8E%9F%E7%90%86%E5%9B%BE.rar)
8
9
10![输入图片说明](../doc/figures/oc_demo/088oc.png)![输入图片说明](../doc/figures/oc_demo/089oc.png)
11
12## 软件介绍
13
14-   1.代码目录结构及相应接口功能介绍
15```
16vendor_hisilicon/hispark_pegasus/demo/oc_demo
17├── app_demo_config.c           #
18├── app_demo_config.h           #
19├── app_demo_gl5537_1.c         #
20├── app_demo_i2c_oled.c         #
21├── app_demo_i2c_oled.h         #
22├── BUILD.gn                    # BUILD.gn文件由三部分内容(目标、源文件、头文件路径)构成,开发者根据需要填写,static_library中指定业务模块的编译结果,为静态库文件led_example,开发者根据实际情况完成填写。
23|                                 sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//"则表示绝对路径(此处为代码根路径),若不包含"//"则表示相对路径。include_dirs中指定source所需要依赖的.h文件路径。
24├── cjson_init.c                #
25├── app_demo_multi_sample.c     #
26├── app_demo_multi_sample.h     #
27├── app_demo_traffic_sample.c   #
28├── app_demo_traffic_sample.h   #
29├── hal_iot_adc.c               #
30├── hal_iot_gpio_ex.c           #
31├── iot_config.h                #
32├── iot_adc.h                   #
33├── iot_gpio_ex.h               #
34├── ssd1306_oled.h              #
35├── iot_hmac.c                  #
36├── iot_hmac.h                  #
37├── iot_log.c                   #
38├── iot_log.h                   #
39├── iot_main.c                  #
40├── iot_main.h                  #
41├── iot_profile.c               #
42├── iot_profile.h               #
43├── task_start.c                #
44├── iot_sta.c                   #
45├── wifi_connecter.c            #
46└── wifi_connecter.h            #
47```
48
49-   2.华为云配置
50
512.1 注册华为云账号,打开华为云网址,点击注册后登陆。网址如下:https://www.huaweicloud.com/product/iothub.html52
53![输入图片说明](../doc/figures/oc_demo/090oc.png)
54
552.2 登陆后,在搜索框中输入“IOTDA”,在弹出选项中选择“设备接入IOTDA”点击进去,再点击“立即使用或者免费试用”。
56
57![输入图片说明](../doc/figures/oc_demo/091oc.png)
58
592.3 创建产品及相关属性,点击左边任务栏的“产品”同时选择控制台地址为“北京四”,然后点击最右上角的“创建产品”(产品名称可自定义)。注意:创建产品时如果所属空间为NULL,请先实名注册。
60
61![输入图片说明](../doc/figures/oc_demo/092oc.png)
62
63![输入图片说明](../doc/figures/oc_demo/093oc.png)
64
65![输入图片说明](../doc/figures/oc_demo/094oc.png)
66
672.5 创建成功后,点击查看详情,点击“自定义模型”创建用户自己的模型:
68
69![输入图片说明](../doc/figures/oc_demo/095oc.png)
70
712.6 用户根据自己需要自己定义,如为模型添加服务:“TrafficLight”,服务类型:“TrafficLight”,服务描述:“交通灯”,点击确定;新增属性为属性名称:“ControlModule”,数据类型:“String”,访问权限:“可读,可写”,长度:“255”,点击确定;新增命令为命令名称:“ControlModule”,新增参数:“TrafficLight”,数据类型:“String”,长度:“255”。
72
73![输入图片说明](../doc/figures/oc_demo/096oc.png)
74
75![输入图片说明](../doc/figures/oc_demo/097oc.png)
76
77![输入图片说明](../doc/figures/oc_demo/098oc.png)
78
792.7 点击左边任务栏的“设备”,然后注册设备图,注册创建的产品,用户根据自己需要随意填写,填写完成后,可以看到设备状态显示为未注册。
80
81![输入图片说明](../doc/figures/oc_demo/099oc.png)
82
83![输入图片说明](../doc/figures/oc_demo/100oc.png)
84
852.8 华为云端的配置基本已经完成了,进入到设备查看信息。
86
87![输入图片说明](../doc/figures/oc_demo/101oc.png)
88
89-   3.板端配置及编译
90    -    将源码./vendor/hisilicon/hispark_pegasus/demo目录下的oc_demo整个文件夹及内容复制到源码./applications/sample/wifi-iot/app/下。
91    ```
92    .
93    └── applications
94        └── sample
95            └── wifi-iot
96                └── app
97                    └──oc_demo
98                       └── 代码
99    ```
100
101    -    修改./applications/sample/wifi-iot/app/oc_demo/iot_config.h中CONFIG_AP_SSID,CONFIG_AP_PWD为WiFi名称和WiFi密码以及CONFIG_DEVICE_ID和CONFIG_DEVICE_PWD。
102    ```
103    #define CONFIG_AP_SSID  "xxx" // WIFI SSID
104    #define CONFIG_AP_PWD "xxxxxx" // WIFI PWD
105    #define CONFIG_DEVICE_ID  "xxxxx" //华为云上注册的设备ID
106    #define CONFIG_DEVICE_PWD "xxxxx" //华为云上注册设备时密钥
107    ```
108
109    -    需要将2.6节创建模型属性及服务与./applications/sample/wifi-iot/app/oc_demo/app_demo_iot.c中下列字段参数保持一致。
110    ```
111    #define TRAFFIC_LIGHT_CMD_CONTROL_MODE      "ControlModule"  //属性
112    #define TRAFFIC_LIGHT_YELLOW_ON_PAYLOAD     "YELLOW_LED_ON"  //添加命令参数
113    ```
114    -    修改源码./applications/sample/wifi-iot/app下的BUILD.gn文件,在features字段中增加索引,使目标模块参与编译。features字段指定业务模块的路径和目标,features字段配置如下。
115    ```
116    import("//build/lite/config/component/lite_component.gni")
117
118    lite_component("app") {
119        features = [
120            "oc_demo:appDemoIot",
121        ]
122    }
123    ```
124
125    -    修改.device/soc/hisilicon/hi3861v100/sdk_liteos/build/config/usr_config.mk文件。在这个配置文件中打开I2C,PWM驱动宏。搜索字段CONFIG_I2C_SUPPORT ,并打开I2C,PWM。配置如下:
126    ```
127    # CONFIG_I2C_SUPPORT is not set
128    CONFIG_I2C_SUPPORT=y
129    # CONFIG_PWM_SUPPORT is not set
130    CONFIG_PWM_SUPPORT=y
131    ```
132
133    -    工程相关配置完成后,然后rebuild编译。
134-   4.烧录
135    -    编译成功后,点击DevEco Home->配置工程->hi3861->upload_port->选择对应串口端口号->选择upload_protocol->选择hiburn-serial->点击save保存,在保存成功后点击upload进行烧录,出现connecting, please reset device..字样复位开发板等待烧录完成。
136    -    烧录成功后,再次点击Hi3861核心板上的“RST”复位键,等待开发板的连接上wifi,连接成功后,华为云设备状态变成在线,设备开始向华为云上上报最新数据栏,同时串口会有如下打印。如下图所示。
137
138    ![输入图片说明](../doc/figures/oc_demo/102oc.png)
139
140    ![输入图片说明](../doc/figures/oc_demo/103oc.png)
141
142    -   设备->命令栏->同步命令下发->选择创建的命令属性->填入参数,这里下发“YELLOW_LED_ON”为例,下发成功后,板端会从红灯变为绿灯,设备同时串口会有如下打印。如下图所示。
143
144    ![输入图片说明](../doc/figures/oc_demo/104oc.png)
145
146    ![输入图片说明](../doc/figures/oc_demo/105oc.png)
147