想用JavaScript控制一個炫酷機器人?現在就能實現!本文將介紹NodeBots,一種基於Node.js(JavaScript運行環境)的機器人控制系統,以及如何開始你的機器人創作之旅。
核心要點:
什麼是微控制器?
在深入探討之前,我們需要了解微控制器。微控制器是一種小型簡單的計算機,它是一個簡單的可編程電路板,可以檢測各種輸入並發送輸出。 Arduino是一種常見的微控制器,也是新手實驗的理想選擇。 Node.js還可以驅動其他類型的微控制器,包括Particle板(我的最愛!)、BeagleBone板、Tessel板(板本身運行在JS上)和Espruino板(也運行在JS上)。本文將重點介紹Arduino,因為它最為常見。
什麼是NodeBots?
NodeBots(顧名思義)是各種類型的機器人,可以通過Node.js進行控制。它們可以配備輪子、可動臂、腿部、運動傳感器、攝像頭、LED顯示屏,甚至可以播放聲音等等。唯一的限制是你的想像力和你能找到並組合在一起的組件!
NodeBots的概念源於Node.js能力的不斷提升,以及Nikolai Onken、Jörn Zaefferer、Chris Williams、Julian Gautier和Rick Waldron等開發者的興趣。他們共同努力開發了我們今天在NodeBots中使用的各種Node模塊。 Chris Williams開發的Node包node-serialport
開啟了這一切,它允許通過低級別讀寫串口來訪問現實世界的設備。
Julian Gautier隨後實現了Firmata協議,這是一種通過計算機上的軟件訪問Arduino等微控制器的協議,他在他的Node.js Firmata庫中使用了JavaScript。
Rick Waldron更進一步,他以Firmata庫為基礎,創建了一個完整的JavaScript機器人和物聯網編程框架——Johnny-Five。 Johnny-Five框架使得控制從LED到各種傳感器的所有內容都相對簡單易行。許多NodeBots現在都使用它來完成一些非常令人印象深刻的壯舉!
從哪裡開始?
如果你完全不了解機器人構建以及任何類型的現實世界JavaScript控制設備,有很多很棒的資源可以幫助你入門。我首先推薦你找到一個包含各種組件和傳感器的Arduino套件,這樣你就可以嘗試各種部件了。下面列出了一些不同公司提供的Arduino入門套件。如果下面的列表看起來很龐大,別擔心!它們都包含非常相似的組件,對於初學者來說都是不錯的選擇。
請記住,以上所有套件都不是針對NodeBot開發的。因此,小冊子中的示例是用Arduino使用的簡化的C 代碼編寫的。有關使用Node.js的示例,請參見下面的資源。
學習NodeBots的資源
網上有一些關鍵的地方可以學習如何構建各種NodeBot項目。以下是一些推薦:
澳大利亞NodeBot愛好者Andrew Fisher製作了一個相當簡單的項目,供人們在第一次NodeBot體驗中構建。它被稱為“SimpleBot”,名副其實。這是一個通常可以在一天內構建的NodeBot。如果你熱衷於運行一個實際的機器人,而不僅僅是一組基本的傳感器和燈的開關,這是一個很好的入門項目選擇。出於這個原因,它在NodeBots Day(見下文)的其中一種票類型中提供給澳大利亞與會者!這是一個帶有輪子和超聲波傳感器的機器人,可以檢測它是否即將撞到東西。這是我幾年前為NodeBots Day準備的成品版本:
SimpleBot所需的材料清單和一些示例Node.js代碼可在SimpleBot GitHub庫中找到。 Andrew還製作了一個YouTube視頻,展示瞭如何組裝SimpleBot。
Andrew還與Freetronics團隊合作,製作了一個SimpleBot Arduino擴展板,這對於那些想嘗試將其作為學習項目而無需焊接任何東西的人來說可能也很有用:SimpleBot擴展板套件。
結論
這就是對NodeBots世界的一個簡單介紹!如果你有興趣參與其中,你應該擁有開始你的NodeBot體驗所需的所有信息。
如果你想更多地參與NodeBots,請關注每年的國際NodeBots日。 (每年大約在七月舉行。)這是一個各種各樣的人們聚集在世界各地參加各種活動,一起構建基於JavaScript的機器人並享受美好時光的日子。
如果你使用上述任何資源構建了一個非常棒的NodeBot,請在評論中留言或通過Twitter (@thatpatrickguy)與我聯繫,我很樂意查看你的JavaScript機器人!
(以下為FAQ部分,已根據原文進行改寫和精簡,避免重複信息)
NodeBots常見問題解答:
構建NodeBot需要哪些基本組件? 你需要微控制器(如Arduino)、Node.js運行環境、與微控制器通信的庫(如Johnny-Five),以及各種電子元件(LED、電機、傳感器等)。
如何安裝Node.js和Johnny-Five? 從Node.js官網下載安裝程序,安裝完成後,在終端輸入npm install johnny-five
安裝Johnny-Five。
可以使用其他編程語言構建NodeBots嗎? 雖然JavaScript最常用,但Python、Ruby和C 也可以使用。
我可以使用NodeBots進行商業項目嗎? 可以,但需確保符合安全和監管要求。
NodeBots的未來如何? 隨著技術的進步,NodeBots將變得更強大、更通用、更經濟實惠,應用範圍也將更廣。
如何為NodeBots社區做出貢獻? 分享項目、代碼、教程、參與活動等。
以上是節點簡介的詳細內容。更多資訊請關注PHP中文網其他相關文章!