takashiskiのブログ

覚書の殴り書き

もっと気楽なtwitter連動wifi体重計(wio node)

この記事は以下の記事の内容を、もっと気楽に実現するべく実験した結果を示すものです。


izm-11.hatenablog.com

結果

大成功!

具体的には以下を満たしました。

  • ブレッドボードやユニバーサル基板使って回路組む必要がない
  • 機材調達が容易
  • ソースコード流用できる
  • 技適通ってる(!)

使ったもの

 最低限必要なものは、wio nodeとgroveの赤外線受信機です。
大体1100円くらいと、530円くらいだったと思います。


Wio Node

Wio Node

GROVE - 赤外線受信器

GROVE - 赤外線受信器


 
 また、wio nodeにファーム/プログラムの書き込みを行うためにはUSB-TTL変換器(3.3V)が必要です。持ってない方は適当に買ってください。スイッチサイエンスのものが、5V/3.3V切り替え可能で最安値でしたが、最近秋月から後出しで安いのがでたみたいです。
スイッチサイエンスのものが1500円ちょっと、秋月のやつか1000円くらい。あと野良でいくつかあると思います。安いのは5Vか3.3V固定ですので、購入する前に必ず確認ください。

FTDI USBシリアル変換アダプター Rev.2

FTDI USBシリアル変換アダプター Rev.2

 
  また、groveはPA端子を使ってます。ピッチがブレッドボードより狭いので、ブレッドボード向けのジャンパメスでは配線できませんでした。うまく配線する術を持っていない人は以下のようなものを買うと便利です(私は買った)。

wio nodeにはgroveポートが二つあるのですが、片方を書き込み用に塞いでしまいます。2ポートとも使いたい場合は抜き差しが頻繁になるのであったほうがいいと思います。
何本かセットで、400円-500円くらいで買えると思います。


 

ここまでで大体高く見て約4000円+送料などでしょうか。
ただし、半分は初期コスト(USB-TTL変換3.3V、PA4pin-ジャンパオス)です。

 

前準備

arduino IDEとESP8266の関連ファイルのダウンロードを先に行ってください。結構時間がかかります。

まずarduino IDEをインストールしてください。
公式からダウンロードしてもいいですが、windowsストアにもあがっているようですので、そちらからインストールするのが最も手間がないです。
それ以降の手順は以下のURLを参照ください。

esp_dev_arduino_ide – スイッチサイエンス


wioの準備

以下のURLを参照ください。全部説明していただいています。


blogs.yahoo.co.jpblogs.yahoo.co.jp

簡単な流れは以下。

  • USB-TTL変換器を3.3Vモードにする
  • UART側とUSB-TTL変換器のGND同士、TXをRX、RXをTXとつなぐ
  • FUNCおす->RSTおす->RSTはなす->FUNCはなす、で書き込みモードに切り替える(書き換え終わると実行モードになるので毎回やる)
  • 書き換える

プログラム

基本的に全部流用できます。

UART/I2C0/D0端子を使う場合はIO3、ANALOG/I2C1/D1端子を使う場合はIO5が赤外線受信機からの入力を受けるピンになります。
UART側は書き込みに使いますので、逆側に赤外線受信機を指すのがよいでしょう。
よって、使うピンは5ピンで、記事のソースコードの

#define PIN D2

#define PIN 5

と書き換えればよいです。

マイコンは同じなので、本来これで動くはずなんですが、このままではうまく動きません。

wioでは15ピンをHIGHにする必要があるそうです。なのでsetup関数の先頭に以下を加えます。

pinMode(15,OUTPUT);
digitalWrite(15,HIGH);

これで期待した通りに動くはずです。

ESP8266向けコードであれば、出力ピンと15ピンの処理の二か所の修正を加えるだけですべて流用できます。

補足

wioアプリでもIR recieverは扱えます。
しかし、信号の方式が違うのか長さの問題なのか、信号をうまく受け取れませんでした。
素直にarduino互換なスケッチを書き込むのがよさそうです。

結び

以上です。手を動かしているだけであっという間に動きます。いろいろ試してみてください。

一例としましては、赤外線発信モジュールを追加することで、Wifi経由で操作できるリモコンが作れます。

GROVE - 赤外線発信器

GROVE - 赤外線発信器

逆側に温湿度計モジュールを差すことで、遠隔リモコンに加えて温度が下がったら自動でエアコンつける、なんてこともできるかもしれません。

おまけ

リモコンはESPr IR向けのコードを流用するのが手軽だと思います。
ESP-IR – スイッチサイエンス

ESPr IR 赤外線リモコン

ESPr IR 赤外線リモコン

ESPr IR, 買ってみました。
一個3000円で、書き換えにUSB-TTL変換器が必要です。
利点はIOピンがほぼフルに使えることだと思います(wioはIOピンが共通になっているのでほとんど死んでる)。
拡張しないのであれば送受信機両方あること以外は変わりないです。
何か複雑なことをしたいのであれば、こちらでもよいかもしれません。