読者です 読者をやめる 読者になる 読者になる

hogehoge, world.

米国カリフォルニアから日本に一時帰国中のソフトウェアエンジニアがIT・自転車・音楽・天体写真・語学などについて書く予定。

Raspberry Pi 3でArduino開発

最近Arduino & ESP8266開発について外で説明する機会がしばしばあって、開発環境のデモ用に自分の古いノートPCを持ち歩いていたのだが、これがどうも遅くて調子がよろしくない。一方で、買ってはみたものの、どう活用しようか考えあぐねているRaspberry Pi 3が手元にある…というわけで、このRPi3をArduinoデモ用モバイルPCにすることにした。

ちなみに、ポンド安に乗じて Pimoroni にRaspberry Pi Zeroを注文し、届くのを待っていたりする。個人的にはRPi3よりこちらの方が楽しみだ。

続きを読む

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (13) ~ ESP8266用Board Managerのアップデート

ArduinoのESP8266用Board Manager*1が2.3.0に更新されていることに気が付きました。

APIが若干変わっていたのでGitHub上のアプリケーションも書き換えました。これらのアプリケーションをコンパイルしてエラーが起こったら、アプリケーションもBoard Managerも最新版に揃えて試してみてください。Board ManagerはArduino開発環境からツール > ボード > ボードマネージャ... (Tools > Board > Boards Manager...)で更新できます。

*1:第七回でArduino開発環境にセットアップしたESP8266用SDK・ライブラリ・サンプルコード一式

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (12) ~ Amedesの省電力化

前回説明した降水確率予報システム "Amedes" は、一日数回しか稼働しないにも関わらず、スマフォ用バッテリーが5日程度で空になってしまうものであった。これはちょっともったいない。ESP8266と8連LEDが常時30mA近い電流を消費しながら、やっていることは人感センサーへの入力をひたすら待っているだけなのだ。

ならば「普段は電源を切っておいて、人感センサーに入力があったらONするようにできないのか?」と考えたくなるのが人情である。データシートによれば人感センサーの消費電流は12μAらしいので、これが実現できれば計算上は2500倍もの効率向上になるはずだ。というわけでやってみよう。テッテッテー テッテッテテー♪

続きを読む

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (11) ~ 降水確率予報 "Amedes"

前回まで紹介してきたクマーシステムと回転灯システムは、共にHTTPサーバとして動作するアプリケーションであった。今回はちょっと路線を変えて、公開のWebサービスを叩いて動作するHTTPクライアントの話をしよう。

…というわけで最新作、降水確率予報システム "Amedes" である。人が前を通ると、気象庁の天気予報データを取ってきて、今日明日の6時間毎の降水確率と、今後一週間の日々の降水確率を表示してくれる。スマフォで天気予報見れるじゃんという話もあるのだが、玄関に置いておくと家を出る際にチラ見するだけで傘が必要かわかるので地味に便利である。

youtu.be

続きを読む

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (10) ~ 回転灯システム

次は回転灯システムの話である。ハードウェア的にはこれまた変哲なく、ESP8266のGPIO出力でパワーMOS-FETのスイッチをON/OFFするだけである。

f:id:tomoto335:20160508014255j:plain

f:id:tomoto335:20160621014533p:plain

続きを読む

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (9) ~ クマーシステム

前回までにESP8266アプリケーションの共通の骨格について、ハード・ソフト両面から説明してきたが、ここまで来れば各アプリケーションの説明は非常に楽である。

下記はクマーシステムのブレッドボードの見た目(第七回のものを再掲)と回路図である。既に説明した基本回路にサーボモーターを配線しただけでなんの変哲もない。

f:id:tomoto335:20160602013650j:plain

 

f:id:tomoto335:20160621003404p:plain

続きを読む

ESP-WROOM-02(Arduino)によるWiFiネットワーキング (8) ~ HTTPサーバベースのアプリケーション

第一回で示したクマーシステムも回転灯システムも、共にESP-WROOM-02をHTTPサーバとして動かすアプリケーションである。今回はこれらのソフトウェアの骨格部分を説明しよう。ソースコードは下記のGitHubリポジトリに公開しており、FlagBearとBuildCopがそれぞれクマーシステムと回転灯システムに対応する。

GitHub - tomoto/ArduinoPlayGround

この手のアプリケーションで必要となる処理なんてどうせ同じ、ということでコードのほとんどはlibrariesの下にフレームワークとして実装してあり、アプリケーション本体である.inoのコードは最小で済むようになっている。このフレームワークにはいろいろ工夫が詰まっていて、おそらく読者の役に立つノウハウもあるので説明していこう。

続きを読む