Histreaming APP的智慧交通燈
??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??
硬件環(huán)境搭建
硬件要求:Hi3861V100核心板、擴(kuò)展板,OLED板,交通燈板;硬件搭建如下圖所示。
- Hi3861V100核心板參考:??HiSpark_WiFi_IoT智能開發(fā)套件_原理圖硬件資料\原理圖\HiSpark_WiFi-IoT_Hi3861_CH340G_VER.B.pd。??
- 擴(kuò)展板參考:??HiSpark_WiFi_IoT智能開發(fā)套件_原理圖硬件資料\原理圖\HiSpark_WiFi-IoT_Hi3861_CH340G_VER.B.pdf。??
- OLED板參考:??HiSpark_WiFi_IoT智能開發(fā)套件_原理圖硬件資料\原理\HiSpark_WiFi_IoT_OLED_VER.A.pdf。??
- 交通燈板硬件原理圖參考:??HiSpark_WiFi_IoT智能開發(fā)套件_原理圖硬件資料\原理圖\HiSpark_WiFi_IoT_SSL_VER.A.pdf。??
軟件介紹
1.代碼目錄結(jié)構(gòu)及相應(yīng)接口功能介紹。
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文件由三部分內(nèi)容(目標(biāo)、源文件、頭文件路徑)構(gòu)成,開發(fā)者根據(jù)需要填寫,static_library中指定業(yè)務(wù)模塊的編譯結(jié)果,為靜態(tài)庫文件led_example,開發(fā)者根據(jù)實(shí)際情況完成填寫。
| sources中指定靜態(tài)庫.a所依賴的.c文件及其路徑,若路徑中包含"http://"則表示絕對路徑(此處為代碼根路徑),若不包含"http://"則表示相對路徑。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整個(gè)文件夾及內(nèi)容復(fù)制到源碼./applications/sample/wifi-iot/app/下。
.
└── applications
└── sample
└── wifi-iot
└── app
└──histreaming_demo
└── 代碼
修改源碼./applications/sample/wifi-iot/app/BUILD.gn文件,在features字段中增加索引,使目標(biāo)模塊參與編譯。features字段指定業(yè)務(wù)模塊的路徑和目標(biāo),features字段配置如下。
import("http://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文件。在這個(gè)配置文件中打開I2C,PWM驅(qū)動宏。搜索字段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
工程相關(guān)配置完成后,然后編譯。
3.燒錄.
- 編譯成功后,點(diǎn)擊DevEco Home->配置工程->hi3861->upload_port->選擇對應(yīng)串口端口號->選擇upload_protocol->選擇burn-serial->點(diǎn)擊save保存,在保存成功后點(diǎn)擊upload進(jìn)行燒錄,出現(xiàn)connecting, please reset device…字樣復(fù)位開發(fā)板等待燒錄完成。
- 燒錄成功后,再次點(diǎn)擊Hi3861核心板上的“RST”復(fù)位鍵,此時(shí)開發(fā)板的系統(tǒng)會運(yùn)行起來。
4.手機(jī)端APP安裝及使用(??histreaming APP源碼??)。
(1) 手機(jī)端安裝HistreamingAPP,手機(jī)wifi連接Hi3861主板發(fā)射出來的熱點(diǎn)。
(2) 打開HistreamingAPP,點(diǎn)擊“局域網(wǎng)”,如果打開APP后沒有馬上出現(xiàn)“已綁定設(shè)備”,請往下滑不斷刷新,直到出現(xiàn)綁定設(shè)備即可。
(3) 點(diǎn)擊“局域網(wǎng)”進(jìn)去后,可以看到“Colorful_Light”、“Traffic_Light”等界面,點(diǎn)擊app界面的“Traffic_Light”,進(jìn)去之后可以看到“Control_Module”、“AutoModule”等,這時(shí)點(diǎn)擊“Control_Module”,進(jìn)去之后,連續(xù)點(diǎn)擊button,即可看到控制設(shè)備側(cè)的燈在切換。其他模式,用戶可自行體驗(yàn)。其中點(diǎn)擊“Return_Menu_Module”是返回主界面。
(4)實(shí)驗(yàn)結(jié)果:手機(jī)可以控制Hi3861V100實(shí)現(xiàn)三種交通燈模式切換,分別為Control Mode: 進(jìn)入Traffic Light demo,初始狀態(tài)就是Control Mode,是通過右邊按鍵S2來控制紅、黃、綠燈的亮滅狀態(tài)不斷切換。按鍵按下開啟蜂鳴器,按鍵再次按下關(guān)閉;Auto Mode: 當(dāng)按下左鍵S1時(shí),會從control mode跳到Auto mode,交通燈模式,模仿交通燈,紅燈常亮5秒,然后閃爍3秒,后黃燈閃爍3秒,后綠燈常亮5秒,再是綠燈閃爍3秒,如此循環(huán),蜂鳴器開啟后會響。最后一行的R,Y,G后面的數(shù)字代表倒數(shù)的時(shí)間,動態(tài)顯示,時(shí)間的單位是秒,R代表紅燈,Y代表黃燈,G代表綠燈,B代表的是蜂鳴器,數(shù)字“1”代表蜂鳴器打開狀態(tài),數(shù)字“0”代表蜂鳴器關(guān)閉狀態(tài)。Human Mode: 當(dāng)再次按下左鍵S1時(shí),會從Auto mode跳到Human Mode模式,就是在Auto mode的基礎(chǔ)上增加了人為控制,且紅燈常亮改為30秒。模仿交通燈,紅燈常亮30秒后閃爍3秒,黃燈閃爍3秒,然后綠燈常亮5秒,綠燈閃爍3秒,如此循環(huán)。如果按下右鍵S2,紅燈立即快閃3秒,黃燈快閃3秒,進(jìn)入綠燈常亮5秒,再綠燈閃爍3秒,后進(jìn)入正常循環(huán)。蜂鳴器開啟后會響。此時(shí)如果再按一下左鍵S1就會跳到Return Menu界面,選擇按下Continue繼續(xù)demo循環(huán)。
??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??