转载

[一] Ruff之初体验

引言

首先简单说一下Ruff,Ruff是一个JavaScript运行时,专门为开发硬件而设计,其底层实现是基于Node.js,让我们可以使用JavaScript语言去实现自己想要的硬件功能设计,下面就是从零开始接触和学习使用Ruff

[一] Ruff之初体验

准备工作

下载安装 Ruff SDK

跳转到官方SDK的 下载地址 ,然后根据自己的操作系统选择下载以及安装对应的SDK包,如果是Window下面安装还是要配置环境变量,本人在mac下面安装,安装完成之后直接有了rap的环境变量,可以直接执行rap指令,安装完成后通过下面的指令可以查看当前是否安装成功以及安装的版本

rap --version

代码编写

创建项目

首先,我们需要在自己工作文件项目下创建Ruff项目,这里新建一个文件夹起名 hello-ruff , 然后进入该文件下下面执行下面指令。

rap init

实现项目的配置初始化,这个有些像我们在写node.js模块的时候初始化package.json配置,其实这里也是在初始化package.json项目配置。看到下图是实际在初始化时候的配置以及项目会自动通过网络安装一些默认的项目模块(你需要联网)

[一] Ruff之初体验

初始化项目后,我们进入项目简单看下相关的代码结构,下面是结构截图

[一] Ruff之初体验

因为Ruff底层是基于Node.js来实现,所以在项目结构上面也看到了Node.js的影子,有模块管理机制等等,下面简单说一下每个目录的作用。

  • .rap: 项目默认的模块以及用户添加的模块图片

  • ruff_modules: 项目依赖的业务模块,类似node_modules

  • src: 项目脚本文件(index.js入口文件在package.json里面配置)

  • app.json: 项目用户自己添加的外设配置文件(例如CK002大按钮)

  • package.json: 项目配置文件,配置应用名、版本、入口等等信息。

添加外设

Ruff的开发套件里面装备了很多外设套件,在编写项目代码之前我们首先需要添加自己需要的外设,然后链接到开发板里面,使用以下指令可以给开发板添加外设

rap device add <your-device-id>

这里的<youur-device-id>就是后续开发中用来引用这个设备的名字,同时我们可以通过 官网rap 查看所有的外设以及下载对应的驱动,这里以添加大按钮(Push Button Module)为例,首先要获取到这个外设的设备id(就是<your-device-id>),这里进入 rap搜索

[一] Ruff之初体验

这里可以获取到这个外设的驱动以及型号版本,而型号版本(系统唯一编号)就是我们需要的设备id(<your-device-id>), 接下来就是添加该外设。

rap device add CK002

[一] Ruff之初体验

接下来填写该外设在项目中的模块名称以及选择驱动下载,目前为止,我们就已经给项目添加了一个外设,添加成功后,我们可以看到app.json文件多了刚添加的外设配置信息

[一] Ruff之初体验

目前为止,我们仅仅只是在项目代码中添加大按钮这个外设,然后,接下来需要在硬件上面接线了,对于一个没有任何硬件基础的人来说,这完全不知如何入手,但是,ruff提供一个可视化的界面,该可视化直接显示出如何进行接线。在这之前我们需要执行指令

rap layout

该指令会让rap对外设需要的资源进行自动分配,计算出设备间的链接方式,这里要注意,我们每次修改都需要执行该命令让来重新计算分配,然后可以执行

rap layout --visual

指令查看设备连线图

[一] Ruff之初体验

脚本代码

到了这一步开始编写项目的代码,这里直接拿官网的例子:

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

    // 在 `#button` 按下时点亮 `#led-r`.
    $('#button').on('push', function () {
        console.log('Button pushed.');
        $('#led-r').turnOn();
    });

    // 在 `#button` 释放时熄灭 `#led-r`.
    $('#button').on('release', function () {
        console.log('Button released.');
        $('#led-r').turnOff();
    });
});

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

应用部署

最后一步就是需要做应用的部署,在部署之前我们需要通过USB线连接到开发版,等待开发版开启之后,电脑需要开发板创建的 Ruff-[SN] 的无线网络,然后执行

rap deploy -s

目前为止,项目的入门就结束了

原文  https://segmentfault.com/a/1190000007835179
正文到此结束
Loading...