Histreaming APP的智慧交通灯 - HarmonyOS技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

[文章]

Histreaming APP的智慧交通灯

硬件环境搭建
  • 硬件要求:Hi3861V100核心板、扩展板,OLED板,交通灯板;硬件搭建如下图所示。
  • Hi3861V100核心板参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料原理图HiSpark_WiFi-IoT_Hi3861_CH340G_VER.B.pdf
  • 扩展板参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料原理图HiSpark_WiFi-IoT_Hi3861_CH340G_VER.B.pdf
  • OLED板参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料原理图HiSpark_WiFi_IoT_OLED_VER.A.pdf
  • 交通灯板硬件原理图参考:HiSpark_WiFi_IoT智能开发套件_原理图硬件资料原理图HiSpark_WiFi_IoT_SSL_VER.A.pdf


软件介绍
  • 1.代码目录结构及相应接口功能介绍
  1. vendor_hisilicon/hispark_pegasus/demo/histreaming_demo
  2. ├── app_demo_config.c           #
  3. ├── app_demo_config.h           #
  4. ├── app_demo_get_mac_addr.c     #
  5. ├── app_demo_get_mac_addr.h     #
  6. ├── app_demo_gl5537_1.c         #
  7. ├── app_demo_histreaming.c      #
  8. ├── app_demo_i2c_oled.c         #
  9. ├── app_demo_i2c_oled.h         #
  10. ├── app_demo_multi_sample.c     #
  11. ├── app_demo_multi_sample.h     #
  12. ├── app_demo_traffic_sample.c   #
  13. ├── app_demo_traffic_sample.h   #
  14. ├── BUILD.gn                    # BUILD.gn文件由三部分内容(目标、源文件、头文件路径)构成,开发者根据需要填写,static_library中指定业务模块的编译结果,为静态库文件led_example,开发者根据实际情况完成填写。
  15. |                                 sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//"则表示绝对路径(此处为代码根路径),若不包含"//"则表示相对路径。include_dirs中指定source所需要依赖的.h文件路径。
  16. ├── hal_iot_adc.c               #
  17. ├── hal_iot_gpio_ex.c           #
  18. ├── histreaming.h               #
  19. ├── iot_adc.h                   #
  20. ├── iot_gpio_ex.h               #
  21. ├── ssd1306_oled.h              #
  22. ├── status_code.h               #
  23. ├── task_start.c                #
  24. ├── wifi_connecter.c            #
  25. ├── wifi_connecter.h            #
  26. ├── wifi_softap.c               #
  27. ├── wifi_sta.c                  #
  28. ├── wifi_starter.c              #
  29. └── wifi_starter.h              #
2.工程编译
  • 将源码./vendor_hisilicon/hispark_pegasus/demo目录下的histreaming_demo整个文件夹及内容复制到源码./applications/sample/wifi-iot/app/下。
    1. .
    2. └── applications
    3.     └── sample
    4.         └── wifi-iot
    5.             └── app
    6.                 └──histreaming_demo
    7.                    └── 代码

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

  1. import("//build/lite/config/component/lite_component.gni")

  2. lite_component("app") {
  3.     features = [
  4.         "histreaming_demo:appDemoTraffic",
  5.     ]
  6. }
  • 改.device/soc/hisilicon/hi3861v100/sdk_liteos/build/config/usr_config.mk文件。在这个配置文件中打开I2C,PWM驱动宏。搜索字段CONFIG_I2C_SUPPORT ,并打开I2C,PWM。配置如下:
    1. # CONFIG_I2C_SUPPORT is not set
    2. CONFIG_I2C_SUPPORT=y
    3. # CONFIG_PWM_SUPPORT is not set
    4. 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源码)

    4.1 手机端安装HistreamingAPP,手机wifi连接Hi3861主板发射出来的热点。
    4.2 打开HistreamingAPP,点击“局域网”,如果打开APP后没有马上出现“已绑定设备”,请往下滑不断刷新,直到出现绑定设备即可。
  • 4.3 点击“局域网”进去后,可以看到“Colorful_Light”、“Traffic_Light”等界面,点击app界面的“Traffic_Light”,进去之后可以看到“Control_Module”、“AutoModule”等,这时点击“Control_Module”,进去之后,连续点击button,即可看到控制设备侧的灯在切换。其他模式,用户可自行体验。其中点击“Return_Menu_Module”是返回主界面。
  • 4.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循环



更多回帖

×
发帖