ニュース
「さくらのIoT Platform」を知り、プロトタイプを試作する(5/7 ページ)
通信モジュールから通信網、データ処理の仕組みまでも一環提供する「さくらのIoT Platform」の詳細を解説。さくらのIoT Platformを利用し、湯温と動作の確認で利用者を見守る「みまもりポット」を試作します。
- Node.jsのインストール
NVMを使用し、Node.js(今回はv6.5.0)をインストールします。
# nvm install v6.5.0
- 必要なモジュールのインストール
今回作成するプログラムに必要となる、3つのモジュール(express、body-parser、request)をインストールします。
# npm install express body-parser request
- ロケールの変更
そのまま日本語を含むjsファイルを作成すると日本語部分が文字化けしてしまうため、ロケールを変更します。具体的にはi18nファイルのLANGをデフォルトの「C」から「ja_JP.utf8」に変更します。
# vim /etc/sysconfig/i18n LANG="ja_JP.utf8" SYSFONT="latarcyrheb-sun16" # . /etc/sysconfig/i18n
- pot.jsの作成
以下の内容でjsファイルを作成します。なお、本件では給湯温度を直接計測せず外気温を取得しているため、送信の際に仮の値としてtempareture の値に60℃を加算しています。
var express = require('express');
var app = express();
var bodyParser = require('body-parser')
var request = require('request');
app.use(bodyParser.json());
function send_slack(text) {
var payload = {
"text": text,
};
var options = {
url: '《SlackのIncoming Webhooksにて生成されたWebhook URL》',
form: 'payload=' + JSON.stringify(payload),
json :true
};
request.post(options, function(error, response, body){
if (!error && response.statusCode == 200) {
} else {
console.log('error: '+ response.statusCode + body);
}
});
}
var tempareture = null;
var seconds = null;
app.post('/pot', function(req, res) {
var module = req.body.module;
var channels = req.body.payload.channels;
channels.forEach(function(channel){
console.log(module, channel);
if(channel.channel == 11){
tempareture = channel.value;
console.log(tempareture + " degrees");
}
if(channel.channel == 12){
seconds = channel.value;
console.log(seconds + "sec");
var c = parseInt(seconds/0.5, 10);
var message = "ジャ" + Array(c+1).join("〜");
if(c<2){
message = "チョロ";
}
send_slack(message + " (" + (tempareture+60.0) + "℃)");
}
});
res.send("OK");
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
- pot.jsの起動
nodeコマンドでpot.jsを起動し「Example app listening on port 3000!」のメッセージが表示されれば、変換サーバの準備は完了です。サービスを停止したい場合は「Ctrl+C」を押下します。
# node pot.js
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「さくらのIoT Platform」利用のハードウェア事業化支援プログラム
さくらインターネットがインテルと共同で、IoTハードウェア事業化支援プログラムを開始する。「さくらのIoT Platform」とインテル「Edison」を利用した事業案を募集し、試作から事業化までを支援する。
通信料込みで年5000円以下、さくらインターネットがIoTに本気出す
さくらインターネットが、通信モジュールを含む通信環境と閉域網を一体提供する「さくらのIoT Platform」を開始する。2年程度のネットワーク利用料金を含んだ通信モジュールを1万円以下にて販売し、「センシングデータを閉域網に預け、新たな価値を生み出す」モデルの構築に挑む。
Raspberry PiにAllJoynを移植して、IoTを自作する
「いろいろなデバイスがシームレスにつながり、簡単に操作できる」――IoTが目指すその姿を、Raspberry Piと機器相互接続フレームワーク「Alljoyn」で自作してみましょう。
「Raspberry Pi Zero」で自分だけのアメダス(的な測定器)を作ろう
小さな5ドルマイコン「Raspberry Pi Zero」。小型なのでいろいろな用途に使えそうなので、今回はこれを気圧・温湿度計にしてみます。モバイルバッテリーと無線LANアダプターを用意しておけば、簡易的な無人測定器としての利用が可能となります。
WebブラウザからHTTPサーバ経由でESP8266に接続されたセンサーの値を読み出す
今回はESP8266にマイコンと光センサーを組み合わせ、得た値をHTTPサーバ経由で遠隔取得します。センサーを交換したり、値を変更するなどすればさまざまなIoT DIYに応用できます。