體驗 Ruff 1.0
Ruff 給出的口號是「現代 JavaScript 開發硬體」,作為一名每天使用 JavaScript 編碼的程序員自然對其很感興趣了。
值得注意的是 Ruff 是一個 JavaScript runtime,而非一塊開發板的名稱。
開箱
Ruff 的包裝
開發板
附贈的套件
開始使用!
使用 Ruff 可以完全參照官方的文檔:Ruff
- 配置環境
Ruff 1.0 的環境搭建是以下載 SDK 然後配置環境變數的方式進行的,可以將以下代碼 Copy 添加到你的 Shell 配置中:
export RUFF_HOME=/path/to/ruff-sdkexport 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 開發者
推薦閱讀:
※L1,L2,L3 Cache究竟在哪裡?
※求救為什麼夏普50V3電視搜不到我家WIFI?
※如何看待輻射4的官方配置?
※PS/2介面還有什麼可存在的意義?
※機械硬碟磁頭在磁碟旋轉時在磁碟上方懸浮,靠的是什麼?
TAG:JavaScript | 硬件 | 开发板 |