体验 Ruff 1.0

体验 Ruff 1.0

前几天围观了 Ruff 1.0 在微信群里线上发布会,感觉是个很有意思的东西。

Ruff 给出的口号是「现代 JavaScript 开发硬件」,作为一名每天使用 JavaScript 编码的程序员自然对其很感兴趣了。

值得注意的是 Ruff 是一个 JavaScript runtime,而非一块开发板的名称。

开箱

Ruff 的包装

开发板

附赠的套件

开始使用!

使用 Ruff 可以完全参照官方的文档:Ruff

- 配置环境

Ruff 1.0 的环境搭建是以下载 SDK 然后配置环境变量的方式进行的,可以将以下代码 Copy 添加到你的 Shell 配置中:

export RUFF_HOME=/path/to/ruff-sdk
export PATH="$PATH:$RUFF_HOME/bin"

- 创建项目

整个过程很类似创建 Node.js 项目:

- 连接设备

插入数据线的时候总觉得要把板子给摁破

- 连接 WiFi

需要自己输入 SSID 和 password

在连接的时候不知道什么原因,一直在打点:

但是再打开一个 Tab 使用 rap scan 命令证实实际上已经连接上了。

- 代码

默认创建的项目是启动开发板右侧的红色 LED,代码如下:

'use strict';

$.ready(function (error) {
    if (error) {
        console.log(error);
        return;
    }

    $('#led-r').turnOn();
});

$.end(function () {
    $('#led-r').turnOff();
});

这很像是我们所熟悉的 jQuery 写成的代码。

- 部署

rap deploy -s

在几秒钟之后,应用就已经部署到 Ruff 的开发板上了,可以看到右侧的红灯已经被点亮了:

- 添加模块

官方教程中是添加一个大按键的模块,但是我在收到的包装中并没有发现该模块 -- 原来是 Ruff 将按键模块放到了光照传感器的包装之中。

rap device add button

然后输入设备的型号就会自动下载该设备的驱动。

- 添加 LCD 模块

连线开始复杂起来了,好在 Ruff 提供了可视化布局。

rap layout --visual

会在浏览器中弹出一个页面教你如何接线,这还是十分方便的:

Rap Registry 中可以照着型号找到对应的 LCD API: Rap Registry

编写代码:

$('#button').on('push', function () {
  $('#lcd').print('Hello');
  $('#lcd').setCursor(0, 1);
  $('#lcd').print('Ruff');
});

$('#button').on('release', function () {
  $('#lcd').clear();
});

Deploy 后运行成功!

总的来说,Ruff 的使用体验还是非常不错的:

- 简洁的语法和快速的部署方式让 Ruff 能很快的上手;

- Rap Registry 和 Visual layout 让我这样普通定的程序员也能很快的用它来开发一些东西;

不好的地方稍微复杂一点的应用,在布线连接方面可能就比较麻烦了。

不过 Ruff 毕竟是一个刚面世不久的产物,而「用软件定义硬件」这样的概念让人有很大的想象空间。

---

Happy Hacking !

利益相关:非 Ruff 员工,JavaScript 开发者

「真诚赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
文章被以下专栏收录
46 条评论
推荐阅读