首頁 >web前端 >js教程 >節點簡介

節點簡介

Christopher Nolan
Christopher Nolan原創
2025-02-16 08:33:13488瀏覽

An Introduction to NodeBots

想用JavaScript控制一個炫酷機器人?現在就能實現!本文將介紹NodeBots,一種基於Node.js(JavaScript運行環境)的機器人控制系統,以及如何開始你的機器人創作之旅。

核心要點:

  • NodeBots是通過Node.js控制的機器人,可配備輪子、可動臂、運動傳感器、攝像頭、LED顯示屏等各種組件。
  • NodeBots的興起得益於Node.js能力的提升,以及Nikolai Onken、Jörn Zaefferer、Chris Williams、Julian Gautier和Rick Waldron等開發者的貢獻,他們開發了NodeBots中使用的各種Node模塊。
  • 開始構建NodeBots,首先需要一個包含各種組件和傳感器的Arduino套件。網上也有大量資源可供學習各種NodeBot項目。
  • 每年的國際NodeBots日是一個全球性活動,人們聚集在一起構建基於JavaScript的機器人,是深入了解NodeBots的絕佳機會。

什麼是微控制器?

在深入探討之前,我們需要了解微控制器。微控制器是一種小型簡單的計算機,它是一個簡單的可編程電路板,可以檢測各種輸入並發送輸出。 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入門套件。如果下面的列表看起來很龐大,別擔心!它們都包含非常相似的組件,對於初學者來說都是不錯的選擇。

入門套件

  • SparkFun發明家套件。幾年前,這個套件開啟了我的機器人之旅!它包含各種標準組件,例如彩色LED燈、傳感器、按鈕、電機、小型揚聲器等等。它還附帶指南和示例項目,可以幫助你提陞技能。
  • Freetronics Arduino實驗家套件。這個套件由一家名為Freetonics的澳大利亞公司出品。它與SparkFun套件的組件非常相似,但也有一些細微的差別。它也附帶自己的指南和示例項目。
  • Seeed Studio ARDX入門套件。 Seeed Studio也有自己的入門套件,它也與SparkFun和Freetronics套件非常相似。它也附帶自己的指南。
  • Adafruit Arduino ARDX實驗套件。這個套件也與上述套件非常相似,並附帶自己的指南。
  • Arduino入門套件。 Arduino.cc官方也提供自己的入門套件。該入門套件與上述套件類似,但包含一些有趣的示例項目,例如“愛情計”。

請記住,以上所有套件都不是針對NodeBot開發的。因此,小冊子中的示例是用Arduino使用的簡化的C 代碼編寫的。有關使用Node.js的示例,請參見下面的資源。

學習NodeBots的資源

網上有一些關鍵的地方可以學習如何構建各種NodeBot項目。以下是一些推薦:

  • 使用Node.js和Johnny-Five控制Arduino。這是一個免費的SitePoint視頻教程,介紹了將Arduino連接到Node.js以及使用該框架來打開和關閉LED燈的基礎知識。
  • NodeJS的Arduino實驗家指南。這是NodeBots社區的Anna Gerber和其他成員對SparkFun版本的.:oomlout:.的ARDX指南的改編。它展示瞭如何用Node.js而不是Arduino的簡化C 代碼來完成上述套件中的許多示例。
  • 官方Johnny-Five網站。 Johnny-Five框架最近發布了一個全新的網站,其中包含關於如何在Arduino和其他平台上使用該框架的出色文檔!
  • Make: JavaScript機器人書籍。 Rick Waldron和NodeBot社區的其他成員新發布的一本書,提供了一系列使用各種設備的JS項目。非常適合那些掌握了絕對基礎知識並希望探索新項目的人!
  • NodeBots官方網站。如果你正在尋找你附近的本地NodeBots聚會,或者想了解更多關於NodeBots的 general 信息,請查看此頁面。
  • NodeBots——JS機器人的興起。 Chris Williams撰寫的一篇關於NodeBots如何產生的精彩文章。對於感興趣的人來說,這是一篇不錯的文章。

SimpleBot

澳大利亞NodeBot愛好者Andrew Fisher製作了一個相當簡單的項目,供人們在第一次NodeBot體驗中構建。它被稱為“SimpleBot”,名副其實。這是一個通常可以在一天內構建的NodeBot。如果你熱衷於運行一個實際的機器人,而不僅僅是一組基本的傳感器和燈的開關,這是一個很好的入門項目選擇。出於這個原因,它在NodeBots Day(見下文)的其中一種票類型中提供給澳大利亞與會者!這是一個帶有輪子和超聲波傳感器的機器人,可以檢測它是否即將撞到東西。這是我幾年前為NodeBots Day準備的成品版本:

An Introduction to NodeBots

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn