使用Tessel构建物联网:Node.js开发板

Tessel是一种完全在Node.js上运行的新型开发板,在成功完成Kickstarter之后,它们已经达到了每个人都可以使用的程度。究竟是什么,它与其他爱好板有什么不同?它有什么潜在用途?

什么是Tessel?

Tessel是纯粹的Node.js开发板,因此,所有内容均使用JavaScript编写,并使用Google开发的超快速Node引擎运行。包括您选择的基本模块在内的价格为99美元,而具有RFID等高级模块的价格为125美元。

在硬件方面,Tessel具有:

  • 180 MHz ARM处理器
  • 32 MB SDRAM
  • 32 MB闪存
  • 20个GPIO引脚
  • 内置WiFi(尽管信号较弱,所以建议您添加自己的天线)
  • 内置的WiFi是一项令人敬佩的功能:在一个简单的命令中,我将Tessel连接到了家庭网络,然后将其详细信息分别保存到您添加的任何程序中,因此

    当前,不需要(也没有提供)特殊的IDE来为Tessel编程。由于使用的是标准JavaScript,因此您可以使用任何文本编辑器,也可以使用诸如Sublime Text(请查看我的评论)等面向程序的编辑器来突出显示语法。通过一个简单的命令即可通过命令行将代码上传到Tessel。与任何Node应用程序一样,有成千上万个可用的编程库(例如,简单的Web服务器)可用于使用NPM(Node Package Manager)放入您的应用程序中。

    共有14种不同的硬件模块添加一些附加功能,例如红外线或RFID,尽管其中一些功能尚未发布。它们的工作方式与Arduino屏蔽类似,可插入Tessel的四个模块之一。如果它以与Arduino相同的方式起飞,我们应该期望很快会看到第三方插件。

    下图:RFID和IR模块通过3个模块插入Tessel 4个扩展端口。

    Tessel可以完成的大部分工作都可以通过Raspberry Pi实现);它具有一组用于与传感器交互的GPIO引脚。与Pi相似,Tessel的GPIO引脚可在最大3.3伏的电压下运行,尽管该板可提供5伏的电源。

    易用性是主要区别因素。在Raspberry Pi上安装Node.js并非易事,即使禁用图形桌面功能,Node的运行速度也非常慢。您需要远程SSH到Pi来编辑文件,然后是配置无线网络的问题。

    将Node.js代码上传到Tessel是一个简单的命令,就像连接到无线上网。而且,通过本机运行Node,它的速度要快得多。

    当然,您不能将Tessel用作像Pi这样的通用廉价计算机。 Pi是千篇一律,无精打采。 Tessel是仅运行Node的大师。凭借其SD卡存储功能,Pi还具有更多的RAM和更多的应用程序驱动空间。

    与Arduino

    的比较Arduino是一款成本极低的微控制器(您甚至可以自己建造一个),并具有多种外形尺寸。凭借数量惊人的教程和可通过标准组件以及分线板获得的附加功能,它成为电子领域理想的低成本入门者。它使用了从C和自定义开发环境应用程序(IDE)派生的特殊编程语言,但是与Node / JavaScript相比,它的使用起来并不难,尤其是如果您已经有一点经验的话。

    由于基于事件的范例,在Node中进行编程对于诸如对传感器做出反应之类的事情变得更加容易。使用Arduino,对传感器做出反应就意味着增加了一个在每个循环周期读取值的功能。使用Node,您只需附加一个事件,然后在检测到信号时将其触发。

    与Tessel相比,Arduino的处理能力和内存受到很大限制–它无法处理任何软件,重。即使最大的真正的Arduino板也只能提供128KB的闪存和8KB的RAM。

    也就是说,如果您的项目主要基于电子产品,或者您需要更基本的访问权限,例如中断和计时,您可能想要坚持使用Arduino。当然,成本也相差很大。

    不好

    从理论上讲,Tessel应该与大多数NPM软件包一起使用。实际上,它是有问题的,在撰写本文时,由于核心HTTP模块不兼容,因此Express或Sockets.io都无法正常运行。我毫不怀疑这些会及时得到解决,但现在有点限制了。

    尽管扩展模块硬件是一个不错的软件包,但是红外线功能并不是那么简单作为Arduino,它需要使用解码缓冲区,而不是我们习惯的标准信号类型+十六进制代码。再次承诺在此之后进行改进。

    WiFi天线的覆盖范围也很糟糕-理想的情况是我们在同一个房间内聊天-改进它涉及到一些小规模的焊接工作(尽管有关如何进行黑客攻击的说明非常明确)。文档还表明,WiFi芯片可能在802.11n速度和5GHz网络方面存在问题,尽管我至少能够将其连接到802.11n 2.4GHz网络。包括将天线开关与预焊接的外部插座一起使用将是非常值得赞赏的,而且并不是每个人都对烙铁充满信心。

    Tessel有什么用处呢?

    < strong>物联网。 Tessel非常喜欢它,但是还很早。板载WiFi意味着它非常适合新一代互连设备;虽然从头开始对Node的支持应该确保快速,轻松地实现JSON API或简单的服务器堆栈。

    Tessel是值得关注的一个人-即使是从Arduino夺冠的潜在竞争者-但我会暂时坚持,直到消除了一些皱纹。而且,如果您决定购买一个,那么我们会发现一些很棒的Tessel DIY教程供您寻找。

    标签: JavaScript 编程