如何用熟悉的语言玩转Arduino

lgmyxbjfu
发布于 2020-11-10 19:01
浏览
0收藏

今天上班有些忙,时间不是太多,借助空隙时间学习了一下如何用自己喜欢的语言来玩 Arduino。

 

Firmata
Arduino 可以通过 Firmata(PC 与 MCU 通讯协议) Library 来实现与计算机应用程序的通信。
我么可以使用自己喜欢的语言来实现一段程序,然后将程序写入到 Arduino 中。我们首先需要将 Firmata 协议烧写到芯片中。

 

烧写协议
Arduino IDE > 文件 > 示例 > Firmata > StandardFirmata

按照上述路径找到标准协议,然后上传至 Arduino

如何用熟悉的语言玩转Arduino-鸿蒙开发者社区

端口查找
以下两种方式任选其一:

 •  Arduino IDE > 工具 > 端口
 •  命令行工具中输入 ls /dev/tty.usb* 按 tab

如何用熟悉的语言玩转Arduino-鸿蒙开发者社区

按照上述路径找到端口,后续通过 Firmata 协议与 Arduino 连接的时候需要使用该端口值。这里我们得到我的设备的端口为 /dev/tty.usbmodem14101

 

编写程序
这里我使用的是 javascript 来编写昨天的 Blink

 

firmata.js

const Firmata = require('firmata');

const port = '/dev/tty.usbmodem14101';
const ledPin = 2;
const board = new Firmata(port);

board.on('ready', () => {
    console.log(`connet ${port}`);
    let status = 0;
    setInterval(() => {
        status = !status + 0;
        board.digitalWrite(ledPin, status);
    }, 1000);
});

johnny-five

const five = require('johnny-five');
const board = new five.Board();

const ledPin = 2;

board.on('ready', function() {
    // Create an Led on pin 13
    var led = new five.Led(ledPin);
    // Blink every half second
    led.blink(1000);
});

 

Johnny-Five is an Open Source, Firmata Protocol based, IoT and Robotics programming framework, developed at Bocoup.
后者封装的更为简易,兼容多种类型硬件,等待后续深入学习。

 

末了
如何用熟悉的语言玩转Arduino
结合开源软件框架来驱动开源硬件,用熟悉的语言来驱动硬件是一件很酷的事情。后续期望结合一些其它开源做一些好玩的东西。基于 Firmata 还有一些其它语言的封装,这里我只是以自己最近使用的 JavaScript 为例子来进行来一次复盘 Blink。

 

原文作者:unofficial

 

分类
标签
已于2020-11-10 19:01:51修改
收藏
回复
举报
回复
    相关推荐