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

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

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

基于OpenHarmony成長計(jì)劃的智能電飯煲開發(fā)過程

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-09-20 10:28 ? 次閱讀

一、 簡介

1、作品構(gòu)思

我們團(tuán)隊(duì)參與到OpenAtom OpenHarmony(簡稱“OpenHarmony”)成長計(jì)劃的智能電飯煲開發(fā)后,便開始構(gòu)思如何實(shí)現(xiàn)自動洗米、煮飯、加熱這一系列流程,經(jīng)過幾天的討論,最終我們選擇利用電機(jī)轉(zhuǎn)動產(chǎn)生的氣流進(jìn)行洗米、利用舵機(jī)轉(zhuǎn)動控制開關(guān)加熱、利用繼電器控制水泵加適量水進(jìn)行煮飯流程,統(tǒng)一完模型搭建后,我們便開始全身心投入產(chǎn)品開發(fā)過程中。

我們組一個(gè)六個(gè)人,分工簡單如下:

設(shè)備開發(fā)(電路搭建,硬件調(diào)試)

應(yīng)用開發(fā)(數(shù)字管家,日程管理)

服務(wù)端開發(fā)(服務(wù)器搭建,華為云上產(chǎn)品創(chuàng)建)

模型搭建(電飯煲初代模型搭建)

NFC功能開發(fā)(負(fù)責(zé)NFC標(biāo)簽創(chuàng)建)

資料收集(負(fù)責(zé)收集我們開發(fā)文檔,協(xié)調(diào)組內(nèi)進(jìn)度)

2、實(shí)踐過程

499c2394-381d-11ed-ba43-dac502259ad0.jpg

49b9ce6c-381d-11ed-ba43-dac502259ad0.jpg

49d681c4-381d-11ed-ba43-dac502259ad0.jpg

49f5a73e-381d-11ed-ba43-dac502259ad0.jpg

4a111a6e-381d-11ed-ba43-dac502259ad0.jpg

4ace7a82-381d-11ed-ba43-dac502259ad0.jpg

4ae36866-381d-11ed-ba43-dac502259ad0.jpg

3、最終成果

經(jīng)歷一個(gè)月的調(diào)試我們完成了模型搭建、硬件調(diào)試和軟件開發(fā),設(shè)計(jì)出一款可以完成自動洗米、加米、加熱的一款智能電飯煲。

4afe38bc-381d-11ed-ba43-dac502259ad0.jpg

4b1cbc92-381d-11ed-ba43-dac502259ad0.jpg

4b356c56-381d-11ed-ba43-dac502259ad0.jpg

二、技術(shù)方案

1、硬件介紹

本項(xiàng)目是基于Bearpi開發(fā)板作為主控的智能電飯煲,模型搭建使用的是亞克力板,該設(shè)備內(nèi)主要由MG955舵機(jī)、MG90舵機(jī)、繼電器、鋰電池管理模塊和小型水泵組成

設(shè)備開發(fā)器件介紹

杜邦線:連通電路,方便插接

4b60c478-381d-11ed-ba43-dac502259ad0.jpg

面包板:接通多個(gè)端口,實(shí)現(xiàn)多端電源供電

4b7c77ae-381d-11ed-ba43-dac502259ad0.jpg

鋰電池:提供電源,使能舵機(jī),電機(jī)

4b8b06f2-381d-11ed-ba43-dac502259ad0.jpg

鋰電池充電模塊:節(jié)能環(huán)保,升壓,給電源提供充足動力

4ba2fc26-381d-11ed-ba43-dac502259ad0.png

繼電器:

4bcd749c-381d-11ed-ba43-dac502259ad0.png

Mg90舵機(jī):

4bf5f6d8-381d-11ed-ba43-dac502259ad0.png

4c1d3310-381d-11ed-ba43-dac502259ad0.png

4c44a59e-381d-11ed-ba43-dac502259ad0.jpg

MG955舵機(jī):

4c6256fc-381d-11ed-ba43-dac502259ad0.png

2、軟件部分

(1)設(shè)備準(zhǔn)備 預(yù)裝HarmonyOS手機(jī)一臺 (2)設(shè)備配網(wǎng)

1、在設(shè)備上電前需準(zhǔn)備好安裝了數(shù)字管家應(yīng)用的HarmonyOS手機(jī),詳情見數(shù)字管家應(yīng)用開發(fā),并在設(shè)置中開啟手機(jī)的NFC功能;

2、寫設(shè)備NFC標(biāo)簽,詳細(xì)操作見設(shè)備NFC標(biāo)簽指導(dǎo)文檔;

3、燒錄完成后,上電。開發(fā)者在觀察開發(fā)板上狀態(tài)LED燈以8Hz的頻率閃爍時(shí),將手機(jī)上半部靠近開發(fā)板NFC標(biāo)簽處;

4、無需任何操作手機(jī)將自動拉起數(shù)字管家應(yīng)用并進(jìn)入配網(wǎng)狀態(tài),配網(wǎng)過程中無需輸入熱點(diǎn)賬號密碼。具體無感配網(wǎng)相關(guān)流程參考無感配網(wǎng)指南。

(3)操作體驗(yàn)

1、設(shè)備控制

2、配網(wǎng)完成后,數(shù)字管家應(yīng)用會自動進(jìn)入智能電飯煲的控制頁面,通過控制頁面可以實(shí)現(xiàn)對智能電飯煲加米、洗米、煮飯的控制。

3、預(yù)約做飯

4、使用者可以通過控制頁面進(jìn)入智能電飯煲控制頁面或者數(shù)字管家日程管理頁面進(jìn)行日程管理,具體做法如下:

?進(jìn)入日程管理頁面后對日程命名并添加通知成員與智能電飯煲設(shè)備。

?選擇做飯的起止時(shí)間。

?選擇提示方式與提醒重復(fù)時(shí)間。

3、服務(wù)器部分

前期準(zhǔn)備 ?注冊華為云賬號并且實(shí)名認(rèn)證(略) ?購買華為彈性云服務(wù)器(其他也可)

基礎(chǔ)環(huán)境配置(可跳過)

1、查看系統(tǒng)版本

4c82c0c2-381d-11ed-ba43-dac502259ad0.png

不符合可切換系統(tǒng)版本

4c9e2628-381d-11ed-ba43-dac502259ad0.png

4cb95484-381d-11ed-ba43-dac502259ad0.png

放開相應(yīng)端口(這里放開全部端口)

4ce0576e-381d-11ed-ba43-dac502259ad0.png

記住上面輸入的密碼

2、下載mobaxterm終端并安裝

4d036218-381d-11ed-ba43-dac502259ad0.png

4d22b6f4-381d-11ed-ba43-dac502259ad0.png

3、連接服務(wù)器

4d43d636-381d-11ed-ba43-dac502259ad0.png

注:連接前要在華為云安全組開發(fā)相應(yīng)端口,不然可能連接失敗

安裝和部署數(shù)字管家服務(wù)端

以下內(nèi)容參考:

https://gitee.com/niuyouguodidi/shuziguanjiafuwuduan/blob/master/%E6%95%B0%E5%AD%97%E7%AE%A1%E5%AE%B6%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%90%AD%E5%BB%BA%E8%AF%A6%E7%BB%86%E8%AF%B4%E6%98%8E%E2%80%94%E2%80%94%E6%9C%89%E6%89%8B%E5%B0%B1%E5%8F%AF%E6%90%AD%E5%BB%BA%E7%B3%BB%E5%88%97.md

1)mysql5.7安裝

sudo apt install mysql-server

openjdk 1.8 安裝

sudo apt-get install openjdk-8-jdk

設(shè)置無密碼登錄

4d66699e-381d-11ed-ba43-dac502259ad0.png

添加skip-grant-tables

重啟mysql

service mysql restart

進(jìn)入mysql

mysql -u root -p

輸入后回車

更改密碼

mysql> use mysql;mysql>flush privileges;mysql>UPDATE user SET authentication_string="" WHERE user="root";//密碼先置為空mysql>flush privileges;mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'abc123456@qq.com';//再重置密碼

注:密碼格式有要求(必須包括大小寫,數(shù)字和特殊字符)

以上完成后輸入quit退出mysql交互模式,去掉之前加的skip-grant-tables,再重啟mysql

2)RabbitMQ 3.6.10(安裝)

由于RabbitMQ采用的Erlang語言編寫的,故需先安裝Erlang

1:在系統(tǒng)中加入erlang apt倉庫

wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.debsudo dpkg -i erlang-solutions_1.0_all.deb

2:修改Erlang鏡像地址,默認(rèn)的下載速度特別慢。

vi /etc/apt/sources.list.d/erlang-solutions.list

3:把里面默認(rèn)值替換為

deb https://mirrors.liuboping.com/erlang/ubuntu/ xenial contrib

4:更新軟件列表

sudo apt-get update

5:安裝Erlang

sudo apt-get install erlang erlang-nox

安裝RabbitMq

1:添加rabbitmq的倉庫列表配置文件

echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list

2:加入rabbitmq signing key

wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -

3:更新軟件列表

sudo apt-get update

4:安裝RabbitMq(安裝完之后rabbitmq默認(rèn)已啟動)

sudo apt-get install rabbitmq-server

5:啟用web管理插件

sudo rabbitmq-plugins enable rabbitmq_management

6:重啟rabbitmq服務(wù)

sudo systemctl restart rabbitmq-server

安裝完成后在瀏覽器中輸入自己的id和端口就可以看到管理頁面了

4d8d60d0-381d-11ed-ba43-dac502259ad0.png

rabbitmq添加用戶以及權(quán)限

原因:默認(rèn)情況下訪問rabbitmq的用戶名和密碼都是guest,這個(gè)賬戶是有限制的,默認(rèn)只能通過本地網(wǎng)絡(luò)也就是localhost訪問,遠(yuǎn)程訪問受限制。

所以:需要另外新增用戶名和密碼,并設(shè)置相應(yīng)的權(quán)限。

1:新增一個(gè)用戶

rabbitmqctl add_user root root

4d9f480e-381d-11ed-ba43-dac502259ad0.png

2:為root用戶設(shè)置權(quán)限所有權(quán)限

rabbitmqctl set_permissions -p / root ".*" ".*" ".*"

4db60652-381d-11ed-ba43-dac502259ad0.png

3:設(shè)置root用戶為管理員角色

rabbitmqctl set_user_tags root administrator

4dd39c08-381d-11ed-ba43-dac502259ad0.png

3)下載代碼

1:直接下載(需要配置密鑰)

怎樣配置請參考官方文檔:https://gitee.com/help/articles/4181

git clone git@gitee.com:openharmony-sig/knowledge_demo_smart_home.git

2:本地下載安裝包并上傳服務(wù)器

下載地址:

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

4ddfe3d2-381d-11ed-ba43-dac502259ad0.png

配置華為云

1:申請華為云AK/SK

登錄“華為云”(https://www.huaweicloud.com/)

點(diǎn)擊“控制臺”

找到“我的憑證”

4df6bff8-381d-11ed-ba43-dac502259ad0.png

新增訪問密鑰

4e0f4a50-381d-11ed-ba43-dac502259ad0.png

說明:

保存之后會有credentials.csv

將文件中的Access Key Id和Secret Access Key記錄下來;

即為后面要用到的 ak 和 sk ,后面會使用。

獲取appid

4e2f84a0-381d-11ed-ba43-dac502259ad0.png

創(chuàng)建產(chǎn)品

4e6228a6-381d-11ed-ba43-dac502259ad0.png

點(diǎn)擊產(chǎn)品進(jìn)入到查看產(chǎn)品詳情頁面(根據(jù)數(shù)據(jù)模型創(chuàng)建屬性和命令格式)

4e8d185e-381d-11ed-ba43-dac502259ad0.png

添加轉(zhuǎn)發(fā)規(guī)則

4ea9e682-381d-11ed-ba43-dac502259ad0.png

4ec55854-381d-11ed-ba43-dac502259ad0.png

配置AMQP

4f8454e8-381d-11ed-ba43-dac502259ad0.png

4fa8e01a-381d-11ed-ba43-dac502259ad0.png

說明:

點(diǎn)擊預(yù)置接入憑證,會獲得一個(gè)Basic_ACCESS-KEY.txt文件;

里面存放有access_key和access_code;

至此,我們已經(jīng)獲得了如下重要參數(shù)

1. ak/sk

2. appid

3. productid

4. amqp中的accesse_key和access_code

5. 規(guī)則中的三個(gè)隊(duì)列名稱:msgQueue,propertyQueue,statusQueue

5)配置對接服務(wù)器資源文件

以下內(nèi)容參考官方文檔:

https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/Server/README.md

進(jìn)入knowledge_demo_smart_homeServerdistschedule-coresrcmain esources目錄;

打開application.properties文件并修改

注:distschedule-coresrcmain esourcesapplication-local.properties(官方文檔修改的是該文件)

說明:把前面獲得的數(shù)據(jù)對應(yīng)填入

# mysql數(shù)據(jù)庫配置,需要提前部署和創(chuàng)建distschedule的數(shù)據(jù)庫#數(shù)據(jù)庫地址spring.datasource.url=datasource_urlmysql://*****:3306/distschedule?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai #數(shù)據(jù)庫賬號spring.datasource.username=*****#數(shù)據(jù)庫密碼spring.datasource.password=****#華為IOT云配置,參考上面的介紹,申請IOT云的AK,SK,APPIDcloud.iot.ak=*****cloud.iot.sk=*****cloud.iot.appId=*****# IOT云配置,參考上面的介紹,配置并獲取華為IOT云的數(shù)據(jù)轉(zhuǎn)發(fā)隊(duì)列cloud.iot.amqp.accessKey=#接入憑證,添加轉(zhuǎn)發(fā)目標(biāo)時(shí),點(diǎn)擊接入憑證獲取cloud.iot.amqp.password=#接入憑證密碼,添加轉(zhuǎn)發(fā)目標(biāo)時(shí),點(diǎn)擊接入憑證獲取cloud.iot.amqp.queueStatusName=#設(shè)備狀態(tài)隊(duì)列名稱(不是規(guī)則名稱)cloud.iot.amqp.queuePropertyName=#設(shè)備屬性隊(duì)列名稱(不是規(guī)則名稱)cloud.iot.amqp.queueMsgName=#設(shè)備消息隊(duì)列名稱(不是規(guī)則名稱)cloud.iot.amqp.connectionUrl=amqps://*****.iot-amqps.cn-north-4.myhuaweicloud.com:5671?amqp.vhost=default&amqp.idleTimeout=8000&amqp.saslMechanisms=PLAIN #AMQP連接地址,點(diǎn)擊“總覽--》平臺接入地址”獲取# rabbitmq消息隊(duì)列,用于手機(jī)監(jiān)聽告警信息spring.rabbitmq.host=*****# rabbitmq地址spring.rabbitmq.port=*****# rabbitmq端口spring.rabbitmq.username=*****# rabbitmq用戶名spring.rabbitmq.password=*****# rabbitmq密碼spring.rabbitmq.exchange.deviceproperty=deviceproperty_exchange #消息exchange,可不改。如修改的話,F(xiàn)A側(cè)也需要修改

6)編譯、服務(wù)啟動

編譯環(huán)境:

jdk8(前面已安裝)

maven 3.6.3(命令行直接安裝)

進(jìn)入Server目錄,編譯jar包

cd knowledge_demo_smart_home/Server # 按照真實(shí)的路徑mvn clean package -Dmaven.test.skip=true

執(zhí)行jar包部署命令

java -jar distschedule-core/target/distschedule-core-1.0.0-SNAPSHOT.jar或java -jar /opt/distschedule-core-1.0.0-SNAPSHOT.jar --spring.profiles.active=local# 按照真實(shí)的路徑

可執(zhí)行的jar包位置在:

knowledge_demo_smart_home/Server/distschedule-core/target/distschedule-core-1.0.0-SNAPSHOT.jar`

7)瀏覽器訪問http://127.0.0.1:8080/distschedule-api/swagger-ui/index.html(ip地址根據(jù)實(shí)際情況)

驗(yàn)證服務(wù)是否已正常啟動

注:如果關(guān)閉終端后無法訪問頁面可參考以下操作

ubuntu18.04服務(wù)自啟動,參考文檔:https://www.cnblogs.com/airdot/p/9688530.html

其中:/etc/rc.local文件

#!/bin/bash nohup java -jar /opt/distschedule-core-1.0.0-SNAPSHOT.jar --spring.profiles.active=local> /clouddragonData/log/distschedule/server.log 2>&1 &

結(jié)尾提示

1、編譯后如果無法訪問可對比官方文檔查錯(cuò)

2、相應(yīng)ip端口一定要放開

三、實(shí)物操作體驗(yàn)

代碼倉

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

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

    關(guān)注

    1

    文章

    3032

    瀏覽量

    48361
  • 智能電飯煲
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    6424
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3548

    瀏覽量

    15740

原文標(biāo)題:智能電飯煲

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

收藏 人收藏

    評論

    相關(guān)推薦

    首期OpenHarmony開源開發(fā)成長計(jì)劃2021正式啟航

    活動介紹:OpenHarmony開源開發(fā)成長計(jì)劃,是一項(xiàng)為了鼓勵(lì)開發(fā)者積極參與開源軟件的開發(fā)維護(hù),幫助
    發(fā)表于 10-26 14:21

    豐厚獎金 | 首屆OpenHarmony開源開發(fā)成長計(jì)劃(第二階段申請截止)

    OpenAtom OpenHarmony(以下簡稱“OpenHarmony”) 開源開發(fā)成長計(jì)劃項(xiàng)目自 10 月 24 日上線以來,在開發(fā)
    發(fā)表于 11-15 16:45

    OpenHarmony開源開發(fā)成長計(jì)劃:電子發(fā)燒友導(dǎo)師團(tuán)招募

    OpenAtom OpenHarmony(以下簡稱“OpenHarmony”) 開源開發(fā)成長計(jì)劃項(xiàng)目自2021年 10 月 24 日上線以來,在
    發(fā)表于 04-02 17:32

    誠邀報(bào)名丨首期OpenHarmony開發(fā)成長計(jì)劃分享日

    OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)開源開發(fā)成長計(jì)劃,是一項(xiàng)為了鼓勵(lì)開發(fā)者積極參與開源軟件的
    發(fā)表于 04-21 18:26

    誠邀報(bào)名丨首期OpenHarmony開發(fā)成長計(jì)劃分享日

    開源項(xiàng)目 OpenHarmony是每個(gè)人的 OpenHarmonyOpenAtom OpenHarmony(以下簡稱“OpenHarmony”)開源
    發(fā)表于 04-22 12:58

    最新活動|OpenHarmony開源開發(fā)成長計(jì)劃解決方案學(xué)生挑戰(zhàn)賽即將開啟!

    如果說開源是數(shù)字未來的重要一環(huán)那么開發(fā)者就是開源世界的耕耘者、建設(shè)者OpenHarmony 開源開發(fā)成長計(jì)劃解決方案學(xué)生挑戰(zhàn)賽為聯(lián)合國可持續(xù)發(fā)展的一項(xiàng)或多項(xiàng)目標(biāo)提供解決方案參賽作品必
    發(fā)表于 06-08 17:47

    等個(gè)有“源”人|OpenHarmony 成長計(jì)劃學(xué)生挑戰(zhàn)賽報(bào)名啟動

    OpenAtom OpenHarmony(以下簡稱“OpenHarmony)開源開發(fā)成長計(jì)劃—解決方案學(xué)生挑戰(zhàn)賽(以下簡稱“本大賽”或“成長計(jì)劃
    發(fā)表于 06-13 10:22

    等個(gè)有“源”人|OpenHarmony 成長計(jì)劃學(xué)生挑戰(zhàn)賽報(bào)名啟動

    OpenAtom OpenHarmony(以下簡稱“OpenHarmony)開源開發(fā)成長計(jì)劃—解決方案學(xué)生挑戰(zhàn)賽(以下簡稱“本大賽”或“成長計(jì)劃
    發(fā)表于 06-13 11:24

    每日推薦 | OpenHarmony 成長計(jì)劃學(xué)生挑戰(zhàn)賽,全志開發(fā)板資料合集

    者使用。如果官方資料有更新,將會及時(shí)跟進(jìn)!2、等個(gè)有“源”人|OpenHarmony 成長計(jì)劃學(xué)生挑戰(zhàn)賽報(bào)名啟動推薦理由:OpenAtom OpenHarmony(以下簡稱“OpenHarmo
    發(fā)表于 06-15 10:02

    OpenHarmony開源開發(fā)成長計(jì)劃 | 知識賦能第六期預(yù)告—OpenHarmony智能家居項(xiàng)目介紹

    OpenAtom OpenHarmony(以下簡稱“OpenHarmony")開源開發(fā)成長計(jì)劃項(xiàng)目自 2021 年 10 月 24 日上線以來,在
    發(fā)表于 06-16 17:48

    OpenHarmony成長計(jì)劃挑戰(zhàn)賽作品有獎?wù)骷?/a>

    OpenAtomOpenHarmony(以下簡稱“OpenHarmony”)開源開發(fā)成長計(jì)劃—解決方案學(xué)生挑戰(zhàn)賽(以下簡稱“本大賽”或“成長計(jì)劃
    發(fā)表于 08-30 15:56

    成長計(jì)劃知識賦能 | 第十期:DAYU200開發(fā)入門秒Get

    2021年12月,OpenAtom OpenHarmony(以下簡稱”OpenHarmony“)開源開發(fā)成長計(jì)劃開啟了第一節(jié)OpenHarmony
    發(fā)表于 04-17 11:18

    OpenHarmony開源開發(fā)成長計(jì)劃尋找改變世界的開源新生力

    OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)開源開發(fā)成長計(jì)劃,是一項(xiàng)為鼓勵(lì)開發(fā)者積極參與
    的頭像 發(fā)表于 04-25 09:23 ?1284次閱讀
    <b class='flag-5'>OpenHarmony</b>開源<b class='flag-5'>開發(fā)</b>者<b class='flag-5'>成長計(jì)劃</b>尋找改變世界的開源新生力

    OpenHarmony Tech Day技術(shù)日 成長計(jì)劃總覽

    OpenHarmony成長計(jì)劃活動的總介紹
    的頭像 發(fā)表于 04-25 14:03 ?730次閱讀
    <b class='flag-5'>OpenHarmony</b> Tech Day技術(shù)日 <b class='flag-5'>成長計(jì)劃</b>總覽

    OpenHarmony Tech Day技術(shù)日 成長計(jì)劃品牌活動規(guī)劃

    OpenHar演講OpenHarmony開源開發(fā)計(jì)劃,成長計(jì)劃品牌活動規(guī)劃
    的頭像 發(fā)表于 04-25 14:08 ?707次閱讀
    <b class='flag-5'>OpenHarmony</b> Tech Day技術(shù)日 <b class='flag-5'>成長計(jì)劃</b>品牌活動規(guī)劃