首页 > web前端 > js教程 > 节点简介

节点简介

Christopher Nolan
发布: 2025-02-16 08:33:13
原创
488 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板