那曲檬骨新材料有限公司

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

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

3天內不再提示

【IoT畢業設計】樹莓派開發板+機智云IoT+監測機器人

機智云 ? 2022-04-28 15:41 ? 次閱讀

摘要:以小車為基底,以樹莓派開發板為中心,搭載攝像頭、傳感器等數據采集設備,采用CC2530為傳感器處理器、ZigBee技術為無線傳輸,實現了各節點間的通信。以ItChat微信機器人框架為基礎,二次開發植入百度AI開放平臺的語音技術、圖靈機器人的中文環境對話技術和機智云技術,以達到使用微信客戶端文本或語音輸入控制與管理設備的效果,解決了家電設備之間的互聯互控互通問題,同時具備一次性或周期性定時功能,使人們在享受舒適生活環境的同時實現節能。

前言

隨著物聯網技術的飛速發展,智能家居的理念已經深入人心。按鍵、紅外遙控器等傳統控制方式易受環境的影響,且不能實現遠程控制[1]。若使用產品專用App進行控制,雖然高效便捷、靈活性高,但兼容性差,不同廠家的智能家電無法實現互聯互通,不便于統一管理。


機智云開發者本次研究中設計了一個基于ItChat和樹莓派的環境監測機器人。在硬件層面,機器人可以通過樹莓派小車進行實時、可移動的環境監測;在軟件層面,機器人可以根據環境監測數據,通過微信客戶端靈活地控制各個設備[2]。該系統不僅能實現智能設備之間的互聯互通,而且具有定時任務功能,可以根據工作需要進行定時設置,以達到節能效果。


1系統組成

樹莓派機器人主要采用小車底盤作為基底,搭載樹莓派作為ARM主控板,攜帶攝像頭和WiFi模塊實現視頻通信,配備ZigBee協調器實現無線傳感器節點的數據采集和傳輸,結合遠程控制程序實現數據互通和遠程控制[3]。系統整體框架如圖1所示。


poYBAGJpFPGAP7woAANAyJdbDsw002.png

圖1系統整體框架


遠程控制端主要包括云服務、用戶和網絡端三大部分。


云服務:提供設備接入的服務器,App和終端所發送的數據都將通過服務器轉發至設備,以實現用戶設備之間的數據傳輸。

用戶:包括App和微信客戶端,用戶可以通過App或微信客戶端進行系統管理,如設備綁定、控制使用等。

網絡端:一臺路由器或AP分享網絡連接的聯網設備,終端通過聯網設備接入到Internet中。


2硬件系統設計

2.1樹莓派機器人硬件系統設計

本次研究以雙層小車搭載樹莓派B+作為主硬件系統,樹莓派體積小,搭載使用方便,基于Linux系統開源的特性使其具有多元性。ARM主控板一方面實現了傳感器節點模塊之間的數據傳輸和匯集,另一方面還搭載了攝像頭和電機驅動模塊,利用L298N電機驅動電路控制小車運動,達到移動監控的目的,能夠擴大數據采集的范圍[4]。另外,在底板的前部和后部分別安裝了超聲波傳感器,能夠避免碰撞。


2.2傳感器節點硬件系統設計

采用CC2530作為硬件系統的核心板,兩層板的設計保證了ZigBee終端通信數據的準確性。該電路能在無遮擋的情況下,實現100m的有效傳輸距離,以滿足系統需求。為了適應不同傳感器的接口需求,系統參考arduino系列的管腳分布電路設計,適配常用的傳感器,以提高系統的兼容性。同時,系統將CC2530引腳通過排線接出,以便后期靈活添加和調整[5]。

系統配置DHT11溫濕度傳感器、SW-420震動傳感器、MQ-2煙霧氣敏傳感器和HC-SR501熱釋電紅外傳感器等采集家居環境參數,以便作出相應操作[6-7]。系統將CC2530的IO口通過排針的方式引出,以便后期擴展使用。


2.3輸出控制系統硬件設計

基于傳感器節點系統所采集的數據,系統可以通過輸出照明設備或者排插開關控制設備。照明設備或者排插開關的功能單一,僅需操作GPIO,在GPIO上外接一個高電平驅動的繼電器,用于控制設備。


2.4硬件系統整合

將上述各部分進行整合,每個部分主要通過GPIO接口和USB接口與ARM主控板連接。機器人硬件連接圖如圖2所示。


3軟件系統設計

3.1微信框架ItChat設計

微信框架ItChat既可以捕獲來自系統、好友和群聊的信息,又可以返回信息,能夠實現信息交互。系統融入了機智云AIoT的設備控制技術、百度AI開放平臺的語音技術和圖靈機器人的中文對話技術等,搭建了一個簡單的中文對話系統[8]。


微信框架ItChat設計流程如圖3所示,導入所需的庫,進行個性化的參數設置,掃描二維碼啟動微信,通過微信監聽,等待有效信息并進行處理。

pYYBAGJpFPqAHFzZAAWGWNDUnYg099.png

圖3微信框架ItChat設計流程


3.1.1百度AI語音信息匹配技術

現在的手機基本都有語音助手,可以先將用戶說的話轉換為文本信息,再分析文本信息所表達的含義。使用ItChat將收到的語音消息下載并保存為MP3格式文件。由于百度AI的語音接口不支持MP3格式文件,所以使用Pydub庫和FFmpeg對語音文件作WAV合成處理,最后將合成后的WAV格式文件提交至百度AI。若服務器成功識別語音文件,則返回識別結果;反之,則返回錯誤信息。若ItChat收到的是文本消息,則不進行以上處理。


當語音消息轉換為文本消息后,可利用百度AI開放平臺提供的Python的相關SDK進行信息匹配。信息匹配的方法包括利用字符串內建方法對簡單文本信息進行檢索、利用正則表達式對復雜文本信息進行匹配等。實現信息匹配后就可以進行定時開關的控制操作。


3.1.2調用平臺API

機智云和圖靈機器人僅提供RESTfulAPI風格調用接口,調用API時需要向服務器發送HTTP請求。Python有Urllib、Urllib2、Requests等網絡通信庫,既可以用來獲取網站內容,又可以用來向Host提交數據。Requests庫訪問HTTP的方法有Get、Post、Put、Delete等[9]。


3.1.3設備聯動、定時及遠程控制

智能設備的遠程控制、數據獲取、設備綁定等基本功能和定時、聯動等高級功能都是通過機智云的WebAPI實現的。WebAPI有豐富的功能接口,如用戶管理、消息中心、綁定管理等。在開發過程中將它們封裝成一個類,以簡化代碼,方便使用。


3.2照明設備軟件設計

系統可使用機智云平臺提供的自助式軟硬件開發工具,即代碼自動生成工具。只需在“.\app\user”文件夾目錄下“user_main.c”文件里面的user_init()函數下添加外設初始化代碼,將GPIO4設為輸出模式。生成代碼前,在數據點中添加一個名為“Switch”的數據點,機智云事件處理函數內的Switch語句就會有相應的開關事件,當設備收到來自App的數據后便會作出處理。


設置函數控制輸出電平的高低,從而控制繼電器的開關。修改代碼后,將整個源代碼在裝好Tensilica相關GCC編譯器的Linux環境下,利用“sudo./gen_misc.sh”編譯生成二進制文件,再采用樂鑫官方下載軟件將其燒寫固件到ESP12-N中。


3.3網絡傳輸模塊程序設計

與Iw-Tools不同,Wpa_Supplicant軟件支持WPA和WPA2加密,能夠較好地保障通訊的安全性[10]。軟件在ArchLinuxARM發行版上的安裝步驟如下:

(1) 運行“pacman-Sywpa_supplicant”進行軟件安裝。

(2) 運行“nano/etc/wpa_supplicant-wlan0.conf”配置文件。


當機器人與電腦或手機連接的不是同一個WiFi時,就會面臨路由器穿透問題,因為機器人和主控端都在內網,沒有公網地址。這時,必須經由路由器訪問公網連接機器人網絡中的路由器,再經由機器人網絡中的路由器訪問機器人。這種轉發顯然不能由安裝在機器人或主控端上的軟件直接完成,因此,需要考慮一種解決方案。


目前市場上的路由器多數使用的是UPnP技術,該技術允許內網向特定地址群發送一個廣播包進行通訊,指示路由器為特定端口放行,即所有公網發往該端口的數據包都將轉發給指示發起人,進而完成雙端的直接連接。


雖然UPnP技術能夠實現雙端轉發,但雙方并不知道對方地址,無法直接建立連接。此時,需要公網上有一臺服務器提供協商服務,可以使用Google開放平臺提供的STUN服務[11]。


3.4視頻傳輸程序設計

研究發現,當攝像頭獲取的圖像靜止時,單位時間內的差異非常小,即使有物體運動,背景圖像通常也沒有變化,因此,應在傳輸時只傳送變化的部分以節省帶寬。顯然,對于需要適應工作環境的機器人而言,圖像數據的傳輸應當是最低優先級且允許丟包,但H264壓縮算法若丟失了關鍵幀(I幀),將導致P幀和B幀無法還原,且每次建立連接都需要再傳輸參數數據(如圖像的尺寸、壓縮算法、幀率等)。


基于以上分析,本次研究采用了常用于機器人的人臉識別或物體移動偵測的跨平臺計算機視覺庫OpenCV。OpenCV經由UVC獲取攝像頭圖像,并采用OpenCV的Absdiff方法找尋其與上一幀的差異,將差異塊傳輸至主控端進行覆蓋還原。差異幀是節省帶寬的關鍵,但考慮到丟包或擁擠時應出讓帶寬給控制指令和傳感器數據,因此差異幀只存在2s,每隔2s傳輸一次完整圖像,圖像經由JPEG算法壓縮。視頻傳輸時序圖如圖4所示。


4系統測試

4.1傳感器節點數據傳輸測試

為了保證數據采集的正確性,首先進行單個傳感器的連接測試,然后將CC2530通過串口與計算機連接,調試、設置參數,觀察PC機接受到的數據信息。基于系統的需求和功耗,將傳感器的采集周期設定為5s,而對于震動傳感器和紅外傳感器,一旦發生狀態變化就立即發送數據。


pYYBAGJpFQGALqmsAAec3Uytexc691.png

圖4視頻傳輸時序圖


4.2機器人移動及視頻監控性能測試

利用ListView在客戶端底部設計了小車移動、攝像頭、采集節點、溫濕度曲線圖等4個圖標,點擊按鈕即可打開相應功能并高亮顯示。進入機器人移動控制界面時,實時視頻采集功能便會同時開啟,此時,通過方向按鍵可發出移動控制指令。機器人移動控制和視頻傳輸演示圖如圖5所示。測試表明,客戶端可以順利控制機器人移動,視頻傳輸正常。

poYBAGJpFQeAcWTiAAH7A_15Mes356.png

圖5機器人移動控制和視頻傳輸演示圖


4.3微信客戶端的功能實現驗證

4.3.1掃碼綁定設備及配網

進入主界面后,點擊“掃碼綁定設備”按鈕,系統開啟攝像頭掃描設備二維碼,掃碼完成后主界面就會出現該設備名稱,此時的設備圖標呈灰色狀態,說明還未進行配網。點擊“添加設備”,系統會要求輸入WiFi密碼,完成配網工作之后就會顯示設備名稱。點開設備的開關按鈕,即可控制設備狀態。掃碼綁定設備界面如圖6所示。


pYYBAGJpFQ6AapJmAAFddpozG24411.png

圖6掃碼綁定設備界面


4.3.2語音識別功能驗證

打開微信客戶端機器人,在聊天對話框中發送一條“打開照明”的語音信息。機器人將識別語音信息,并將信息返回給用戶確認,若沒有接收到錯誤信息,則機器人完成打開照明的操作,并發送“操作成功”。語音識別驗證如圖7所示。


pYYBAGJpFRSAWr-PAALvKygdQ30158.png

圖7語音識別驗證


5結語

本次研究以ARM嵌入式技術為基礎,設計了一個可移動的監測機器人。從最初的芯片選擇、傳感器配置、網絡連接和客戶端設計都是根據需求靈活定制的,以確保性能最優化。通過測試可知,機器人工作性能穩定,能夠在靈活監測、采集環境數據的同時與樹莓派和客戶端很好地進行數據傳輸。


傳感器工作正常,客戶端方便易懂,若投入使用將會有很好的社會應用價值。智能機器人的發展空間巨大,未來可以考慮添加位置記憶的功能,結合自動尋路算法來完成路線繪制,并用于自動充電,以解決續航問題,還可以搭載更多的傳感器,使系統更加智能化。

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

    關注

    117

    文章

    1710

    瀏覽量

    105876
收藏 人收藏

    評論

    相關推薦

    基于英特爾開發板開發ROS應用

    隨著智能機器人技術的快速發展,越來越多的研究者和開發者開始涉足這一充滿挑戰和機遇的領域。哪吒開發板,作為一款高性能的機器人開發平臺,憑借其強
    的頭像 發表于 12-20 10:54 ?1332次閱讀
    基于英特爾<b class='flag-5'>開發板</b><b class='flag-5'>開發</b>ROS應用

    鴻蒙機器人與鴻蒙開發板聯動演示

    鴻蒙機器人與鴻蒙開發板聯動演示,機器人的角色為迎賓機器人開發板負責人賓客出現監聽
    發表于 12-02 14:55

    樹莓開發的最佳編程語言選擇

    樹莓(Raspberry Pi)是一款由英國樹莓基金會開發的信用卡大小的單板計算機,它以其低成本、易于編程和靈活性而受到廣泛歡迎。
    的頭像 發表于 11-11 11:34 ?884次閱讀

    比較不同品牌ARM開發板優缺點

    隨著物聯網(IoT)和嵌入式系統的快速發展,ARM開發板因其低功耗、高性能和廣泛的應用場景而受到開發者的青睞。 一、樹莓(Raspberr
    的頭像 發表于 11-05 11:37 ?751次閱讀

    ARM開發板樹莓的比較

    ARM開發板樹莓都是基于ARM架構的單板計算機,它們在教育、工業控制、物聯網等領域有著廣泛的應用。 硬件配置 ARM開發板樹莓
    的頭像 發表于 11-05 11:11 ?635次閱讀

    告別繁瑣的平臺開發IoT_CLOUD之 百度

    ?眾所周知,市面上有很多云平臺,并且每家平臺都有自己的協議,工程師要移植不同的SDK代碼或基于各家的手冊文檔對接不同的協議,看著都頭大!!! 為解決繁瑣的平臺開發困擾, IoT
    的頭像 發表于 10-31 07:23 ?243次閱讀
    告別繁瑣的<b class='flag-5'>云</b>平臺<b class='flag-5'>開發</b>!<b class='flag-5'>IoT</b>_CLOUD之 百度<b class='flag-5'>云</b>

    什么是樹莓樹莓是什么架構的

    什么是樹莓 樹莓(Raspberry Pi,簡寫為RPi,別名為RasPi/RPI)是由英國“Raspberry Pi 慈善基金會”開發
    的頭像 發表于 10-22 17:33 ?1282次閱讀

    和面機智能轉運機器人

    和面機智能轉運機器人
    的頭像 發表于 09-09 17:51 ?247次閱讀
    和面<b class='flag-5'>機智</b>能轉運<b class='flag-5'>機器人</b>

    樹莓和單片機的優缺點是什么

    (Raspberry Pi) 優點: 強大的處理能力 :樹莓配備了高性能的CPU和GPU,可以運行復雜的操作系統,如Linux和Windows 10 IoT Core。 豐富的擴展性 :通過GPIO(通用輸入輸出
    的頭像 發表于 08-30 18:21 ?1884次閱讀

    樹莓和arm開發板的區別

    樹莓(Raspberry Pi)和ARM開發板都是基于ARM架構的微型計算機,但它們之間存在一些關鍵區別。 一、歷史背景 樹莓(Rasp
    的頭像 發表于 08-30 15:36 ?1214次閱讀

    linux開發板樹莓的區別

    定義和用途 Linux開發板:Linux開發板是一種基于Linux操作系統的嵌入式開發板,通常用于工業自動化、物聯網、智能家居等領域。 樹莓
    的頭像 發表于 08-30 15:34 ?1141次閱讀

    機智ESP8266開發板RGB彩燈控件

    隨著智能家居技術的迅猛發展,RGB彩燈控件正逐漸成為現代家庭不可或缺的一部分。在這一潮流中,機智(Gizwits)的ESP8266開發板RGB彩燈控件以其先進的物聯網技術和多樣化的燈光控制功能,為
    的頭像 發表于 08-09 08:10 ?453次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>ESP8266<b class='flag-5'>開發板</b>RGB彩燈控件

    Al大模型機器人

    金航標kinghelm薩科微slkor總經理宋仕強介紹說,薩科微Al大模型機器人有哪些的優勢?薩科微AI大模型機器人由清華大學畢業的天才少年N博士和王博士團隊開發,與同行相比具有許多優
    發表于 07-05 08:52

    【米爾-瑞米兼容樹莓擴展模塊-試用體驗】初始開發板_米爾-瑞米兼容樹莓擴展模塊

    兼容樹莓擴展模塊也有豐富的軟件支持: 為了讓大家對米爾-瑞米兼容樹莓擴展模塊有更多的了解
    發表于 04-29 11:42

    【開源作品】基于樹莓4B、ESP32制作的桌面機器人、氣象站、立方光!

    ;gt;>點此查看全文 基于樹莓 4B DIY 能笑會動的桌面機器人 Emo是一款基于樹莓4做的個人伴侶
    發表于 03-05 16:52
    澳门顶级赌场国际| 长春百家乐的玩法技巧和规则| 合乐8百家乐娱乐城| 太阳城娱乐网88| 长宁区| 百家乐官网破解秘| 百家乐高手论| 百家乐官网小77论坛| 百家乐官网六合彩3535| 百家乐注码技术打法| 威尼斯人娱乐城网| 百家乐官网登封代理| 百家乐官网电子发牌盒| 试玩百家乐网| 网络赌博游戏| 榆次百家乐官网的玩法技巧和规则| 百家乐平台下载| 云顶平台| 百家乐官网群的微博| 威尼斯人娱乐城 2013十一月九问好| 娱乐城开户送现金| 百家乐官网1元投注| 百家乐7scs娱乐场| 百家乐官网庄闲机率| 百家乐投注网站| 德州扑克明星| 骰子百家乐官网的玩法技巧和规则 | 大三巴娱乐城开户| 克拉克百家乐官网的玩法技巧和规则 | 大发888官方 3000| 海尔百家乐官网的玩法技巧和规则 | 大发888xp缺少casino| 发中发百家乐官网的玩法技巧和规则 | 大发888集团| 百家乐官网赌博大揭密| 大杀器百家乐学院| 盛大百家乐的玩法技巧和规则 | 德州扑克桌| 太阳会百家乐现金网| 百家乐官网庄闲和概率| 现场百家乐百家乐|