Tessel 2:轻松实现JavaScript和物联网的配对

Tessel 2是一个微控制器,可让您构建运行JavaScript和Node.js的连接设备。 它以Linux为核心运行,并在其之上运行Node.js-提供对大量npm模块及其所有潜力的访问。 在接下来的几周中,我将介绍一些使用Tessel 2的开发人员可以使用的功能。本周,我们将开始研究如何使用简单的测试应用程序启动并运行Tessel 2。

Tessel 2微控制器

我将在此演示中使用我的Tessel 2微控制器!

准备Node.js

确保已在计算机上安装Node.js v4.2.0或更高版本。 您可以使用以下方法进行检查:

node -v

如果尚未安装Node.js,请转到Node.js网站并下载Node.js v4.4.3

如果您是首次安装Node.js或希望将其升级到较新版本,我建议您安装4.4.3版,因为更高版本的Tessel 2似乎存在一些错误(尤其是在Mac OS X上) )。 随时尝试最新版本(可能只是我的电脑),但如果确实有问题,请尝试v4.4.3!

如果您像我一样需要升级Node.js,我最初是按照David Walsh的指南进行的 。 但是,如果您的计算机上运行着许多Node依赖项, 那么使用NVM方法可能会更整洁(更安全)。 我还使用Node.js站点.pkg下载文件重新安装了不同版本,并且降级和升级没有问题。 无论使用哪种方法,均应安装4.4.3版。

尝试运行t2 list时,尤其是在4.4.3之后的更高版本的Node中可能看到的错误。 如果在本指南的后面部分运行此命令时看到以下错误消息,则可能是您的Node版本引起的:

node(12328,0x7fff7830b000) malloc: *** error for object 0xffffffff: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6

要么:

ERR! WARNING: No usb controller found on this system.
INFO Crash Reported: http://crash-reporter.tessel.io/

安装Tessel CLI

一旦确定在计算机上运行了兼容版本的Node后,请运行以下命令以通过npm将Tessel的CLI(命令行界面)安装到计算机上:

npm install -g t2-cli

寻找你的棋子

成功安装Tessel CLI后,将Tessel插入USB端口之一并启动。 大约30秒后,运行以下命令以找到您的镶嵌:

t2 list

那将运行,并应显示它可以找到的Tessels列表,如下所示:

INFO Searching for nearby Tessels...
        USB	Tessel-6465762064696E6572

虽然“ Tessel-6465762064064696E6572”之类的名称令人难以置信,但您可以重命名以使该名称更好! 为此,运行以下命令,用您自己选择的名称替换“ Castiel”:

t2 rename Castiel

您将在Tessel CLI上看到以下内容,并显示一条成功消息:

INFO Looking for your Tessel...
INFO Connected to Tessel-6465762064696E6572.
INFO Changed name of device Tessel-6465762064696E6572 to Castiel

如果随后再次运行t2 list ,则应该看到Tessel现在有了一个令人难以置信的醒目名称:

INFO Searching for nearby Tessels...
        USB	Castiel

将您的Tessel连接到Wi-Fi

Tessel 2带有内置的Wi-Fi,可以相对轻松地连接到Wi-Fi网络。 为此,请运行以下命令:

t2 wifi -n "Your Witty WiFi Name" -p yourwifipassword

这将在Tessel CLI中显示以下内容,希望以成功的连接结束:

INFO Looking for your Tessel...
INFO Connected to Castiel.
INFO Wifi Enabled.
INFO Wifi Connected. SSID: Your Witty WiFi Name, password: yourwifipassword, security: psk2

Tessel的琥珀色LED指示灯代表Wi-Fi连接,如果您看到该指示灯闪烁,则一切正常!

通过Wi-Fi推送代码

Tessel的一个奇妙的便捷功能是能够通过Wi-Fi将代码从计算机推入并运行到Tessel,因此您无需一直通过USB连接它。 对于拥有许多设备的人或有计划创建Tessel(将其放置在家里难以到达的位置)的计划的人来说,这尤其方便。

要使您的计算机能够通过Wi-Fi运行并将代码推送到Tessel,请运行以下命令:

t2 provision

这将设置公钥和私钥,以使您的计算机可以通过Wi-Fi与Tessel配合使用。 如果一切成功,您应该看到类似以下的消息:

INFO Looking for your Tessel...
INFO Connected to Castiel.
INFO Creating public and private keys for Tessel authentication...
INFO SSH Keys written.
INFO Authenticating Tessel with public key...
INFO Tessel authenticated with public key.

然后,确保您与Tessel处于同一Wi-Fi网络上,再次运行t2 list命令。 现在,您应该看到Tessel既列为USB设备,又列为Wi-Fi设备:

INFO Searching for nearby Tessels...
        USB	Castiel	
        LAN	Castiel

更新您的Tessel

您刚收到Tessel的机率很高,并且固件上的固件版本稍早一些,可以追溯到其制造和发货的时间。 与许多物联网设备一样,事情发展很快,您的Tessel可能需要更新。 运行以下代码来更新您的Tessel:

t2 update

它应该运行,并且您应该会看到类似的内容,如果您的Tessel确实需要更新:

INFO Looking for your Tessel...
INFO Connected to Castiel.
INFO New firmware version found...0.0.12
INFO Updating Castiel to latest version (0.0.12)...
INFO Beginning update download. This could take a couple minutes..
  Downloading [====================] 100% 0.0s remaining
INFO Download complete!
INFO Updating OpenWRT (1/2)
INFO Transferring image of size 19.14 MB. This will take 2-4 minutes...
INFO Transfer complete.
INFO Starting OpenWRT update.
INFO Please do not remove power from Tessel.
INFO This process will take at least two minutes...
INFO Updating firmware (2/2)
INFO Firmware update complete!
INFO Updated Castiel from  0.0.11  to  0.0.12

在此之后,您可能需要按Ctrl + C才能返回到命令行…对我来说,它已完成但没有结束程序。 如果您遇到这种情况,请按Ctrl + C修复它!

我们的Tessel应该已经完全准备好用于测试应用程序。 让我们将Tessel的闪光颜色变得疯狂。

我们的第一个彩色Tessel应用程序

为您的Tessel应用创建一个名为“ rainbows”的文件夹,或者使用您喜欢的任何名称。 转到终端/命令行中的该文件夹。 当您在文件夹中时,键入以下命令来设置Tessel应用程序的初始准系统:

t2 init

完成运行后,将组装一个基本的“ Hello World”应用程序:

Created package.json.
Created .tesselinclude.
Wrote "Hello World" to index.js

我们在此示例应用程序中的功能可在index.js找到。 如果打开它,则它放在示例应用程序中的初始代码应如下所示:

// Import the interface to Tessel hardware
var tessel = require('tessel');

// Turn one of the LEDs on to start.
tessel.led[2].on();

// Blink!
setInterval(function () {
  tessel.led[2].toggle();
  tessel.led[3].toggle();
}, 100);

console.log("I'm blinking! (Press CTRL + C to stop)");

使用以下命令运行该代码:

t2 run index.js

如果运行该程序,您将看到Tessel上的两个LED来回闪烁。 这是激动人心的第一步,但我更愿意加倍努力。 让所有四个LED闪烁,然后使其闪烁得更快一些。

Tessel 2具有四个板载LED- ERR (红色), WLAN (琥珀色), LED0 (绿色)和LED1 (蓝色)。 您会看到所有四个在“ Tessel 2”徽标和板上文字旁边并排排列。 对于现实世界中的应用程序,接管ERRWLAN LED的可能性很小。 不过,对于一个有趣的小测试应用程序-我说为什么不!

每个LED tessel.ledtessel.led数组中的JavaScript中寻址。 它们在该数组中的存储顺序如下所示:

  • ERR(红色)– tessel.led[0]
  • WLAN(琥珀色)– tessel.led[1]
  • LED0(绿色)– tessel.led[2]
  • LED1(蓝色)– tessel.led[3]

此顺序与它们在Tessel板上本身显示的顺序匹配。

如果我们调整上面的index.js文件,我们可以访问所有这些LED,而不仅仅是两个:

var tessel = require("tessel");

tessel.led[0].on();
tessel.led[2].on();

setInterval(function() {
  tessel.led[0].toggle();
  tessel.led[1].toggle();
  tessel.led[2].toggle();
  tessel.led[3].toggle();
}, 80);

console.log("Rainbow madness! (Press CTRL + C to stop)");

在上面的代码中,我们同时打开ERRLED0 LED。 然后,每隔80毫秒,我们会切换所有四个LED状态,从而使它们以交替模式闪烁-首先是ERRLED0闪烁,然后是WLANLED1 LED闪烁。 他们会永远这样做,直到您按CTRL + C!

这是所有示例的GIF示例:

Tessel 2彩虹灯

结论

这就完成了Tessel 2微控制器入门的基础。 在本系列有关Tessel的下一篇文章中,我们将介绍如何设置Tessel GPS模块以及如何从中检索位置数据!

如果您有Tessel 2并用它构建了一些有趣的东西,我很想听听您的构建! 在下面的评论中让我知道,或者在Twitter上通过@thatpatrickguy与我联系

From: https://www.sitepoint.com/tessel-2-pairing-javascript-and-the-internet-of-things-with-ease/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值