0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于OpenHarmony系統(tǒng)開發(fā)的智能電子牌Demo應(yīng)用

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-09-07 10:05 ? 次閱讀

一、效果展示

二、產(chǎn)品介紹

智能電子牌Demo是基于OpenHarmony系統(tǒng)開發(fā)的應(yīng)用,其中主要由日程信息獲取模塊、實(shí)時(shí)天氣模塊、時(shí)間獲取模塊、定時(shí)提醒模塊與UI顯示模塊組成。通過該設(shè)備我們不僅可以隨時(shí)查看當(dāng)天日程規(guī)劃,設(shè)定定時(shí)提醒,還可以查看時(shí)間,日期以及室內(nèi)外溫濕度,空氣PM值等實(shí)時(shí)天氣狀況。 1. 設(shè)備運(yùn)行效果 將潤和Hi3516DV300 AI Camera開發(fā)板進(jìn)行OpenHarmony 1.0.1 版本的固件燒錄,開發(fā)板的網(wǎng)絡(luò)連接以及智能電子牌應(yīng)用程序的安裝,之后打開智能電子牌應(yīng)用,我們可以看到運(yùn)行效果圖如下: 65cc6fda-2de4-11ed-ba43-dac502259ad0.jpg ? 我們可以看到實(shí)時(shí)獲取的時(shí)間天氣(屏幕左半部分)與日程(屏幕右半部分)等信息,還可以通過滑動(dòng)屏幕右上角的時(shí)間選擇器選擇提醒時(shí)間;日程信息包括日程的起始與終止時(shí)間,日程名與日程的執(zhí)行細(xì)節(jié)等。 接收到日程時(shí)如下圖: ? 65e8d0c6-2de4-11ed-ba43-dac502259ad0.jpg ? 2. 設(shè)備與云端的交互 6603b58a-2de4-11ed-ba43-dac502259ad0.png ? 我們?cè)谑謾C(jī)端的數(shù)字管家APP中更新日程信息后對(duì)應(yīng)信息將上傳至云端,我們開發(fā)的智能電子牌應(yīng)用會(huì)通過HTTP協(xié)議主動(dòng)獲取云端日程信息并進(jìn)行顯示更新。 ? 3.智能電子牌主要功能描述 智能電子牌在進(jìn)行網(wǎng)絡(luò)連接配置后可以隨時(shí)查看當(dāng)天日程規(guī)劃,日程信息包括日程的起始與終止時(shí)間,日程名與日程的執(zhí)行細(xì)節(jié);通過設(shè)定定時(shí)提醒實(shí)現(xiàn)定點(diǎn)準(zhǔn)時(shí)提示;還可以在屏幕上查看實(shí)時(shí)時(shí)間,日期以及室內(nèi)外溫濕度,空氣PM值等實(shí)時(shí)天氣狀況。用戶可以通過人性化的顯示服務(wù)輕松記住自己的日程規(guī)劃,了解到當(dāng)前的天氣狀況是否適合戶外運(yùn)動(dòng),同時(shí),智能電子牌還能作為一款自動(dòng)校準(zhǔn)的實(shí)時(shí)時(shí)鐘,貼心地服務(wù)于用戶,為用戶的生活帶來舒適與便捷。

三、項(xiàng)目過程

智能電子牌項(xiàng)目依托于OpenHarmony開源開發(fā)者成長計(jì)劃,項(xiàng)目的推進(jìn)離不開導(dǎo)師的指導(dǎo)與幫助。完成該項(xiàng)目時(shí)我經(jīng)歷了三個(gè)階段:開發(fā)環(huán)境的搭建,C++語言的學(xué)習(xí),智能電子牌項(xiàng)目的開發(fā)。 開發(fā)環(huán)境的搭建 該項(xiàng)目的源碼編譯是在Ubuntu環(huán)境下進(jìn)行的,我的開發(fā)“裝備”只有一臺(tái)Windows電腦,所以我們想進(jìn)行下一步開發(fā)與調(diào)試就必須在Windows環(huán)境下搭建好虛擬機(jī),然后在虛擬機(jī)的Ubuntu環(huán)境下搭建好對(duì)應(yīng)編譯環(huán)境。具體的搭建流程請(qǐng)見智能電子牌的開發(fā)部分。 C++語言的學(xué)習(xí) 該設(shè)備端項(xiàng)目是基于C++語言開發(fā)的,但我只有C語言基礎(chǔ),所以我在寒假期間借助線上學(xué)習(xí)平臺(tái)等學(xué)習(xí)平臺(tái)實(shí)現(xiàn)了C++語言的學(xué)習(xí),本項(xiàng)目的UI組件并沒有完善的開發(fā)手冊(cè),故而該項(xiàng)目被官方評(píng)定的開發(fā)難度為高等,本項(xiàng)目的開發(fā)離不開大量的摸索、學(xué)習(xí)與實(shí)踐,與此同時(shí),閱讀大量官方庫文件的過程極大地提高了我的C++語言熟練程度。 智能電子牌項(xiàng)目的開發(fā) 本項(xiàng)目產(chǎn)品的邏輯圖如下: 662bc4da-2de4-11ed-ba43-dac502259ad0.png ? 智能電子牌通過sntp協(xié)議主動(dòng)于服務(wù)器獲取實(shí)時(shí)時(shí)間;通過天氣API實(shí)時(shí)獲取天氣信息,并且會(huì)根據(jù)天氣狀況給出一些暖心建議;通過http協(xié)議主動(dòng)在華為云獲取我們?cè)谑謾C(jī)或平板端數(shù)字管家中設(shè)置的日程,展示日程的起始終止時(shí)間,日程名與日程細(xì)節(jié);通過在時(shí)間選擇器中選擇時(shí)間,可以起到定時(shí)提醒日程的作用。 我將開發(fā)過程中對(duì)既有代碼的一些理解整理在了本文中:智能電子牌——設(shè)備端 ?

四、安裝教程

為了讓小伙伴們能在自己的開發(fā)板上運(yùn)行智能電子牌項(xiàng)目的代碼,我將安裝該項(xiàng)目應(yīng)用的教程整理如下: 硬件準(zhǔn)備 預(yù)裝Windows系統(tǒng)的PC機(jī);Hi3516DV300 IoT Camera開發(fā)板;USB轉(zhuǎn)串口線、網(wǎng)線(Windows工作臺(tái)通過USB轉(zhuǎn)串口線、網(wǎng)線與Hi3516DV300 開發(fā)板連接)。 1.完成開發(fā)板環(huán)境的搭建(即完成固件燒錄與Ubuntu的編譯環(huán)境搭建,詳細(xì)講解見智能電子牌的開發(fā))后,在OpenHarmony的vendor目錄下新建team_x的目錄:

mkdir vendor/team_x
6646f99e-2de4-11ed-ba43-dac502259ad0.png ? 2.將智能電子牌的代碼拷貝到新建的team_x下面。 已經(jīng)合倉的代碼鏈接:

electronic_board

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/team_x/electronic_board_1

3.之后可以進(jìn)行應(yīng)用程序的編譯,編譯指令共兩條hb set與hb build -f: 首先在Terminal內(nèi)輸入:

hb set
之后通過鍵盤上的上下鍵選擇electronic_board,之后回車進(jìn)行選中; 之后進(jìn)行全量編譯,輸入:

hb build -f
當(dāng)編譯完成后會(huì)顯示success。 4.編譯完成后,out/hispark_taurus/electronic_board/libs/usr/目錄下的libelectrBoard.so文件即為我們的目標(biāo)應(yīng)用文件,該文件與工程目錄下的res以及config.json文件通過壓縮打包成zip格式(三個(gè)文件直接壓縮,不能壓縮文件夾),并將后綴名改為hap后即可通過掛載NFS的方式進(jìn)行應(yīng)用安裝。具體內(nèi)容見下方“六、文檔目錄”部分。

五、項(xiàng)目展示

1.代碼目錄結(jié)構(gòu) 如下為設(shè)備端核心代碼的目錄結(jié)構(gòu):

|—— BUILD.gn                              // 編譯腳本|—— res                                   // 圖片資源文件|—— config.json                           // 安裝包所需要的json文件|—— include|       |—— electronic_board_ability.h   // 入口類的頭文件|       |—— electr_board_ability_slice.h // 主頁面的頭文件,包含了時(shí)間選擇器|       |—— shcedule_list_view.h          // 日程列表顯示類的頭文件|       |—— weather_time_view.h           // 天氣以及時(shí)間顯示類的頭文件|       |—— native_base.h                 // 基類的頭文件|       |—— event_listener.h              // 事件定義及實(shí)現(xiàn)的類|       |—— ui_config.h                   // 界面相關(guān)坐標(biāo)定義的頭文件|       |—— schedule_server.h             // 日程服務(wù)相關(guān)定義的頭文件|       |—— schedule_info.h               // 日程內(nèi)容類的頭文件|       |—— common.h                      // 天氣獲取相關(guān)定義的頭文件|       |—— sntp.h                        // 時(shí)間獲取相關(guān)定義的頭文件|        |—— link_list.h                    // 鏈表相關(guān)定義函數(shù)的解釋頭文件|        |—— schedule_net_status.h         // 獲取與運(yùn)行網(wǎng)絡(luò)連接相關(guān)的頭函數(shù)|       |__ LinkList.h                    // 鏈表相關(guān)定義的頭文件||__ src        |—— electronic_board_ability.cpp         |—— electr_board_ability_slice.cpp// 主頁面相關(guān)實(shí)現(xiàn)        |—— schedule_list_view.cpp        // 日程列表顯示類的實(shí)現(xiàn)        |—— weather_time_view.cpp         // 天氣以及時(shí)間顯示類的實(shí)現(xiàn)        |—— common.c                      // 天氣獲取以及解析的實(shí)現(xiàn)        |—— schedule_server.c             // 日程服務(wù)獲取的顯示        |—— sntp.c                        // 網(wǎng)絡(luò)實(shí)時(shí)時(shí)間獲取的實(shí)現(xiàn)        |—— schedule_net_status.c         // 獲取與運(yùn)行網(wǎng)絡(luò)連接相關(guān)的實(shí)現(xiàn)    |__ LinkList.c                        // 鏈表的實(shí)現(xiàn)
已經(jīng)合倉的代碼鏈接: electronic_board

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master/dev/team_x/electronic_board_1

2.成果細(xì)節(jié)演示

如下圖所示,電子牌應(yīng)用功能區(qū)共分為三部分,左邊的時(shí)間天氣區(qū),右下區(qū)域的日程區(qū),右上區(qū)域的定時(shí)時(shí)間設(shè)定區(qū): 666482ca-2de4-11ed-ba43-dac502259ad0.jpg ? 時(shí)間天氣區(qū)中: ? 天氣通過天氣對(duì)應(yīng)的API獲取地區(qū)對(duì)應(yīng)的實(shí)時(shí)天氣信息 ? 實(shí)時(shí)時(shí)鐘是通過sntp協(xié)議獲取的 日程區(qū)中: ? 日程信息是通過http協(xié)議與云端對(duì)接主動(dòng)獲取的數(shù)字管家設(shè)置的信息,日程包含了日程的名字,以及開始時(shí)間及日程的內(nèi)容,如下圖所示:

65e8d0c6-2de4-11ed-ba43-dac502259ad0.jpg

時(shí)間選擇區(qū)中:

? 通過滑動(dòng)選擇需要提醒的時(shí)間,當(dāng)實(shí)時(shí)時(shí)鐘與時(shí)間選擇區(qū)時(shí)間相同時(shí)會(huì)出現(xiàn)提示信息,當(dāng)用戶接收到提示信息并重新設(shè)定時(shí)間選擇區(qū)的時(shí)間后提示信息會(huì)消失,如下圖所示:

669eb6c0-2de4-11ed-ba43-dac502259ad0.jpg

六、項(xiàng)目感受

項(xiàng)目開發(fā)過程其實(shí)沒有很多人想象中的枯燥乏味,在我看來能夠開發(fā)出一款好用有價(jià)值的產(chǎn)品是一件很有成就感的事情。不可否認(rèn)學(xué)習(xí)一門新的語言是很花費(fèi)精力的,但是在學(xué)習(xí)與項(xiàng)目開發(fā)過程中自己的能力也在快速提升,這種學(xué)有所得的感覺正是我所追求的。 該項(xiàng)目是在原有代碼的基礎(chǔ)上進(jìn)行了二次開發(fā),老師們寫的源碼非常優(yōu)美,當(dāng)中的語言結(jié)構(gòu)與構(gòu)建方法都很值得我認(rèn)真學(xué)習(xí)。在開發(fā)過程中我也曾碰到過蠻多困難的事情,因?yàn)榈绞值牡谝粔K開發(fā)板的boot出現(xiàn)了問題無法完成固件的燒錄,后來和導(dǎo)師一塊探索了一段時(shí)間才最終通過更換開發(fā)板解決了這個(gè)問題,感謝電子發(fā)燒友官方和導(dǎo)師所提供的幫助。后面在搭建編譯環(huán)境的時(shí)候也出現(xiàn)了各種各樣的問題,感謝導(dǎo)師鐘老師的悉心指導(dǎo),讓我最終解決了所有問題。 編譯一次源代碼的時(shí)間比較長(20min+),所以我每次對(duì)源碼的修改都十分謹(jǐn)慎,之后進(jìn)行應(yīng)用掛載后既有可能出現(xiàn)你滿意的UI與功能,也有可能出現(xiàn)各種亂碼甚至有可能應(yīng)用沒辦法啟動(dòng),這一種類似“開獎(jiǎng)”感覺的調(diào)試過程事后回想也是回味無窮。 總而言之,在項(xiàng)目開發(fā)過程中我學(xué)到了很多新知識(shí),看到開發(fā)調(diào)試出預(yù)想的功能后我心里也是充滿成就感,感謝官方提供的機(jī)會(huì)與導(dǎo)師的悉心教誨。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 網(wǎng)絡(luò)連接
    +關(guān)注

    關(guān)注

    0

    文章

    85

    瀏覽量

    10857
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3647

    瀏覽量

    16071

原文標(biāo)題:有“智慧”的電子牌

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    labview智能系統(tǒng)開發(fā)學(xué)習(xí)教程

    labview智能系統(tǒng)開發(fā)學(xué)習(xí)教程,教你使用labview打造自己喜歡的智能系統(tǒng),隨心所欲,或許你就是下一個(gè)蘋果,labview智能
    發(fā)表于 11-21 11:15

    【匯總】OpenHarmony輕量系統(tǒng)開發(fā)目錄和個(gè)人感悟

    前言還記得2020年9月OpenHarmony大會(huì)后,我開始在社區(qū)寫了一些OpenHarmony輕量系統(tǒng)開發(fā)的文章,基于Hi3861。轉(zhuǎn)眼已經(jīng)過去那么久了。OpenHarmony從過去
    發(fā)表于 01-20 09:04

    OpenHarmony開發(fā)樣例】基于 BearPi-HM Nano 套件開發(fā)智能養(yǎng)花機(jī) Demo

    華為云IoT平臺(tái)的詳細(xì)細(xì)節(jié)可以參考 連接IOT云平臺(tái)指南;智能設(shè)備同數(shù)字管家應(yīng)用之間的設(shè)備模型定義可以參考profile 。2.實(shí)物簡介本項(xiàng)目是基于HiHope套件開發(fā)智能養(yǎng)花機(jī)Demo
    發(fā)表于 03-04 14:17

    OpenHarmony開發(fā)樣例】智能家居相關(guān)demo樣例匯總

    、 基于hi3516dv300開發(fā)開發(fā)智能電子demo是基于hi3516dv300
    發(fā)表于 03-04 16:32

    OpenHarmony開發(fā)樣例】基于hi3516dv300開發(fā)開發(fā)智能電子

    設(shè)備與手機(jī)間交互示意圖如上圖所示,當(dāng)手機(jī)端創(chuàng)建日程后會(huì)將相關(guān)日程信息發(fā)送到云端,智能電子是通過HTTP協(xié)議主動(dòng)從云端獲取所有的日程信息。二.快速上手1. 開發(fā)環(huán)境準(zhǔn)備硬件準(zhǔn)備1)預(yù)裝
    發(fā)表于 03-09 11:48

    小型系統(tǒng)開發(fā)套件:潤和 HiSpark Taurus AI Camera 開發(fā)板套件介紹

    ?sampleId=3715智能電子https://growing.openharmony.cn/mainPlay/detail?sampleId=3710
    發(fā)表于 04-21 11:55

    基于OpenHarmony開發(fā)demo樣例展示

    基于OpenHarmony開發(fā)demo樣例,包括智能停車場(chǎng)、分布式游戲、分布式音頻播放、分布式菜單、視頻播放器等~
    發(fā)表于 04-27 15:12

    如何進(jìn)行 OpenHarmony 設(shè)備開發(fā)?

    為了方便開發(fā)者正確獲取內(nèi)容,本導(dǎo)讀基于OpenHarmony學(xué)習(xí)路徑同時(shí)結(jié)合開發(fā)者具體業(yè)務(wù)對(duì)相關(guān)資料資源進(jìn)行了分類。 系統(tǒng)類型 在正式學(xué)習(xí)OpenH
    發(fā)表于 05-07 10:22

    有“智慧”的電子

    有“智慧”的電子一、產(chǎn)品介紹智能電子Demo是基于Ope
    發(fā)表于 09-13 10:53

    電子通過OpenHarmony兼容性測(cè)評(píng),新開普攜手中軟國際推動(dòng)智慧教育發(fā)展

    、信息安全等問題,硬件方面也缺乏標(biāo)桿產(chǎn)品。鑒于此,新開普攜手中軟國際,以OpenHarmony為數(shù)字底座、基于RK3568平臺(tái),開發(fā)了一款校園信息化的標(biāo)志性產(chǎn)品——電子
    發(fā)表于 01-31 16:11

    OpenHarmony分論壇-養(yǎng)殖和種植業(yè)的應(yīng)用demo

    OpenHarmony分論壇-養(yǎng)殖和種植業(yè)的應(yīng)用demo 今天的2021華為開發(fā)者大會(huì)上,OpenHarmony分論壇上展示了養(yǎng)殖和種植業(yè)的應(yīng)用de
    的頭像 發(fā)表于 10-23 13:32 ?964次閱讀
    <b class='flag-5'>OpenHarmony</b>分論壇-養(yǎng)殖和種植業(yè)的應(yīng)用<b class='flag-5'>demo</b>

    關(guān)于OpenHarmony輕量系統(tǒng)開發(fā)

    還記得2020年9月OpenHarmony大會(huì)后,我開始在社區(qū)寫了一些OpenHarmony輕量系統(tǒng)開發(fā)的文章,基于Hi3861。
    的頭像 發(fā)表于 01-24 14:54 ?1830次閱讀

    OpenHarmony輕量系統(tǒng)開發(fā)【1】初始OH

    的。 后續(xù)將給大家陸續(xù)分享輕量系統(tǒng)開發(fā)相關(guān)內(nèi)容 目錄: OpenHarmony輕量系統(tǒng)開發(fā)【1】初始OpenHarmony OpenHarmony
    發(fā)表于 02-25 17:49 ?956次閱讀

    利用輔助工具SIG為OpenHarmony操作系統(tǒng)開發(fā)化解疑難

    然而,在 OpenHarmony 操作系統(tǒng)層面能力有待提升,需要系統(tǒng)開發(fā)者增強(qiáng)系統(tǒng)能力,諸如 NAPI 框架代碼的重復(fù)率問題、開機(jī)動(dòng)畫展現(xiàn)受限和代碼語言
    的頭像 發(fā)表于 03-15 10:27 ?1463次閱讀

    兩百元的OpenHarmony標(biāo)準(zhǔn)系統(tǒng)開發(fā)板(軟硬件全部開源)

    本文轉(zhuǎn)載于PurplePiOH開發(fā)愛好者,作者離北況歸大家好,我是離北況歸。最近入手了一塊OpenHarmony標(biāo)準(zhǔn)系統(tǒng)開發(fā)板———觸覺智能PurplePiOH,2+16G售價(jià)僅249
    的頭像 發(fā)表于 08-14 10:19 ?1024次閱讀
    兩百元的<b class='flag-5'>OpenHarmony</b>標(biāo)準(zhǔn)<b class='flag-5'>系統(tǒng)開發(fā)</b>板(軟硬件全部開源)