用Javascript制造机器人和火箭


发布者 ourjs  发布时间 1402901978609
关键字 技术前沿  开源 
用微控制器操控LED以及了解微控制器的原理曾经需要很长时间,但这都发生在Arduino诞生之前。但即便是使用Arduino,人们也时常发现设计他们想要的程序依然困难,尤其在是处理网络(通常用Arduino也难以攻克)的时候。

尽管Arduino以及之后的Raspberry Pi让造东西(以机器人为例)变得简单许多——基本上是由于围绕在它们周围的巨大社区。正是这些社区带领着Arduino和Raspberry Pi占据了大片河山。如果你遇到了一个问题,一定会有某个人碰到过相同问题,并为你答疑解惑。

进入网页开发以及node.js的话题。如果你还没有接触过,那么node.js是一个服务端的Javascript解决方案——这是一个由事件驱动的,无阻塞I/O模型。它迅速流行起来,得到各个网络社区的拥护。正是这些知名度,一些开源硬件平台开始内置对Javascript的支持,正如Tessel和Espruino一样,第三类社区(硬件)正在崛起。

这个第三类社区并不看中微控制器、电子工业以及制造机器人之类的事情,与我们以往做的事都不太一样,而这意义非同寻常。他们大多有高级语言或者Web的背景,首先将软件堆叠在一起,又封闭联络。他们的方法构建出了一个像Cylon.js一样的框架——服务于机器人学、物理运算、为node.js编写的物联网的Javascript框架。

早些年前我在ThingsCon偶然遇到他们。他们在那举办过一场研讨会,用 Spheros、Arduinos和 Leap Motiongestural控制器展示了用Javascript编写程序有多简单。所以几周前当我看见那些在Bay Area Maker Faire上的创客(Make)在Electronics Stage上讲话时,我认为这是一个坐下来和——Ron Evans ,Cylon.js的创造者之一谈谈Cylon.js 构建框架以及未来何去何从的好机会。

所以告诉我一些关于Cylon.js的事情吧?

Cylon.js是一个为机器人学和物联网服务的开发的Javascript框架。它支持19种不同硬件软件平台。我们的目标,是将开发软件装置变得和开发网页一样简单。

为什么是Javascript?

Javascrpit是一种很受欢迎的程序语言。由于在node.js的基础上构建而成,我们可以实时掌握在不同装置里的数据信息输入输情况。

似乎Javascript带来很多很趣的事,尤其是硬件上的node.js社区。你认为是什么样的原因造成的?

原因不同。一个是因为JS团体在探索新技术方面是开创者和先驱者。另一个原因是受我的朋友—— Chris Williams,JSConf及更新的RobotsConf的主要发起人,在帮助将JS团体引进硬件开发上的核心人物。

你为什么会认为对硬件很熟悉的创客们会对Javascript框架感兴趣呢?

JS 的普遍存在使人们能够更容易地获取到JS的运行环境,如Beaglebone Black、Raspberry Pi上编写程序。使用像JS这样更高级的语言,保障了编程者花更少的时间让各种东西运行起来,节省下来更多的时间也让程序更具有实用性。

你支持的平台似乎包括用户界面、硬件及软件各种的混合体,你是如何让他们相互作用的?

我们称它为“全栈机器人”,我们采用了几种不同的软件设计模板,天衣无缝地融合不同的层。类似于网页开发者在不同的数据库引擎之间自由转换,我们保障你能够连接不同的装置,甚至用最少的数据和代码改变从一平台转换到另一平台。我们还支持“测试驱动机器人”,保障开发者在真正的硬件开发时之前,在编写代码时进行自动化测试。

Cylon.js是如何支撑Arduino或者Digispark不使用Javascript语言的平台呢?

Cylon.js还支持许多不同种类的交流装置,如串口或TCP/UDP。至于Arduino,我们使用Firmata 协议进行交流,而Digispark我们用一个叫Littlewire,由伟大的Jenna Fox创造的能在一些更小的,如Digispark上运行的协议。

你似乎运行着很多提升框架性能的研讨会,能告诉我是怎么做到的?你为什么经营它们?

我们从在全球各地各种会议上的机器人开发研讨会那里,得到了不可思议的反响。从那些已经是制造商的人,到那些从未有接触过任何硬件的人,我们都看到了高度的热情与兴趣。我们也尝试着去表现艺术性和创造性的一面。例如,在我们现有的研讨会里我们向人们展示如何利用冰棒棍和有传导性的金属铝片制造耐用的控制器带动Sphero机器人。

你如何看待Sylon.js未来的发展?

我们开始看到一个十分活跃的社区在成长。在JSConf,我们有一组用Cylon.js、Raspberry Pi 、Arduino 制造了NodeRockets(他们用压缩空气发射到了天空)的人。他们有遥感数据,自动展开他们的降落伞,所有都是用Cylon.js。毫无意外Cylon.js展现了在天上的优越性!

我们正为硬件装置加入更多支持,其中一些还没有发布,所以我们在这里不予以讨论,但在接下来几个月会有更多细节。我们的公司是一个让硬件公司更好的软件公司,所以在这里,只要需要,我们就可以帮助开源贡献者以及专业人士摆脱困境。

他们有能够用本国语言编写硬件的能力,我认为我们将从网页开发者身上看到更多的硬件被开发出来。




回复 (3)
  • #
  • #1 tyler 1404270943230

    楼主,网站功能现在还很不完善啊。 什么时候能修改头像跟姓名什么的?

  • #2 ourjs 1404341917775

    @tyler 头像是使用邮箱跟gravtar绑定的, http://www.gravatar.com/

    显示姓名以后会加上。

  • #3 流绪微梦 1403272091000
    哈哈哈,,,好东西
微信扫码 立即评论