色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

基于搭載OpenHarmony避障小車連接華為云心得體會

福州市凌睿智捷電子有限公司 ? 2022-06-14 11:15 ? 次閱讀

一、前言

上次給大家展示了基于OpenHarmony的避障小車,我就在想能不能通過云端來控制小車的工作。正好小凌派板載了WIFI功能,小凌派官方例程中又有通過MQTT協(xié)議連接華為云的例程。在不斷的嘗試下,終于完成了通過華為云給小車下發(fā)工作命令的避障小車。

二、小車介紹

這是一款基于OpenHarmony系統(tǒng)和RK2206小凌派開發(fā)板的避障小車。同時,小車搭載了超聲波測距模塊、舵機(jī)模塊、紅外尋跡模塊、直流電機(jī)模塊。

323012ae-e734-11ec-a2f4-dac502259ad0.png

圖1 小車組裝圖

32775ce0-e734-11ec-a2f4-dac502259ad0.png ?????????

圖2 小凌派開發(fā)板

三、華為云配置

在華為云中創(chuàng)建一個新的設(shè)備(圖3),創(chuàng)建設(shè)備的設(shè)備密碼一定要牢記,后面要用到。32afc51c-e734-11ec-a2f4-dac502259ad0.png

圖3 創(chuàng)建完成界面

總體配置如圖4所示。

3326de0e-e734-11ec-a2f4-dac502259ad0.png

圖4 華為云總體配置

創(chuàng)建了一個“work”屬性用來接收小車當(dāng)前的工作狀態(tài)(圖5)。

337f6a9c-e734-11ec-a2f4-dac502259ad0.jpg

圖5 “work”參數(shù)

33a716f0-e734-11ec-a2f4-dac502259ad0.png

創(chuàng)建了兩個命令“小車工作控制”(圖6)和“小車人工控制”(圖7)用來控制小車工作。其中,“小車工作控制”中有三個命令,分別是:ON(工作模式)、OFF(停止模式)、CONTROL(手動控制小車模式)?!靶≤嚾斯た刂啤敝杏形鍌€命令,分別是:STOP(停止)、FORWARD(直行)、TURNLEFT(左轉(zhuǎn))、TURNRIGHT(右轉(zhuǎn))、BCAKWARD(后退)。

圖6 “小車工作控制”參數(shù)

33e0a88e-e734-11ec-a2f4-dac502259ad0.png ?????

圖7 “小車人工控制”參數(shù)

四、小車配置

1.小車連接華為云

利用華為云iot工具(圖8)將填寫注冊設(shè)備時生成的設(shè)備ID和設(shè)備密鑰,生成連接信息(ClientId、Username、Password),并修改代碼中對應(yīng)的CLIENT_ID、USERNAME、PASSWORD。

342aa92a-e734-11ec-a2f4-dac502259ad0.png

圖8 華為云iot工具

將代碼中的CLIENT_ID、USERNAME和PASSWORD改為生成的ClientId、Username和Password。

#define CLIENT_ID

#define USERNAME

#define PASSWORD

修改/device/rockchip/rk2206/sdk_liteos/board/src/config_network.c代碼中的SSID和PASSWORD為使用WIFI的SSID和密匙,用于連接網(wǎng)絡(luò),設(shè)備通過WIFI訪問華為云。

#define SSID

#define PASSWORD

2.小車指令接收配置

344ec738-e734-11ec-a2f4-dac502259ad0.png

從華為云向小車下發(fā)工作指令時,可以在設(shè)備調(diào)試窗口看到華為云發(fā)送消息的body信息?!皊ervice_id”為設(shè)備的服務(wù)ID,ID為“智能小車”;“command_name”為設(shè)備命令名稱,命令為“小車工作控制”;“paras”為設(shè)備命令的執(zhí)行參數(shù),參數(shù)為{ “work”:“ON”}(圖9)。

圖9 華為云發(fā)送消息body信息

以下是處理華為云下發(fā)命令的部分代碼:

obj_cmdname = cJSON_GetObjectItem(obj_root, "command_name");

if (obj_cmdname == NULL)

{

goto EXIT;

}

if (0 == strcmp(cJSON_GetStringValue(obj_cmdname), "小車工作控制"))

{

obj_paras = cJSON_GetObjectItem(obj_root, "paras");

if (obj_paras == NULL)

{

goto EXIT;

}

obj_para = cJSON_GetObjectItem(obj_paras, "work");

if (obj_para == NULL)

{

goto EXIT;

}

if (0 == strcmp(cJSON_GetStringValue(obj_para), "ON"))

{

m_app_status.work = 1;

g_car_status = CAR_TRACE_STATUS;

}

else if (0 == strcmp(cJSON_GetStringValue(obj_para), "OFF"))

{

m_app_status.work = 0;

g_car_status = CAR_STOP_STATUS;

}

else if (0 == strcmp(cJSON_GetStringValue(obj_para), "CONTROL"))

{

m_app_status.work = 2;

g_car_status = CAR_MANUAL_OPERATION_STATUS;

}

cmdret = 0;

}

else if (0 == strcmp(cJSON_GetStringValue(obj_cmdname), "小車人工控制"))

{

obj_paras = cJSON_GetObjectItem(obj_root, "paras");

if (obj_paras == NULL)

{

goto EXIT;

}

obj_para = cJSON_GetObjectItem(obj_paras, "control");

if (obj_para == NULL)

{

goto EXIT;

}

if (0 == strcmp(cJSON_GetStringValue(obj_para), "STOP"))

{

g_car_control = CAR_STOP;

}

else if (0 == strcmp(cJSON_GetStringValue(obj_para), "FORWARD"))

{

g_car_control = CAR_FORWARD;

}

else if (0 == strcmp(cJSON_GetStringValue(obj_para), "TURNLEFT"))

{

g_car_control = CAR_TURNLEFT;

}

else if (0 == strcmp(cJSON_GetStringValue(obj_para), "TURNRIGHT"))

{

g_car_control = CAR_TURNRIGHT;

}

else if (0 == strcmp(cJSON_GetStringValue(obj_para), "BCAKWARD"))

{

g_car_control = CAR_BCAKWARD;

}

cmdret = 0;

}

3.小車數(shù)據(jù)發(fā)送配置

347ae07a-e734-11ec-a2f4-dac502259ad0.png

小車連接上華為云后,每5秒會向華為云的發(fā)送當(dāng)前小車的狀態(tài)信息?!眘erviced”為設(shè)備的服務(wù)ID,ID為”智能小車”;”data”為設(shè)備數(shù)據(jù),數(shù)據(jù)為{“work”:0}(圖10)。

圖10 小車向華為云發(fā)送狀態(tài)信息

以下是小車上傳數(shù)據(jù)到華為云的部分代碼:

oc_mqtt_profile_service_t service;

oc_mqtt_profile_kv_t work;


service.event_time = NULL;

service.service_id = "智能小車";

service.service_property = &work;

service.nxt = NULL;


work.key = "Work";

work.value = &report->work;

work.type = EN_OC_MQTT_PROFILE_VALUE_INT;

work.nxt = NULL;


oc_mqtt_profile_propertyreport(USERNAME, &service);

五、效果

給小車上電之后,等待小車連接華為云,可以看到小車向華為云發(fā)送消息。從視頻中可以看到華為云接收到的消息為data:{“work”:0},說明小車剛上電后并沒有工作。



現(xiàn)在通過華為云向小車下發(fā)工作命令。從視頻中可以看到在小車的前方和左邊都有障礙物。啟動小車后小車會先直行,通過超聲波傳感器獲取前方的距離,當(dāng)距離小于20cm時,小車通過超聲波傳感器測量左右兩邊的距離,由于右邊的距離比左邊大,小車會向右轉(zhuǎn)。從視頻中可以看到,小車按照我們預(yù)想的方向行動,同時我們可以看到華為云接收到的消息為data:{“work”:1},說明小車現(xiàn)在正在工作。



以下是避障的部分代碼:

if (distance < DISTANCE_BETWEEN_CAR_AND_OBSTACLE)

{

car_stop();

LOS_Msleep(500);

car_backward();

printf("This is backward\r\n");

LOS_Msleep(500);

car_stop();

unsigned int ret = engine_go_where();

printf("ret is %d\r\n", ret);

if (ret == CAR_TURN_LEFT)

{

car_left();

LOS_Msleep(800);

}

else if (ret == CAR_TURN_RIGHT)

{

car_right();

LOS_Msleep(800);

}

car_stop();

}

通過華為云下發(fā)命令,將小車的工作模式轉(zhuǎn)換成控制模式,我們可以看到華為云接收到的消息為data:{“work”:2},說明小車的行動受我們控制。



通過華為云向小車下發(fā)直行命令,可以看到小車直行。



通過華為云向小車下發(fā)左轉(zhuǎn)命令,可以看到小車左轉(zhuǎn)。



通過華為云向小車下發(fā)右轉(zhuǎn)命令,可以看到小車右轉(zhuǎn)。



通過華為云向小車下發(fā)后退命令,可以看到小車后退。



六、心得體會

通過本次項目使用搭載OpenHarmony的小凌派RK2206開發(fā)板進(jìn)行開發(fā)。小凌派官方教程簡介清晰,便于入門。RK2206芯片接口比較豐富,移植適配穩(wěn)定性較好,整體開發(fā)進(jìn)度比較順利。讓我學(xué)習(xí)到了如何使用MQTT協(xié)議連接華為云去控制小車的工作。通過這一次的應(yīng)用開發(fā),體驗了OpenHarmony和國產(chǎn)芯片開發(fā),是一次不錯的學(xué)習(xí)體驗,特此記錄!

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

    關(guān)注

    25

    文章

    3724

    瀏覽量

    16364
收藏 人收藏

    評論

    相關(guān)推薦

    AG32開發(fā)板使用的幾點心得體會

    具體介紹這里不細(xì)說,可以自己去官網(wǎng)下載資料 這里只說干貨。 AG32VF407 AG32VF407這個主控,是我見到的比較有個性的產(chǎn)品之一。 對于這個開發(fā)板使用起來,簡直不要太爽了。 感謝這個平臺讓我認(rèn)識了這家的產(chǎn)品,真的是讓我挺喜歡的。 最讓我喜歡的功能1:IO可以任意配置 這點在使用PCB布線的時候,非常的方便。 不用擔(dān)心走線交叉了。 這個還有個好處是,程序可以隨時更改配置,而硬件確不需要更改。特別是產(chǎn)品升級了,硬件接口也升級了,通常需要重新投板,這個完全不需要,軟件重新配置即可。 最讓我喜歡的功能2:FPGA+RISC-V架構(gòu) 對我的項目而言,再也不需要使用獨立FPGA+獨立ARM架構(gòu)了。 這節(jié)省了PCB資源,也可以讓產(chǎn)品做的更小,而且合在一個SOC中。 還有個好處就是功耗可以降低不少。 當(dāng)然這個芯片雖然好,但也不是十全十美的,他們家的IDE配置比較復(fù)雜,需要有一定技術(shù)基礎(chǔ)的使用。 例程不多,但是很精,需要慢慢專研。 最后 這家公司比較小眾,但是產(chǎn)品很出色,市面上的資料比較少,需要大家自己去查資料,去學(xué)習(xí)。 整體而言,我還是非常喜歡這顆芯片。 最近他們新出了AG32VH407,這個內(nèi)部集成了8M的PSRM。 有了這個,可以做LVGL等更高級的應(yīng)用了。不必在使用外部ram了,也可以節(jié)省不少成本。
    發(fā)表于 10-31 19:26

    機(jī)器人紅外

    機(jī)器人紅外
    發(fā)表于 09-19 12:57 ?0次下載

    機(jī)智開源自動化控制篇-式舵機(jī)轉(zhuǎn)向系統(tǒng)

    本次采用STM32F103C8T6單片機(jī)、ESP-01S模塊、紅外模塊、SG90舵機(jī)(360°)以及0.96寸的IIC接口OLED顯示屏,基于機(jī)智平臺,完成了
    的頭像 發(fā)表于 08-30 12:14 ?339次閱讀
    機(jī)智<b class='flag-5'>云</b>開源自動化控制篇-<b class='flag-5'>避</b><b class='flag-5'>障</b>式舵機(jī)轉(zhuǎn)向系統(tǒng)

    第13章-循跡功能 STM32智能小車循跡教程 PID循跡算法分析

    第13章-循跡功能 循跡小車講解 原理分析 STM32智能小車循跡教程 紅外對管使用 PID循跡算法分析V3:HAL庫開發(fā)、功能:PID速度控制、PID循跡、PID跟隨、遙控、、P
    的頭像 發(fā)表于 08-21 16:27 ?1558次閱讀
    第13章-循跡功能 STM32智能<b class='flag-5'>小車</b>循跡教程 PID循跡算法分析

    第七章-V1.5 STM32超聲波測距STM32F103C8t6超聲波小車 超聲波模塊 STM32超聲波測距

    5STM32超聲波測距STM32F103C8t6超聲波小車
    的頭像 發(fā)表于 08-15 16:25 ?688次閱讀
    第七章-V1.5 STM32超聲波測距STM32F103C8t6超聲波<b class='flag-5'>避</b><b class='flag-5'>障</b><b class='flag-5'>小車</b> 超聲波<b class='flag-5'>避</b><b class='flag-5'>障</b>模塊 STM32超聲波測距

    第六章-V1.5 STM32 ADC讀取電壓 ADC采樣電壓 STM32f103c8t6adc采集電壓

    STM32智能小車 庫函數(shù)開發(fā)。功能:循跡、、跟隨、遙控、電池電壓顯示等。
    的頭像 發(fā)表于 08-15 16:23 ?912次閱讀
    第六章-V1.5 STM32 ADC讀取電壓 ADC采樣電壓 STM32f103c8t6adc采集電壓

    智行者——視聽障礙者出行輔助AI小車設(shè)計

    設(shè)備,配備AI導(dǎo)航小車和家屬端App,旨在滿足視聽障礙者的實時定位和信息交流需求。設(shè)備包含導(dǎo)航、語音交互和觸摸交互模塊,支持定位、路徑規(guī)劃和實時
    的頭像 發(fā)表于 07-19 08:11 ?684次閱讀
    智行者——視聽障礙者出行輔助AI<b class='flag-5'>小車</b>設(shè)計

    請問ESP是否支持LiteOS+華為IOT+AT的方式?

    我們想使用ESP32 AT模式連接華為IOT平臺,并且ESP32要運行LiteOS,請問現(xiàn)在ESP32支持這個功能嗎
    發(fā)表于 07-19 07:32

    凱迪正大高壓電纜故障查找心得

    和大家分享一下武漢凱迪正大電氣的高壓電纜故障的心得體會歡迎大家探討與交流 關(guān)鍵詞:高壓電纜、故障查找、診斷技術(shù)、低壓脈沖測試法、直流高壓閃絡(luò)法 在電力系統(tǒng)中,高壓電纜的故障查找是一項重要的工作。當(dāng)
    的頭像 發(fā)表于 05-22 15:45 ?400次閱讀
    凱迪正大高壓電纜故障查找<b class='flag-5'>心得</b>

    雷達(dá)的安裝位置應(yīng)該如何選擇

    雷達(dá)的安裝位置選擇對于AGV小車(自動導(dǎo)引車)的安全性和效果至關(guān)重要。以下是選擇
    的頭像 發(fā)表于 05-20 10:49 ?454次閱讀

    AGV小車使用雷達(dá)

    AGV(自動導(dǎo)引車)小車使用雷達(dá)是為了確保其在運行過程中的安全性和穩(wěn)定性。雷達(dá),如激光雷達(dá)或超聲波雷達(dá),能夠?qū)崟r檢測并避免與障礙物發(fā)
    的頭像 發(fā)表于 05-20 10:48 ?644次閱讀

    印度理工學(xué)院研發(fā)低功耗二維晶體管,借鑒蝗蟲神經(jīng)元實現(xiàn)功能

    長期以來,自動駕駛及機(jī)器人自主行動成為眾多科研團(tuán)隊的追求。而是這一技術(shù)實際應(yīng)用的關(guān)鍵所在。為此,兩所學(xué)校的研究者們致力于尋找一種低能耗的解決方案。
    的頭像 發(fā)表于 04-23 14:26 ?423次閱讀

    談?wù)劥蠹覍W(xué)習(xí)FPGA的經(jīng)歷

    談?wù)劥蠹覍W(xué)習(xí)FPGA,一路以來的經(jīng)歷感受,有啥心得體會都可以暢聊分享
    發(fā)表于 03-31 12:55

    視覺、激光、結(jié)構(gòu)光?掃地機(jī)器人導(dǎo)航技術(shù)盤點

    越來越多的家庭都配備掃地機(jī)器人,既能解放雙手又能保持家庭清潔。而掃地機(jī)器人也不斷智能化迭代,撞墻、卡住、跌落等故障隨著導(dǎo)航技術(shù)的迭代順利解決。行業(yè)共識認(rèn)為,導(dǎo)航、能力是衡量掃地
    的頭像 發(fā)表于 02-01 16:01 ?1323次閱讀

    基于瑞薩RA2E1 MCU芯片的藍(lán)牙平衡小車設(shè)計

    本項目由瑞薩RA2E1 MCU芯片作為主控,搭載電源模塊、MPU6050模塊、超聲波模塊、OLED模塊、藍(lán)牙模塊、電機(jī)模塊等組成的藍(lán)牙平衡小車。該小車有平衡模式、跟隨模式和
    的頭像 發(fā)表于 01-08 12:17 ?1819次閱讀
    基于瑞薩RA2E1 MCU芯片的藍(lán)牙平衡<b class='flag-5'>小車</b>設(shè)計
    主站蜘蛛池模板: 中文字幕高清在线中文字幕| japonensis护士| 午夜看片网| 亚洲不卡一卡2卡三卡4卡5卡| 亚洲欧美日韩一级特黄在线| 伊人久久大香线蕉avapp下载| 在线视频 亚洲| beeg日本老师| 国产成人v视频在线观看| 国产一卡2卡3卡4卡孕妇网站 | 日本午夜精品理论片A级APP发布| 日本夜夜夜| 亚洲不卡高清免v无码屋| 中文中幕无码亚洲视频| www.精品久久| 国产特级毛片AAAAAAA高清| 久久99热这里只有精品66| 蜜芽在线影片| 四虎国产精品高清在线观看| 亚洲精品一二三区-久久| 2020亚洲色噜噜狠狠网站| 达达兔午夜一级毛片| 果冻传媒2021一二三在线观看| 么公一夜要了我一八次视频HD| 日韩精品免费一区二区| 亚洲第一免费播放区| 99re6久久热在线播放| 国产精品大全国产精品| 久久黄色免费| 日韩精品一卡二卡三卡四卡2021| 性肥胖BWBWBW| 99视频精品全部免费观看| 国产伦精品一区二区三区免费 | mdapptv麻豆下载| 国产午夜精品理论片免费观看| 老师的快感电影完整版| 肉肉的各种姿势高H细文| 一个人免费视频在线观看高清版| www在线小视频免费| 混乱家庭电影完整版在线看| 青青伊人国产|