让我们继续 Ruff 起步之旅:用按键控制板载 LED。
注意:本节应用是接前一节的内容,建议在继续本节之前阅读。
第六步:添加外设
- 首先,切换回平时常用的无线网络。
- 从套件中找出大按键模块(Push Button Module,型号
CK002
),我们将尝试通过它来控制板载 LED 的点亮和熄灭。根据包装上的标签,可以在 rap 网站上查看到它的信息,包括支持这个外设的驱动。 在应用目录执行如下命令
rap device add button
其中,
button
是在程序中操作这个外设的 ID。填入外设型号
CK002
并确认,rap
将搜索 Ruff 软件包仓库并列出可用的驱动:? model: CK002
Searching supported drivers from Rap registry...
? select a driver for device "button"(CK002): (Use arrow keys)
> button-gpio@2.0.3
...选择
button-gpio
的最新版本并确认,rap
会根据选择自动下载驱动。
第七步:硬件布局
添加完外设后,我们需要重新对硬件进行布局(layout)和连接。在应用目录中执行如下命令:
rap layout
rap
会对外设需要的资源进行自动分配,计算出设备间的连接方式。除此之外,rap 还提供了图形化的布局编辑器,可以用于查看设备连线并进行简单的调整。在应用目录执行
rap layout --visual
,rap 会下载设备的图片及针脚信息,以可视化的方式展示出来。根据
rap
计算出(或者编辑后)的方式对硬件进行连接。(建议在连接硬件的过程中断开电源。)
第八步:绑定事件
修改 src/index.js
,绑定 button
按键的 push
(按下)和 release
(释放)事件:$.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();
});
对于其他驱动提供的 API,可以到在 Ruff 软件包仓库 搜索相应驱动及其使用说明。
第九步:再次部署应用
- 请再次连接到
Ruff-[SN]
的无线网络。请确认网络连接成功后,进行后续操作。 执行命令部署并启动应用:
rap deploy -s
试试看,按下和释放按键是不是能够点亮和熄灭红色板载 LED 了?
第十步:查看应用日志
为了更好地了解应用的运行状态,我们可以在应用中打印日志并通过 rap log
命令查看。
打开一个新的命令行窗口,进入应用目录,执行如下命令
rap log
当控制台输出如下内容时,表示已经与开发板建立连接。
Connection established.
按下大按键,红色板载 LED 会点亮,日志控制台会输出
Button pushed.
释放大按键,红色板载 LED 会熄灭,日志控制台会输出
Button released.
下一步
物联网应用的重要一步是设备联网,到这里继续 Ruff 起步之旅。