如何用熟悉的語言玩轉Arduino

今天上班有些忙,時間不是太多,藉助空隙時間學習了一下如何用本身喜歡的語言來玩 Arduino。javascript

Firmata

Arduino 能夠經過 Firmata(PC 與 MCU 通信協議) Library 來實現與計算機應用程序的通訊。
我麼能夠使用本身喜歡的語言來實現一段程序,而後將程序寫入到 Arduino 中。咱們首先須要將 Firmata 協議燒寫到芯片中。java

燒寫協議

Arduino IDE > 文件 > 示例 > Firmata > StandardFirmatagit

按照上述路徑找到標準協議,而後上傳至 Arduinogithub

standard firmata protocol

端口查找

如下兩種方式任選其一:框架

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

方法1
方法2

按照上述路徑找到端口,後續經過 Firmata 協議與 Arduino 鏈接的時候須要使用該端口值。這裏咱們獲得個人設備的端口爲 /dev/tty.usbmodem14101工具

編寫程序

這裏我使用的是 javascript 來編寫昨天的 Blink學習

firmata.js

firmata.jsui

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

johnny-fivespa

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。

相關文章
相關標籤/搜索