2018/03/14

自建 IOT 伺服器 透過手機 APP 控制 ----- Blynk Client Raspberry Pi Node.js 設定

Raspberry Pi 上使用 Blynk Client 在官網上說明有兩種方式,一是使用 Node.js  即 JavaScript ,另一種使用 C++,下面說明使用Node.js 的一些設定步驟。

先在 Raspberry Pi 安裝 node js

適用各版本的安裝指令
$sudo wget -O - https://raw.githubusercontent.com/audstanley/NodeJs-Raspberry-Pi/master/Install-Node.sh | bash;

完成安裝後下列指令可以顯示執行的版本
$node -v;

安裝 npm
$sudo apt-get install npm

再來安裝 Blynk  Library,供全系統使用
$sudo npm install blynk-library -g
$sudo npm install onoff -g

完成後設定系統執行環境變數
$export PATH=$PATH:/opt/nodejs/bin/
$unset NODE_PATH

啟動 Blynk 測試
$blynk-client YourAuthToken

註:上列指令是用於 Token 來源是在 Blynk.cc 網上註冊帳號設定的專案得到的 Token

安裝使用本地端伺服器的 node.js 運作環境,設定 node.js 專案目錄執行支援 Blynk 的  js 程式環境
$mkdir blynkjs
$cd blymkjs
$npm init                 // 會產生專案目錄的 json 檔案,可輸入相關訊息

加上 Blynk Library 到你的 node.js 專案執行目錄下
$npm install blynk-library --save
$npm install onoff --save

範例: blynk-test.js

#!/usr/bin/env node
var Blynk = require('blynk-library');
var AUTH = '95f3c890c6014e61a173b81ede692b97';

// Token 來源是由安裝好 Blynk APP ,的手機新建一 Raspberry Pi 的專案,於系統取得,可參考前文

var blynk = new Blynk.Blynk(AUTH, options = {
  connector : new Blynk.TcpClient ( options = {addr:"127.0.0.1", port:8442 }) });

//   因為是與執行 Blynk Server 使用相同一個 Raspberry Pi , IP 位置是使用本機 local 介面位置

var v1 = new blynk.VirtualPin(1);
var v2 = new blynk.VirtualPin(2);

v1.on('write', function(param) {
  console.log('V1:', param[0]);
});
v2.on('write', function(param) {
  console.log('V2:', param[0]);
});


執行 blynk-test.js
$node blynk-test.js

出現連線畫面如下:



在安裝好 Blynk APP ,的手機新建一 Raspberry Pi 的專案,並使用 Widget 設定一個 Joystick X 軸設定在 V1,Y軸設定在 V2上,當值變化時 blynk-test.js 程式就會收到並顯示在 console 上。


想想如果再加上I2C 的多路伺服器控制介面,就可以透過這個介面控制機器手臂。

下次再來試試看。

沒有留言:

張貼留言