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

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

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

技術(shù)干貨實踐:如何在樹莓派模擬運行陀螺儀掃地機

智能物聯(lián)研習(xí)社 ? 來源:涂鴉智能 ? 作者:智能物聯(lián)研習(xí)社 ? 2020-06-02 17:48 ? 次閱讀

本篇文章主要講述如何在樹莓派模擬運行一個陀螺儀掃地機的設(shè)備并連接涂鴉云。

步驟

第 1 步:陀螺儀掃地機原理簡述



第 2 步:涂鴉陀螺儀掃地機傳輸協(xié)議

// 涂鴉陀螺儀地圖傳輸協(xié)議
typedef struct
{
uint8_t x;
uint8_t y;
uint8_t type;
} ST_POT;
/* 坐標(biāo)點類型 */
enum enum_point_type
{
point_type_current = 0x00, // 當(dāng)前點
point_type_barrier, // 障礙點
point_type_cleaned, // 已清掃點
point_type_charge, // 充電樁
};


第 3 步:涂鴉陀螺儀掃地機公版面板

如下,從左到右邊依次是 1號面板 2號面板 3號面板





2號 3號面板沒有用到電源開關(guān)power功能點,創(chuàng)建產(chǎn)品時請刪除

第 4 步:開發(fā)準(zhǔn)備

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

注冊涂鴉開發(fā)者賬號,并完成認(rèn)證

開發(fā)平臺鏈接:iot.tuya.com/?_source=50ad109033ec33aa9c41c459dd6e0a4e

創(chuàng)建掃地機產(chǎn)品,如下箭頭所指為PID,為代碼中的PRODUCT_KEY宏


硬件準(zhǔn)備
樹莓派采用 Raspberry Pi 3 Model B



硬件配置

  • Quad Core 1.2GHz Broadcom BCM2837 64bit CPU

  • 1GB RAM

  • BCM43438 wireless LAN,開發(fā)配網(wǎng),連接到涂鴉云

  • Bluetooth Low Energy (BLE) on board

  • 100 Base Ethernet,用于ssh登錄開發(fā)板調(diào)試用

  • 其他資源



調(diào)試方法
為方便,直接在ubuntu虛擬機的Terminal通過ssh登錄到樹莓派開發(fā)板上調(diào)試。
操作方法:樹莓派網(wǎng)口和路由器的lan口相連,登錄路由器獲取樹莓派ip地址,我這里為192.168.56.107;ubuntu虛擬機網(wǎng)絡(luò)設(shè)置為橋接模式,PC主機和樹莓派連接到同一路由器下

tuya@E480:~$ sshroot@192.168.56.107
root@192.168.56.107's password:
Last login: Thu Oct 24 18:47:17 2019 from 192.168.56.100
root@RasPi:~#

確認(rèn)無線網(wǎng)卡支持的配網(wǎng)模式

  • 小貼士:無線網(wǎng)

  • iw list命令可以查看linux系統(tǒng)設(shè)備下無線網(wǎng)卡詳細(xì)信息



root@RasPi:~# iw list
Wiphy phy0
Supported interface modes:無線網(wǎng)卡支持的工作模式
* IBSS
* managed station客戶端模式
* AP 無線接入點模式,這里可用于開發(fā)tuyasdk的ap配網(wǎng)
* P2P-client
* P2P-GO
* P2P-device
......省略其他信息

如上配置,這個網(wǎng)卡不支持sniffer模式,無法開發(fā)SmartConfig配網(wǎng)模式

第 5 步:基本實現(xiàn)思路

  • 這里不是一個真實的掃地機,從涂鴉云導(dǎo)出真實掃地機設(shè)備行走產(chǎn)生的地圖坐標(biāo)數(shù)據(jù)保存到磁盤文件

  • 代碼里新增一個線程負(fù)責(zé)從文件定時讀取數(shù)據(jù)上報涂鴉云,以在APP上展現(xiàn)機器行走的效果,如下






第 6 步:軟件開發(fā)說明

陀螺儀掃地機為wifi單品開發(fā),參考TUYA_IOT_SDK說明
工具鏈獲取,這里推薦一個第三方資源,涂鴉不提供芯片工具鏈。
demo源碼獲取
demo功能說明
支持AP配網(wǎng)模式
支持涂鴉陀螺儀三種陀螺儀面板
支持設(shè)備OTA
編譯時可選是運行在ubuntu設(shè)備上還是樹莓派

第 7 步:關(guān)鍵代碼說明

代碼位置:src/gyro_wifi_dev/tuya_iot_wifi_net.c
設(shè)置網(wǎng)卡工作模式

// 設(shè)置當(dāng)前WIFI工作模式
OPERATE_RET hwl_wf_wk_mode_set(IN CONST WF_WK_MD_E mode)
{
#if defined(USE_RASPI)
switch (mode){
case WWM_STATION:{
sys_shell("ifconfig %s down", WLAN_DEV);
sys_shell("iwconfig %s mode Managed", WLAN_DEV);
sys_shell("ifconfig %s up", WLAN_DEV);
}break;
case WWM_SOFTAP:{
// handle in hwl_wf_ap_start()
break;
}
case WWM_STATIONAP:break;
default:break;
}
#endif
return OPRT_OK;
}

開啟無線網(wǎng)卡熱點

// AP配網(wǎng)模式下開啟熱點
OPERATE_RET hwl_wf_ap_start(IN CONST WF_AP_CFG_IF_S *cfg)
{
PR_DEBUG("Start AP SSID:%s", cfg->ssid);
#if defined(USE_RASPI)
sys_shell("ifconfig "WLAN_DEV" "DEFAULT_IP_ADDR);
sys_shell("iwconfig %s mode Managed", WLAN_DEV);

kill_process("hostapd");
kill_process("udhcpd");
kill_process("wpa_supplicant");
sys_shell("hostapd -B " HOSTAPD_CONF);
sys_shell("udhcpd -f " UDHCPD_CONF " &");
#endif
return OPRT_OK;
}

關(guān)閉無線網(wǎng)卡熱點

// AP配網(wǎng)模式下停止熱點
OPERATE_RET hwl_wf_ap_stop(VOID)
{
PR_DEBUG("Stop Ap Mode");
#if defined(USE_RASPI)
kill_process("hostapd");
kill_process("udhcpd");
#endif
return OPRT_OK;
}

連接路由器

// 使用指定SSID和PASSWD連接WIFI
OPERATE_RET hwl_wf_station_connect(IN CONST CHAR_T *ssid,IN CONST CHAR_T *passwd)
{
PR_DEBUG("STA Con AP ssid:%s passwd:%s", ssid, passwd);
#if defined(USE_RASPI)
// UserTODO
sys_shell("sed -i '/ssid/c\ ssid="%s"' " WPA_SUPPLICANT_CONF,ssid);
sys_shell("sed -i '/psk/c\ psk="%s"' " WPA_SUPPLICANT_CONF,passwd);
// sys_shell("wpa_supplicant -Dnone -B -i" WLAN_DEV " -c" WPA_SUPPLICANT_CONF); // 加Dnone 不可行
sys_shell("wpa_supplicant -B -i" WLAN_DEV " -c" WPA_SUPPLICANT_CONF);
sys_shell("udhcpc -i" WLAN_DEV);
// sys_shell("dhclient"" "WLAN_DEV);
#endif
return OPRT_OK;
}

獲取當(dāng)前WIFI聯(lián)網(wǎng)狀態(tài)

OPERATE_RET hwl_wf_station_stat_get(OUT WF_STATION_STAT_E *stat)
{
#if defined(USE_RASPI)
// UserTODO
NW_IP_S current_ip; // 上一次獲取的ip
memset(¤t_ip,0,sizeof(current_ip));
hwl_wf_get_ip(WF_STATION,¤t_ip);

if(strcmp(current_ip.ip, DEFAULT_IP_ADDR)){
*stat = WSS_GOT_IP;
}else{
*stat = WSS_CONN_FAIL;
}
#else
*stat = WSS_GOT_IP;
#endif
return OPRT_OK;


注:涂鴉智能是一個全球化智能平臺, “AI+IoT”開發(fā)者平臺, 也是世界排名前列的語音AI交互平臺, 連接消費者、制造品牌、OEM廠商和零售連鎖的智能化需求, 為客戶提供一站式人工智能物聯(lián)網(wǎng)的解決方案, 并且涵蓋了硬件接入、云服務(wù)以及APP軟件開發(fā)三方面, 形成人工智能+制造業(yè)的服務(wù)閉環(huán), 為消費類IoT智能設(shè)備提供B端技術(shù)及商業(yè)模式升級服務(wù), 從而滿足消費者對硬件產(chǎn)品更高的訴求。

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

    關(guān)注

    44

    文章

    791

    瀏覽量

    98913
  • 樹莓派
    +關(guān)注

    關(guān)注

    117

    文章

    1710

    瀏覽量

    105826
  • 掃地機
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    5233
收藏 人收藏

    評論

    相關(guān)推薦

    云鯨J5掃地機,養(yǎng)寵家庭不可錯過的一款全能掃地機

    ……睜眼就是干不完的家務(wù),幸虧我入手了云鯨一款新出的掃地機器人——云鯨J5,它為我省了不少功夫。 云鯨J5吸力高達15000Pa,以往家里用的掃地機7000Pa就已經(jīng)能輕松吸除地面上的灰塵、毛發(fā)了,用上了1500Pa大吸力的掃地機
    的頭像 發(fā)表于 10-28 14:02 ?224次閱讀

    霍爾開關(guān)在掃地機器人中的應(yīng)用

    隨著社會的發(fā)展和生活水平的提高,掃地機器人因為操作簡單,使用方便越來越多地走進了人們生活,和家庭,辦公聯(lián)系在了一起,成為了小家電中重要的一員,霍爾開關(guān)在掃地機器人中也有著諸多應(yīng)用。 1.開關(guān)控制
    的頭像 發(fā)表于 10-28 11:03 ?265次閱讀

    INDEMIND掃地機器人的核心技術(shù)

    掃地機器人內(nèi)卷的終點是技術(shù)和價值,價格只是附屬品。
    的頭像 發(fā)表于 09-30 14:50 ?577次閱讀

    掃地機器人的核心技術(shù)突破

    在當(dāng)今科技飛速發(fā)展的時代,智能家居產(chǎn)品如雨后春筍般涌現(xiàn),其中掃地機器人以其便捷、高效的清潔能力,逐漸成為現(xiàn)代家庭的得力助手。而在掃地機器人眾多的技術(shù)構(gòu)成中,HXA2610 有刷馬達驅(qū)動 IC 無疑是
    的頭像 發(fā)表于 09-06 17:38 ?436次閱讀

    掃地機器人避障技術(shù)的發(fā)展史

    掃地機器人從真空吸塵器發(fā)展而來,它的出現(xiàn)幫助人們解放雙手、減輕家務(wù)負(fù)擔(dān),可以更多關(guān)注生活中重要的事情,因此越來越多的家庭選擇配置掃地機器人。
    的頭像 發(fā)表于 08-28 14:49 ?860次閱讀

    供應(yīng) 英集芯IP2348,適用于掃地機器人解決方案的鋰電池同步降壓充電芯片

    在至為芯科技設(shè)計的掃地機器人電源管理解決方案中,主板芯片選用的是來自英集芯的IP2348。這款鋰電池充電芯片以其卓越的QFN28封裝技術(shù),為掃地機器人提供了強大的能量支持。它支持高達36V的輸入輸出
    發(fā)表于 07-24 14:47

    光耦知識分享‖探討光耦技術(shù)掃地機器人的應(yīng)用

    在智能科技的飛速發(fā)展中,掃地機器人已成為現(xiàn)代生活中不可或缺的助手。而光耦(Optocoupler)作為一項先進的電子元件,正在為掃地機器人的高級功能提供支持。
    的頭像 發(fā)表于 06-15 11:29 ?404次閱讀
    光耦知識分享‖探討光耦<b class='flag-5'>技術(shù)</b>在<b class='flag-5'>掃地機</b>器人的應(yīng)用

    愛普生新款陀螺儀傳感器GGPM01LK于掃地機器人的應(yīng)用

    在電子技術(shù)的不斷發(fā)展下,人們對于機器人的要求越來越高,導(dǎo)致企業(yè)對機器人的設(shè)計和性能要求也變得嚴(yán)格起來。就掃地機器人而言,對于其姿態(tài)控制和運動穩(wěn)定性的要求非常嚴(yán)格。針對如今嚴(yán)格的要求,愛普生推出了一款令人稱道的陀螺儀傳感器這款新產(chǎn)
    的頭像 發(fā)表于 05-09 15:39 ?1073次閱讀
    愛普生新款<b class='flag-5'>陀螺儀</b>傳感器GGPM01LK于<b class='flag-5'>掃地機</b>器人的應(yīng)用

    其利天下技術(shù)·搭載無刷電機的掃地機器人的前景如何?

    隨著懶人經(jīng)濟的崛起,智能家居設(shè)備的需求呈現(xiàn)出顯著的增長態(tài)勢。作為智能家居領(lǐng)域的一員,掃地機器人因其方便、實用的特性而備受消費者青睞。特別是在無刷電機技術(shù)的加持下,掃地機器人不僅提升了清潔效率,還優(yōu)化
    發(fā)表于 05-05 15:03

    陀螺儀x軸和y軸的應(yīng)用

    陀螺儀是一種用于測量和感應(yīng)物體旋轉(zhuǎn)和轉(zhuǎn)動的設(shè)備,它通常由三個軸組成:x軸、y軸和z軸。在陀螺儀中,x軸和y軸通常成對出現(xiàn),關(guān)于它們的比例可以因具體應(yīng)用而異。首先,我們先了解一下陀螺儀的工作原理
    發(fā)表于 04-17 15:42 ?0次下載

    鴻蒙南向開發(fā)實戰(zhàn):【智能掃地機

    此Demo采用潤和的智能小車套件為硬件模型,通過修改代碼具備了掃地機器人簡易的避障功能及防跌落功能,并且能通過wifi接入數(shù)字管家應(yīng)用場景。智能掃地機不僅能接收數(shù)字管家應(yīng)用下發(fā)的指令啟動或停止掃地機
    的頭像 發(fā)表于 04-08 10:23 ?965次閱讀
    鴻蒙南向開發(fā)實戰(zhàn):【智能<b class='flag-5'>掃地機</b>】

    用于AGV物流機器人的愛普生陀螺儀傳感器XV7000系列:XV7001BB,XV7011BB

    適用于AGV物流機器人的愛普生陀螺儀傳感器XV7000系列:XV7001BB,XV7011BB。以前我們都知道XV7001BB,XV7011BB適用于掃地機器人,其實對于AGV物流機器人來說
    的頭像 發(fā)表于 04-02 13:53 ?572次閱讀
    用于AGV物流機器人的愛普生<b class='flag-5'>陀螺儀</b>傳感器XV7000系列:XV7001BB,XV7011BB

    陀螺儀傳感器,IMU和加速度計的產(chǎn)品和選型

    、XV7021BB和XV7181BB。針對掃地機器人傳感器模組等領(lǐng)域的需要,愛普生特別推出了內(nèi)置XV7001BB或XV7011BB單軸角速度傳感器的GGPM01/02陀螺
    的頭像 發(fā)表于 04-01 16:41 ?1010次閱讀
    <b class='flag-5'>陀螺儀</b>傳感器,IMU和加速度計的產(chǎn)品和選型

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

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

    手機陀螺儀失靈解決方法

    手機陀螺儀是一種用于感知和測量設(shè)備旋轉(zhuǎn)、傾斜和方向的傳感器。失靈的陀螺儀可能導(dǎo)致手機在運動控制、游戲和導(dǎo)航等應(yīng)用中出現(xiàn)問題。下面將詳細(xì)介紹陀螺儀失靈的原因和解決方法。 陀螺儀失靈的原因
    的頭像 發(fā)表于 01-30 10:06 ?3w次閱讀