head

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