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

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

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

智能掃地機(jī)器人設(shè)計(jì)方案

電子發(fā)燒友開源社區(qū) ? 來源:HarmonyOS官方合作社區(qū) ? 作者:HarmonyOS官方合作社 ? 2022-03-25 09:10 ? 次閱讀

1

簡介

此Demo采用潤和的智能小車套件為硬件模型,通過修改代碼具備了掃地機(jī)器人簡易的避障功能及防跌落功能,并且能通過wifi接入數(shù)字管家應(yīng)用場景。智能掃地機(jī)不僅能接收數(shù)字管家應(yīng)用下發(fā)的指令啟動或停止掃地機(jī)器人,而且還可以加入到數(shù)字管家的日程管理中。通過日程可以設(shè)定智能掃地機(jī)啟動的時(shí)間段,使其在特定的時(shí)間段內(nèi),智能掃地機(jī)自動啟動或者停止。

避障功能原理:通過超聲波傳感器,傳回正前方障礙與智能掃地機(jī)的距離信息,配合電機(jī)控制,避開障礙物;

防跌落功能原理:如圖左右各朝下安裝了紅外傳感器,通過紅外對管(發(fā)射管和接收管)收發(fā)特性:1 在地面上時(shí)發(fā)射管發(fā)出的紅外信號充分經(jīng)地面反射回接收管,即接收管能接收到足夠強(qiáng)的紅外光,代碼判斷為在地面;2 小車懸空時(shí),發(fā)射管發(fā)出的紅外信號不能被接收管接收,代碼判斷為在懸空狀況;3 再配合兩輪運(yùn)動控制,避免小車跌落。

0b0161fa-ab85-11ec-aa7f-dac502259ad0.png

1. 交互流程:

0b1c49d4-ab85-11ec-aa7f-dac502259ad0.png

如上圖所示,智能掃地機(jī)整體方案原理圖可以大致分成:智能掃地機(jī)、數(shù)字管家應(yīng)用、云平臺三部分。智能掃地機(jī)通過MQTT協(xié)議連接華為IoT物聯(lián)網(wǎng)平臺,從而實(shí)現(xiàn)命令的接收和屬性上報(bào)。關(guān)于智能設(shè)備接入華為云IoT平臺的詳細(xì)細(xì)節(jié)可以參考 連接IoT云平臺指南;智能設(shè)備同數(shù)字管家應(yīng)用之間的設(shè)備模型定義可以參考profile

2. 實(shí)物簡介:

0b32afda-ab85-11ec-aa7f-dac502259ad0.png

我們使用潤和Wi-Fi IoT智能小車套件來模擬智能掃地機(jī);


oled屏負(fù)責(zé)顯示當(dāng)前網(wǎng)絡(luò)狀況,有三種狀況:


1.WIFI_CONNECT_ING(等待配網(wǎng),未連入WIFI);
2.WIFI_CONNECT_OK(已經(jīng)連入WIFI,等待自動連入華為云端);
3.IOT_CONNECT_OK(已經(jīng)連入華為云端)。

reset按鍵控制設(shè)備重啟;
按鍵1可以啟動、暫停智能掃地機(jī);
按鍵2組合reset按鍵執(zhí)行配網(wǎng)操作;

配網(wǎng)操作:

reset按鍵組合控制按鍵可以清除已保存的配網(wǎng)信息,具體操作:


1 .按下按鍵2,保持按鍵2被按下,執(zhí)行以下第2步;
2 .按下reset按鍵,保持1秒;
3 .先松開reset按鍵,1秒后再松開按鍵2;
4 .OLED顯示W(wǎng)IFI_CONNECT_ING,即進(jìn)入配網(wǎng)模式;


通過NFC模塊實(shí)現(xiàn)設(shè)備碰一碰快速配網(wǎng)。

3.實(shí)物操作體驗(yàn)

0b5cec5a-ab85-11ec-aa7f-dac502259ad0.gif

如上圖,主要有三個(gè)操作(下面有詳細(xì)介紹):
1 .手機(jī)碰一碰掃地機(jī)上的標(biāo)簽,自動配網(wǎng);
2 .手機(jī)上啟動、暫停智能掃地機(jī);
3 .給智能掃地機(jī)添加日程。

2

快速上手

1. 硬件準(zhǔn)備

  • Wi-Fi IoT智能小車套件

  • 預(yù)裝HarmonyOS手機(jī)一臺

2、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。

安裝和配置Python

  • 打開Linux終端。

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

python3 --version

左右滑動查看全部代碼

  • 安裝并升級Python包管理工具(pip3)。

sudo apt-get install python3-setuptools python3-pip -ysudo pip3 install --upgrade pip

左右滑動查看全部代碼

安裝hb

  • 運(yùn)行如下命令安裝hb

python3 -m pip install --user ohos-build

左右滑動查看全部代碼

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

vim ~/.bashrc

左右滑動查看全部代碼

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

export PATH=~/.local/bin:$PATH

左右滑動查看全部代碼

執(zhí)行如下命令更新環(huán)境變量。

source ~/.bashrc

左右滑動查看全部代碼

  • 執(zhí)行"hb -h",有打印以下信息即表示安裝成功

usage: hb
OHOS build system
positional arguments: {build,set,env,clean}  build        Build source code  set         OHOS build settings  env         Show OHOS build env  clean        Clean output
optional arguments: -h, --help      show this help message and exit

左右滑動查看全部代碼

3、Hi3861開發(fā)環(huán)境準(zhǔn)備

在Linux編譯服務(wù)器上搭建好基礎(chǔ)開發(fā)環(huán)境后,需要安裝OpenHarmony 編譯Hi3861 平臺特有的開發(fā)環(huán)境。

安裝編譯依賴基礎(chǔ)軟件

sudo apt-get install -y build-essential gcc g++ make zlib* libffi-dev

左右滑動查看全部代碼

安裝Scons

打開Linux 終端。

運(yùn)行如下命令,安裝Scons安裝包。

python3 -m pip install scons

左右滑動查看全部代碼

運(yùn)行如下命令,查看是否安裝成功。如果安裝成功,查詢結(jié)果下圖所示。

scons -v

左右滑動查看全部代碼

下圖 Scons安裝成功界面,版本要求3.0.4以上

0b850712-ab85-11ec-aa7f-dac502259ad0.png

安裝python模塊

sudo pip3 install setuptools kconfiglib pycryptodome ecdsa six --upgrade --ignore-installed six

左右滑動查看全部代碼

安裝gcc_riscv32(WLAN模組類編譯工具鏈)

  • 打開Linux終端。

  • 下載gcc_riscv32鏡像,下載鏈接。

  • 設(shè)置環(huán)境變量,將壓縮包解壓到根目錄

tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~

左右滑動查看全部代碼

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

vim ~/.bashrc

左右滑動查看全部代碼

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

export PATH=~/gcc_riscv32/bin:$PATH

左右滑動查看全部代碼

生效環(huán)境變量

source ~/.bashrc

左右滑動查看全部代碼

在命令行中輸入如下命令,如果能正確顯示編譯器版本號,表明編譯器安裝成功。

riscv32-unknown-elf-gcc -v

左右滑動查看全部代碼

4、源碼下載&編譯準(zhǔn)備

1.碼云工具下載

curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repochmod a+x /usr/local/bin/repopip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

左右滑動查看全部代碼

2.代碼下載

OpenHarmony代碼下載

#特別注意:請下載OpenHarmony 1.0.1 版本,后續(xù)會更新支持OpenHarmony其他版本mkdir ~/OpenHarmony1.01cd ~/OpenHarmony1.01repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verifyrepo sync -crepo forall -c 'git lfs pull'

左右滑動查看全部代碼

設(shè)備側(cè)代碼下載

具體倉庫地址:https://gitee.com/openharmony-sig/knowledge_demo_smart_home/
具體下載命令如下:

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

左右滑動查看全部代碼

編譯前準(zhǔn)備

  • 代碼拷貝

cd ~/OpenHarmony1.01cp -RFa ~/knowledge_demo_smart_home/dev/team_x ~/OpenHarmony1.01/vendor/cp -rfa ~/knowledge_demo_smart_home/dev/third_party/iot_link ~/OpenHarmony1.01/third_party/

左右滑動查看全部代碼

  • Hispark開發(fā)板相關(guān)文件修改

修改usr_config.mk 文件,地址:device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk

使能如下配置項(xiàng)CONFIG_I2C_SUPPORT=yCONFIG_PWM_SUPPORT=y

左右滑動查看全部代碼

修改wifiservice 文件夾,地址:device/hisilicon/hispark_pegasus/hi3861_adapter/hals/communication/wifi_lite/wifiservice/source/wifi_hotspot.c

EnableHotspot函數(shù)中屏蔽如下字段139   //if (SetHotspotIpConfig() != WIFI_SUCCESS) {140   //  return ERROR_WIFI_UNKNOWN;141   //}
地址:device/hisilicon/hispark_pegasus/hi3861_adapter/hals/communication/wifi_lite/wifiservice/source/wifi_device.c
DispatchConnectEvent函數(shù)下 屏蔽StaSetWifiNetConfig相關(guān)代碼行239     //StaSetWifiNetConfig(HI_WIFI_EVT_CONNECTED);260    //StaSetWifiNetConfig(HI_WIFI_EVT_DISCONNECTED);

左右滑動查看全部代碼

整合并修改完成后的目錄結(jié)構(gòu)如下圖:

0b966e8a-ab85-11ec-aa7f-dac502259ad0.png

5、編譯&燒錄

編譯命令:

hb set // 如果是第一次編譯,Input code path 命令行中鍵入"./" 指定OpenHarmony工程編譯根目錄后 回車

左右滑動查看全部代碼

如下圖所示,使用鍵盤上下鍵選中智能掃地機(jī)

0ba30456-ab85-11ec-aa7f-dac502259ad0.png

hb build // 如果需要全量編譯,可以添加-f 選項(xiàng)

左右滑動查看全部代碼

詳細(xì)的代碼編譯及固件燒錄步驟,請參考 編譯和燒錄指南

6.、設(shè)備配網(wǎng)

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

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

  • 燒錄完成后,上電。剛燒錄完后設(shè)備處在配網(wǎng)模式下,OLED顯示W(wǎng)IFI_CONNECT_ING,將手機(jī)上半部靠近開發(fā)板NFC標(biāo)簽處,wifi連接成功后會顯示W(wǎng)IFI_CONNECT_OK,成功連入華為云端會顯示IOT_CONNECT_OK;

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

0bb1623a-ab85-11ec-aa7f-dac502259ad0.gif

7.、操作體驗(yàn)

設(shè)備控制
配網(wǎng)完成后,數(shù)字管家應(yīng)用會自動進(jìn)入智能掃地機(jī)的控制頁面,通過控制頁面可以實(shí)現(xiàn)對智能掃地機(jī)啟動、停止操作

0bd5585c-ab85-11ec-aa7f-dac502259ad0.gif

添加日程
使用者可以進(jìn)入數(shù)字管家的日程管理頁面中添加智能掃地機(jī)的相關(guān)日程,具體步驟如下:

  • 在輸入日程名稱后,選擇相關(guān)通知成員和掃地機(jī)設(shè)備;

  • 選擇期待執(zhí)行的掃地機(jī)操作,例如:設(shè)置智能掃地機(jī)在特定時(shí)間段內(nèi)啟動或停止;

  • 設(shè)置日程的重復(fù)日期,例如:可以設(shè)置單次日程(僅在當(dāng)天執(zhí)行),或者重復(fù)日程(設(shè)置日程在設(shè)定的 星期幾重復(fù)執(zhí)行)

0bfcf1b4-ab85-11ec-aa7f-dac502259ad0.gif

原文標(biāo)題:OpenHarmony開發(fā)樣例:智能掃地機(jī)器人

文章出處:【微信公眾號:HarmonyOS官方合作社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅


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

    關(guān)注

    210

    文章

    27984

    瀏覽量

    205533
  • 智能
    +關(guān)注

    關(guān)注

    8

    文章

    1697

    瀏覽量

    117322
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3607

    瀏覽量

    15956

原文標(biāo)題:OpenHarmony開發(fā)樣例:智能掃地機(jī)器人

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    掃地機(jī)器人十大排名!了解掃地機(jī)器人哪個(gè)牌子好

    智能清潔領(lǐng)域的研發(fā)和生產(chǎn),智能掃地機(jī)行業(yè)知名品牌,以發(fā)明技術(shù)領(lǐng)先市場,***工業(yè)協(xié)會長任理事會成員機(jī)器人設(shè)計(jì)標(biāo)準(zhǔn)制定單位,榮獲***精品獎  8、飛利浦PHILIPS  荷蘭皇家飛利浦
    發(fā)表于 01-20 12:04

    掃地機(jī)器人如何選購?

    作為一個(gè)朝九晚五的上班狗。每天累死累活。家里都快成豬窩了。有大神推薦下掃地機(jī)器人么?我剛看了另一個(gè)帖子掃地機(jī)器人十大排名什么的。還是懵里懵懂,求選購小技巧哈。。。
    發(fā)表于 01-21 09:42

    掃地機(jī)器人方案

    為我們的生活帶來很多樂趣。深圳賽億科技致力于開發(fā)多年,為您打造最牛掃地機(jī)器人物聯(lián)網(wǎng)方案。打造屬于您的智能生活。
    發(fā)表于 05-18 17:08

    【NanoPi2申請】掃地機(jī)器人

    申請理由:應(yīng)用于高端掃地機(jī)器人的開發(fā),項(xiàng)目描述:應(yīng)用于高端掃地機(jī)器人的開發(fā),公司原來方案采用comtexM3架構(gòu),此款準(zhǔn)備開發(fā)高端搭載定位系統(tǒng),連接室內(nèi)wifi使用
    發(fā)表于 12-02 16:10

    原來掃地機(jī)器人是這樣工作的!

    `您一般每周打掃幾次衛(wèi)生?每天、3次、1次?那您又是如何打掃的呢?掃掃地、拖拖地?您了解或使用過掃地機(jī)器人嗎?其實(shí)。在歐美智能家居市場上,掃地機(jī)器人已經(jīng)基本普及了,隨著國內(nèi)生活水平的提
    發(fā)表于 12-24 15:03

    掃地機(jī)器人怎么制作

    掃地機(jī)器人怎么制作
    發(fā)表于 01-12 01:52

    智能掃地機(jī)器人解決方案

    掃地機(jī)器人工作。二 智能掃地機(jī)器人控制方案簡介1. 方案概述智能
    發(fā)表于 05-27 13:31

    你對掃地機(jī)了解多少?

    強(qiáng)大的吸力,毛發(fā)、雜質(zhì)、灰塵都能一吸而凈不留任何痕跡。  那么還有的就是掃地機(jī)會不會從樓梯或者陽臺上掉下來呢?前幾天我看了一部韓劇,里面有看到一個(gè)家庭里面的掃地機(jī)在打掃的時(shí)候,從陽臺上掉到了樓下?但是隨著科技的發(fā)展。智能
    發(fā)表于 11-30 10:45

    智能家庭掃地機(jī)器人設(shè)計(jì)原理研究與分析電子書下載

    推薦課程:張飛軟硬開源:基于STM32的BLDC直流無刷電機(jī)驅(qū)動器(視頻+硬件)http://url.elecfans.com/u/73ad899cfd智能家庭掃地機(jī)器人設(shè)計(jì)原理研究與分析電子書下載
    發(fā)表于 06-30 23:01

    如何選擇好的掃地機(jī)器人

    和碎屑灰塵很難清理,增添了主人的衛(wèi)生工作負(fù)擔(dān)。熱衷擼貓養(yǎng)狗的小公舉們,面對著地上床上衣服上,隨處可見的毛毛,只能無奈的撓頭。智能掃地機(jī)器人的引入和改進(jìn),解放了人們的雙手,很大程度緩解了 衛(wèi)生工作的難度
    發(fā)表于 08-20 16:26

    智能掃地機(jī)器人用什么馬達(dá)

    隨著科技的發(fā)展,家庭電器也越來越智能化了,掃地機(jī)器人也越來越智能化,大大的方便了我們的生活。智能掃地機(jī)器人對技術(shù)的要求比較高,同樣對于
    發(fā)表于 10-12 10:11

    服務(wù)型智能掃地機(jī)器人的主要功能有哪些呢

    服務(wù)型智能掃地機(jī)器人因其低廉的價(jià)格和高效的工作能力,越來越受到消費(fèi)者的認(rèn)可,目前己逐漸進(jìn)入家庭生活代替人們的清潔工作,具有廣闊的市場。服務(wù)型智能掃地機(jī)器人需要具有自主運(yùn)動規(guī)劃和導(dǎo)航功能
    發(fā)表于 11-08 09:26

    電機(jī)驅(qū)動的掃地機(jī)器人介紹

    的狹窄部位。掃地機(jī)器人設(shè)計(jì)挑戰(zhàn) 電池壽命和可靠性是真空機(jī)器人面臨的兩大設(shè)計(jì)挑戰(zhàn)。大多數(shù)掃地機(jī)器人都是電池供電的,并從電源座充電…
    發(fā)表于 11-09 07:39

    掃地機(jī)器人面臨的設(shè)計(jì)挑戰(zhàn)有哪些

    掃地機(jī)器人已面世約23年了,隨著其智能和自動化程度日益提高,人們可以在其工作時(shí)專注于自己的事情。掃地機(jī)器人的參考設(shè)計(jì)和產(chǎn)品點(diǎn)擊此處瀏覽設(shè)計(jì)如今的掃地機(jī)器人上集成了非常多的功能,比如新的
    發(fā)表于 11-09 06:02

    掃地機(jī)器人EMC方案

    *附件:掃地機(jī)器人EMC方案.pdf
    發(fā)表于 02-08 14:49