2012年07月19日一覧

喋るデバイスの作成

 ツレから、電気の使用量が多い時は「電気の使いすぎです」ってアナウンスして欲しい。前に住んでたところはそういう機能があった。と言われていた。
 なので、mbedマスター・コントローラー↓に

昨年末のMakeTokyoMeetingで買ってきた、AquesTalk Picoをつないで喋らせようと考える。

 マスターコントローラのmbedで使えるAquesTalk Picoとつながるインターフェイスは27,28pinのシリアルのみ。これで行くとして、どうせ喋らせるなら、現在の気温湿度気圧とかも読み上げさせたいかなという欲望が。

 ラッチ回路と押ボタンスイッチを追加して、押されていたら喋る感じにしようかと。ラッチ回路にする理由は、、ベランダプランターカメラのデータ受信などの長時間通信をしているとこに割り込み掛けたくないので。CPUの手が開いているときにラッチ情報を読み取ってCPUが対応してくれればいいかなと。で、ラッチのロジックIC(100円しない)買うのも送料的にアレなのでトランジスタ2つでフリップフロップ作るかねぇ、などと考え中。


水槽カメラ復帰

 Arduino0022にてカメラ撮影&画像アップ・Pachubeへの水温アップの動作復帰、かつ自鯖DBへの水温アップロード機能を追加して動作を確認しました。
 予想通り不安定だった要素はメモリとhttpセッション数。
 
 1)ATmega328Pなのでメモリは2Kbyte。2)LANはWiznetのW5100なので4セッションまで。

 メモリ対策はhttpで使う文字列定数をひたすらprogmemへ追い出すことで対応(便利なオブジェクトは無くsocketにhttpの電文を送信してるだけなのよ。)。AVRの場合、普通に文字列リテラルを宣言すると2KbyteしかないSRAM空間に配置されてしまうので。
 LANの方は送信終わったらとっととセッションをぶった切るように。

 以上の対策で10分置きの4サイクルくらい動作してるのを見届けたので仮OKにしておこう。
週末は、メモリとセッション対策を入れた上でArduino1.0.1化の予定です。