资讯专栏INFORMATION COLUMN

[一] Ruff之初体验

Youngdze / 611人阅读

摘要:实现项目的配置初始化,这个有些像我们在写模块的时候初始化配置,其实这里也是在初始化项目配置。

引言

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

准备工作 下载安装 Ruff SDK

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

rap --version
代码编写 创建项目

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

rap init

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

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

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

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

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

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

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

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

添加外设

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

rap device add 

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

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

rap device add CK002

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

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

rap layout

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

rap layout --visual

指令查看设备连线图

脚本代码

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

$.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://www.ucloud.cn/yun/86530.html

相关文章

  • 斜杠青年Ruff:区块链只是分内事

    摘要:物联网操作系统落地工业物联网定制化解决方案实施上线上天并不像一个正经的创业公司,更不像一个挣扎在生死边缘的创业者,反而像一个时下流行叫法斜杠青年。所以,对于而言,区块链只是份内的事。 showImg(https://segmentfault.com/img/bV9xuY?w=1182&h=591); 物联网操作系统落地工业物联网、定制化解决方案实施、Ruff Chain 上线、Ruff...

    zhisheng 评论0 收藏0
  • Ruff 和 Raspberry Pi 的区别是什么?

    摘要:树莓派最初是为了教学目的提供的小电脑,其目标用户是初接触电脑的使用者。从硬件配置上说,树莓派是有绝对优势的,开发套件要弱一些。举个例子,如果采用树莓派做为起点,有可能运行时会选择,而是很难向更小的硬件上移植的。 简而言之,Ruff 是一套软件,树莓派是一个硬件,只不过,Ruff 是为了开发硬件应用而设计的。 从设计初衷谈起 Ruff 是为了开发应用而设计,所以,其目标用户是开发者。 ...

    caspar 评论0 收藏0
  • Ruff 1.2 | 使用JavaScript 快速开发智能硬件应用

    摘要:以为这样就又结束了当然不一个专为硬件开发而设计的运行时,开发者可使用快速开发智能硬件应用。为开发者提供统一的硬件资源的抽象,帮助开发者便捷管理。同时为不同板卡初始化项目,支持为不同的板卡进行硬件布局。 Ruff 开发套件到手,兴奋地打开盒子,跟着文档用 Ruff 点亮了一盏灯,蜂鸣器、LCD 、LED 、声音、光照、温湿度传感器,红外接收发送。 玩完这些模块就结束了?Ruff 还可以怎...

    printempw 评论0 收藏0
  • Ruff:为物联网而生

    摘要:一个开放高效敏捷的物联网应用开发平台,就此诞生,也被称为全球最好用的物联网操作系统。区块链技术再加码,物联网生态持续精进随着区块链技术的出现及持续升温,如今区块链已经成为大众广泛关注的一个话题。 showImg(https://segmentfault.com/img/bV8bKH?w=2121&h=1414); 世界正在发生改变。 在无锡,中国第一个物联网之城——鸿山小镇已经悄然诞生...

    daydream 评论0 收藏0
  • 【物联网】JavaScript快速开发智能硬件应用—ruff开箱篇(

    摘要:前言最近听到有小伙伴们对感兴趣,我也跟着加入了大军中,本篇文章展示了的开发套件,以及入手后的小,后续持续更新参考文献官网思否首页开箱如同官网展示的配件如下上手官方我开发时使用的是系统,所以下载安装包创建项目文件,在当前目录执行下面命令查看 前言 最近听到有小伙伴们对ruff感兴趣,我也跟着加入了大军中,本篇文章展示了ruff的开发套件,以及入手后的小demo,后续持续更新参考文献ruf...

    NeverSayNever 评论0 收藏0

发表评论

0条评论

Youngdze

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<