チャレンジプログラム
GR-SAKURA
GR-KURUMI
SNShield
Web Compiler
IDE for GR
その他
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
がじぇるね岡宮です。
新しいセンサーネットワークシールドのライブラリを作ってみました。
WebコンパイラでKURUMIのプロジェクトを作り、rootで右クリック→ZIPファイルインポートで使用できます。
まずは、センサーの値を取るだけのサンプルです。
#include <Arduino.h>#include <snshield.h>
SNShield kurumi;
void setup() { kurumi.begin(); Serial.begin(9600);}
void loop() { char ttt[100]; kurumi.getAll(); sprintf(ttt,"Temp: %.2f Lux: %.2f X: %.2f Y: %.2f Z: %.2f",kurumi.temp,kurumi.lux,kurumi.accx,kurumi.accy,kurumi.accz); Serial.println(ttt); delay(200);}
コンパイルエラー表示しなくなりました。SNShieldのシリアルモニターできません。
大変すみません。0.4.0から0.4.1で削除してしまったようです。
恐れ入りますが、以下からzipをダウンロードいただき、メニュー「スケッチ」→「ライブラリを使用」→「ライブラリをインストール」から適用いただいて、試していただいても宜しいでしょうか。
japan.renesasrulz.com/.../209.aspx
SNShield使いたいです。コンパイルエラーになりました。
IDE GR0.4.1コンパイルエラー表示
ReadSensors.ino:2:22: fatal error: snshield.h: No such file or directory
compilation terminated.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
昨日やっていて気付いたんだけれど、XBee wifiの熱をくらって温度出力が5度位大盛りにでてきますね。
向きを工夫するとか、xbeeは省電力で動かすとか。
スケッチの例から行ってみてください。すみませんがまだ販売されてないため、あまり充実してません。
SN Shield を 使いたいのですが、IDE for GR 0.4.0 でビルドしたいんですが、どのようにやればよろしいでしょうか?
スケッチ → ライブラリ使用 → kurumi_snShield とかやっても #include が出ません。 Wire とかは出ます。
たぶんxivelyに登録するだけで結構時間掛かっちゃうと思うし、アップロードの方はお手軽にスカッとアップ!で行きましょう。
GW前ですね。休み中はくるみちゃん+xbee+SNシールド三昧で!
今回のSNシールドにはコミッショニングボタンを付けてもらったので、APSが使えますよ。
feedとkeyは、、えぇ、私のアカウントにアップし放題です。確かにWiFi板についてはトランスペアレントの方が直感的ですし、複数のIPにアクセスするようなことはあまりないため、あまり恩恵がないんですよね。夜活ではトランスペアレントでいきたいと思います。GW前に一回やりたいですね。
> ちょっとXivelyライブラリを使ったArduino WiFiシールドドライバのポーティングが難しそうなた> め、まずはXBee Arduinoライブラリを工夫してアップする方法を考えたいと思います。
思うんだけれど、ここでxbeeのapiモードを使う理由って、DNSによる名前解決以外はあまり強い理由付けは無いと思うんだよね。
でもDNSによる名前解決はAPIコマンドを駆使して自力で解決する必要がある。まあ誰かがライブラリ化するのかもしれないけれど。
夜のお楽しみ電子工作会ではトランスペアレントモードでやってもらった方がいいんじゃない?。
feed idとapi keyが丸出しなので、みんなで岡宮さんのチャネルにアップし放題ですね(笑)。
httpのレスポンスですが、まずxbeeを起動後モデムステータスを確認しています?
xbeeが起動→参加可能なネットワークを探す→ネットワークに参加
と言う手順を取るので、このネットワークに参加が確認されるまで外部とのやり取りはできません。
モデムステータスで2が帰るか、AIコマンドで0が返るまで待つ必要がありますヨ。
例の括弧抜けですね。
ちょっと消えてますね
chobichanさん、まずはごくごく単純に下記ソースで、Xivelyにアップできることを確認しました。お騒がせしました。これはトランスペアレントモードであらかじめIPとポートを指定してますので非常に簡単でした。
ちょっとXivelyライブラリを使ったArduino WiFiシールドドライバのポーティングが難しそうなため、まずはXBee Arduinoライブラリを工夫してアップする方法を考えたいと思います。
#include
String str;
void setup() {
kurumi.begin();
Serial.begin(9600);
Serial2.begin(115200);
str="PUT /v2/feeds/2128669808.json HTTP/1.1\r\n";
str += "Host: api.xively.com\r\n";
str += "User-Agent: GR-KURUMI/1.0\r\n";
str += "Connection: close\r\n";
str += "X-ApiKey: YvYvhAfLrGnigaqLGdx0DvisFTBVcVCqpm5I1g44KyBj0Y09\r\n";
str += "User-Agent: GR-KURUMI-XBee-wifi/1.0\r\n";
str += "Content-Length: 90\r\n";
str += "\r\n";
str += "{\r\n";
str += "\"version\":\"1.0.0\",\r\n";
str += "\"datastreams\" : [\r\n";
str += " {\"id\":\"eye_lux\",\"current_value\":\"110\"}\r\n";
str += " ]\r\n";
str += "}\r\n";
Serial2.print(str);
}
void loop() {
while(Serial2.available()){
Serial.print((char)Serial2.read());
delay(500);
chobichanさん、お願いがあるのですが、XBee wifiを使ってXivelyにあげるサンプルをいただくことはできないでしょうか?ここのところずっとArduino WiFiシールド用のドライバ部分をポーティングして、XBee ArduinoライブラリとXivelyライブラリによるアップロードができるように試していたのですが、どうしてもHTTPのレスポンスが返ってこず辟易しておりまして、、
X-CTUのバージョン6だとそんなこと有るんですか。私の場合まずテキストファイル上でHTTP文を書いて貼り付けで上手く行ったのですが。でもX-CTUはバージョン5も用意して置く事を私は薦めています。だってバージョン6だとシリアルの制御線を操作できないんですよね。なんであの機能止めたのかなぁ?