搜索
搜 索
本版
文章
帖子
用户
图文精华
hadoop-2.6.0+zookeeper-3.4.6+hbase-1.0.0+hive-1.1.0完全分布 ...
首页
Portal
专题
BBS
面试
更多
登录
注册
用户组:游客
主题
帖子
云币
我的帖子
我的收藏
我的好友
我的勋章
设置
退出
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
About云-梭伦科技
»
专题
›
技术学习(版主发帖区)
›
物联网
›
介绍解说
›
Ruff物联网开发套件轻松入门
1
2
1
分享
Ruff物联网开发套件轻松入门
nettman
2019-7-22 20:17:52
发表于
介绍解说
[显示全部楼层]
只看大图
阅读模式
关闭右栏
2
4141
问题导读
1.物联网开发本文采用的是什么语言?
2.本文要实现什么功能?
3.如何创建项目?
4.如何添加驱动?
Ruff基于JavaScript语言,所以对于一个前端工程师来说学习Ruff更容易上手。Arduino的开发编程语言在C/C++的基础上实现,Arduino的开发环境和Processing的开发环境很类似,Processing编程是基于Java语言开发。
从我这个门外汉对Ruff和Arduino的使用体验来讲,Ruff不论从生态还是硬件方面都不如Arduino优秀。
最近对硬件编程又燃起了兴趣,把Ruff板子重新拿出来,So Easy! Ruff的官网和社区已经很久没有更新了,估计是歇菜了。记录一次Ruff的使用经验,凡是走过必得留下痕迹的嘛。
首先到ruff官网ruff.io下载Ruff SDK,我使用的苹果系统,因为本人不喜欢采用.dmg安装包的一键安装方式,总觉得安装的不明不白的,所以下载.zip格式的压缩安装包。将压缩包解压缩,放到家目录,和我的NodeJS的压缩包在一起,修改环境变量配置文件.bash_profile的配置,将解压后的bin目录加入环境变量中,执行source .bash_profile命令使配置环境变量生效。
此时使用echo $PATH命令就能看到ruff的bin目录已经在环境变量中了。ruff的bin目录只有两个可执行文件,一个是ruff另一个就是rap,更常用的是rap命令,至今也不知道ruff命令是做什么用的。
下面就是我觉得使用Ruff完成一次硬件编程应该有的几个步骤。
创意构思
创意构思这一步非常重要。如果没有想法和切实可行的方案和预期想要达到的目的,就不可能一步步的解决问题,因为不知道自己在干什么。
由于现在是入门,目的非常简单,就是通过按钮的按下与释放,在终端输出一些字符。
创建项目
创建项目目录 -> 进入项目中 -> 初始化项目。终端一波输出之后,项目原型构建完毕:
[mw_shl_code=bash,true]mkdir hello-ruff
cd hello-ruff
rap init[/mw_shl_code]
初始化的项目目录
添加驱动
外设就是外部设备,可以是传感器或者电子元件。我需要一个按钮,从Ruff的盒子里找到一个大按钮,按钮元件上有三个针,所以准备三根导线统统插上。这是一般思路,电子元件上有几根针就插几根线,但是有的元器件好像不是这样。
型号为ck002的大按钮
从大按钮的包装上找到设备的名称,我准备的这个按钮名称是CK002,大写一律按小写处理。此时记得cd到项目所在目录内,然后rap device add ck002命令查询可用的驱动,使用⬆️⬇️按键选择最近驱动(一般箭头默认会停留在最新驱动处),一般情况下只需一路确定✅即可。
可视化布局
Ruff比较人性化的一点是,它提供可视化布局界面,执行rap layout --visual命令,ruff会自动打开浏览器,出现类似下图中的可视化布局界面,你只要照着图中的样子,将导线连接起来即可。
把鼠标放到某一根导线上,就能选中的这根导线,更清楚的显示连接方式,我有时候会因为用到的电子元器件较多而看到眼花缭乱。
ruff开发版与大按钮布线方式
布线完毕
编写人机交互逻辑程序
对于前端工程师,下面的代码应该不陌生。在代码中,代表按钮的元素是用类似jQuery的方式表示的,比如$('#ck002')即表示添加的按钮,这个#ck002作为按钮的id在项目根目录下的app.json文件中可以找到。
编写逻辑,按下按钮红色LED灯亮起,松开按钮红色LED灯熄灭,这里提到的LED灯是Ruff开发板子上自带的LED灯,当然Ruff开发套件中也有LED灯,不过这里只用到了一个按钮元件。
[mw_shl_code=bash,true]'use strict'
$.ready(function (error) {
if (error) {
console.log(error)
return
}
$('#ck002').on('push', function(){
console.log('Button pushed.');
$('#led-r').turnOn()
})
$('#ck002').on('release', function(){
console.log('Button released.');
$('#led-r').turnOff()
})
})
$.end(function () {
$('#led-r').turnOff()
})[/mw_shl_code]
部署
硬件连接完毕,软件书写完毕,下面将程序部署到开发板上上。执行rap deploy -s命令,终端输出正在部署的信息,如果没有出现error,那就说明程序部署成功了。
我还需要打开一个新的终端界面,用于输出按钮按下和松开时的输出信息,就像是开发板与电脑之间的通信功能。在新的终端界面执行rap log,提示开发板连接成功。此时连续按下、松开按钮,终端上会连续输出,和程序想要实现的一致。
最新经典文章,欢迎关注公众号
原文链接
http://www.shuaihuajun.com/article/ruff-beginner/
加微信w3aboutyun,可拉入技术爱好者群
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
已有(2)人评论
电梯直达
正序浏览
lingyufeng
发表于 2019-7-23 09:28:01
学习了
回复
使用道具
举报
显身卡
美丽天空
发表于 2019-7-23 18:18:56
感谢分享
回复
使用道具
举报
显身卡
还有一些帖子被系统自动隐藏,点此展开
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
发表新帖
nettman
超级版主
关注
2912
主题
3205
帖子
478
粉丝
TA的主题
找工作很难,为什么我一天三个机会
3 天前
谷歌版o1模型发布
2024-12-20
避坑大厂基础架构
2024-11-26
Flink CDC:新一代实时数据集成框架
2024-11-26
蚂蚁面试就是不一样
2024-11-26
24小时热文
大数据面试题
求职,请给HR一点活路
找工作很难,为什么我一天三个机会
股票魔法师.Ⅲ,趋势交易圆桌访谈
我如何从股市赚了200万(珍藏版)
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈