当前位置:   article > 正文

Ruff-1-2_ruff初始化

ruff初始化

前言

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

Ruff

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

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

代码跨平台

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

学习社区
官网 社区

Ruff的JS基础

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

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

require机制

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

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

Ruff 开发平台组成部分

RuffOS

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

在这里插入图片描述
RuffSDK

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

在这里插入图片描述
Rap Registry

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

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

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

基本开发流程

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

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

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

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

在这里插入图片描述

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

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

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

在这里插入图片描述

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

打开应用文件.

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

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

配置环境. 
  • 1

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

部署应用到开发板并执行
  • 1

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

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

添加外设

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

创建新的应用

rap init
  • 1

添加驱动

rap device add -i button -m CK002
  • 1

命令参数解读:

-i: ID选项(-i/--id)
button: 设备ID
-m: Model 选型(-m/--model)
CK002: 设备型号
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

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

查询API

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

在这里插入图片描述

2. 我们在 ruff.io 查询
  • 1

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

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

在这里插入图片描述

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

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

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

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

rap deploy -s
  • 1

在这里插入图片描述
按下

在这里插入图片描述
松开

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

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

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

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

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

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

项目准备

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

编写代码

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/43681
推荐阅读
相关标签
  

闽ICP备14008679号