BBB(五):BoneScript编程

    BBB系统的内部,已经在192.168.7.2这个网址上做了一个server,我们一般用ssh连接的时候对它也很熟悉了,这里的端口是22。查阅相关资料,发现在192.168.7.2:3000这个端口是利用Node.js来控制BBB的,它是类似于JavaScript的语言,提供的node解释器。对于熟悉Python的同学而言,解释器应该很好理解了。通常我们的js文件是给浏览器用的,有了这个解释器就不需要啦。在命令行直接输入node就可以调用这个了,跟Python很类似


我们在浏览器输入192.168.7.2:3000就自动跳转到了Cloud9云端编程环境,左边侧边栏所有的文件在root:/var/lib/cloud9#这个目录下

在额外分出来的,挂载的BeagleBone Getting Started这个移动盘下面,点击那个START.html在这个位置我们也可以看到关于BoneScript 的一些信息和编程实例,也就是上文的那个编程环境中的文件

1. 获取平台信息(学命令行打印信息)——getPlatform和console.log

var b = require('bonescript');
b.getPlatform(printData);
function printData(x)
{
     console.log('name = ' + x.name);
     console.log('version = ' + x.version);
     console.log('serialNumber = ' + x.serialNumber);
     console.log('bonescript = ' + x.bonescript);
}

每当我们进入一个交互页面,最上方就是平台信息了,就是通过这个函数来实现的


2. 关闭四个led(pinMode和digitalWrite)

var b=require('bonescript');
b.pinMode('USR0', 'out');
b.pinMode('USR1', 'out');
b.pinMode('USR2', 'out');
b.pinMode('USR3', 'out');
b.digitalWrite('USR0', 0);
b.digitalWrite('USR1', 0);
b.digitalWrite('USR2', 0);
b.digitalWrite('USR3', 0);
3. 常亮然后恢复初始状态——setTimeout和writeTextFile
var b = require('bonescript');
var p = '/sys/class/leds/beaglebone:green:usr';
b.pinMode('USR0', b.OUTPUT);
b.pinMode('USR1', b.OUTPUT);
b.pinMode('USR2', b.OUTPUT);
b.pinMode('USR3', b.OUTPUT);
b.digitalWrite('USR0', b.HIGH);
b.digitalWrite('USR1', b.HIGH);
b.digitalWrite('USR2', b.HIGH);
b.digitalWrite('USR3', b.HIGH);
setTimeout(restore, 2000);

// var timer = setTimeout(callback, milliseconds);
//    clearTimeout(timer);

function restore()
{
    resetUSR0();

    function resetUSR0() {
            b.writeTextFile(p+'0/trigger', 'heartbeat', resetUSR1);
    }
    function resetUSR1() {
            b.writeTextFile(p+'1/trigger', 'mmc0', resetUSR2);
    }
    function resetUSR2() {
            b.writeTextFile(p+'2/trigger', 'cpu0', resetUSR3);
    }
    function resetUSR3() {
            b.writeTextFile(p+'3/trigger', 'mmc1', complete);
    }
    function complete() {
    }
}

4. User3灯间隔1秒闪烁——setInterval
var b = require('bonescript');

var state = b.LOW;

b.pinMode("USR0", b.OUTPUT);
b.pinMode("USR1", b.OUTPUT);
b.pinMode("USR2", b.OUTPUT);
b.pinMode("USR3", b.OUTPUT);
setInterval(toggle, 1000);

// var timer = setInterval(callback, milliseconds)
// clearInterval(timer)

function toggle() 
{
        if(state == b.LOW) state = b.HIGH;
        else state = b.LOW;
        b.digitalWrite("USR3", state);
}
5. 获取pin的模式——getPinMode

var b = require('bonescript');
b.getPinMode("P8_13", printPinMux);
function printPinMux(x) 
{
        console.log('pin = ' + x.pin);
        console.log('name = ' + x.name);
        console.log('mux = ' + x.mux);
        console.log('pullup = ' + x.pullup);
        console.log('slew = ' + x.slew);
        if(x.options)console.log('options = ' +x.options.join(','));
        console.log('err = ' + x.err);
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yaked19

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值