資料介紹
描述
項(xiàng)目構(gòu)想
Node.js 是實(shí)時(shí)應(yīng)用程序的最佳選擇之一。之前做過一些使用Sockets的實(shí)時(shí)應(yīng)用,所以抱著同樣的想法,我決定用Node.js服務(wù)器做一些物聯(lián)網(wǎng)項(xiàng)目來自學(xué)。
我的這個(gè)漫游者使用藍(lán)牙與我的 Node.js 服務(wù)器通信,在前端,我使用套接字向服務(wù)器發(fā)送命令。
項(xiàng)目目標(biāo)
研究和實(shí)現(xiàn)節(jié)點(diǎn)服務(wù)器和硬件(在本例中是我們的 Rover)之間的無線通信,并使用套接字通過節(jié)點(diǎn)服務(wù)器提供的移動(dòng)網(wǎng)頁遠(yuǎn)程控制 Rover。
先決條件
您需要具備一些節(jié)點(diǎn)、套接字編程和 L298 電機(jī)驅(qū)動(dòng)器工作的基本知識(shí)。
要求
- 1 阿杜諾烏諾
- 1 L298 電機(jī)驅(qū)動(dòng)器
- HC-05 藍(lán)牙模塊
- 跳線
- 2 節(jié)電池 - 每節(jié) 9 伏
- 2 齒輪電機(jī)(6-9 伏)
- 2個(gè)兼容的輪子
- 機(jī)殼
- 為我們的服務(wù)器安裝了 Node.js 的計(jì)算機(jī)。
第 1 步 - 建造漫游者
建造 Rover 并不那么復(fù)雜,您可以購買“2 輪底盤套件”,該套件可輕松在線獲得并隨所有組裝單元一起提供。
我們的 Arduino Uno 和 L298 電機(jī)驅(qū)動(dòng)器嵌入在我們的 Rover 頂部,它們均由兩個(gè) ??9 伏電池分別供電。
Arduino Uno 反過來將為 HC-05 藍(lán)牙模塊供電,該模塊將與我們的服務(wù)器通信。
電路圖
如上電路圖所示,L298 電機(jī)驅(qū)動(dòng)器由 9V 電池供電,兩個(gè)電機(jī)控制輸出連接到電機(jī) A 和電機(jī) B,由于電機(jī)沒有極性,您可以將任何端子連接到它,但要確保兩個(gè)電機(jī)以相同的方向旋轉(zhuǎn)。不要移除 5V 穩(wěn)壓器跳線。
注意:如果給 L298 供電超過 12 伏,板載 5V 穩(wěn)壓器將會(huì)損壞。
Arduino Uno 也由一個(gè) 9V 電池供電,其正極連接到 Arduino 的 Vin 引腳,負(fù)極連接到公共地。Arduino 反過來將為藍(lán)牙模塊供電,因此將 HC-05 的 Vcc 引腳連接到 Arduino 的 5V 和 GND 接地。
HC-05與Arduino串口通信時(shí),HC-05的TXD引腳連接Arduino的RX引腳,HC-05的RXD引腳連接Arduino的TX引腳。
現(xiàn)在要控制 L298 模塊,您可以將 EN1 和 EN2 引腳連接到 Arduino 的任何 PWM 引腳。然后將 L298 的輸入引腳 -1、2、3、4 與 Arduino 的任意數(shù)字引腳相連。
數(shù)據(jù)傳輸
如上所示,是信號(hào)傳輸?shù)氖疽鈭D。
1. 用戶將訪問節(jié)點(diǎn)服務(wù)器提供的網(wǎng)頁。URL 將是帶有所用端口號(hào)的 IP 地址,例如“192.XXX.XXX.129:8080”。
2. 當(dāng)用戶點(diǎn)擊網(wǎng)頁上的某個(gè)按鈕時(shí),會(huì)觸發(fā)服務(wù)器執(zhí)行所需的功能。這種通信是由于套接字而發(fā)生的。
3. Node server通過藍(lán)牙連接到HC-05模塊,將需要的數(shù)據(jù)發(fā)送給HC-05模塊。
4. HC-05 將使用串行通信方式將數(shù)據(jù)傳輸?shù)紸rduino UNO。
5. Arduino UNO 依次控制 L298 模塊。
第 2 步 - 設(shè)置服務(wù)器
對(duì)于我們的服務(wù)器,我們需要安裝 Node.js。安裝任何穩(wěn)定版本的node,我的是11.15版本。我們需要安裝以下軟件包-
- 節(jié)點(diǎn)石膏
- 表示
- 節(jié)點(diǎn)藍(lán)牙
- ejs
注意 - 安裝“node-gyp”可能會(huì)很棘手,因?yàn)樗恢С帜承?a href='http://www.xsypw.cn/article/bbs/' target='_blank' class='arckwlink_none'>最新版本的 Node,因此最好安裝 11.15 版的 Node。
現(xiàn)在,我們需要監(jiān)聽來自網(wǎng)頁的事件,一旦在與網(wǎng)頁交互時(shí)觸發(fā)了事件,該頁面就會(huì)發(fā)出需要執(zhí)行到我們的節(jié)點(diǎn)服務(wù)器的所需功能。服務(wù)器反過來將收聽該消息并執(zhí)行所需的功能(在我們的例子中,將數(shù)據(jù)發(fā)送到藍(lán)牙)。
因此,使用“express”和“EJS”等包創(chuàng)建服務(wù)器和網(wǎng)頁。使用您想要的控件設(shè)計(jì)網(wǎng)頁并通過創(chuàng)建套接字服務(wù)器為其設(shè)置套接字連接,您可以參考此文檔。
對(duì)于藍(lán)牙設(shè)置,請(qǐng)參閱此文檔。每當(dāng)單擊任何控制按鈕時(shí),都會(huì)向 HC-05 模塊發(fā)送一條消息。
這是我的簡單網(wǎng)頁——
第 3 步- Arduino 代碼
由于藍(lán)牙將使用串行通信與 Arduino-Uno 通信,我們將發(fā)送一些“字符串”作為命令和一個(gè)附加字母,告訴我們終止并捕獲該字符串。
例如-:向前移動(dòng),藍(lán)牙將發(fā)送“forwardT”,而在Arduino端,只要我們遇到字母“T”,我們就知道串口通信完成。
使用傳入的字符串命令,我們將配置 L298 驅(qū)動(dòng)程序向前、向后、向左、向右移動(dòng)、改變速度等。
找到附帶的 Arduino 代碼。
第 4 步 - 最終結(jié)果
增強(qiáng)功能和未來范圍
在后期階段,我計(jì)劃使用語音命令和避障功能來控制流動(dòng)站。我還可以維護(hù)一個(gè)數(shù)據(jù)庫,我將在其中保存統(tǒng)計(jì)記錄,例如行駛距離、最大速度、平均速度等。我還將添加多個(gè)傳感器,例如溫度、光線和濕度,并定期跟蹤它,這將存儲(chǔ)在我們的數(shù)據(jù)庫中。
下一版本
檢查我的下一個(gè)項(xiàng)目“使用手機(jī)的語音控制漫游者”
?
- 機(jī)器人小車開源設(shè)計(jì)
- 英特爾Edison Node JS物聯(lián)網(wǎng)報(bào)警系統(tǒng)
- node.js實(shí)戰(zhàn)源碼 1次下載
- lbs基于Node.js的博客系統(tǒng)
- Node.js包教不包會(huì)
- 移植nodejs到嵌入式linux,讓終端支持可使用js做些功能
- 基于DSP和PC的農(nóng)業(yè)機(jī)器人控制系統(tǒng) 17次下載
- 無線移動(dòng)機(jī)器人及運(yùn)動(dòng)監(jiān)測系統(tǒng)的設(shè)計(jì)詳析 7次下載
- 機(jī)器人小車系統(tǒng)C++程序設(shè)計(jì) 2次下載
- 交互式機(jī)器人小車設(shè)計(jì)方案指南 0次下載
- 自動(dòng)搬運(yùn)智能小車智能控制系統(tǒng)研究_劉靜云 14次下載
- 基于SPCE061A單片機(jī)的音控智能機(jī)器人小車設(shè)計(jì) 7次下載
- 深入淺出Node.js迷你書 0次下載
- 基于C8051單片機(jī)的足球機(jī)器人小車系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)及傳感器的機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)
- 瀏覽器網(wǎng)頁與T5L迪文屏串口深度擴(kuò)展(Node-RED技術(shù)) 607次閱讀
- javascript和java的區(qū)別有哪些 673次閱讀
- 不同語言運(yùn)行100萬個(gè)并發(fā)任務(wù)需要多少內(nèi)存? 497次閱讀
- Python怎么玩轉(zhuǎn)JS腳本 915次閱讀
- Pandas數(shù)據(jù)幀庫概述、性能及安裝 938次閱讀
- dfrobot麥昆編程機(jī)器人小車巡線地圖簡介 3696次閱讀
- dfrobotMiniQ小車傳感器安裝板簡介 841次閱讀
- dfrobot切諾基4WD移動(dòng)機(jī)器人套件簡介 1128次閱讀
- dfrobot海盜船4WD小車機(jī)器人套件介紹 1396次閱讀
- 機(jī)器人控制系統(tǒng)分類_機(jī)器人控制系統(tǒng)有哪些 2.6w次閱讀
- 機(jī)器人控制器有哪些類型_機(jī)器人控制器發(fā)展 1.1w次閱讀
- 三大方面對(duì)比Go語言和Node.js 誰更有優(yōu)勢 5061次閱讀
- node.js在訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型識(shí)別圖像中物體的方法 9010次閱讀
- 最簡單的webpack實(shí)例 757次閱讀
- 開啟機(jī)器人世界的第一步——機(jī)器人小車制作 1w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多