初歩の電子工作とデジカメの日記

電子工作備忘録とデジカメで撮影した写真のブログです。

ESP201モジュールでATコマンド

2017-10-08 08:14:44 | ESP8266
マイコンESP8266モジュールと同系統で[ESP201モジュール]を格安で手に入れたので他の必要部品も揃えたところで、ブレッドボードに配置、配線をして、ATコマンド入力まで復習を兼ねて実行してみた。
*製作したブレッドボード上での回路はこちらのHP掲載の図を使わせてもらいました。



[ESP201モジュール]、購入時にヘッドピンはハンダ付けされている。[USBシリアル変換モジュール]と接続するピンもGPIOピンと直角の位置でハンダ付けされているのでこのままではブレッドボードに挿せない


ピン名の表示は基板の裏側に印字されていた


[USBシリアル変換モジュール]と接続するピンのハンダを剥がしてヘッダピンが基板の表側になるように改良した。これでブレッドボードに挿せる。
併せて主要なピンの名前を手書きで基板の表側に書き込んだ



[USBシリアル変換モジュール]との接続端子部分。ジャンパ線はオス/メスタイプを使用


[ESP201モジュール]とジャンパ線で接続されている[USBシリアル変換モジュール]。入力電圧の5v-3.3v切り換えはジャンパピンでできる。今回は3.3v側に設定した。
USBコネクタ端子はパソコンに接続、A-microBタイプのケーブル使用。


三端子レギュレータ。ACアダプタ経由の5v電圧を3.3vに変換する。


2個のスィッチ。[ESP201モジュール]のモードを切り替えるスィッチとして使用


ACアダプタ(5v)はDCジャックDIP化基板を利用してブレッドボードに接続した
+、-の間に0.uFのコンデンサ(104)を接続している


[ESP201モジュール]がセットされる下には[RST]ピンと[SW-A]を結ぶジャンパ線、[IO 0]ピンと[SW-B]を結ぶジャンパ線(白色)がある
カーボン抵抗は5本すべて10kΩを使用した


[ESP201モジュール]と周辺部品を配置、ジャンパ線で配線すればハード面の製作は完了です。


パソコンで[Arduino IDE]を起動し、[シリアルモニタ]の受信設定を画像のようにし、入力のための手順、[SW-A]を押しながら[SW-B]を押して一瞬キープ後[SW-A]を離してから[SW-B]を離すと[IO 0]がLOWになり、書き込みモードとなる。[シリアルモニタ]の入力欄に[AT]と入力した。
[OK]が表示されて成功です。


続けて入力欄に[AT+CIFSR]を入力すると[ESP201モジュール]のIPアドレスなどが表示されたのでWiFiも機能しているのが確認できた。



ESP8266ボードとBLYNK

2016-10-22 11:39:19 | ESP8266
前回の「ESP8266ボードを使ってiPadからLED点灯,消灯を制御する」では最終的にiPadの入力画面に文字、数字を入力してLEDの点滅を制御するやり方でした。これでは入力欄の文字、数字をその都度書き換えて入力することが必要です。これらの手間を省き、iPadの画面にちょっと洒落たユーザーインターフェイスを作れるアプリ[BLYNK]があることを知りました。早速使ってみます


使用するスイッチサイエンスの[ESPr-developer]ボード
3.3V対応USBシリアル変換IC FT231XSが本体に搭載済み
5V→3.3V 変換電源レギュレーター XC6222B(最大出力電流700mA)も本体に搭載済み
[Reset Method]を[nodemcu]に変えておけばリセットボタンなどを押す必要がない
USBケーブル(A - microBタイプ)をPCと接続するだけの簡単、楽チン設定だ


回路は前回の「ESP8266ボードを使ってiPadからLED点灯,消灯を制御する」と同じくESP8266ボードのgpio13番ピンにLEDの (+)側を接続、 (-) 側はブレッドボードのGNDラインに落としてます


[BLYNK]を使うステップに入ります
Blynkは、iPad、iPhoneやAndroid端末からESP-WROOM-02(Arduino)をインターネット経由で制御できるクラウドサービスでiPad(モバイル端末)のユーザーインタフェース(画面構成、画面デザインも含む)を仕上げるにはArduino IDEのスケッチ(プログラム)にHTMLやCSS、JavaScriptといったWebプログラムも作り込まなくてはならない。
そうした面倒な作業を、リアルタイムで「画面で見たまま」設計できるのが[Blynk]だ
[BLYNK]アプリを利用する手順

  • 開発環境「Arduino IDE」を最新のバージョンにする
  • Arduino IDEで使うためBlynkのホームページに掲載されている[Blynkライブラリー]をZIPフォルダでダウンロードする。
  • このZIPフォルダを開発環境"Arduino IDE"のメニューバー[スケッチ]→[ライブラリーをインクルード]→[ZIP形式のライブラリーをインストール]とたどる一連の作業で"Ardino IDE"内のライブラリーにインストールできる
  • .iPad(端末)側にコントロール用プログラム[BLYNK](iOS用プログラム)をApp Storeから入手する。(Android用はGoogle Playから入手する)

これにより"Arduino IDE"で[BLYNK]を使ういろいろなスケッチができるようになった


ステップ1 "Arduino IDE"で[スケッチの例]から
①[Blynk]をタップ
②[Board_WiFi]をタップ
③[ESP8266_Standalone]を開く

[ESP8266_Standalone]のスケッチ画面


これで[Arduino IDE]側の[BLYNK]を利用する設定は完了です。次回は[iPad]側の設定を説明します





ESP8266ボードを使ってiPadからLED点灯,消灯を制御する

2016-10-15 17:27:17 | ESP8266
前回ESP8266ボードのWiFi機能を確認したので、今回はこのWiFi機能で外部デバイスの iPad からLEDの点灯、消灯をコントロールします。
月刊誌「トランジスタ技術」の2016年9月号でESP8266-Wroom2の特集記事が掲載されています。その記事をなぞる形で動作確認をしてみました


使用する部品はESP8266ボード、LED、抵抗(330Ω)だけです。
回路は以前組んだLED点滅回路をそのまま利用します



プログラム(スケッチ)も「トランジスタ技術」本誌の記事に掲載されているスケッチをそのまま使用しました。
"SSID","Password"の部分を自分が接続しているWiFiルーターのSSID,Passwordに変えるだけで、PCにESP8266ボードをUSBケーブルで接続して、スケッチの書き込みをすれば作業は完了です



スケッチの書き込みが成功した後、シリアルモニターを起動すると、スケッチにより画面にESP8266ボードのIPアドレスが表示される。このIPアドレスの数字をi Padの入力に使用する



書き込みが済んだらESP8266ボードとPCを接続していたUSBケーブルは外して、ESP8266ボードへの給電はモバイルバッテリーに切替える。
iPadの入力欄にさっきのIPアドレスとその後に /L1 と入力
iPadの画面にLED=1の表示があり、回路基板のLEDが点灯する


iPadの入力欄にIPアドレスとその後に /L0 と入力
iPadの画面にLED=0の表示があり、回路基板のLEDが消灯する
iPadから単体のESP8266ボードへの制御が成功した。


ESP8266ボードをWiFi接続する

2016-10-09 12:29:52 | ESP8266
ESP8266ボードの機能の中で一番の魅力は廉価に、簡単にWiFi接続ができることです。前回まではESP8266ボードをAruduinoとして動作させることで完了していました。肝心のWiFi機能は使っていませんでした。今回からいよいよESP8266ボードの無線通信機能を生かしたスケッチ、回路の作成、そして動作を確認します
今回はまずESP8266ボードのWiFi機能の有効性を確認します


Arduino IDEへの書き込みにはこちらに記事に掲載されているスケッチを利用させて頂きました



スケッチ7,8行目のSSID名とパスワードを自宅のWiFiルータの文字、数値を入力するとそのまま利用できました



ESP8266ボードをパソコンとUSBケーブルで接続、因みにパソコンも同じWiFiルータと無線接続になっています。
画像右側のLEDはESP8266ボードが正常にWiFiルータと無線接続されている間は点灯しています



Arduino IDEのシリアルモニターを開いてESP8266ボードのWiFi接続を確認しました。
最後の行にESP8266ボードのIPアドレスも表示されています




ESP8266ボードで温湿度、気圧センサーを使う その2

2016-10-06 11:08:03 | ESP8266
前回の記事で最後の部分がきちんと表示されませんでしたので、その部分を改めてアップしました


一番肝心のスケッチ(プログラム)はこちらのブログ記事を利用させて頂きました



動作確認を[Arduino IDE]のシリアルモニターでしました。こんな小さなセンサーモジュールで温度、湿度、大気圧が簡単に計測できることにびっくりです。


ESP8266ボードで温湿度、気圧センサーを使う

2016-10-06 07:59:22 | ESP8266
ESP8266ボードでI2C接続のセンサーモジュールを使って、室内の温度・湿度・大気圧を計測しました


使用部品1:
ESP8266-wroom2 developer
(スイッチサイエンス)
長い足のピンソケットをハンダ付けしています。シールは同HPよりダウンロードして貼り付け
使用部品2:
BME280使用 温湿度、気圧センサーモジュール
[AE-BME280](秋月)
同梱のL型ヘッドピンをハンダ付けする


回路図はいつも通りソフト [BSch 3v]で作成した



ブレッドボードに部品を配置、結線する


BME280センサーESP8266ボード
VDD3.3v
GNDGND
CSB3.3v
SDIIO4
SCKIO5
SDOGND


一番肝心のスケッチ(プログラム)は

動作確認を[Arduino IDE]のシリアルモニターでしました。こんな小さなセンサーモジュールで温度、湿度、大気圧が簡単に計測できることにびっくりです。












ESP8266 ボードでLCDディスプレイ 8桁2行 を制御する

2016-09-18 11:12:33 | ESP8266
ESP8266ボードをArduino化しての「Lチカ」動作確認が完了したので次に「LCDディスプレイ」を使っての動作確認をします。


使用部品1:
ESP8266ボード
スイッチサイエンスの「ESPr developer」に足の長いピンソケットとピンラベルシートを取り付けています

使用部品2:
I2C接続小型LCDモジュール(8 x 2行)キット
秋月電子通商で購入


自分はキットを購入し、ハンダ付け作業をしたのだが持ち前の不器用さで時間を取られた。完成品もあるのでそちらのほうが良いかも。


回路図はソフト「Bsch 3v」で作成した。I2C接続なので使用するピンが少なく、配線は楽になる。


ブレッドボード上に部品を配置、ジャンパ線で結線してハードウエアは完了

スケッチ(プログラム)はexabugsさん投稿のこちらの記事に掲載のものをそのまま利用させて頂きました。
Arduino IDEにコピー&ペーストして、ESP8266ボードに書き込んでソフトウエアも完了


動作確認作業の開始
Arduino IDEのシリアルモニターを立ち上げる。設定は"CR+LF" "115200bps"
シリアルモニターの入力欄に"ESP8266"の文字と数字を入力→[送信]ボタンを押下する


8桁2行のLCD画面に"ESP8266"が表示された


続けてシリアルモニターの入力欄に"Hello !"の文字と記号を入力→[送信]ボタンを押下する


8桁2行のLCD画面の2行目に"Hello !"が表示された





ESP8266ボードをArduino化する

2016-09-15 11:05:44 | ESP8266
ESP8266ボードをArduino化する詳しい方法はググれば先人の方々が教えてくれていますので、それらの記事を参考にしてください。ここでは簡単に手順を書くに留めます。

  1. PCにはarduino.ccからリリースされている最新のArduino IDEをインストールする
  2. Arduino IDEにESP-WROOM-02のボードを追加する
  3. 通常のArduino同様の手順でプログラムを書き込む


Arduino IDEでは画像のように「ツール」タブの項目を赤下線の部分を変更した
シリアルポートのCOM番号15は自分の場合です。あ、それと「upload speed」も115200に変えてます



ESP8266ボードArduino化最初はお決まりのLチカを動作確認します
IO13にLEDを接続し、330Ωの抵抗を経由してGNDに落としています


スケッチはArduinoのLチカのスケッチと全く同じです

void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);

}

void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(400); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(400); // wait for a second

}


使用したスイッチサイエンスのESPr Developerは、とても楽チンなボードです
1. 3.3V対応USBシリアル変換IC FT231XSが本体に搭載済みなのでボードをA→MicroBタイプのUSBケーブルでPCと接続すればArduino IDEを利用できる
2. 5V→3.3V 変換電源レギュレーター XC6222B(最大出力電流700mA)も本体に搭載済みなので電圧変換も何も設定なしで実行される
3. 最初に書いたように「Arduino IDE」の[ツール]のボード設定の内容にある[Reset Method]を[nodemcu]に変えておけばスケッチの書き込み、動作実行時に切替えるための数回ボタンを押す煩わしさがなくなる

ブレッドボードへの取り付け用のピンはピンヘッダではなく、Arduino用?の足の長いピンソケット10P x 2本を使っています。これによりジャンパ線をボード本体に直接接続できます。またボード本体のピンのシルク印刷の文字は小さく、読みづらいのでシールを貼っています。


espr blink

Arduino → ESP8266 とは?

2016-09-13 11:00:21 | ESP8266
8ビットマイコン「Arduino」は無線通信の機能を持っていないので[Arduino]から無線でデータを送るとか、無線で[Arduino]のプログラムを実行、制御するためには別途無線通信ができるデバイスを用意、設定する必要があった。[Ethernetシールド]、[XBee-WiFi]等だ。ただ設定が面倒なのと、価格がちょっと高いと感じて二の足を踏んでいたが、いろいろ調べているうちに[ESP8266]を知ることになった。


[ESP8266]は WiFi チップで、モジュールも [ESP-01] から [ESP-14] そして [ESP-WROOM02] と種類が多いが、モジュールそのままではピンの間隔が狭い(1.5mmピッチ)のでユニバーサル基板やブレッドボードでは扱いにくい。
そこで日本の技適を通している [ESP-WROOM02] モジュールのピン間隔を2.5mmに引き出した変換基板が各社から販売されている。





ESP-WROOM02モジュール 15 x 12 mm
購入品1:
ESP8266ブレークアウトボード(変換基板)=マイクロテクニカ製
購入品:2
ESP8266ブレークアウトボード(変換基板)=スィッチサイエンス製A
購入品:3
ESP8266ブレークアウトボード(変換基板)=秋月電商製
購入品:4
ESP8266ブレークアウトボード(変換基板)=スィッチサイエンス製B
購入品:5
ESP8266ブレークアウトボード(変換基板)=スィッチサイエンス製C


いつの間にか [ ESP8266ブレークアウトボード ] (この記事ではこれ以後 [ESP8266ボード ] と呼ぶことにします)は5機種も買っていましたが、最終的にはスイッチサイエンス製のBを使っています
5機種も買ってしまった理由はなるべく使いやすいもの、を求めてが一番ですが購入後最初にボードの動作確認のためATコマンド入力をするのですが、そこでATコマンド入力ミスをして先へ進めなくなり動作確認が中途半端にストップしてしまったことも理由の1つです。
そんな事情もあり次回はこのボードでのATコマンド入力による動作確認を諦め、ボードをArduino化してArduinoのスケッチの動作確認をします。