ruff sdk(ruff 智能硬件工具包)
v1.5 官方最新版- 软件大小:8.92 MB
- 更新日期:2019-07-04 15:12
- 软件语言:简体中文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
Ruff是一款智能硬件设备,它也是一款支持JavaScript开发应用的物联网操作系统,为软件开发者提供开放、高效、敏捷的物联网应用开发平台,让IoT应用开发更简单;整个Ruff开发体系包括Ruff OS、Ruff SDK、Ruff 软件仓库、Ruff Kit开发套件;只要用户有软件开发经验,就可以用 Ruff 开发硬件应用;该程序具有以下几个特性:Ruff OS运行在硬件板卡上,为Ruff应用提供运行环境;Ruff SDK安装在开发机电脑上,包含开发相关的所有工具;Ruff软件仓库是云端的在线软件包管理平台,提供软件包下载和分享服务;Ruff Kit开发套件由Ruff开发板 (ruff-mbd-v1) 和多个外设模块组成,帮助快速上手。强大又实用,需要的用户可以下载体验
软件功能
1、“软件”一样的硬件
硬件抽象层,使得操作硬件犹如普通程序库,一切尽在掌握,降低硬件领域进入门槛,让创意照进现实世界。
2、广泛的外设支持
支持各种传感器、外设模块等,用想象力连接物理世界,激发真正的创造力。
3、便捷的开发方式
应用逻辑全部在 PC 上完成,简洁地一键部署,告别传统的交叉编译、烧写板卡的低效循环。
4、快速的迭代
将注意力更多地集中于应用逻辑,直面持续变化的业务需求,助您实现快速的业务迭代。
软件特色
1、JavaScript
熟悉的语言,现代的开发方式
2、软件仓库
模块与驱动,一应俱全
3、轻松部署
告别交叉编译,简洁地一键部署
安装说明
1、下载本站提供的Ruff SDK并解压缩,根椐系统要求使用对应版本。
2、配置环境变量 RUFF_HOME 和 PATH(以下方法仅在当前命令行会话中有效):
- Linux / OS X
打开终端,分别执行以下两条命令(需将 /path/to/ruff-sdk 替换为解压后的文件夹路径):
- Windows
打开命令行,分别执行以下两条命令(需将 X:\path\to\ruff-sdk 替换为解压后的文件夹路径):
- 验证 SDK 安装
在命令行中中键入如下命令
如果 rap 版本正常打印,说明 PATH 配置成功。
Ruff SDK 中包含了 rap 和 ruff 两个可执行文件。其中 rap 是包含了设备匹配、应用初始化、驱动及模块管理等功能的开发工具;而 ruff 则是 Ruff 的运行时,在开发机中主要用于测试及模拟。
使用说明
前提条件
如果你还没有 Ruff 的开发套件,可以到这里购买。
请确保自己的电脑具备无线网络访问能力。
在实践过程中,遇到任何问题,可以访问疑难解决。
第一步:下载安装 Ruff SDK
根据你的操作系统,下载并安装 Ruff SDK。
在安装完成后,在命令行中执行 rap --version,如果正确输出当前的 SDK 版本,则说明 Ruff SDK 安装成功。
Ruff 的开发工具 rap 为 Ruff 应用开发提供了多方面的支持,包括项目脚手架,依赖与设备管理等。
第二步:创建 “Hello Ruff” 项目
使用命令行打开自己常用的项目文件夹,再逐行执行下列命令(不包括以 # 开头的注释):
注意:请勿在 SDK 文件夹内新建项目。
请根据提示填写应用名称等内容(括号内表示默认值,如果和预期一致,可以直接回车确认):
完成后, rap 会初始化项目并下载开发板的配置信息及依赖。
第三步:应用开发
使用任意编辑器打开由 rap 自动生成的 src/index.js 脚本文件:
这段代码的作用是在应用启动后点亮红色板载 LED(设备 ID 为 led-r,# 表示通过 ID 匹配设备),并在应用退出时将其关闭。
第四步:连接设备
将 Ruff 开发板上的 micro USB 接口与 USB 电源线连接,Ruff 开发板随即启动。
开发板成功启动后,会搭建一个名为 Ruff_[S/N]([S/N] 为设备序列号)的无线热点。使用开发机连接该热点,成功后进行后续操作(该热点没有因特网接入)。
第五步:应用部署
开发机接入开发板架设的无线热点后,我们就可以进行应用的部署了。在命令行中继续执行如下命令:
如果一切顺利,在应用启动成功后稍等片刻,就可以看到红色板载 LED 已经点亮了。
恭喜,你的第一个 Ruff 应用已经成功地运行了起来!
第六步:添加外设
首先,切换回平时常用的无线网络。
从套件中找出大按键模块(Push Button Module,型号 CK002),我们将尝试通过它来控制板载 LED 的点亮和熄灭。根据包装上的标签,可以在 rap 网站上查看到它的信息,包括支持这个外设的驱动。
在应用目录执行如下命令
其中,button 是在程序中操作这个外设的 ID。
填入外设型号 CK002 并确认,rap 将搜索 Ruff 软件包仓库并列出可用的驱动:
选择 button-gpio 的最新版本并确认,rap 会根据选择自动下载驱动。
第七步:硬件布局
添加完外设后,我们需要重新对硬件进行布局(layout)和连接。在应用目录中执行如下命令:
rap 会对外设需要的资源进行自动分配,计算出设备间的连接方式。
除此之外,rap 还提供了图形化的布局编辑器,可以用于查看设备连线并进行简单的调整。在应用目录执行 rap layout --visual,rap 会下载设备的图片及针脚信息,以可视化的方式展示出来。
根据 rap 计算出(或者编辑后)的方式对硬件进行连接。(建议在连接硬件的过程中断开电源。)
第八步:绑定事件
修改 src/index.js,绑定 button 按键的 push(按下)和 release(释放)事件:
对于其他驱动提供的 API,可以到在 Ruff 软件包仓库 搜索相应驱动及其使用说明。
第九步:再次部署应用
请再次连接到 Ruff-[SN] 的无线网络。请确认网络连接成功后,进行后续操作。
执行命令部署并启动应用:
试试看,按下和释放按键是不是能够点亮和熄灭红色板载 LED 了?
第十步:查看应用日志
为了更好地了解应用的运行状态,我们可以在应用中打印日志并通过 rap log 命令查看。
打开一个新的命令行窗口,进入应用目录,执行如下命令
当控制台输出如下内容时,表示已经与开发板建立连接。
按下大按键,红色板载 LED 会点亮,日志控制台会输出
释放大按键,红色板载 LED 会熄灭,日志控制台会输出
缓冲区#纯JavaScript对Unicode友好,但对二进制数据不好。在处理TCP流或文件系统时,必须处理八位字节流。Ruff有几种操作,创建和使用八位字节流的策略。
原始数据存储在Buffer类的实例中。A Buffer类似于整数数组。A Buffer无法调整大小。
这个Buffer课程是全球性的,这使得人们非常罕见require('buffer')。
在Buffers和JavaScript字符串对象之间进行转换需要显式编码方法。以下是不同的字符串编码。
'ascii' - 仅适用于7位ASCII数据。这种编码方法非常快,如果设置将剥离高位。
'utf8' - 多字节编码的Unicode字符。许多网页和其他文档格式使用UTF-8。
'utf16le' - 2或4个字节,小端编码的Unicode字符。支持代理对(U + 10000到U + 10FFFF)。
'ucs2'- 别名'utf16le'。
'base64' - Base64字符串编码。
'binary' - 通过仅使用每个字符的前8位将原始二进制数据编码为字符串的方法。不推荐使用此编码方法,应尽可能避免使用此编码方法Buffer。在Node.js的未来版本中将删除此编码。
'hex' - 将每个字节编码为两个十六进制字符。
从Buffer具有以下警告的作品创建类型化数组:
缓冲区的内存被复制,而不是共享。
缓冲区的内存被解释为数组,而不是字节数组。也就是说, 使用元素new Uint32Array(new Buffer([1,2,3,4]))创建一个4 Uint32Array元素[1,2,3,4],而不是Uint32Array使用单个元素 [0x1020304]或[0x4030201]。
注意:Ruff只是保留了对缓冲区的引用array.buffer 而不是克隆它。
虽然效率更高,但它会引入与类型化数组规范的微妙不兼容性。 ArrayBuffer#slice()在Buffer#slice()创建视图时制作切片的副本 。
类:缓冲区#Buffer类是一种直接处理二进制数据的全局类型。它可以以各种方式构建。
新缓冲区(大小)#size 数
分配一个新的size字节缓冲区。 size在32位体系结构上必须小于1,073,741,824字节(1 GB)或在64位体系结构上小于2,147,483,648字节(2 GB),否则RangeError抛出a。
与之不同ArrayBuffers,缓冲区的底层内存未初始化。因此,新创建的内容Buffer未知,可能包含敏感数据。用于buf.fill(0)将缓冲区初始化为零。
新缓冲区(数组)#array 排列
使用array八位字节分配新缓冲区。
新缓冲区(缓冲区)#buffer 缓冲
将传递的buffer数据复制到新Buffer实例上。
new Buffer(str [,encoding])#str String - 要编码的字符串。
encoding 字符串 - 要使用的编码,可选。
分配包含给定的新缓冲区str。 encoding默认为'utf8'。
类方法:Buffer.isEncoding(encoding)#encoding String要测试的编码字符串
如果encoding是有效的编码参数,则返回true,否则返回false。
类方法:Buffer.isBuffer(obj)#obj 宾语
返回:布尔值
测试是否obj是Buffer。
类方法:Buffer.byteLength(string [,encoding])#string 串
encoding 字符串,可选,默认值:'utf8'
回程:号码
给出字符串的实际字节长度。encoding默认为'utf8'。这与String.prototype.length返回字符串中的字符数不同。
常见问题
Ruff 能做什么?
用 Ruff 做什么,完全取决于你的想象力。
在实际的场景中,我们已经在很多领域开始尝试:
创意设计 (无人机、平衡车、挖掘机、太鼓达人、自动浇花等)
工业 (生产数据采集、告警通知等)
农业 (收集环境信息、自动灌溉等)
能源管理 (电力数据采集、24小时远程监控、故障预防等)
智慧办公 (智能门禁、一键关灯、设施共享等)
智能家居 (遥控家电、智慧夜灯、远程监控等)
更新日志
ruff sdk 1.5.0更新日志(2016-10-01)
1、重大修改
开发板的连接方式调整为 AP 模式
引入基于网页的网络配置方式
2、发布 SDK 安装包
msi
dmg
deb
rpm
3、发布针对 MIPS32 big-endian 的 RuffOS
4、https 模块支持自动加载受信任的根证书
5、引入 child_process 模块
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文