「IoT」カテゴリーアーカイブ

ImpにArduinoからデータ送りたい。超簡単サンプル。

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;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に関するネットワーク開発、ハードウエア開発を行っております。

まずは、お気軽にお問い合わせください。

第1回高尾山IoT 月刊I/Oとの共同企画

7月某日 月刊I/Oとの共同企画が突然実施された!そう、高尾山IoTです。
月刊I/OのFさんとアバンド代表青木が高尾山に登り、頂上でなんか開発して、下山しながら稼働されるというイベント。

ひとまず登る。

登山中、なぜか、蝶に好かれる。ずーーーーと手に腰に蝶がへばりつく。
チューチュー吸われるw

さくっと山頂と行きたかったが、やはり最後の階段がキツイ。それ以外は楽勝なのでけど。
ひとまず、お決まりの写真

涼しいところを探し、開発開始!灼熱で死ぬ~とか、水曜どうでしょ?的展開を期待したが、心地いい涼しさ。
周囲から変な視線を感じつつ・・・

今回は、ソフトバンク提供の米Electric Impの開発キット!
説明ページコピペw
———————————————————-
「impExplorer Developer Kit」は、「imp004m Breakout Board」の持つ機能に加えて、温度、湿度、気圧、3軸加速度の4つのセンサーを搭載した開発ボードです。本製品は、「imp004m Breakout Board」とは異なり、単3電池3本で稼動し、センサーの設計や組み込み作業を行わずにプログラミングを始めることが可能です。
———————————————————-

さて、さて、まず、あれ、IoTだから、通信から、あれ、WiMAXが入らん!うわーーーーー!
ということで、Fさんのキャリアを借りて、開発・・・・

そして問題発生!
impExplorer Developer Kitのネットワーク設定は、スマフォで設定して、それをimpExplorer Developer Kitにスマフォの画面をかざすと
スマフォの画面点滅により、impExplorer Developer Kitにネットワーク設定ができるという、超親切設計なのですが、
何度やっても、ネットワーク設定ができない。

これでこの企画終わったか?・・・・・・あああ・あああ・・・・
もしっや、明るい?外でやっていて、お日様の光りが明るい?
ということで、手で影を作り、再度挑戦、あ、あ、あ、設定できた。

あとは開発のサンプルを見ながら開発!プラウザー上で開発出来ると結構簡単。

ハマるところサンプルコピペでは動きません
各端末でソースコード内の「hardware.***」を合わせないと動きません。
下記がその一覧に一部です。
https://electricimp.com/docs/api/hardware/spi/
https://electricimp.com/docs/api/hardware/i2c/

温度、湿度、気圧のセンサーで暑いときは「暑い」というメッセージと温度湿度、そして気圧から計算した大まかな高度をツイッターで表示。
https://twitter.com/takaosaniot

impExplorer Developer Kitに電池を入れて、特製wの箱に入れて、IoTデバイス完成!

そして、下山。
谷間等では通信できませんでしたが、温泉までしっかりデータが取れた。


そして、温泉入って、そば食べて終了!

月刊I/Oもあわせて読むとオモロイよ!

株式会社アバンドでは、IoTに関するネットワーク開発、ハードウエア開発を行っております。

まずは、お気軽にお問い合わせください。