資料介紹
描述
項目構想
Node.js 是實時應用程序的最佳選擇之一。之前做過一些使用Sockets的實時應用,所以抱著同樣的想法,我決定用Node.js服務器做一些物聯網項目來自學。
我的這個漫游者使用藍牙與我的 Node.js 服務器通信,在前端,我使用套接字向服務器發送命令。
項目目標
研究和實現節點服務器和硬件(在本例中是我們的 Rover)之間的無線通信,并使用套接字通過節點服務器提供的移動網頁遠程控制 Rover。
先決條件
您需要具備一些節點、套接字編程和 L298 電機驅動器工作的基本知識。
要求
- 1 阿杜諾烏諾
- HC-05 藍牙模塊
- 跳線
- 2 節電池 - 每節 9 伏
- 2 齒輪電機(6-9 伏)
- 2個兼容的輪子
- 機殼
- 為我們的服務器安裝了 Node.js 的計算機。
第 1 步 - 建造漫游者
建造 Rover 并不那么復雜,您可以購買“2 輪底盤套件”,該套件可輕松在線獲得并隨所有組裝單元一起提供。
我們的 Arduino Uno 和 L298 電機驅動器嵌入在我們的 Rover 頂部,它們均由兩個 ??9 伏電池分別供電。
Arduino Uno 反過來將為 HC-05 藍牙模塊供電,該模塊將與我們的服務器通信。
電路圖
如上電路圖所示,L298 電機驅動器由 9V 電池供電,兩個電機控制輸出連接到電機 A 和電機 B,由于電機沒有極性,您可以將任何端子連接到它,但要確保兩個電機以相同的方向旋轉。不要移除 5V 穩壓器跳線。
注意:如果給 L298 供電超過 12 伏,板載 5V 穩壓器將會損壞。
Arduino Uno 也由一個 9V 電池供電,其正極連接到 Arduino 的 Vin 引腳,負極連接到公共地。Arduino 反過來將為藍牙模塊供電,因此將 HC-05 的 Vcc 引腳連接到 Arduino 的 5V 和 GND 接地。
HC-05與Arduino串口通信時,HC-05的TXD引腳連接Arduino的RX引腳,HC-05的RXD引腳連接Arduino的TX引腳。
現在要控制 L298 模塊,您可以將 EN1 和 EN2 引腳連接到 Arduino 的任何 PWM 引腳。然后將 L298 的輸入引腳 -1、2、3、4 與 Arduino 的任意數字引腳相連。
數據傳輸
如上所示,是信號傳輸的示意圖。
1. 用戶將訪問節點服務器提供的網頁。URL 將是帶有所用端口號的 IP 地址,例如“192.XXX.XXX.129:8080”。
2. 當用戶點擊網頁上的某個按鈕時,會觸發服務器執行所需的功能。這種通信是由于套接字而發生的。
3. Node server通過藍牙連接到HC-05模塊,將需要的數據發送給HC-05模塊。
4. HC-05 將使用串行通信方式將數據傳輸到Arduino UNO。
5. Arduino UNO 依次控制 L298 模塊。
第 2 步 - 設置服務器
對于我們的服務器,我們需要安裝 Node.js。安裝任何穩定版本的node,我的是11.15版本。我們需要安裝以下軟件包-
- 節點石膏
- 表示
- 節點藍牙
- ejs
注意 - 安裝“node-gyp”可能會很棘手,因為它不支持某些最新版本的 Node,因此最好安裝 11.15 版的 Node。
現在,我們需要監聽來自網頁的事件,一旦在與網頁交互時觸發了事件,該頁面就會發出需要執行到我們的節點服務器的所需功能。服務器反過來將收聽該消息并執行所需的功能(在我們的例子中,將數據發送到藍牙)。
因此,使用“express”和“EJS”等包創建服務器和網頁。使用您想要的控件設計網頁并通過創建套接字服務器為其設置套接字連接,您可以參考此文檔。
對于藍牙設置,請參閱此文檔。每當單擊任何控制按鈕時,都會向 HC-05 模塊發送一條消息。
這是我的簡單網頁——
第 3 步- Arduino 代碼
由于藍牙將使用串行通信與 Arduino-Uno 通信,我們將發送一些“字符串”作為命令和一個附加字母,告訴我們終止并捕獲該字符串。
例如-:向前移動,藍牙將發送“forwardT”,而在Arduino端,只要我們遇到字母“T”,我們就知道串口通信完成。
使用傳入的字符串命令,我們將配置 L298 驅動程序向前、向后、向左、向右移動、改變速度等。
找到附帶的 Arduino 代碼。
第 4 步 - 最終結果
增強功能和未來范圍
在后期階段,我計劃使用語音命令和避障功能來控制流動站。我還可以維護一個數據庫,我將在其中保存統計記錄,例如行駛距離、最大速度、平均速度等。我還將添加多個傳感器,例如溫度、光線和濕度,并定期跟蹤它,這將存儲在我們的數據庫中。
下一版本
檢查我的下一個項目“使用手機的語音控制漫游者”
?
- 機器人小車開源設計
- 英特爾Edison Node JS物聯網報警系統
- node.js實戰源碼 1次下載
- lbs基于Node.js的博客系統
- Node.js包教不包會
- 移植nodejs到嵌入式linux,讓終端支持可使用js做些功能
- 基于DSP和PC的農業機器人控制系統 17次下載
- 無線移動機器人及運動監測系統的設計詳析 7次下載
- 機器人小車系統C++程序設計 2次下載
- 交互式機器人小車設計方案指南 0次下載
- 自動搬運智能小車智能控制系統研究_劉靜云 14次下載
- 基于SPCE061A單片機的音控智能機器人小車設計 7次下載
- 深入淺出Node.js迷你書 0次下載
- 基于C8051單片機的足球機器人小車系統設計
- 基于單片機及傳感器的機器人設計與實現
- 瀏覽器網頁與T5L迪文屏串口深度擴展(Node-RED技術) 607次閱讀
- javascript和java的區別有哪些 673次閱讀
- 不同語言運行100萬個并發任務需要多少內存? 497次閱讀
- Python怎么玩轉JS腳本 915次閱讀
- Pandas數據幀庫概述、性能及安裝 938次閱讀
- dfrobot麥昆編程機器人小車巡線地圖簡介 3696次閱讀
- dfrobotMiniQ小車傳感器安裝板簡介 841次閱讀
- dfrobot切諾基4WD移動機器人套件簡介 1128次閱讀
- dfrobot海盜船4WD小車機器人套件介紹 1396次閱讀
- 機器人控制系統分類_機器人控制系統有哪些 2.6w次閱讀
- 機器人控制器有哪些類型_機器人控制器發展 1.1w次閱讀
- 三大方面對比Go語言和Node.js 誰更有優勢 5061次閱讀
- node.js在訓練好的神經網絡模型識別圖像中物體的方法 9010次閱讀
- 最簡單的webpack實例 757次閱讀
- 開啟機器人世界的第一步——機器人小車制作 1w次閱讀
下載排行
本周
- 1美的電磁爐維修手冊大全
- 1.56 MB | 5次下載 | 5 積分
- 2SMD LED選型手冊 貼片燈珠
- 5.47 MB | 3次下載 | 免費
- 3基于PLC的拉絲機張力控制系統研究
- 0.14 MB | 2次下載 | 5 積分
- 4加密芯片的一種破解方法和對應加密方案改進設計
- 0.29 MB | 1次下載 | 免費
- 5萬用表UT58A原理圖
- 0.09 MB | 1次下載 | 5 積分
- 6多功能MPU芯片GC9005數據手冊
- 2.67 MB | 1次下載 | 免費
- 7面向NXP i.MX8處理器的電源解決方案
- 47.47KB | 次下載 | 免費
- 8LP8733-Q1和LP8732-Q1為DRA78x和TDA3x供電的用戶指南
- 61.31KB | 次下載 | 免費
本月
- 1使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 2UC3842/3/4/5電源管理芯片中文手冊
- 1.75 MB | 20次下載 | 免費
- 3華瑞昇CR216芯片數字萬用表規格書附原理圖及校正流程方法
- 0.74 MB | 14次下載 | 3 積分
- 4DMT0660數字萬用表產品說明書
- 0.70 MB | 13次下載 | 免費
- 53314A函數發生器維修手冊
- 16.30 MB | 13次下載 | 免費
- 6TPS54202H降壓轉換器評估模塊用戶指南
- 1.02MB | 9次下載 | 免費
- 7STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 8感應筆電路圖
- 0.06 MB | 7次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多