sciencompass

今勉強していること、これまで勉強してきたことを発信してます。英語と独語、ときどき理科について発信します。

Arduino 電子工作

FlashairとArduinoの連携ではまったこと

投稿日:

前の記事で紹介したように、ArduinoとFlashairを連携させて、部屋の気温と湿度を外出先からモニタすることができるようになりました。そこで、次の段階として外出先からエアコンのスイッチを押すことを考えました。

GPIOモードを使えない

ちょうどFlashairにはGPIOに対応するピンが備わっているので、これを使ってエアコンのスイッチのオン・オフの動作を行おうと考えました。そこで、Flashair IoT HubからGPIOを早速制御してみたのですが、実行できず失敗になってしまいました。どうやら、ArduinoによってSD.begin()でSDカードを初期化すると、PIOモードにすることができなくなってしまうことが原因のようです。SDカードを初期化しなければいいのですが、それでは計測値をcsvファイルに書き込むことができなくなってしまいます。計測値を記録したcsvファイルをIoT Hubにアップロードすることで気温と湿度をモニタしている現状では、GPIOを使用してスイッチを動作させることはできないということがわかりました。

ファイルを操作できない

そこで、次はIoT Hubからluaスクリプトを実行して、SDカード内にオン・オフの情報をもったファイルを作成することを試しました。既存のテキストファイルにオン・オフという文字列を書き込むことをまず考えましたが、Arudinoでファイルの中身を読み込むとWiFiが落ちるので、却下しました。

ファイルを作成あるいはリネームでオン・オフを表現しようとしましたが、fa.rename()やio.open()を実行してもファイルが作成されなかったり、ファイル名が変更されませんでした。調べたところ、ファイルをアップロードしたりするには、ホスト機器(私の例だとArduino)からのSDカードへの書き込みをストップしないとダメで、一度ストップしたらシステムを再起動するまで再びホスト側からSDカードへ書き込みをすることはできないようです。ということで、ファイル操作を行うこともあきらめざるをえませんでした。

まとめ

FlashairとArduinoを組み合わせて色々なものを遠隔操作しようと考えていましたが、簡単にはいかないようです・・・

もう少し調べてみて、何か別の方法がないか色々と調べてみようと思います。今のところ、共有メモリを使えば実現できないかと考えています。

-Arduino, 電子工作

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Arduinoで計測した気温と湿度をFlashairでウェブにアップする その1

Arduinoを始めて簡単なプログラムを書くことができるようになったので、かねてからやりたかった自分の部屋の温湿度を出先からモニタすることに挑戦します。 目次システムの設計準備するものArduinoプ …

マイコンの仕組み:出力ポート

マイコン内部のスイッチをON/OFFする マイコンから外部の機器を制御するときには、入出力ポートから信号を送り出します。 信号はON/OFFの2つ、HighとLowで作られており、このHighとLow …

Arduinoはじめました

IoT(Internet of Things)という言葉が広く世間に浸透し、あらゆるものがインターネットでつながる世界が実現しようとしています。SF好きの私としては、映画や本の中の世界が実現するのでは …

Arduinoで計測した気温と湿度をFlashairでウェブにアップする その2

前回の記事に引き続いて、FlashairとArduinoで部屋の温湿度をモニタするシステムを構築する話です。前回は、Arduino側のソースコードを紹介しましたので、今回はFlashairに書き込むl …