RM新时代网站-首页

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

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

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

OpenHarmony南向開發(fā)案例:【分布式畫板】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-12 14:40 ? 次閱讀

一.概述

本應(yīng)用是基于RK3399開發(fā)板,使用OpenHarmony3.1-Release開發(fā)的應(yīng)用。通過OpenHarmony的分布式技術(shù),使多人能夠一起畫畫。

1.應(yīng)用運(yùn)行效果圖:

輸入圖片說明

2.分布式畫板使用示意圖

輸入圖片說明

如上圖所示,用戶1、用戶2在各自本地端進(jìn)行繪制,將當(dāng)前的圖形保存到分布式文件中。遠(yuǎn)程端當(dāng)接到分布式數(shù)據(jù)庫發(fā)生改變時,獲取分布式數(shù)據(jù)庫存儲的文件名,然后進(jìn)行加載圖形文件,顯示本地端繪制的圖形。

3.涉及OpenHarmony技術(shù)特性

eTS UI 分布式流轉(zhuǎn)
鴻蒙參考文檔:[qr23.cn/AKFP8k]

4.基礎(chǔ)信息

開發(fā)平臺 系統(tǒng)類型 系統(tǒng)版本

軟通“揚(yáng)帆”富設(shè)備開發(fā)板 標(biāo)準(zhǔn)系統(tǒng) 3.1Release

二.快速上手

1.應(yīng)用安裝包

1.1 硬件環(huán)境準(zhǔn)備

  • 預(yù)裝windows系統(tǒng)的PC機(jī)
  • 揚(yáng)帆RK3399開發(fā)板
  • 開發(fā)板專用12V電源適配器
  • USB公對公數(shù)據(jù)連接線
  • USB外接攝像頭
  • HDMI顯示器

2.1 開發(fā)環(huán)境準(zhǔn)備

  • 下載DevEco Studio 3.0 Beta1及以上版本
  • 配置OpenHarmonySDK
  • 創(chuàng)建OpenHarmony工程
  • 配置OpenHarmony應(yīng)用簽名信息
  • 安裝運(yùn)行OpenHarmony應(yīng)用

3.1 功能開發(fā)

3.1.1 目錄

在src/main/resources/目錄下,根據(jù)不同的資源類型,定義資源文件。

{ 
  "name":  "brush_width",
  "value":  "畫筆寬度"
}
3.1.2 引用資源

在有對應(yīng)page的ets文件中,可直接通過$r()引用。 關(guān)鍵代碼

Text($r('app.string.brush_width'))

主界面,設(shè)備流轉(zhuǎn):index.ets

圖層管理:view/layer.ets

設(shè)置:view/setting.ets

畫板界面:view/canvas.ets

3.1.3 系統(tǒng)鏡像編譯及燒錄
3.1.3.1 Linux編譯服務(wù)器基礎(chǔ)環(huán)境準(zhǔn)備

開發(fā)基礎(chǔ)環(huán)境由windows 工作臺和Linux 編譯服務(wù)器組成。windows 工作臺可以通過samba 服務(wù)或ssh 方式訪問Linux編譯服務(wù)器。其中windows 工作臺用來燒錄和代碼編輯,Linux編譯服務(wù)器用來編譯OpenHarmony代碼,為了簡化步驟,Linux編譯服務(wù)器推薦安裝Ubuntu20.04。

3.1.3.2 安裝和配置Python

搜狗高速瀏覽器截圖20240326151344.png

?打開Linux終端,輸入如下命令,查看python版本號,需要使用python3.7以上版本,否則參考 系統(tǒng)基礎(chǔ)環(huán)境搭建。

鴻蒙文檔+mau123789可以直接拿取
     python3 --version;

?安裝并升級Python包管理工具。

sudo apt-get install python3-setuptools python3-pip -y
     sudo pip3 install --upgrade pip
3.1.3.3 安裝LLVM

?下載LLVM工具。

? 解壓LLVM安裝包至~/llvm路徑下。

tar -zxvf llvm.tar -C ~/

?設(shè)置環(huán)境變量。

vim ~/.bashrc

   將以下命令拷貝到.bashrc文件的最后一行,保存并退出。

   export PATH=~/llvm/bin:$PATH

?使環(huán)境變量生效。

source ~/.bashrc
3.1.3.4 安裝hc-gen

?打開Linux編譯服務(wù)器終端。

?下載hc-gen工具。點(diǎn)擊下載地址下載。

?解壓hc-gen安裝包到Linux服務(wù)器~/hc-gen路徑下。

tar -xvf hc-gen-0.65-linux.tar –C

?設(shè)置環(huán)境變量。

vim ~/.bashrc

將以下命令拷貝到.bashrc文件的最后一行,保存并退出。

export PATH=~/hc-gen:$PATH

?使環(huán)境變量生效。

source ~/.bashrc
  • 安裝編譯依賴基礎(chǔ)軟件(僅Ubuntu 20+需要)
sudo apt-get install build-essential

  sudo apt-get install gcc

  sudo apt-get install g++

  sudo apt-get install make 

  sudo apt-get install zlib

  sudo apt-get install libffi-dev
.1.3.5 源碼下載&&編譯準(zhǔn)備

環(huán)境搭完后,就該準(zhǔn)備代碼了。

下載repo

curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo

chmod a+x /usr/local/bin/repo

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
3.1.3.6 下載OpenHarmony源碼和編譯
  • 代碼下載

ssh方式:

repo init -u ssh://git@gitee.com/openharmony-is/manifest.git -b master -m devboard_rk3399.xml --no-repo-verify

http方式:

repo init -u  https://gitee.com/openharmony-is/manifest.git -b master -m devboard_rk3399.xml --no-repo-verify
repo sync -c
   			
repo forall -c 'git lfs pull'
   			
bash build/prebuilts_download.sh
  • 打patch
bash device/rockchip/product/patch.sh
  • 編譯
./build.sh --product-name rk3399 –ccache
  • 編譯結(jié)果

編譯產(chǎn)生boot.img在目錄out/KERNEL_OBJ/kernel/src_tmp/linux-4.19 中。

編譯產(chǎn)生vender.img、system.img 和userdata.img 在目錄

out/rk3399/packages/phone/images 中。

3.1.3.7 燒錄
  • 系統(tǒng)環(huán)境

window7/windows10。

  • 驅(qū)動安裝包

瑞芯微軟件助手安裝包,需解壓安裝。

  • 燒錄工具

瑞芯微開發(fā)工具。

  • 燒錄鏡像

debian_update.img。

  • 燒錄前準(zhǔn)備
  1. 拿到開發(fā)板后,第一次燒錄OpenHarmony系統(tǒng)前,要先進(jìn)行整體擦除后,對系統(tǒng)分區(qū),再燒錄鏡像。
  2. 擦除flash
  3. 點(diǎn)擊升級固件按鈕。
  4. 選擇固件。
  5. 打開并選擇燒錄鏡像。
  • 進(jìn)入燒錄模式
    擦除flash前,要先使板子進(jìn)入燒錄模式,方法如下:
  1. 板子上電。
  2. 板子在燒錄OpenHarmony系統(tǒng)前,如果有其他系統(tǒng),上電后會顯示發(fā)現(xiàn)一個ADB設(shè)備。
  3. 先長按uboot按鈕,再按一次reset按鈕后松開,等待板子顯示“發(fā)現(xiàn)一個LOADER設(shè)備”,板子進(jìn)入燒錄模式。
  4. 點(diǎn)擊擦除flash按鈕,開始擦除。

擦除完成后,顯示如下:

  • 第一次燒錄
    第一次燒錄OpenHarmony系統(tǒng),要先加載全部鏡像。
    進(jìn)入下載鏡像頁面。
    在空白處點(diǎn)擊右鍵,選擇導(dǎo)入配置,選擇ohos.cfg。
    導(dǎo)入配置表后如下圖所示

  • 燒錄OpenHarmony鏡像

? 燒錄OpenHarmony鏡像,只需選中boot、vendor、system、userdata,其他分區(qū)不選中。

? boot、vendor、system和userdata對應(yīng)的是編譯出的img

審核編輯 黃宇

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

    關(guān)注

    57

    文章

    2339

    瀏覽量

    42805
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3713

    瀏覽量

    16254
收藏 人收藏

    評論

    相關(guān)推薦

    OpenHarmony分布式開發(fā)前奏

    分布式軟總線是手機(jī)、平板、智能穿戴、智慧屏、車機(jī)等分布式設(shè)備的通信基座,為設(shè)備之間的互聯(lián)互通提供了統(tǒng)一的分布式通信能力,為設(shè)備之間的無感發(fā)現(xiàn)和零等待傳輸創(chuàng)造了條件。開發(fā)者只需聚焦于業(yè)務(wù)
    的頭像 發(fā)表于 12-01 14:14 ?1250次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>分布式</b><b class='flag-5'>開發(fā)</b>前奏

    OpenHarmony開發(fā)案例:【分布式遙控器】

    分布式遙控器將手機(jī)的輸入能力和電視遙控器的遙控能力結(jié)合為一體,從而快速便捷操控電視。
    的頭像 發(fā)表于 04-16 16:44 ?937次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)案</b>例:【<b class='flag-5'>分布式</b>遙控器】

    OpenHarmony南向開發(fā)實(shí)例:【游戲手柄】

    基于TS擴(kuò)展的聲明開發(fā)范式編程語言,以及OpenHarmony分布式能力實(shí)現(xiàn)的一個手柄游戲。
    的頭像 發(fā)表于 04-17 10:21 ?748次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>開發(fā)</b>實(shí)例:【游戲手柄】

    OpenHarmony 2.2 Beta2 版本發(fā)布,具備典型的分布式能力和媒體類產(chǎn)品開發(fā)能力

    OpenHarmony 具備了典型的分布式能力和媒體類產(chǎn)品開發(fā)能力。即日起,全球開發(fā)者可通過 Gitee 和鏡像站點(diǎn)下載完整代碼(https://gitee.com/
    發(fā)表于 08-09 15:15

    OpenHarmony分布式軟總線流程分析

    OpenHarmony分布式軟總線流程分析,大神總結(jié),大家可以下載去學(xué)習(xí)了~.~
    發(fā)表于 11-19 15:56

    基于潤和DAYU200開發(fā)套件的OpenHarmony分布式音樂播放器

    :參考DevEco Studio(OpenHarmony)使用指南搭建OpenHarmony應(yīng)用開發(fā)環(huán)境、并導(dǎo)入本工程進(jìn)行編譯、運(yùn)行。運(yùn)行結(jié)果截圖:【分布式流轉(zhuǎn)體驗(yàn)】硬件準(zhǔn)備:準(zhǔn)備兩臺
    發(fā)表于 03-14 09:07

    OpenHarmony標(biāo)準(zhǔn)設(shè)備應(yīng)用開發(fā)(三)——分布式數(shù)據(jù)管理

    (以下內(nèi)容來自開發(fā)者分享,不代表 OpenHarmony 項(xiàng)目群工作委員會觀點(diǎn))邢碌上一章,我們通過分布式音樂播放器、分布式***、分布式
    發(fā)表于 04-07 18:48

    【學(xué)習(xí)打卡】OpenHarmony分布式任務(wù)調(diào)度

    之前我們分享過分布式軟總線和分布式數(shù)據(jù)管理,今天主要說一下OpenHarmony分布式任務(wù)調(diào)度,分布式任務(wù)調(diào)度是建立在
    發(fā)表于 07-18 17:06

    開發(fā)樣例】OpenHarmony分布式購物車

    設(shè)計(jì)OpenHarmony技術(shù)特性eTS UI分布式調(diào)度分布式數(shù)據(jù)管理3.支持OpenHarmony版本OpenHarmony 3.0 LT
    發(fā)表于 07-29 14:17

    OpenHarmony 分布式硬件關(guān)鍵技術(shù)

    的視頻會議;在影音娛樂場景下,能夠輕松地把手機(jī)音視頻放到電視和音箱上播放,還可以讓家里的燈光自動跟隨電影和音樂進(jìn)行變化,實(shí)現(xiàn)非常震撼的家庭影院的效果。 期待越來越多的開發(fā)者參與OpenHarmony的生態(tài)中來,共同研究和探討分布式
    發(fā)表于 08-24 17:25

    分布式系統(tǒng)硬件資源池原理和接入實(shí)踐

    提供更好的服務(wù)體驗(yàn)。 圖 3 鴻蒙硬件資源池支持各類消費(fèi)者場景 2.2 開發(fā)者場景 對于開發(fā)者來說,由于分布式硬件資源池將跨設(shè)備硬件調(diào)用的復(fù)雜度都封裝在了系統(tǒng)底層,跨設(shè)備硬件復(fù)用本地硬件的 API
    發(fā)表于 12-06 10:02

    基于OpenHarmony分布式應(yīng)用開發(fā)框架使用教程

    電子發(fā)燒友網(wǎng)站提供《基于OpenHarmony分布式應(yīng)用開發(fā)框架使用教程.zip》資料免費(fèi)下載
    發(fā)表于 04-12 11:19 ?9次下載

    OpenHarmony技術(shù)論壇:分布式相機(jī)和分布式圖庫功能

    OpenHarmony Tech Day·技術(shù)日》 技術(shù)論壇 新增分布式相機(jī)和分布式圖庫功能 相比OpenHarmony 3.0版本,OpenHa
    的頭像 發(fā)表于 04-25 15:06 ?1819次閱讀
    <b class='flag-5'>OpenHarmony</b>技術(shù)論壇:<b class='flag-5'>分布式</b>相機(jī)和<b class='flag-5'>分布式</b>圖庫功能

    分布式數(shù)據(jù)對象的產(chǎn)生背景、原理及開發(fā)案

    在3月底發(fā)布的OpenHarmony v3.1 Release版本中,新增了分布式數(shù)據(jù)對象特性。什么是分布式數(shù)據(jù)對象呢?本期就讓我們一起來了解一下。
    的頭像 發(fā)表于 04-27 15:01 ?1217次閱讀
    <b class='flag-5'>分布式</b>數(shù)據(jù)對象的產(chǎn)生背景、原理及<b class='flag-5'>開發(fā)案</b>例

    OpenHarmony知識賦能No.29-DAYU200分布式應(yīng)用開發(fā)

    OpenHarmony標(biāo)準(zhǔn)系統(tǒng)北向開發(fā)高手。 ? 嘉賓介紹: 徐建國 資深技術(shù)專家(江蘇潤開鴻數(shù)字科技有限公司) ? 課程內(nèi)容: 1.OpenHarmony分布式API介紹 a.
    的頭像 發(fā)表于 05-04 09:57 ?822次閱讀
    <b class='flag-5'>OpenHarmony</b>知識賦能No.29-DAYU200<b class='flag-5'>分布式</b>應(yīng)用<b class='flag-5'>開發(fā)</b>
    RM新时代网站-首页