Arduinoから生き死をアナログデータで送って、imp で受信する方法
ツイッターに送信するサンプル。
impExplorer Kitを使った場合です。
Arduinoのプログラムは送信アナログで3V程度以内の通信にして下さい。
——————————————————————
Device
——————————————————————
#require "WS2812.class.nut:3.0.0"
// スリ―プタイム
const sleepTime = 60;
//はじから3つ目のポート
pot <- hardware.pinK;
// アナログのポート宣言
pot.configure(ANALOG_IN);
// ledの点滅
led <- null
function flashLed() {
led.set(0, [0,0,128]).draw();
// Wait 50 ms
imp.sleep(0.05);
led.set(0, [0,0,0]).draw();
}
//サーバ側に送る
function poll() {
// Read the pin and log its value
server.log("poll read");
local pot =pot.read()
server.log(pot);
agent.send("analog_reading.sent",pot);
// 送ったらLED光る
flashLed();
//impのサーバ待ち時間を設定
imp.onidle(function() {
server.sleepfor(sleepTime);
});
}
// Start of program
// Configure SPI bus and powergate pin for RGB LED
local spi = hardware.spiAHSR;
spi.configure(MSB_FIRST, 6000);
led <- WS2812(spi, 1);
poll();
——————————————————————
Agent
——————————————————————
// ツイッターにクラス
#require "Twitter.class.nut:1.2.1"
// ツイッターの送信
tweeter <- null;
// Define functions
function tweetback(data) {
// ツイッター送った表示
server.log("Tweet tweeted");
}
function motion(data) {
server.log(data);
if(data&amp;gt;100){
local message = format("まだ生きてるぜ[アナログ: %5u]",data);
tweeter.tweet(message, tweetback);
server.log(message);
}
else{
local message = format("死んだぜ[アナログ: %5u]",data);
tweeter.tweet(message, tweetback);
server.log(message);
}
}
// Twitter の own access credentials
// apps.twitter.comでキーをゲットしてね。
tweeter = Twitter("Consumer Key (API Key)***********",
"Consumer Secret (API Secret)***********",
"Access Token***********",
"Access Token Secret***********");
// デバイスから受ける指定
device.on("analog_reading.sent", motion);
株式会社アバンドでは、IoTに関するネットワーク開発、ハードウエア開発を行っております。
まずは、お気軽にお問い合わせください。