[IoT] Linkit7688 DUO + Node.js + mraa 控制LED (GPIO)
用Linkit 7688 當然就是要舒爽的寫Javascript 來控制一些硬體,這篇主要是筆記一下透過mraa 來控制LED 開關,並且透過Node.js
mraa 是一個library ,可以讓你去控制GPIO ,這邊有詳細文章可以參考 : https://labs.mediatek.com/site/zntw/developer_tools/mediatek_linkit_smart_7688/training_docs/peripherals/mraa_nodejs/index.gsp
首先,因為Linkit 7688 duo 內建mraa ,所以要先引入
var mraa = require('mraa');
再來將 LED正極插入D6 之後我們將D6 設定為GPIO輸出
// pin=0 , D6 pin腳 var ledPin = 0; var led = new mraa.Gpio(ledPin); //設定為輸出 led.dir(mraa.DIR_OUT);
之後就是建立 網站的部分 讓網站透過GET 參數 作開關,其中重點是 可以透過 led.write(1); 來將電輸出讓LED 亮
//Create Web Server var url = require('url'); var http = require('http'); http.createServer(function (request, response) { //先把燈關掉 //led.write(0); //Get Parameter var params = url.parse(request.url, true).query; try { console.log(params.v); if (params.v == 'on') { led.write(1); console.log('使用者觸發開燈'); } else if (params.v == "off") { led.write(0); console.log('使用者觸發關燈'); } } catch (e) { console.log('Error:' + e); } response.writeHead(200, { "Content-Type": "text/html; charset=utf-8" }); response.write("<html><body>" + "您輸入的參數是:" + params.v +" <span style='color:red'>"+(new Date()).toISOString().replace(/T/, ' ').replace(/\..+/, '') + "</span></body></html>", "utf-8"); response.end(); }).listen(5978); console.log('Led Server 啟動 請使用 port : 5978 ...');
瀏覽器連接到Linkit 7688 上面跑的結果
很簡單給大家參考一下,這邊是我參考的文章,因為我主要是筆記一下自己寫的東西,如果你要看比較詳細一點資料可以參考這網站:
https://iamblue.gitbooks.io/linkit-smart-nodejs/content/zh-TW/basic/mraa.html
標籤:
IoT
,
Javascript
,
Linkit7688
,
Node.js
-- Yesterday I wrote down the code. I bet I could be your hero. I am a mighty little programmer. 如果這篇文章有幫助到您,簡單留個言,或是幫我按個讚,讓我有寫下去的動力...