Webduino的图形化编程效率有点低,但实际上,图形拖出来的代码最终是转换成js的。先来个点灯的图形代码看看,如下所示:
点击,红框的按钮可以查看生成的js代码,代码是这样的:
var rgbled;
boardReady({board: 'Smart', url: '10.73.83.110'}, function (board) {
board.systemReset();
board.samplingInterval = 50;
rgbled = getRGBLedCathode(board, 15, 12, 13);
rgbled.setColor('#ff0000');
});
是不是有些小激动,然并卵,这个代码还是要放到网页里才能执行,而我是想直接用node来执行。
不得不说,Webduino的文档实在稀缺,不过也能理解,毕竟Webduino主打还是图形界面编程,服务的是不懂编程的人群。
当你想深入了解Webduino的时候,那只好read the code!
其中的探索过程就不说了,对于node其实根本不懂,先从官方开源的js开始,这里 https://github.com/webduinoio/webduino-js
上面的仓库里也有例子,也讲了怎么在node环境下使用这个核心库,但是还是没卵用,我们的板子时smart,只好继续研究代码。
因为除了readme就没别的什么有用文档了,只好不停的试,在尝试了一个下午的之后,终于通过node点亮了。
下面正式开始教你在node下点灯!
首先确保你已经安装好node环境了。
- 新建一个目录led
- 执行如下命令,安装好Webudino的核心js库
cd led
npm install webduino-js
- 创建一个led.js文件,内容如下:
var webduino = require('webduino-js');
var board, rgbled;
board = new webduino.board'Smart']({url: '10.73.83.110'});
function getRGBLedCathode(board, red, green, blue) {
return new webduino.module.RGBLed(board, board.getDigitalPin(red), board.getDigitalPin(green), board.getDigitalPin(blue), webduino.module.RGBLed.COMMON_CATHODE);
}
board.on('ready', function() {
console.log("board ready")
board.systemReset();
board.samplingInterval = 500;
rgbled = getRGBLedCathode(board, 15, 12, 13);
rgbled.setColor('#0000ff');
console.log("board end")
});
其实关键就在于这一行:
board = new webduino.board'Smart']({url: '10.73.83.110'});
Smart的板子是要通过这行代码建立与板子的连接,url就是Smart的IP地址。
getRGBLedCathode 就相当于我们在图形化环境下拖出一个RGB模块来,这个代码是在核心库里。
rgbled.setColor就是设置灯的颜色,这里设置的是蓝色。
其他就没什么了。虽然代码简单,但是一片新大陆的起点。不要问我为什么不来点复杂的,复杂的我也不会啊。
一起来发掘代码吧,官方0文档基本没指望了。