以下是使用node-red實現的本項目各項重要功能,關于node-red的安全可以自己參考網上的安裝教程,一般要先安裝node.js,安裝好之后才能正常調用npm功能安裝node-red。這個過程讓我畫了大部分精力用來安裝相關軟件包。缺什么裝什么,因為是嵌入式linux系統的問題,有了好多限制。以下是通過MQTT節點實現上云:
使用命令安裝騰訊云node-red節點。
npm install node-red-contrib-qcloud-iotexplorer。
也可以在NODE-RED界面選擇節點管理搜索并下載。
也可以采用通用的mqtt節點配置上云,但是需要秘鑰計算出用戶和密碼
利用秘鑰生成工具生成用戶和密碼,但是這種方式有時間限制,一般只有30天,過來時間還要重新生成,很麻煩。
最后選擇了更容易上手的騰訊連連節點,而且這個不會過期,一直可以保持長時間上線。
連接成功后即可從云端拉去數據到Node-red后解析json格式的數據,然后再次封裝json格式數據發送給電機小熊派開發板,通過json解析出來的數據進行相關控制,例如電機舵機等,這個控制是通過騰訊云平臺控制的。
也可以通過內網穿透的方式將node-red穿透到外網,這樣就可以實現本地的遠程控制,實時性更高了。
解決完聯網問題,現在繼續通過node-red USB攝像頭節點來實現對攝像頭驅動并拍照顯示在頁面上。實現圖傳功能。
攝像頭和base64節點參數配置:
利用顯示網頁的節點功能來讀取發來的base64圖片數據,并顯示到UI頁面上。
這是完成的Node-Red界面,集中在一個小空間內是為了使用手機打開時可以顯示主要的功能,手機瀏覽時左滑動才會看到舵機的控制條。
以上的界面是通過一下的節點連接組成的,方便快捷,快速搭建。但是一些參數設置需要具備些js基礎才可以很好的實現。
這是攝像頭拍照后終端顯示的相關參數信息和使用手機登錄node-red界面:
總結
由于三亞疫情,我是在方艙里面完成的本次方案的編寫,因為我隨身帶著哪吒板和攝像頭才得以完成一些功能驗證和圖片的截取。目前就一個單片機驅動舵機和電機的驅動沒有驗證,其他都基本實現了,但是我預留輸出數據接口,基本都是以json格式輸出的數據,然后在單片機端通過解析json來獲取需要的數據。本次大賽,我從一個linux小白學會一些常用指令的使用,安裝各種環境搭建是最痛苦的,每天面對終端敲指令,一整就是一整天。
通過網上的大佬分享的經驗,我實現了遠程桌面控制,雖然很卡,但是仍然讓我欣喜若狂,因為我有自己的一個微電腦了,徹底打開了我的linux學習大門,這次大賽真的是對個人的一個挑戰。后面繼續學習,提升自己的軟件編寫能力。
這次的一個重要關鍵技術還是WIFI的連接,開始是通過以太網口實現的聯網,后面慢慢變成WIFI聯網,也是需要輸入各種指令后實現的聯網,獲取IP地址后就可以遠程登錄開發板的Debian系統了。有了WIFI連接,操作就更加方便了。
審核編輯:湯梓紅
-
Linux
+關注
關注
87文章
11292瀏覽量
209326 -
WIFI
+關注
關注
81文章
5296瀏覽量
203572 -
機械臂
+關注
關注
12文章
513瀏覽量
24554 -
MQTT
+關注
關注
5文章
650瀏覽量
22487
發布評論請先 登錄
相關推薦
評論