[概要]
前回のesp8266 初期ファームを使った
[ esp8266+LPC1114FN28連携 ] 記事と似ていますが、
小型マイコン ATtiny85(8pin ,8bit)と連携して、
安価で小型なIoTデバイス検討したいと思います。
ブレボ1枚に、WIFI+MCU+電源+周辺デバイス回路まで実装できました。
*)
RAM=512 Byteしかない為、
開発時にメモリ削減の対応等で苦労ぎみでした
さほど小型化の必要がなければ、このMCUは選択しないほうが
良いかと思います。
# 部品リスト
ESP-WROOM-02 / 500[en]前後
ATtiny85 / 160[en] (秋月電子さん)
電解コンデンサー 470マイクロ F / 10[en] (秋月電子さん)
絶縁ラジアルリード型積層セラミックコンデンサー0.1μF50V (1個当たり)
10[en] (秋月電子さん)
3.3Vレギュレータ-降圧 / 100[en] (秋月電子さん)
マイクロUSB (メス) / 200 [en] (秋月電子さん)
抵抗, 配線等
# 配線- レイアウト
ATtiny側のSoftwareSerial(D3/D4)を、
ESP側のUARTに接続します。
WIFI側の配線は、テスト編と同じです。
# ATtiny pin 配置
# ATtiny コンパイル
ARDUINO SDK 1.0.5 (ATtiny用の設定が必要)
書込装置= Arduino as ISP を選択
ARDUINO UNO経由で書込み
コンパイル詳細は、ATtiny-テスト編にも記載しています
# 実装面
シリアル通信速度は、
ESPの初期(15200)だと、動作できませんでした。
9600 位に下げたほうが、良さそうです。
機能的にはmbed版と同じく、センサ値取得後
WIFI側UARTに、ATコマンドをシリアル送信する
実装でよいかと思います。
==== update : 2015-10-08 ====
参考ファームのリンク追加しました。
数ヶ所修正必要で、設定するには手間かかります。
[ AT+CIPSEND ]の
HTTP送信長さは事前に計算し、固定にする必要があります。(改行含む)
メモリ領域パンクの為、動的に計算できていません、、
自力で実装できる方は、
参考にしないほうが良いです。
*)ベータ版で、全体的に見直しが必要です。
[pythonでの計算例]
pi@raspberrypi:~/tmp$ python
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
>>> s="GET /api1234.php?snum_1=1234 HTTP/1.0\r\n";
>>> s=s+"Host: your-dns.com\r\n\r\n";
>>> len(s);
61
>>> quit();
[AT設定-ESP]
上記はTCP送信のみで、
事前にルータ設定(SSID等)などは手動で設定が必要です。
注) 初心者向きではありません。ご注意下さい。
AT関連の設定を、工場出荷-初期状態に復旧できる方を前程にしてます。
UART通信関連の設定を失敗すると、シリアル通信でAT操作できなくなります
ATコマンド例: UART通信速度変更/ 子機モード設定/ AP設定
AT+UART_DEF=9600,8,1,0,0
AT+CWMODE=1
AT+CWJAP="ssid","password"
============================
# テスト
光センサを結線して、クラウド送信してみました。
グラフ
# DIY編で、ケース作成してみました。(仮の)
材料: ケース(100均で, 3個で100[en] 。食品保存用 )
ドリル工具と、精密ニッパで側面に穴あけ。
上面からの図
#関連の記事
ATtiny85-20PU に、スケッチを書き込む (ARDUINO SDK)
# 参考の記事
# 開発者向けのまとめ記事
0 件のコメント:
コメントを投稿