head

2015年10月7日水曜日

ESP8266+ATtiny85 IoT製作、センサ値送信


[概要]
前回の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コマンドをシリアル送信する
実装でよいかと思います。

ATtinyのサンプルは、ATtiny-テスト編にも記載しています。
http://knaka0209.blogspot.jp/2015/10/attiny-85-1.html

==== 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)

# 参考の記事

# 開発者向けのまとめ記事


ATtiny85-20PU に、スケッチを書き込む (ARDUINO SDK)



[概要]
Atmel 社の小型マイコン ATtiny85-20PU に
ARDUINO SDK からスケッチを書き込むメモです。

# MCU仕様など
8 PIN
8 Bit CPU
ROM : 8K Byte
RAM : 512 Byte
動作電圧: 2.7V - 5.5V
UARTなし、SoftwareSerial 使えます(Arduino SDK)

# IDE環境
ARDUINO SDK 1.0.5
ARDUINO UNOを書込み装置として使用
ISP通信で、ターゲットMCUに書込
3.3V Internal クロック 8MHz


# ピン配置
チップ上方向= 左上に[丸]くぼみのマーク を基準として配置


# 配線


[ATiiny85] - [ARDUINO UNO]
RESET - D10
MOSI - D11
MISO - D12
SCK - D13

VCC - 3.3V
GND - GND


# コンパイルの準備
 Arduinoo SDK 1.0.5 インストール

 作業フォルダの設定
 [ファイル]-[環境設定]で、スケッチブックの保存場所 を設定
 例) C:\arduino-1.0.5-r2\work
*)インストール先によって異なります。

 ATtiny等の設定ファイルの配置
 kosakaさんのページの。[hardware.zip]をDL &解凍、作業フォルダに配置 (中段)
 http://make.kosakalab.com/make/electronic-work/arduino-ide-arduinoisp/
 パス例: C:\arduino-1.0.5-r2\work\hardware

 arduino SDKの再起動
 [ツール]-[マイコンボード]に、ATtiny85 (internal 8 MHz clock)
 が選択可能な事を確認。


# スケッチの書込み
Uno接続して、シリアルポートを設定

[ツール]-[マイコンボード]-[Arduino Uno] 選択

UNOに、[ArduinoISP]書き込みます。(ISP通信で書き込むためのスケッチ)
[スケッチの例] -[ArduinoISP] でスケッチ開き、書き込む。

# 書き込み完了後、ATtinyにスケッチ書き込みます。
適当なスケッチ書いて、準備します(LチカでOK)

A1にセンサ接続して、値をシリアル出力する例です



[ツール]-[マイコンボード]に、ATtiny85 (internal 8 MHz clock) を選択

シリアルポート設定済みを確認

書込装置 - [Arduino as ISP] を選択

書込みます。

[マイコンボードへの書込みが完了しました]
が表示されます。


下記が表示されましたが、書込みは問題ないようでした。
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

ATtiny は、
ISP関係の配線を外して、実行可能です

==== 2015-10-15 =============
delay()の、タイマー間隔がずれる場合は、
初期の内部クロックが、1MHzの可能性があります。
ブートローダを書き込むと(内部クロック=8MHz)、修正できました。
1秒間隔のLチカで、確認できます。
=============================


# 開発者向けのまとめ記事
http://knaka0209.blogspot.jp/2015/04/agri.html

2015年10月5日月曜日

ENC28J60+ARDUINO でIoT製作 (テスト編)


いまさらですが古めの有線LANモジュール [ENC28J60]を活用して、
格安のIoTデバイス製作を検討してみました。


[概要]
Microchip 社の[ENC28J60] EtherNet Controller の対応モジュール
海外通販で4ドル前後、国内での取り扱い店舗は少ないようですが 1000[en]弱
10 base-T と速度は遅めですが、TCP送受信の文字数が少なければ、使える範囲になりそう。
有線LANですが マイコン連携できる通信デバイスとしては、格安かと思います。

入荷後、基盤を見ても型式/製造番号/メーカ等の記載がなく、、
バルク品ぽい雰囲気もありました。
ピン配置は、12ピン近くに記載されてますが、文字が小さく見にくいですが
ピン-レイアウト資料も当然なく、配線は注意が必要です。

SPI通信のARDUINOライブラリを見つけましたので
回路を調整して、クラウド連携し、Lチカ(LED制御)までテストしてみたいと思います。

*) LAN側の電源供給を VCC=3.3Vに配線してますが、
ARDUINO UNOのSPI通信のデジタル出力(D11/D12/D13)は
5V出力されていると予想されますので、ロジックコンバータなどで
降圧調整が必要と予想されます。UNO以外の3.3V仕様のARDUINOが良いかと思います

#材料費
イーサネットモジュール [M28J60] 950[en] (aitend さん)

# 配線
Git - ethercard ライブラリの README に,
記載されているピン配線を結線します。

[ENC28J60] - [ARDUINO]
SCK - D13
SO - D12
SI - D11
CS - D8

VCC,GND を結線
D7 にLED 配線

# Code, HTTP受信と Lチカ
ARDUINO-SDk 1.6.5
シリアルの通信速度= 9600 に変えてます。

*) macアドレスの指定は、LAN上に複数接続する場合は、重複に注意下さい。

enc28j60 ライブラリ (Git): https://github.com/jcw/ethercard
ARDUINO SDKに、インポートします。

スケッチの例を参考に、機能を追加します。
[スケッチの例] - [ethercard-master] - [webClient]

クラウド側のweb-APIから、レスポンス取得し、LED点灯時間を解析 (消えるまでの時間)、
INT型に変換します。

===
  iSt = response.indexOf("web-response1=");
  if(iSt >= 0){
    iSt = iSt+ 14;
    String sDat = response.substring(iSt );
===

消すタイミングを監視し、LOW送信
digitalWrite(mLED_pin, LOW);

*) 連携用のWEB-APIは、準備する必要があります。
参考php :
https://gist.github.com/kuc-arc-f/f84d21cd98b23d10fa34#file-php-webapi-esp8266-1-php

#テスト
電源投入後の60秒前後は、
TCP受信処理が失敗する場合がありました
LAN側が安定するまで、少し時間がかかるのかもしれません。

# クラウド側から、LED消灯までの時間を取得し、
   点灯、指定秒数後 に消灯します

# シリアルのログ




#参考の記事
https://github.com/jcw/ethercard

# 開発者向けのまとめ記事
http://knaka0209.blogspot.jp/2015/04/agri.html

2015年9月1日火曜日

esp8266(esp-wroom-02)で IoT、小型化 (マッチ箱サイズ)

====== update 2015-09-13 ========
技適な話、
国内使用でのファーム書換(カスタムファーム)で
追加申請する場合は別ですが、技適の適応外となりそうですので
(ネット記事を参考)
日本国内での使用は参考を控えて下さい
初期ファームでの使用は問題ないと思います。
又海外でのデバイス開発、使用に関しては問題ないと思いますので
記事としては当面残したいと思います

*)初期ファーム活用した、マイコン連携の記事も公開しています。
=================================


さらに小型化を目指して、マッチ箱サイズに実装してみました。


[概要]
前回の ( esp8266(esp-wroom-02)でIoT- 手のひらサイズ ) 小型化の記事と似ていますが、
機能的には Lチカ版(クラウド連携)の、回路を実装しています。

部品構成は
WIFI(esp8266)+電源回路+LEDの構成としてます。
写真の基盤(ミニ版ブレボ)の下は電池ボックス(単三の3個)

機能的には、
定期実行し、WIFI経由で
LED点灯時間(消えるまで)をクラウドから取得し
LED表示 ( IO 16 =HIGH ,消すとき= L を送信 )


# 部品 (電源まわり)
esp-wroom-02 , amazon(マイクロテクニカ)さん
電池ボックス、単三4個 143[en]

低損失三端子レギュレーター 3.3V500mA TA48M033F /100[en] (秋月電子さん)
絶縁ラジアルリード型積層セラミックコンデンサー0.1μF50V (1個当たり) / 10[en] (秋月電子さん)
470 マイクロF コンデンサー /10[en] (秋月電子さん)
抵抗 2 オーム

それ以外 WIFI周辺、テスト編
[esp8266(esp-wroom-02) WIFIの接続テスト] と似ています。低価格
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-01.html

# Code ( ARDUINO SDK )
前回のLチカ版と同じの為、コードの説明は省略します。


# 配線
*) 小型化の為、見にくいですが、、
コンデンサは
出力側: 470 マイクロF
入力側: 0.1 マイクロF

ブレークアウト基盤に,
EN - 3.3V
IO 15 - GND
の配線してます。 

WIFI 装着前の配線(写真)



# 電源アダプタ( micro USB  )からの、駆動
開発時の風景です。


#関連の記事
ESP-WROOM-02の接続テスト
マイコン連携(esp-wroom-02+mbed LPC1114FN28 で、IoT )


# 参考の記事
回路など

# 開発者向けのまとめ記事

2015年8月31日月曜日

esp8266(esp-wroom-02)+mbed LPC1114FN28 でクラウド連携 (カスタム編)


====== update 2015-09-13 ========
技適な話、
国内使用でのファーム書換(カスタムファーム)で
追加申請する場合は別ですが、技適の適応外となりそうですので
(ネット記事を参考)
日本国内での使用は参考を控えて下さい
初期ファームでの使用は問題ないと思います。
又海外でのデバイス開発、使用に関しては問題ないと思いますので
記事としては当面残したいと思います

*) 初期ファーム活用した、マイコン連携の記事も公開しています。
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-03.html
=================================

[概要]
前回の ( esp8266(esp-wroom-02)+mbed LPC1114FN28 )のマイコン連携の記事
と似ていますが、
標準FW(ファーム)使わずに。カスタムでマイコン間を通信します。
今回は、マイコン側からの送信処理のみ、WIFI経由(esp8266)でクラウド送信します。

1)すでに標準FWを削除(上書き)してしまった方で、
  復元が困難な場合で、マイコン連携などの機能追加したい方
2) ブレークアウト変換基盤で、ADC(アナログ入力など)できない種類も
 ありましたので、対策としても参考頂ければと思います。

# 短所
 esp側と、マイコン側の両方のFW書き換えが必要で
 手間が増える。

*) マイコン側の接続デバイス数(数×消費電力)によって、
  WIFI側動作が不安定になる事も予想されますので
 必要に応じて、電源回路など調整下さい。

# Code (ARDUINO SDK)
Loop内で、
シリアル受信し、ヘッダ文字を基準にデータを取得(解析)、
送信用データの作成

char c = Serial.read();

# Code (mbed SDK)
今回は、固定値を送信
タイマー起動で、通信を開始。
センサ値取得の処理は、前回の [センサ値送信]に記載
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-03.html

ここでは省略します。

#関連の記事
ESP-WROOM-02の接続テスト
マイコン連携(esp-wroom-02+mbed LPC1114FN28 で、IoT )


# 参考の記事
回路など

# 開発者向けのまとめ記事


2015年8月28日金曜日

esp8266(esp-wroom-02)でIoT, センサ値送信 (手のひらサイズ)


====== update 2015-09-13 ========
技適な話、
国内使用でのファーム書換(カスタムファーム)で
追加申請する場合は別ですが、技適の適応外となりそうですので
(ネット記事を参考)
日本国内での使用は参考を控えて下さい
初期ファームでの使用は問題ないと思います。
又海外でのデバイス開発、使用に関しては問題ないと思いますので
記事としては当面残したいと思います

*) 初期ファーム活用した、マイコン連携の記事も公開しています。
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-03.html
=================================

esp8266を使った、手のひらサイズでコンパクトな回路検討してみました
前回の、電池式や センサ値送信 を参考にしてます

[ 概要 ]
WIFI+センサ値送信、クラウド連携、電池で動作可能。
ESP-WROOM-02 のアナログ入力(TOUT)を使い、
ARDUINO SDK でコード書きます。
今回は、単三の4個の電池ボックスを使います。(基盤の下の黒箱)


# 配線レイアウト
上から、
ESP-WROOM-02
光センサ まわりの回路
電源回路(電池式)

TOUTに、センサを接続下さい。



# コード(ARDUINOSDK) 
の一部分ですが、
user_interface.h を読み込む
system_adc_read で、アナログ値が取得可能



# クラウドでの活用
前の、parse.com 活用のSS
(センサ値表示、グラフ etc)



自由に、クラウドサービスなど接続して

機能を開発頂ければと思います。


# まとめ
1) ケース(制御ボックス)は、100均のケースを加工したり、
3Dプリンタなどで、自作したりできると楽しめますね。
電源アダプタ不要で、室内で自由な場所に置けます。
2) 電力消費が多いので、テストで消費時間など
計測したいと思います。

#関連の記事
回路など

https://github.com/esp8266/Arduino

ESP-WROOM-02の接続テスト
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-01.html
マイコン連携(esp-wroom-02+mbed LPC1114FN28 で、IoT )
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-02.html

# 開発者向けのまとめ記事
http://knaka0209.blogspot.jp/2015/04/agri.html


2015年8月25日火曜日

esp8266(esp-wroom-02) 電池ボックスから電源供給





電池から電源供給し、持ち運び可能な
WIFI+周辺デバイスが駆動できる、回路検討してみました。

クラウド連携でLチカ(LED制御) 機能付で
前回の(esp8266(esp-wroom-02)で Lチカ(LED制御) ARDUINO SDK 、クラウド連携)
を参考にしてます、

*) 電源アダプタが不要なため、無線(WIFI)と周辺デバイス
 セットで完全ワイヤレス(ケーブル無し)な設備ができます。

*) 移動する場合で、モバイル-ルータなど除き
接続先WIFIルータが変更される場合は、
FW(ファーム)修正、PCなどで
SSID等の変更が必要になります。

[ 概要 ]
今回は、単三の4個 (1.2V * 4 =4.8V程度) 使用
*) 電池の種類(型式など)によって、異なると思います。

電圧:降圧レギュレータで、3.3V
電流:抵抗なしで良いと思いますが、
2オーム追加。おそらく 400 -500mA 程度
*) テスタの測定上限超えたので測定不能でした
*) 下げすぎると、起動しませんので注意下さい。

# 部品 (電源まわり)

電池ボックス、単三4個 143[en]

低損失三端子レギュレーター 3.3V500mA TA48M033F
 100[en] (秋月電子さん)
絶縁ラジアルリード型積層セラミックコンデンサー0.1μF50V
   (1個当たり)  10[en] (秋月電子さん)
470 マイクロF コンデンサー /10[en] (秋月電子さん)
抵抗 2 オーム

それ以外 WIFI周辺、テスト編
[esp8266(esp-wroom-02) WIFIの接続テスト] と似ています。低価格
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-01.html


# 組立 -結線






[準備]
 電池ボックスの配線は、ブレボ(ブレッドボード)に
差し込める端子形状にしておく。(そのまま差し込める場合は別)
*) ピンヘッダなどに、ハンダつけなど

1)
電源 - 0.1 マイクロF コンデンサ - レギュレータ入力
レギュレータ出力 - 470 マイクロF コンデンサー(プラス側)
レギュレータ GND - 電源のマイナスへ

2) レギュレータ出力側を、基盤(ブレボ)の電源に結線

# テストなど
FW(ファーム)書込み、LED配線は
前回の記事を参考下さい。
(esp8266(esp-wroom-02)で Lチカ(LED制御) ARDUINO SDK 、クラウド連携)
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-04.html

#まとめ
充電式乾電池以外で、
小型のモバイルバッテリーとかで、設置面積
も少なく出来たほうが、制御BOXも小型にできそうですね。
*) 上の写真だと、電池がムダに大きく見えてきました、、


# 参考の記事
回路など
https://github.com/esp8266/Arduino

#関連の記事
ESP-WROOM-02の接続テスト
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-01.html
マイコン連携(esp-wroom-02+mbed LPC1114FN28 で、IoT )
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-02.html

# 開発者向けのまとめ記事
http://knaka0209.blogspot.jp/2015/04/agri.html




2015年8月20日木曜日

esp8266(esp-wroom-02)で Lチカ(LED制御) ARDUINO SDK 、クラウド連携


====== update 2015-09-13 ========
技適な話、
国内使用でのファーム書換(カスタムファーム)で
追加申請する場合は別ですが、技適の適応外となりそうですので
(ネット記事を参考)
日本国内での使用は参考を控えて下さい
初期ファームでの使用は問題ないと思います。
又海外でのデバイス開発、使用に関しては問題ないと思いますので
記事としては当面残したいと思います

*) 初期ファーム活用した、マイコン連携の記事も公開しています。
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-03.html
=================================

実践編で、前回(esp8266(esp-wroom-02)+mbed LPC1114FN28 でIoT。 センサ値送信)
のセンサ値と似ていますが、

の続編で、実行系の処理、Lチカ (LEDの制御)で
IoTぽく、クラウドから送信値を解析し、LEDのON/OFFの時間を設定します。


*) わかりにくいかもですが、ARDUINO SDK使いますが、
回路上にARDUINOボード、マイコンなど全くありません。
でもesp8266開発ができます。スゴイ!!

[概要]
1) ARDUINO SDK のesp8266ライブラリを使用
2) 応答用のweb-APIを準備しておく


# 部品
[esp8266(esp-wroom-02) WIFIの接続テスト] と似ています。低価格
実行時は、[USB-シリアル変換]などは実装しなくても、稼動できます。

*) FW(ファーム)書込み後は、結線不要です。

# 準備など
ARDUINO SDK で、esp8266をビルド、書込み記事は探せば出てきました。下記を参考
[技適済み格安高性能Wi-FiモジュールESP8266をArduinoIDEを使ってIoT開発する為の環境準備を10分でやる方法]


ライブラリなど、セットアップしておきます。
Wifi Client などのサンプルを参考に、実装します。

# 組立 -結線
[esp8266(esp-wroom-02) WIFIの接続テスト] を参考に、
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-01.html

WIFI、電源回路など配線しておきます。
LEDの回路は、(右側のミニ-ブレボ)に、
16ピンから、
抵抗 100 オーム
LED
GND ,に接続

# WEB-API
# code

カンタンですが、クラウド側から、
送信プロトコルの準備しておきます。
乱数で、LED点灯時間を毎回生成します。 2-10 秒

4 byte
1 : 開始指示
2-4 : LED点灯時間(3桁、デジタル=HIGH にする時間)
*) データ部分の前に、ヘッダ文字をつけておきます。(解析位置の検出用)


# ARDUINO code (esp8266へ書き込むコード)
[説明など]
WIFI接続 SSID, パスワード、
接続するホスト名
を設定、
APIのファイル名は決めて下さい。

const char* ssid     = "your-ssid";
const char* password = "your-pass";

const char* host = "your-dns";

[リクエスト] 
この場合、センサ値などは送信しません
実行後は、wait後、受信値の解析処理後、
16番ピンに対して、
デジタル出力=H 後
LOWにするタイミングを監視、LOW送信。


String url="/api-1234.php";

 client.print(String("GET ") + url + " HTTP/1.0\r\n" +
               "Host: " + host + "\r\n" + 
               "Connection: close\r\n\r\n");


====2015-09-07 =======
スリープ設定で、LIGHT_SLEEP を使った場合、
通信失敗の確立 (10 -15%程度)が増加した為、
通常( スリープなし )に変更しました


# esp8266 に書き込む方法
IO0 (ゼロ)を
GND に結線します[UART  DownLoad Mode]
この状態で書込みます。( [マイコンボード書込]ボタンおす )

*) 通常は3V3へ結線、[FLASH Boot Mode]

ARDUINO SDK から、FW書き込んだ場合は、初回の1回だけ
自動で再起動され、実行されます。
*) 2回目以降、電源ON/OFF して実行させる場合は、上記の [3V3]のジャンパ変更下さい。

# まとめ
リレー回路など、実行制御系に応用できると思います。
それでは、また

# 参考の記事
回路など

#関連の記事
ESP-WROOM-02の接続テスト
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-01.html
マイコン連携(esp-wroom-02+mbed LPC1114FN28 で、IoT )
http://knaka0209.blogspot.jp/2015/08/esp-wroom-02-02.html

# 開発者向けのまとめ記事
http://knaka0209.blogspot.jp/2015/04/agri.html






2015年8月17日月曜日

esp8266(esp-wroom-02)+mbed LPC1114FN28 でIoT。 センサ値送信(クラウド連携)




前回のマイコン連携(esp-wroom-02+mbed LPC1114FN28 で、IoT )

の続編で、
初期ファーム活用して、光センサ値を クラウドに送信します。

[概要]
1)クラウドサービスは、Parse.com(無料プラン)を使用させてもらい、
2)ParseのIoT SDKが、このマイコンに対応してないため。
 REST APIで、フロント側にプロトコル変換機能を経由してます。
3) 表示アプリは以前作成した、ARDUINO版のHTML5アプリで表示


*) マイコン側のシリアル1組(tx:dp16 ,rx: dp15)を、WIFI側に接続しているため、
 通信ログのデバック表示は、現状は不可能です。

# 組立 -結線

WIFI ,電源, マイコン 周辺は
前回(esp-wroom-02+mbed LPC1114FN28 で、IoT)
とほぼ同じで、説明は省略します。
*) 光センサは、2本足の場合です

[センサ周辺]
基盤の3V3 - 光センサ(3V3側)
LPC1114 dp13 - 光センサ(GND側)
光センサ(GND側) - 抵抗
抵抗(GND側) - 基盤のGND


[回路の全体]
==== update 2015-08-20 ==========================
WIFI付近の回路を修正しました、テスト編の回路も参照下さい
=================================================



LPC1114FN28(単体チップ)で
アナログ入力を使う場合、[Analog 3.3V IN: dp7], [Analog 0V: dp8]
の結線が必要になりますので、ご注意下さい。
(左側基盤の左端のベース電源)


# 送信処理 (サンプルコード説明等)
事前に
前回(ESP-WROOM-02の接続テスト)での
子機モード、SSID等の設定が必要です(手動で)。
AT+CWMODE=1
AT+CWJAP="ssid","password"
*) WIFI起動時に、設定が読み込まれて。
 電源投入時に毎回設定不要でした。(有効期限は不明)

#code (C++ / mbde webコンパイラ)

[処理の概要]使い方など
main.cpp

1) Parse.com のキー情報を設定します。
Application ID ,REST API Key
*) Parse.com -[App選択]-[Setting]などで表示できます。。

string mParseRestKey="your-rest-key";
string mParseAppKey ="your-app-key";

2)送信データの作成処理 -- get_message()
Parse.com のキー情報、センサ値などを設定
main() 内でループ処理、定期間隔の実行

# Parase.com のデータ画面


#表示系の設定
前回のARDUINO版Iot を参考下さい。 ([Setup] 付近)
Parase.comから、指定のデータ範囲を抽出し、リスト、グラフ描画します。



#関連の記事
ESP-WROOM-02の接続テスト
マイコン連携(esp-wroom-02+mbed LPC1114FN28 で、IoT )

水分センサ値などを Parse.com(外部クラウド)に送信 IoT型(ARDUINO)
*) Parse.com (SDK) 表示系アプリなど

# 開発者向けのまとめ記事



2015年8月13日木曜日

esp8266(esp-wroom-02)+ mbed LPC1114FN28 で、IoT試作




前回(ESP-WROOM-02の接続テスト)の続編で、マイコン(mbed LPC1114FN28)との接続編です

現状はHTTP送信のみですが、初期ファーム活用して
シリアル通信でマイコン側から、WIFI側へATコマンドを送信して。クラウド連携します

*1) マイコン側のシリアル1組(tx:dp16 ,rx: dp15)を、WIFI側に接続しているため、
 通信ログのデバック表示は、現状は不可能です。
*2) テストは、マイコン側から固定値を送信してますが。追加で周辺デバイスを接続し
 センサ値など送信可能な構成としてます。

#部品,購入先候補など ( 材料費は、約 1950 [en] )

ESP-WROOM-02 ブレークアウト付 1,080 [en] (スイッチサイエンスさん)
マイコン (mbed LPC1114FN28) 140[en] (秋月電子さん)

低損失三端子レギュレーター 3.3V500mA TA48M033F
 100[en] (秋月電子さん)
  *) 付属品のコンデンサもレギュレータ付近に配置
  コンデンサ 0.1マイクロF --入力側
コンデンサ 470 マイクロF --出力側 / 10[en] (秋月電子さん)

電解コンデンサー100μF25V85℃  / 10[en] (秋月電子さん)
 *) ESP-WROOM-02 電源付近に配置
絶縁ラジアルリード型積層セラミックコンデンサー0.1μF50V (1個当たり)
 10[en] (秋月電子さん)
 *) ESP-WROOM-02 電源付近に配置

抵抗 10Kオーム (2本)
USBコネクタ(メス) 200[en] (秋月電子さん)
ブレッドボード(普通) 270[en]
ブレッドボード(ミニ) 130[en] (秋月電子さん)

*) ACアダプタ、配線代など除く

# 組立/結線





WIFI,電源 周辺は
前回(ESP-WROOM-02の接続テスト)の続編
とほぼ同じで、説明は省略します。

右側の基盤:WIFI + 電源回路
左側の基盤:マイコン


[WIFI側基盤 - LPC1114] 下記の結線行います。
WIFI RXD - LPC1114 : dp16 (TX)
WIFI TXD - LPC1114 : dp15 (RX)
WIFI側の電源 - LPC1114 : dp21 (VIN)
WIFI側のGND  - LPC1114 : dp22 (GND)

# 送信処理 (サンプルコード説明等)
事前に
前回(ESP-WROOM-02の接続テスト)での
子機モード、SSID等の設定が必要です(手動で)。
AT+CWMODE=1
AT+CWJAP="ssid","password"
*) WIFI起動時に、設定が読み込まれて。
 電源投入時に毎回設定不要でした。(有効期限は不明)

#code (C++ / mbde webコンパイラ)

[処理の概要]
1) AT+CIPSTART
送信先ホストの設定
2)AT+CIPSEND
送信長さ等の設定
3) データ送信(最後は改行2個必要 [\r\n\r\n])


#関連の記事
ESP-WROOM-02の接続テスト

# 開発者向けのまとめ記事



esp8266(esp-wroom-02) WIFIの接続テスト (PCから)




マイコン使用を前程とした、wifiの接続テスト用の回路記事です。

少し前に、技適を取得した安価なWIFIモジュールの記事を、見ましたので
回路を検討してみました。
(自分が初心者の為、ムダに細かい説明ですが。ご勘弁ください)

*1) 初期ファームを使用しております。ファーム更新は今回なしです。
*2) 他ブログなどで、テスト系の記事(回路の説明)などはありますので。一般的な内容に近いです。

#部品,購入先候補など
ESP-WROOM-02 ブレークアウト付 1,080 [en] (スイッチサイエンスさん)
3.3Vレギュレータ-降圧 / 100[en]  (秋月電子さん)
入出力コンデンサ
  コンデンサ 0.1マイクロF --入力側
 (レギュレータ付属品でも可)
  コンデンサ 470 マイクロF --出力側
  *) 47 -100 マイクロF で不足な場合があります。不安定な場合は増やして調整下さい

電解コンデンサー100μF25V85℃  / 10[en] (秋月電子さん)
 *) ESP-WROOM-02 電源付近に配置
絶縁ラジアルリード型積層セラミックコンデンサー0.1μF50V (1個当たり)
 10[en] (秋月電子さん)
 *) ESP-WROOM-02 電源付近に配置


抵抗 10Kオーム (2本)
USBコネクタ(メス) 200[en] (秋月電子さん)
ブレッドボード EIC-801 270[en]
FT232RL USBシリアル変換モジュール 950[en](秋月電子さん)

===== 2015-08-16 =====================================
[USB-シリアル変換]の機種を変更しました。(故障の為)
======================================================

*1) 基盤(ブレボ)、ACアダプタ、配線代など除く
*2) 電源供給は5V、100均の200[en]アダプタ(ダイソーさま)も使用してました。

#ピン配置



ブレークアウト基盤のピン配置は、各社異なる為。
チップ側の端子(全 18ピン= 左9 ,右9 )で、把握しておきます。

左側
 3V3/  EN/IO14/IO12/IO13/IO15/IO2/IO0/GND
*) IO15, IO2, IO0 は、ジャンパ設定(起動モード設定)で使います。

右側
 GND/IO16/TOUT/ RST/ IO5/GND/TXD/RXD/ IO4


# 組立 / 結線







1) 今回、WIFI通信で必要な部分だけ結線。
*) このチップはマイコン的な使い方ができるようで、
 各GPIOの操作も可能との事(ファーム書換え必要)
2) 注) 上記のブレークアウト版
 使いましたが、幅が広くて。ブレボ(ブレッドボード/EC-801など)
 の内側を全て使いますので、ブレークアウト下側に配線してます。
 ※ わかりにくいですが、実装済みの上からの写真撮影ですと配線が見えない為
    ブレークアウト下の配線も明記してます。
3) 電源をUSB-シリアルのUSBバスパワーを使わずに、電源回路を追加しています。
 (将来的に、マイコン連携の回路を目標としてますので。シリアル-モジュールはテスト時のみ使用の為)


[WIFI]
左側
3V3 -- 基盤の電源
EN --10Kオームでプルアップ
IO15- GND
IO2 --電源
IO0 --電源(FLASH Boot Mode)

右側
GND --基盤のGND
RST --10Kオームでプルアップ
TXD -- USB-Serial : RXD
RXD -- USB-Serial : TXD

[USB-Serial] PC接続して、ATコマンドでWIFI操作用
WIFI側のTXD,RXDとのクロス結線

RXD -- WIFI : TXD
TXD -- WIFI : RXD
GND -- 基盤のGND

[電源回路] ACアダプタから 5V供給
1)USBメス口のキットから、電源投入
VCC(電源) -- レギュレータ入力側(コンデンサ 0.1 MF)
GND --基盤のGND

2)レギュレータ
入力(コンデンサ 0.1 MF) --USBメス- VCC 
GND --基盤のGND
出力(コンデンサ 100 MF) --基盤の電源

*)コンデンサは極性のある種類があります。接続方向に注意です。

==== update 2015-08-20 =====
esp8266電源入力付近の、コンデンサを増やしました。(安定化の為)
============================

# WIFI起動時のポイント
この場合、
入力=5V, レギュレータで 電圧=3.3V, 電流= 150mA(0.15A)前後でテストしておりましたが。
WIFIが動作しない場合もありました。
140mA以下、200mA以上はほぼ起動失敗。
*) 適正な電流値などわかる人は、ご教授いただけると助かります。

==== update 2015-08-15 =====
試行錯誤してましたが、
消費電流値の変動が関係していると想定してます。


USB-シリアルモジュールをPCに接続しておいて、
(ドライバなど事前にインスト要)
ARDUINO SDKのシリアルモニタ使います。
*) 初回は、アクセスポイントへの接続リトライを
 繰り返す場合ありましたので、なるべく早めに接続設定(下記 AT+CWJAP)
 したほうが、良いかと思いました。

1) COMポート番号を確認しておきます。
*) win7ですと、デバイスマネージャ --[ポート(COM とLPT)]
 COM番号が表示されます。

2) ARDUINO SDK で、[ツール]-[ポート]
 COM番号指定します。 (例 : com7 )

3)シリアルモニタ起動
 [ツール]-[シリアルモニタ]

4) 設定 (画面右下のプルダウン)
 改行= CRおよびLF
 ボーレート= 115200 bps

6) 電源を投入

7) 入力欄から[AT] 入力、[送信]おす
OK が出力されれば、起動成功です。

8) [AT+GMR] 入力
ファームのversion など、表示されます。
 (例: AT version: 0.23.0.0 でした)

9) AT+CWMODE=1
 モード設定=子機

10) AT+CWJAP="ssid","password"
ssid設定、ssid, password 設定して、AP(アクセスポイントに接続します。)
[AT+CIFSR] で、IPアドレス確認ができます。
*) ルータ-DHCPが、割り付けたアドレス



今回はここまで、
TCP送信などは、他のサイトのコマンド一覧など参照下さい。
AT+CIPSTART
AT+CIPSEND
など使います

#参考の記事
cerevo さま


# 関連の記事
esp8266(esp-wroom-02)+ mbed LPC1114FN28 で、IoT試作

# 開発者向けのまとめ記事




google colaboratory お試し編 、GPUも使える機械学習の環境構築

前回続き、機械学習の関連となります。 開発環境まわりの内容となり。先人様の情報を元に調査しました。 google colab(google colaboratory) を試してみました。機械学習系の いくつかのライブラリがインストール済みで、 クラウド上で、ある程度機械学...

AD-parts

Shop
Bluetooth搭載
ベース基板

Social