首先简单说一下Ruff,Ruff是一个JavaScript运行时,专门为开发硬件而设计,其底层实现是基于Node.js,让咱们可使用JavaScript语言去实现本身想要的硬件功能设计,下面就是从零开始接触和学习使用Ruffjavascript
跳转到官方SDK的下载地址,而后根据本身的操做系统选择下载以及安装对应的SDK包,若是是Window下面安装仍是要配置环境变量,本人在mac下面安装,安装完成以后直接有了rap的环境变量,能够直接执行rap指令,安装完成后经过下面的指令能够查看当前是否安装成功以及安装的版本html
rap --version
首先,咱们须要在本身工做文件项目下建立Ruff项目,这里新建一个文件夹起名 hello-ruff , 而后进入该文件下下面执行下面指令。java
rap init
实现项目的配置初始化,这个有些像咱们在写node.js模块的时候初始化package.json配置,其实这里也是在初始化package.json项目配置。看到下图是实际在初始化时候的配置以及项目会自动经过网络安装一些默认的项目模块(你须要联网)node
初始化项目后,咱们进入项目简单看下相关的代码结构,下面是结构截图shell
由于Ruff底层是基于Node.js来实现,因此在项目结构上面也看到了Node.js的影子,有模块管理机制等等,下面简单说一下每一个目录的做用。json
.rap : 项目默认的模块以及用户添加的模块图片网络
ruff_modules : 项目依赖的业务模块,相似node_modulesapp
src : 项目脚本文件(index.js入口文件在package.json里面配置)学习
app.json : 项目用户本身添加的外设配置文件(例如CK002大按钮)spa
package.json : 项目配置文件,配置应用名、版本、入口等等信息。
Ruff的开发套件里面装备了不少外设套件,在编写项目代码以前咱们首先须要添加本身须要的外设,而后连接到开发板里面,使用如下指令能够给开发板添加外设
rap device add <your-device-id>
这里的<youur-device-id>就是后续开发中用来引用这个设备的名字,同时咱们能够经过官网rap查看全部的外设以及下载对应的驱动,这里以添加大按钮(Push Button Module)为例,首先要获取到这个外设的设备id(就是<your-device-id>),这里进入rap搜索
这里能够获取到这个外设的驱动以及型号版本,而型号版本(系统惟一编号)就是咱们须要的设备id(<your-device-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
目前为止,项目的入门就结束了