2

Histreaming APP的智慧交通灯

 2 years ago
source link: https://os.51cto.com/article/705668.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Histreaming APP的智慧交通灯-51CTO.COM
Histreaming APP的智慧交通灯
作者:润和软件HiHope 2022-04-02 20:11:50
手机可以控制Hi3861V100实现三种交通灯模式切换,分别为Control Mode: 进入Traffic Light demo,初始状态就是Control Mode,是通过右边按键S2来控制红、黄、绿灯的亮灭状态不断切换。

51509e146cb0095816f009bf29a8759302f3a5.png

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://ost.51cto.com​

硬件环境搭建

硬件要求:Hi3861V100核心板、扩展板,OLED板,交通灯板;硬件搭建如下图所示。

68cb13f02f036853ca9620b280ddb1a847fc7b.png

1.代码目录结构及相应接口功能介绍。

vendor_hisilicon/hispark_pegasus/demo/histreaming_demo
├── app_demo_config.c           # 
├── app_demo_config.h           # 
├── app_demo_get_mac_addr.c     # 
├── app_demo_get_mac_addr.h     # 
├── app_demo_gl5537_1.c         # 
├── app_demo_histreaming.c      # 
├── app_demo_i2c_oled.c         # 
├── app_demo_i2c_oled.h         # 
├── app_demo_multi_sample.c     # 
├── app_demo_multi_sample.h     # 
├── app_demo_traffic_sample.c   # 
├── app_demo_traffic_sample.h   # 
├── BUILD.gn                    # BUILD.gn文件由三部分内容(目标、源文件、头文件路径)构成,开发者根据需要填写,static_library中指定业务模块的编译结果,为静态库文件led_example,开发者根据实际情况完成填写。
|                                 sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//"则表示绝对路径(此处为代码根路径),若不包含"//"则表示相对路径。include_dirs中指定source所需要依赖的.h文件路径。
├── hal_iot_adc.c               # 
├── hal_iot_gpio_ex.c           # 
├── histreaming.h               # 
├── iot_adc.h                   # 
├── iot_gpio_ex.h               # 
├── ssd1306_oled.h              # 
├── status_code.h               # 
├── task_start.c                # 
├── wifi_connecter.c            # 
├── wifi_connecter.h            # 
├── wifi_softap.c               # 
├── wifi_sta.c                  # 
├── wifi_starter.c              # 
└── wifi_starter.h              # 

2.工程编译。

将源码./vendor_hisilicon/hispark_pegasus/demo目录下的histreaming_demo整个文件夹及内容复制到源码./applications/sample/wifi-iot/app/下。

.
└── applications
    └── sample
        └── wifi-iot
            └── app
                └──histreaming_demo
                   └── 代码

修改源码./applications/sample/wifi-iot/app/BUILD.gn文件,在features字段中增加索引,使目标模块参与编译。features字段指定业务模块的路径和目标,features字段配置如下。

import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
    features = [
        "histreaming_demo:appDemoTraffic",
    ]
}

修改.device/soc/hisilicon/hi3861v100/sdk_liteos/build/config/usr_config.mk文件。在这个配置文件中打开I2C,PWM驱动宏。搜索字段CONFIG_I2C_SUPPORT ,并打开I2C,PWM。配置如下:

# CONFIG_I2C_SUPPORT is not set
CONFIG_I2C_SUPPORT=y
# CONFIG_PWM_SUPPORT is not set
CONFIG_PWM_SUPPORT=y

工程相关配置完成后,然后编译。

3.烧录.

  • 编译成功后,点击DevEco Home->配置工程->hi3861->upload_port->选择对应串口端口号->选择upload_protocol->选择burn-serial->点击save保存,在保存成功后点击upload进行烧录,出现connecting, please reset device…字样复位开发板等待烧录完成。
  • 烧录成功后,再次点击Hi3861核心板上的“RST”复位键,此时开发板的系统会运行起来。

4.手机端APP安装及使用(​​histreaming APP源码​​)。

(1) 手机端安装HistreamingAPP,手机wifi连接Hi3861主板发射出来的热点。

(2) 打开HistreamingAPP,点击“局域网”,如果打开APP后没有马上出现“已绑定设备”,请往下滑不断刷新,直到出现绑定设备即可。

8662bc1091b0d192312342a481bf592b0329c1.png

(3) 点击“局域网”进去后,可以看到“Colorful_Light”、“Traffic_Light”等界面,点击app界面的“Traffic_Light”,进去之后可以看到“Control_Module”、“AutoModule”等,这时点击“Control_Module”,进去之后,连续点击button,即可看到控制设备侧的灯在切换。其他模式,用户可自行体验。其中点击“Return_Menu_Module”是返回主界面。

b7aecad271ef031597c3170627653c82915b1f.png

(4)实验结果:手机可以控制Hi3861V100实现三种交通灯模式切换,分别为Control Mode: 进入Traffic Light demo,初始状态就是Control Mode,是通过右边按键S2来控制红、黄、绿灯的亮灭状态不断切换。按键按下开启蜂鸣器,按键再次按下关闭;Auto Mode: 当按下左键S1时,会从control mode跳到Auto mode,交通灯模式,模仿交通灯,红灯常亮5秒,然后闪烁3秒,后黄灯闪烁3秒,后绿灯常亮5秒,再是绿灯闪烁3秒,如此循环,蜂鸣器开启后会响。最后一行的R,Y,G后面的数字代表倒数的时间,动态显示,时间的单位是秒,R代表红灯,Y代表黄灯,G代表绿灯,B代表的是蜂鸣器,数字“1”代表蜂鸣器打开状态,数字“0”代表蜂鸣器关闭状态。Human Mode: 当再次按下左键S1时,会从Auto mode跳到Human Mode模式,就是在Auto mode的基础上增加了人为控制,且红灯常亮改为30秒。模仿交通灯,红灯常亮30秒后闪烁3秒,黄灯闪烁3秒,然后绿灯常亮5秒,绿灯闪烁3秒,如此循环。如果按下右键S2,红灯立即快闪3秒,黄灯快闪3秒,进入绿灯常亮5秒,再绿灯闪烁3秒,后进入正常循环。蜂鸣器开启后会响。此时如果再按一下左键S1就会跳到Return Menu界面,选择按下Continue继续demo循环。

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://ost.51cto.com​

71eea7105a1cf9982d2996c42d853b97bd50ef.jpg


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK