首先簡單說一下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
目前爲止,項目的入門就結束了