ラベル XPort の投稿を表示しています。 すべての投稿を表示
ラベル XPort の投稿を表示しています。 すべての投稿を表示

2008年10月10日金曜日

Botanicalls memo

Botanicalls Twitterをつくる。

植物がお水足りないとtwitterする。
電流の量で水が足りてるか足りてないかを判定してtwit。

Arduinoに書き込むソースコードに関して。
Arduinoのバージョンはatmega168以降じゃないとだめ。
atmega8だとコンパイルエラーが出る。

回路に関しては

備品(Parts)の中の
(1) 2N2222A or 2N3904 transistorは東芝のトランジスタを使用
とりあえず秋月だったか千石だったかで
10個パックの安いのを買ったと思う
あと(1) Adafruit XPort shieldは使ってません。
あったら便利ではあると思うけど日本に売ってるんだろうか、$15。

とりあえずここまで。

2008年7月11日金曜日

SensorBase

SensorBaseにセンサ値をArduinoとXPortを使って送る。

Making Things TalkやArduino開発でおなじみTom様のサイト
tigoe.netを参考に進めていく。

Arduinoはセンサの値をとって、
それをXPort経由であるサーバにあるPHPに送る。
PHPはSensorBaseにログインして
受け取ったセンサ値を特定のデータ表に入力する。

温度など色んなセンサ値を今後アップしたいのですが
とりあえずはお手軽な距離センサの値をウェブに送ってみる。
回路図はこんな感じ:



ソースコードは先ほどあげた
Logging sensor data to a Web Database using Sensorbase.org
をほぼそのまま使用。
SensorBaseにログインするためのPHPスクリプトとかは自分仕様に書き換える!

PHPスクリプトはSFCサーバにあげた。
ITCの人にお願いしてPHP拡張してもらったし。
昨日設定した黒macPHPで動くかはまた今度チェックしよ。

全部できたら、センサ値はSensorBaseの
plantr_testというテーブルに送り込まれているはず…

むむむ。

何かが来ている履歴はあるけど数値は来ていない。

Arduinoコードのloop()の中に
Serial.println(voltage, DEC);
を足してセンサ値をArduinoソフトでモニターしてみる。

void loop() {
// read the data from the sensor:
voltage = analogRead(0);
Serial.println(voltage, DEC):
// check the state of the HTTP request:
stateCheck();
// set the LEDs to inform the user about the state of the request:
setLEDs();
}

するとどうやらセンサの値は読んでいる。
Arduinoを5Vのアダプタで電源供給してあげて
パソコンからの接続を外したら



数値がアップされたーーー!
でも定期的に数値がアップされる様にはまだなってない。

ちなみに



SFCサーバにあげたPHPを開いてみると、"Data successfully slogged!"と
データがちゃんとSensorBaseに送られてることがわかる。