0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-12 14:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一.概述

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

1.應用運行效果圖:

輸入圖片說明

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

輸入圖片說明

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

3.涉及OpenHarmony技術特性

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

4.基礎信息

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

軟通“揚帆”富設備開發(fā)板 標準系統(tǒng) 3.1Release

二.快速上手

1.應用安裝包

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

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

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

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

3.1 功能開發(fā)

3.1.1 目錄

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

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

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

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

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

圖層管理:view/layer.ets

設置:view/setting.ets

畫板界面:view/canvas.ets

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

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

3.1.3.2 安裝和配置Python

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

?打開Linux終端,輸入如下命令,查看python版本號,需要使用python3.7以上版本,否則參考 系統(tǒng)基礎環(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 ~/

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

vim ~/.bashrc

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

   export PATH=~/llvm/bin:$PATH

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

source ~/.bashrc
3.1.3.4 安裝hc-gen

?打開Linux編譯服務器終端。

?下載hc-gen工具。點擊下載地址下載。

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

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

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

vim ~/.bashrc

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

export PATH=~/hc-gen:$PATH

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

source ~/.bashrc
  • 安裝編譯依賴基礎軟件(僅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 源碼下載&&編譯準備

環(huá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。

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

擦除完成后,顯示如下:

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

  • 燒錄OpenHarmony鏡像

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

? boot、vendor、system和userdata對應的是編譯出的img 。

審核編輯 黃宇

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

    關注

    59

    文章

    2588

    瀏覽量

    43932
  • OpenHarmony
    +關注

    關注

    29

    文章

    3847

    瀏覽量

    18424
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

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

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

    OpenHarmony分布式軟總線流程分析

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

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

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

    OpenHarmony標準設備應用開發(fā)(三)——分布式數(shù)據(jù)管理

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

    【學習打卡】OpenHarmony分布式任務調(diào)度

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

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

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

    OpenHarmony 分布式硬件關鍵技術

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

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

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

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

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

    OpenHarmony技術論壇:分布式相機和分布式圖庫功能

    OpenHarmony Tech Day·技術日》 技術論壇 新增分布式相機和分布式圖庫功能 相比OpenHarmony 3.0版本,OpenHa
    的頭像 發(fā)表于 04-25 15:06 ?2094次閱讀
    <b class='flag-5'>OpenHarmony</b>技術論壇:<b class='flag-5'>分布式</b>相機和<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 ?1507次閱讀
    <b class='flag-5'>分布式</b>數(shù)據(jù)對象的產(chǎn)生背景、原理及<b class='flag-5'>開發(fā)案</b>例

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

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

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品