在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

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

一、前言

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

二、小車介紹

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

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

圖1 小車組裝圖

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

圖2 小凌派開發板

三、華為云配置

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

圖3 創建完成界面

總體配置如圖4所示。

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

圖4 華為云總體配置

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

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

圖5 “work”參數

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

創建了兩個命令“小車工作控制”(圖6)和“小車人工控制”(圖7)用來控制小車工作。其中,“小車工作控制”中有三個命令,分別是:ON(工作模式)、OFF(停止模式)、CONTROL(手動控制小車模式)。“小車人工控制”中有五個命令,分別是:STOP(停止)、FORWARD(直行)、TURNLEFT(左轉)、TURNRIGHT(右轉)、BCAKWARD(后退)。

圖6 “小車工作控制”參數

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

圖7 “小車人工控制”參數

四、小車配置

1.小車連接華為云

利用華為云iot工具(圖8)將填寫注冊設備時生成的設備ID和設備密鑰,生成連接信息(ClientId、Username、Password),并修改代碼中對應的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和密匙,用于連接網絡,設備通過WIFI訪問華為云。

#define SSID

#define PASSWORD

2.小車指令接收配置

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

從華為云向小車下發工作指令時,可以在設備調試窗口看到華為云發送消息的body信息。“service_id”為設備的服務ID,ID為“智能小車”;“command_name”為設備命令名稱,命令為“小車工作控制”;“paras”為設備命令的執行參數,參數為{ “work”:“ON”}(圖9)。

圖9 華為云發送消息body信息

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

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.小車數據發送配置

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

小車連接上華為云后,每5秒會向華為云的發送當前小車的狀態信息。”serviced”為設備的服務ID,ID為”智能小車”;”data”為設備數據,數據為{“work”:0}(圖10)。

圖10 小車向華為云發送狀態信息

以下是小車上傳數據到華為云的部分代碼:

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);

五、效果

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



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



以下是避障的部分代碼:

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();

}

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



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



通過華為云向小車下發左轉命令,可以看到小車左轉。



通過華為云向小車下發右轉命令,可以看到小車右轉。



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



六、心得體會

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

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

    關注

    25

    文章

    3753

    瀏覽量

    16698
收藏 人收藏

    評論

    相關推薦

    電腦 華為,電腦 華為好用嗎,電腦搭建工具怎么連接

    娛樂活動中,增強了娛樂體驗的互動性和趣味性。接下來和大家一起探索電腦華為好用嗎。 ? ?電腦華為好用嗎: ? ?華為
    的頭像 發表于 01-21 13:20 ?135次閱讀
    <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>電腦搭建工具怎么<b class='flag-5'>連接</b>

    AG32開發板使用的幾點心得體會

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

    機器人紅外

    機器人紅外
    發表于 09-19 12:57 ?0次下載

    機智開源自動化控制篇-接近報警系統

    本次采用STM32F103C8T6單片機、ESP-01S模塊、紅外模塊、蜂鳴器模塊,接入機智平臺,完成接近報警系統,為智能化場景增添強大功能。使用到的模塊STM32F103C8T6ESP-01S紅外
    的頭像 發表于 08-31 08:02 ?391次閱讀
    機智<b class='flag-5'>云</b>開源自動化控制篇-接近報警系統

    機智開源自動化控制篇-式舵機轉向系統

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

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

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

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

    5STM32超聲波測距STM32F103C8t6超聲波小車
    的頭像 發表于 08-15 16:25 ?801次閱讀
    第七章-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智能小車 庫函數開發。功能:循跡、、跟隨、遙控、電池電壓顯示等。
    的頭像 發表于 08-15 16:23 ?1107次閱讀
    第六章-V1.5 STM32 ADC讀取電壓 ADC采樣電壓 STM32f103c8t6adc采集電壓

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

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

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

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

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

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

    雷達的安裝位置應該如何選擇

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

    AGV小車使用雷達

    AGV(自動導引車)小車使用雷達是為了確保其在運行過程中的安全性和穩定性。雷達,如激光雷達或超聲波雷達,能夠實時檢測并避免與障礙物發
    的頭像 發表于 05-20 10:48 ?722次閱讀

    印度理工學院研發低功耗二維晶體管,借鑒蝗蟲神經元實現功能

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

    談談大家學習FPGA的經歷

    談談大家學習FPGA,一路以來的經歷感受,有啥心得體會都可以暢聊分享
    發表于 03-31 12:55
    主站蜘蛛池模板: 操久久久| 九色亚洲 | 天天怕夜夜怕狠狠怕 | 午夜欧美成人久久久久久 | 天天干天天拍天天射天天添天天爱 | 中文字幕亚洲综合久久2 | 男子扒开美女尿口做羞羞的事 | 永久免费品色堂 | 搞逼综合网 | 欧美18性欧美黑吊 | 韩国三级在线视频 | 91麻豆麻豆| 国产精品热久久毛片 | 亚洲精品综合网在线8050影院 | 久久婷五月 | 亚洲视频福利 | 国产香蕉视频在线观看 | 欧美三级 欧美一级 | 国产成人精品曰本亚洲77美色 | 激情综合五月天丁香婷婷 | 视频一区中文字幕 | 亚洲高清一区二区三区 | 免费看美女午夜大片 | 哥也操| 三级网站视频 | 成 人 色综合 | 天天碰天天 | 精品视频在线观看视频免费视频 | 亚洲精品mv在线观看 | 他也色在线视频 | 韩日一级毛片 | 国产亚洲3p一区二区三区 | 国产亚洲高清视频 | 午夜一级福利 | 五月激情久久 | 永久免费看的啪啪网站 | 中文字幕一区在线播放 | 欧美一区二区三区高清视频 | 色老头在线精品视频在线播放 | 狠狠色丁香婷婷综合久久来 | 五月婷婷视频在线观看 |