前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端开发者的智能硬件之路

前端开发者的智能硬件之路

作者头像
一斤代码
发布2018-08-21 10:43:58
8700
发布2018-08-21 10:43:58
举报
文章被收录于专栏:大前端开发大前端开发

前一段时间,收到了一个面试邀请的邮件。面试找工作,我是没这个打算的,但是,从这封邮件中,我一眼就看到了一个让我非常感兴趣的字眼,让我对这家公司的产品有了想进一步了解的冲动。

啥字眼?

“JavaScript开发智能硬件”

对我这个JavaScript狂热者来说,我的感觉就是像小孩发现了一个非常喜欢的新玩具一样的兴奋。

我不是一个偏执的某语言支持者,我用过很多语言开发过各种项目和工具,也不排斥学习和使用最新的语言。但是JavaScript对我来说,是让我感觉最有意思的语言,我喜欢用它写东西,并希望尽可能的用它来完成我的工作,不管是在前端还是后端,桌面电脑还是移动设备。JavaScript的其他爱好者也一定是这么想的,要不然JavaScript也不会像现在这样,在各种平台,各种设备上满地开花了。

用JavaScript来开发硬件这回事,以前也想过,因为之前我也稍稍玩了一下VxWorks的嵌入式开发,使用的是C语言,真的是门槛比较高,很多硬件的概念都赤裸裸的摆在那儿,对初学者来说,真的是一种难以理解,望而生畏的体验。那个时候就在想,要是能像做Web开发一样用JS来进行硬件编程,该是多爽的事情啊。

估计也有人跟我一样,就这么干干的想了好多年。直到这个智能硬件时代的来临,终于有人路见不平一声吼,该出手时就出手,憋出了这一个大招。

好了,鬼扯了这么多,这个东西到底是个啥?

它的名字叫Ruff

打开邮件中的链接,进入他们的网站ruff.io,就能看到一行大大的slogan:软件定义硬件

Ruff

看了下首页简介,概括为:

  • JavaScript 编程 采用开发者众多的唯一全栈语言作为编程语言
  • 硬件抽象 调用程序库即可操作硬件,降低开发入门门槛
  • 跨平台 忽略板卡差异,同一份应用代码可以运行在不同板卡上
  • 高效便捷开发 告别交叉编译、烧写板卡,PC 上完成测试,一键部署

看起来不错!

但是我的风格就是二话不说,就想先看看你这代码是什么样子的。直接进文档,找到示例代码:

代码语言:javascript
复制
'use strict';

$.ready(function (error) {
    if (error) {
        console.log(error);
        return;
    }

    $('#led-r').turnOn();
});

$.end(function () {
    $('#led-r').turnOff();
});

好吧,我相信了,还是满满的jQuery风格呢。

文档还没看几页,我就马上找到购买链接,下单了,迫不及待啊。

没过2天,东西就到啦。装上透明的有机玻璃护套,颜值很高啊。

Ruff主板

随主板附送的还有很多功能模块,主要有以下这些模块以及一些连接模块和主板用的杜邦线:

  • 红外线发送模块
  • 红外线接受模块
  • 温湿度传感器
  • 光照传感器
  • 声音传感器
  • 继电器模块
  • 大按钮模块
  • 蜂鸣器
  • LED模块
  • LCD模块

随主板赠送的模块

拿到板子后,从Ruff官网下载和安装了它的开发用SDK,我都基本没怎么看文档,就建立起了第一个简单的工程代码,对于熟悉使用nodejs和npm开发的JavaScript开发者来说,Ruff的开发环境入门简直就是无门槛进家门了。

我写的第一个测试代码,还没用到额外的模块,只是利用了主板上的三个红绿蓝LED灯做了一个交替点亮和熄灭的功能。代码不会超过10行。

演示

是不是很好玩?我也写了一些稍微复杂的小程序,使用到了上面提到的一些硬件模块,整个开发体验就是可以用简洁,直观,容易理解来形容。总之,你之前学到的JavaScript知识,都会在这里继续发挥到作用。

有兴趣的朋友不妨也来一起玩一下吧。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.06.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 它的名字叫Ruff
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档