このブログを検索

2012/02/26

豆カメラ仮設置

タッパー風入れ物に入れて

壁に面ファスナーで固定

カメラも仮設置

 豆カメラを仮運用モードにしました。最初アンテナもタッパ(風な容器)に入れてたら、無線通信タイムアウトが頻発してたので外に出して壁に仮止めしたり。あとでちゃんとパテでタッパ(風な容器)に固めます。
 暗いと付いてしまう赤外線LEDの影響はどうなのだろう?光センサーの照度か撮影時間帯外かを判断して、カメラの電源をMOS FETでオンオフするべきだろうか?

2012/02/25

今日は豪華ランチ

 ツレとツレの母が2月生まれな為、まとめてお誕生会。ランチで。場所はヴァンセット@立川駅南口。美味かったぁ。

mbed側を切り替え

GemmyCard版コントローラ

 各種センサーデータのコントロール&ネットアップローダのmbedを入れ替えました。☆ボードオレンジからGemmyCardへ。XBeeは結局はミニブレッドボードに載せたままでが(上部に裏返しになってます)、XBee Proに変わってます、RPSMAアンテナの。すでに追加機能として、1時間に1回、指定開始時刻から指定終了時間まで豆カメラから画像データ取得してアップロードするようにもなっています。

 肝心の豆カメラはと言うと、

エアコン配管蓋 DK75AC


エアコン配管部の蓋であるDKAC75を買ってきたので、穴を開けてコード通して、嵌めて、パテ埋めしてから稼動予定です。肝心のArduinoCamのB基板のハウジングもしないと。タッパー互換コンテナを買ってこねば。手持ちのやつはサイズが微妙だった。

2012/02/24

豆カメラもう少し

ブレッドボードに起こした豆カメラ

 Arduino+Xbeeによるベランダエンドウカメラを回路固定すべく、ブレッドボードにて等価回路を作成。サクっと動作しました。

ユニバーサル基板に写した豆カメラ

 無事にブレッドボードの試作回路が動作したので、それを更にいわゆる秋月のB基板にて再現し回路固定。ATmega328Pは3.3V 16MHz動作です。XBeeとか23K256が3.3V動作なのでレベルコンバートを避けるべく。電源はminiUSBから入れて3.3V系へはLDOな三端子レギュレータで変換。シリアルカメラは電源5V信号線3.3Vなのでそのように。miniUSBからは念のため500mAのポリフューズを挟んでます。最初、スイッチサイエンスで売ってるC基板サイズのXBeeユニバーサル基板で作ることも考えたけど、老眼には辛いのでやめました。
 AVR側のプログラムは今のままで動きますし、一応、USB-シリアルアダプタ用の6ピンヘッダもつけてるし、ICソケットも使ってるし。お弁当ケースにケーブルの穴を開けて、基板ネジ止めして、パテで防水したらベランダに置けます。ベランダに置くっていうか、稼働中の気象センサーの様に、また壁に面ファスナーで貼り付けるかな?と。

 あと、カメラ稼働までにはmbed側のソフトの微調整が必要。Web公開にはWebサーバのソフト作成(今日の金魚をパクるか?)が必要です。

 で、その次は、C基板サイズのXBeeユニバーサル基板で、土壌水分と地温と湿度センサーの付いたマイコン制御基板を作成するですかね。土壌水分のセンシングデータが何日分かとれたら、コントロールプログラムを書いてSSRでON/OFFすべく水やりポンプの工作をする予定です。 暑くなってくるゴールデンウイークの頃には稼動してると良いね。

2012/02/19

☆board Orange >> Gemmy card

Gemmy card

 年末に買ったきりだったGemmy Cardを組み立てました。で、今☆board orangeで動かしてるプログラムを持ってきて、LCDのピンアサインがちょっと違うのは直して、動作確認。当然の様に問題は出ませんw。

 お昼は、ツレお気に入りの回転寿司屋 海鮮三崎港。京樽グループ。お昼って言っても14:00近くでしたが。鯛、生鯖、寒ぶり、〆イワシ、アジ等、美味しゅうございました。帰りはしゅんかしゅんかとセコハン屋によって戻り。

 帰って来て、プログラム調整。例のArduinoカメラとXBee通信のヤツ。だいぶ安定してきたのだけども、想定外のステータスになった時に無限ループに入ったらいしないように色々。5ミリ秒とか微妙なタイミング調整でchunk送受信がすこぶる安定したり。夜になるとどうもArduino側が不安定になる様でデータの一部が化けてしまい画像として読めなかったり。なんと無く、暗くなるとカメラのIR LEDによる電力消費増大を疑っているのだが、どうだろう?計ってみるかね。ワットメーターみたいに蛇の目基板で起こし直そうかなぁとも思うのであった。
 Gemmy側は、画像の奥側のXBee Pro(と見えないけどSPI SRAM)が載っているブレッドボード部分は、蛇の目基板かブレッドボードパターン基板に固定して、Gemmyに両面テープで固定する予定です。ハード的には上手く動いているから、平日じわじわと地味に作業します。

2012/02/15

mbed with SPI SRAM

mbed with SPI SRAM

 昨晩、なんとかmbedでmicroSDに保存された画像ファイルをWebサーバにhttpアップロードするのに成功しました。TCPsocketを使ってhttpを喋らせて。こういうの書いているhttpのの仕様がよく理解できます。
 今晩は、ちと帰りが遅くなったのだけど、microSDからSPI SRAMにコピーしてアップロードを試してみたいと思っております。これからコード書き。
 ・・・コンパイル通ったら一発で動作確認終了できましたw。
 明日は、microSDから読むのでは無くcameraの付いているArduinoとのXBee通信も含めて、
 Camera -> SPI SRAM -> XBee —-> XBee -> SPI SRAM -> Ethernet -> Webサーバ
 の通しのテストをしたいと思ってます。無事に帰れたらの事ですが・・・
ここんとこ年度末特有の予算取りプレゼン用資料作成の残業インタラプトが不定で発生するのです。

2012/02/12

イブイブ バレンタインデー

B.B. PREMIER

 ツレからチョコをいただきました。去年と同じくクマチョコです。ありがとう。

Arduinoカメラ関係

SPI SRAMテスト

 カメラからの画像データの一時保存先としてmicroSDからSPI SRAMに変更しました。結構いいねぇ、SPI SRAM。5V-3.3Vのレベルシフタは秋月のFXMA108基板を使用(こないだ買った手ハンダ表面実装初体験用のチップはまだ使わないw)。8ポート分あるからSPI SRAMの4系統の他にカメラの通信も扱えるし。XBeeの通信も収容可能。

カメラはこんな感じに

 AdaFruitsから買った防水カメラは、こんな感じにデッカイ洗濯ばさみにボルトでくっつけて見ました。これでプランターの端っこを挟む予定。
 このカメラ、防犯用のコンポーネントの流用だと思うのだけど、CDSと赤外線LEDがついていて、暗いと赤外線LED投射になります。夜のスナップエンドウも撮れるかな。出来れば、10分おきくらいに撮影して、それをまとめて成長の早回し動画にしたいですね。
 Arduinoのカメラ側はほぼコレでハードは固定なので、ブレッドボードから基板に回路を移します。MakeTokyoMeetingで買ったアルシオーノを使おうかな。使うにはまず組み立てねば。
 あと、mbed側もSPI SRAMをつけてそこに一時保存して(無線区間で直接受け取ったデータをhttpに横流ししたく無いので、確定させる為に保存。)、http uploadのコードを移植しないとね。水やり関連は3月まで手が出ない感じだ。

2012/02/09

ArduinoのRAM

1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890
123456789012345678

2Kbyteなのでこんくらいですかね。ArduinoっていうよりAVRマイコンチップであるATmega328のSRAMという表現が正しいが。Arduino1.0以前はコードにF()表記が使えないので文字列リテラルもSRAMを食います。そして、正体不明のリセットになるわけだ。標準でウォッチドッグ入ってるのかな?
プログラム自体は32Kbyteのフラッシュメモリに書かれて動くのでこれでもなんとかなるわけですね。

2012/02/08

JPEGシリアルカメラからXBeeを通して保存

JPEGシリアルカメラ <--> Arduino <--XBee--> mbed での撮影テストしました。
mbedからは写真撮れ、ファイルのサイズ教えろ、データ送れの3つのインターフェイスを実装して。エラー時の再送とかはコードに盛り込むべきか、運用的にその回の撮影は無かったことにするかは今後の気分しだいだな(笑)。

本日の結線

 配線がくねくねですけど、プロトタイピングなので許せ。実稼動時は整理するさ。

デバッグはこんなprintfデバッグ

 (waitがwaiteになってるのはtypoとして)
 シリアル出力を送り側のArduinoと受け取り側のmbedでひっぱらかって(mbedは仮想なのでUSB1本ですが)、デバッグメッセージを見る。Arduinoは前に書いたようにソフトシリアルを2系統使ってます。Arduino1.0さまさまです。

机から天井方面の画像

 こんな天井方向の画像が得られました。LCDの上にまたがってるのはクマのぬいぐるみ。も少しエラー時の対策を入れれば使えそうだな。

 次はmbedでのhttp uploadです。Arduinoのコードがあるのと仕組みを理解したのでmbedなら結構いけるかなと。そして土日はカメラの設置工作を予定。ホームセンターで金物探しだ。

2012/02/07

晩御飯はアイリッシュシチュー

アイリッシュシチュー

 羊肉少ないですが、スープが絶妙です。冬には持って来いです。

2012/02/06

mbedはクラウドコンパイラなのでこういうこともある

なんかIDEが重たいなぁと思ってたら・・・。ローカルのコンパイル環境も作成しないとイザというときに使えない。

復帰したようだが重たい・・・のはFireFoxのせいだな。chromeに変えたら軽いや。
んで、無事にArduino -> mbedでSDに保存してあるファイルの転送ができました。Arduinoは1.0でやってみた。まだ、最終chunkの処理が完全ではないけどね。後ろを0x00で埋めてるけど、そんなんでもjpeg画像としては読めるんだな。
 次はJpegシリアルカメラをArduinoに接続して、カメラ→SD保存。SDから読みだしてXBee転送を試します。それが上手く行ったら、ちょいと工作して、SDの部分をSPIのSRAMに変更します。

2012/02/05

ピグライフ 2012/02

 土地もだいぶ広がりましたが、クエスト用に左側にあと2ブロックあると、メインの土地のレイアウトを崩さずに楽しめます。四角いのはなんかアメリカ的農業みたいで嫌なのだ。段々畑を作りたい。けど、現仕様では作物を植えりことが出来る土地の高さは固定だな。
 3×3ブロック以上の土地ブロック追加は、デイリークエストでのチケットを土地権に換金するかたちで1ブロック3ヶ月くらいですかね。土地券30枚、1土地券=3デイリークエストチケットなので。ゴールデンウイーク前にはもう1ブロック追加できそうな感じかな。
 あんまり広くすると今でも居る縦768px未満の端末で無理くりやってるユーザから文句でるしねぇ。中華padとかでも縦600とかあるけど、それは自分は避けるけど、わからない人は安さで買うんだろうなぁ。ちょいと前のnetbookでも同じ。縦600なんてゴミ。768でもキツイ世の中なのに。

XBeeでのカメラ映像送信は面倒

 特にカメラに限ったことじゃないですが。XBeeでの大きなデータのやり取りはchunkにして何回か送らないと行けません。今は320×240の10Kbyte程の画像ファイルを送ろうとしてます。ペイロードサイズ32byteで300回ちょいに分割。
 昨晩試してましたが、ハンドシェイクをサボったらやはり厳しい様です。ちゃんとやろうw。あと謎のリセットがかかるのだが、コレはメモリリークが怪しいな、2Kbyteしかないからなぁメモリ。とりあえずArduino=>Arduinoでテスト中。安定したら受信側はmbedに移植します。

 ・・・と思ってたけど、受信側はは最初からmbedに切り替えよっと。3.3VなのでXBee直結できるし、USB仮想シリアルあるし。現物シリアルも3つあるし。フラッシュメモリもある。
 なんせArduinoでのXBeeのテストだと、XBee用に1つ・コンソール用に1つと最低2つのシリアルが必要で。カメラ側にいたっては、カメラ用にもう1つシリアル。送信側もmbedにしたい所ですが、テスト機がなくなってしまうズラ。Arduino系はたくさん転がってるののです。MTM07で頒布してもらったアルシオーノでもいいがな、まだ組み立てて無いけど。

立春過ぎのエンドウ

20120205のスナップエンドウ

 まだ、JPEGシリアルカメラは難航してます。なので、携帯にて撮影。地味に育っています。

20120205 ツレのチューリップ

 隣のプランターのツレのチューリップも幾つか出てきています。

 まだ、寒いですけどね。

2012/02/03

季節物

 ホント季節物
 この年度末の時期の定番ではあるが、親会社のスカンピンから作業が降ってきた(仕事と書かないのは成功報酬もモチベーションも無いから)。困るなぁ。2月限定公開の尾形光琳の紅白梅図公開なのに毎度行きそびれてしまうじゃないか。最初から他人を頼らずに、自分でやれるトコまでやってみる気はないのかなぁ?丸投げだから責任感が無いんだろうなぁ。なんて妄想する。
 まぁ、やりやすい方向に持っていく段階の1ステップでもあると思えばまだ良いな。せめて、「現行踏襲」だからこれで良いと息巻いた甲高い声のおっさんは埋めて出てこない様にしたい。本気でプンスカ。正直者が貧乏になるのはなんとかせい。

2012/02/01

XBee透過モードでもう少し悪あがき

 シリアルJPEGカメラのライブラリを読んでいてハタと気づいて再チャレンジ。XBeeはAT透過モードで。タイムアウトまでをカウントする回数変数がuint8_tだったので、もちっと長くしてみて。それでも1,2回は通しでシーケンスが完了したものの、画像データに抜けがあって画像としては見られなかった。うーん、やっぱ当初の予定どおりAPIモードでやり取りしよっと。XBeeのATモードは無かったものと思おうw。PICでフローコントロールしてる人は見かけたけど、まだハードの技術がないのです、自分。