想用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中文网其他相关文章!