Ruff-1-2

前言

本来在公司使用到了 MQTT.想着找一下这方面的资料.但是却找到了 Ruff的学习视频.

Ruff

特点
以JavaScript作为开发语言. 高度硬件抽象

比如说,在 开关灯的时候,里面的硬件非常负载. 哪根导线和哪根导线相连接. 
哪根导线有发挥了什么作用. 传输什么命令等. 
这些细节都被Ruff隐藏了起来.

代码跨平台

这点是因为 Ruff 屏蔽了底层的硬件细节. 

学习社区
官网 社区

Ruff的JS基础

所需要的一些知识点
在这里插入图片描述
重点

同步和异步. 需要理解.不过我们常用的比如:AJAX.
Timer常用函数:
	延时函数循环函数
		setTimeout(callback,milliSec)
		setInterval(callback,milliSec)
setTimeout(function{
	console.log('hello,Ruff')
},1000)

require机制

就是将我们写的JS代码暴露出去. 给别人使用. 我们也可以引入并使用别人暴露的模块.
//module.js
var printHello = function (){
	console.log('Hello,Ruff')
}
var num = 100;
exports.printHello = printHello;
exports.num = num;
var moudle = require('./moudle.js')
moudle.printHello();
console.log(moudle.num);

这里的require 博主也不会.但是这里不影响使用. 用到了就百度去吧.谁让我是个后端呢

Ruff 开发平台组成部分

RuffOS

运行在硬件平台的操作系统 不同平台对应不同的操作系统. 对外提供统一的接口

在这里插入图片描述
RuffSDK

就是你使用的SDK.一般在PC上使用.有模块,工具和文档
最重要的是 rap工具. RuffApplicationProductivity tool.辅助开发者快速开发

在这里插入图片描述
Rap Registry

Ruff 软件仓库. 类似于 npm仓库.可以用来发布模块,下载木块.查阅文档

三者之间的关系
在这里插入图片描述

我们开发时,需要将 RuffSDK下载安装到PC机.
在从 RaRegistry拉去仓库. PC连接 我们需要开发的硬件. 硬件上装有 RuffOS系统.
这三者的关系如上图.

基本开发流程

硬件控制 基本开发流程
1.Ruff应用初始化

安装RuffSDK,创建工程目录,切换到工程目录,执行 rap init 新建 Ruff应用

在这里插入图片描述
在这里插入图片描述

我们编写Ruff应用是针对硬件设备编写的. 需要取得设备ID前导符号.

在这里插入图片描述

取设备函数,设备ID前导符号. 设备ID. 以及设备API.
设备API代表我们可以通过该API对设备执行一些操作
这个led-r,就是该设备抽象的名字

3. 编写应用
应用开发模型之应用事件.

其实也就是API.对硬件抽象出来的API. 比如灯泡.有
开关俩种操作.那么我们就可以抽象出来一个开启API和一个关闭API.

在这里插入图片描述

而硬件上有RuffOS需要进行初始化操作. 那么,ready代表了硬件上面RuffOS的
初始化操作已经完成了. end 代表应用退出执行的操作

打开应用文件.

我们项目创建完成之后,会有这些函数,上面提到的 ready和end函数.我们
可以去看一眼
vi src/index.js

在这里插入图片描述
4. Ruff应用部署

配置环境. 

在这里插入图片描述
执行命令: rap deploy -s

部署应用到开发板并执行

在这里插入图片描述
在这里插入图片描述

第一幅图右边的硬件亮起了红色的等.代表, 应用已经部署成功

添加外设

1. 应用内添加设备驱动
2. 查询设备API
3. 生成布局并完成连线
4. 编写应用
5. 部署应用并执行

创建新的应用

rap init

添加驱动

rap device add -i button -m CK002

命令参数解读:

-i: ID选项(-i/--id)
button: 设备ID
-m: Model 选型(-m/--model)
CK002: 设备型号

在这里插入图片描述

这里的-i就是ID的意思. button 是右边那个红色按钮的名字.-m 指设备型号.
比如CK002就是该设备的型号 

查询API

1. 添加驱动之后,会显示 该驱动API的地址

在这里插入图片描述

2. 我们在 ruff.io 查询

在这里插入图片描述
在这里插入图片描述
生成连线布局并连线

目的: 给外设分配一个合适的管脚.
执行 rap layout --visual 命令显示连线图

在这里插入图片描述

会启动打开一个 http 网页.显示连线的布局图

在这里插入图片描述
生成布局并连线
在这里插入图片描述
编写应用

编写 src/index.js 文件. 实现 按下开关,灯亮. 松开开关,灯灭

这里因为博主只是学习和了解,手上并没有硬件去实践. 所以这段代码就把图片放在这里了
在这里插入图片描述
部署执行

rap deploy -s

在这里插入图片描述
按下

在这里插入图片描述
松开

在这里插入图片描述
集成案例: 智能电灯

实现,当光线较强时,自动熄灭.光线较暗时,自动亮起. 就是白天熄灭,晚上就亮了.就跟路灯一样

硬件准备
在这里插入图片描述
继电器

自动灯泡核心为: 弱电控制强电. 而继电器则实现了这个功能

在这里插入图片描述
电灯插座改装
在这里插入图片描述
继电器和电器连线
在这里插入图片描述

从电灯开关处. 连接继电器. 电灯的开关就有继电器控制. 继电器内部的公共端
控制电灯的亮起熄灭
公共端和常开 闭合,电灯亮起. 公共端和常闭闭合,电灯熄灭

项目准备

新建项目
添加外设
生成布局并完成连线
rap init
rap device add -i relay -m relay-lc
rap device -i light -m -y-30

编写代码

1. 根据光线亮度实现 亮起和熄灭. 需要对光照传感器数值 100. 即:流明. 
2. 定义为边界.如果大于则认为强光状态. 否则是弱光状态
3. 每秒一次获取 光照传感器数值
4. 根据数值判断是开启继电器 还是关闭继电器
......

因为手上没有对应的硬件.所以博主没有写这部分代码
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值