今天上班有些忙,時間不是太多,藉助空隙時間學習了一下如何用本身喜歡的語言來玩 Arduino。javascript
Arduino 能夠經過 Firmata(PC 與 MCU 通信協議) Library 來實現與計算機應用程序的通訊。
我麼能夠使用本身喜歡的語言來實現一段程序,而後將程序寫入到 Arduino 中。咱們首先須要將 Firmata 協議燒寫到芯片中。java
Arduino IDE > 文件 > 示例 > Firmata > StandardFirmatagit
按照上述路徑找到標準協議,而後上傳至 Arduinogithub
如下兩種方式任選其一:框架
ls /dev/tty.usb*
按 tab
按照上述路徑找到端口,後續經過 Firmata 協議與 Arduino 鏈接的時候須要使用該端口值。這裏咱們獲得個人設備的端口爲 /dev/tty.usbmodem14101
工具
這裏我使用的是 javascript 來編寫昨天的 Blink學習
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-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。