Skip to main content

Grove - UART Wi-Fi

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

画像をここに挿入

Grove - UART WiFiは、広く普及しているESP8266 IoT SoCを搭載したシリアルトランシーバーモジュールです。統合されたTCP/IPプロトコルスタックにより、このモジュールはマイクロコントローラーがわずかなコードでWiFiネットワークとやり取りできるようにします。各ESP8266モジュールはATコマンドセットファームウェアが事前にプログラムされており、簡単なテキストコマンドを送信するだけでデバイスを制御できます。このSoCは統合されたWEP、WPA/WPA2、TKIP、AES、WAPIエンジンを備え、DHCPを使用してアクセスポイントとして機能し、既存のWiFiネットワークに参加し、MACおよびIPアドレスを設定可能です。

バージョン

パラメータV1.0V2.0
製品リリース日2016年6月24日2018年3月26日
WiFiチップESP8266ESP8285
アンテナタイプ外部オンボード
LED3つのLED - 電源/WiFi/ATコマンド2つのLED - 電源/WiFi
ボタン1つのボタン: 短押しでリセット 長押しでUARTブートモードに入るこれら2つの機能用の2つのボタン

note

ESP8266とESP8285の違いについて疑問に思うかもしれません。ESP8285はESP8266のアップデート版で、1MBの内蔵フラッシュを追加しています。それ以外はほぼ同じです。

特徴

  • Grove 4ピンコネクタ (RX, TX, VCC, GND)
  • 802.11 b/g/nプロトコル (2.4GHz)
  • WiFi Direct (P2P)、ソフトAP
  • 3つのモードをサポート: AP、STA、AP+STA共存モード
  • 統合されたTCP/IPプロトコルスタック
  • LwIP (軽量IP)
  • 統合された低消費電力32ビットCPUはアプリケーションプロセッサとして再プログラム可能
  • 統合された温度センサー
  • シリアルUARTインターフェース
  • マルチキューQoS管理
  • < 2msで起動してパケットを送信
  • 金属シールド
  • オンボードセラミックアンテナ
  • リセットスイッチ
tip

Groveモジュールの詳細については、Grove Systemをご参照ください。

ハードウェア概要

以下はGrove - UART WiFiモジュールのブロック図で、以下の部品で構成されています。

画像をここに挿入

  • Grove - SeeeduinoやGrove Base Shieldなどのベースボードのソケットを介してプロセッサに接続するために使用されます。
  • WiFiアンテナ - ESP8266(モジュールモデル)のアンテナ
  • ボタン - 多機能を備えています
    • リセット - ボタンを押してすぐに離します。
    • ESP8266(モジュールモデル)をUARTブートモードに設定 - ボタンを押し続け、中央の赤いLEDインジケーターが点灯するまで保持します。
  • LEDインジケーター - 動作状態を示し、ユーザーによる操作に使用されます。
    • 左 - 青色LEDインジケーター - コマンド "AT+LEDON" および "AT+LEDOFF" を使用してユーザーが制御します。
    • 中央 - 赤色LEDインジケーター - WiFi接続時またはUARTブートモードに入ると点灯します。
    • 右 - 緑色LEDインジケーター - 電源オン時に点灯します。

仕様

  • 入力電圧: 3V / 5V
  • ボーレート: 115200
  • ESP8266 ESP-06 SoC ベース
  • ATファームウェア: esp_iot_sdk_v1.1.0 + Seeedによる修正:
    • 青色のLink LEDを制御するための追加ATコマンド2つ。
    • 赤色のWiFi LEDをESP8266のWiFi状態LEDに登録。
  • ATコマンドセット
  • SDIO 1.1/2.0、SPI、UART
  • 5つの電源状態: OFF、DEEP_SLEEP、SLEEP、WAKEUP、ON
  • スタンバイ時の消費電力 < 1.0mW (DTIM=3)
  • 統合されたTRスイッチ、バラン、LNA、パワーアンプ、マッチングネットワーク
  • 統合されたPLL、レギュレータ、DCXO、電源管理ユニット
  • 802.11bモードでの+19.5dBm出力パワー
  • 電源オフ時のリーク電流 < 10uA
  • CCMP (CBC-MAC, カウンターモード)、TKIP (MIC, RC4)、WAPI (SMS4)、WEP (RC4)、CRC用のハードウェアアクセラレータ
  • WPA/WPA2 PSK、およびWPSドライバ
  • A-MPDU & A-MSDU集約 & 0.4msガードインターバル
  • 寸法: 25.43mm x 20.35mm

超低消費電力技術

ESP8266は、特許取得済みの電源管理技術を使用して、非必須機能を削減し、スリープパターンを調整することで非常に低いエネルギー消費を実現するよう設計されています。以下の5つの電源状態があります:

  • OFF
  • DEEP_SLEEP - リアルタイムクロックは動作しますが、チップの他の部分はすべて停止します。
  • SLEEP - 消費電力は12uA未満で、リアルタイムクロックとウォッチドッグのみが動作します。MAC、ホスト、RTC、または外部割り込みでチップが起動します。
  • WAKEUP - システムがスリープ状態からオン状態に移行中。クリスタルオシレータとPLLが有効になります。
  • ON - 消費電力は1.0mW未満 (DTIM = 3) または0.5mW (DTIM = 10)。

リアルタイムクロックは、指定された期間内にESP8266を起動するようにプログラムできます。

DTIM期間が長いほど、デバイスはより長くスリープできるため、デバイスの消費電力をさらに節約できます。

モバイルアプリケーションやウェアラブル電子機器の電力要件を満たすために、全体的な消費電力を削減するために、PA出力パワーをファームウェアでカスタマイズできます。

アプリケーションアイデア

  • ホームオートメーション
  • センサーネットワーク
  • メッシュネットワーキング
  • ウェアラブル電子機器
  • ベビーモニター
  • ネットワークカメラ
  • 産業用無線制御
  • WiFiビーコン
  • スマート電源プラグ
  • 位置情報対応アプリケーション

はじめに

このセクションの後、Grove - UART WiFiを数ステップで動作させることができます。

Arduinoで遊ぶ

note
Arduinoを初めて使用する場合は、開始前に[Arduinoの使い方](https://wiki.seeedstudio.com/ja/Getting_Started_with_Arduino/)をご覧になることを強くお勧めします。

必要な材料

Seeeduino LiteGrove-OLEDGrove-UART Wifi
enter image description hereenter image description here
今すぐ購入今すぐ購入今すぐ購入
note
**1** USBケーブルを優しく差し込んでください。そうしないとポートが損傷する可能性があります。内部に4本のワイヤーがあるUSBケーブルを使用してください。2本のワイヤーしかないケーブルはデータを転送できません。お持ちのケーブルが不明な場合は、[こちら](https://www.seeedstudio.com/Micro-USB-Cable-48cm-p-1475.html)をクリックして購入できます。

**2** 各Groveモジュールには購入時にGroveケーブルが付属しています。Groveケーブルを紛失した場合は、[こちら](https://www.seeedstudio.com/Grove-Universal-4-Pin-Buckled-20cm-Cable-%285-PCs-pack%29-p-936.html)をクリックして購入できます。

ハードウェア

  • ステップ1. Grove-UART WifiをSeeeduino LiteのSERIALポートに接続します。

  • ステップ2. Grove-OLEDをSeeeduino LiteのI2Cポートに接続します。

  • ステップ3. Seeeduino LiteをMicro-USBケーブルでPCに接続します。

ソフトウェア

// Grove - UART WiFiのテスト
// APをスキャンしてGrove - OLED 0.96'に表示
// Loovee @ 2015-7-28

#include <Wire.h>
#include <SeeedOLED.h>

char ap_buf[30][16];
int ap_cnt = 0;

void setup()
{
Serial1.begin(115200);

delay(3000);
Wire.begin();
SeeedOled.init(); // SEEED OLEDディスプレイを初期化

SeeedOled.clearDisplay(); // 画面をクリアし、開始位置を左上隅に設定
SeeedOled.setNormalDisplay(); // ディスプレイを通常モード(非反転モード)に設定
SeeedOled.setPageMode(); // アドレッシングモードをページモードに設定
}

void loop()
{
ap_cnt = 0;
SeeedOled.clearDisplay();
SeeedOled.setTextXY(3,0);
SeeedOled.putString("Wifi Scan...");

cmd_send("AT+CWLAP");
wait_result();

display_ap();
delay(5000);
}

// コマンド送信
void cmd_send(char *cmd)
{
if(NULL == cmd)return;
Serial1.println(cmd);
}

// APスキャン結果を待つ
// +CWLAP:(3,"360WiFi-UZ",-81,"08:57:00:01:61:ec",1)
void wait_result()
{
while(1)
{
LOOP1:
char c1=0;
if(Serial1.available()>=2)
{
c1 = Serial1.read();
if(c1 == 'O' && 'K' == Serial1.read())return; // OKは終了を意味する
}

if('('==c1)
{
while(Serial1.available()<3);
Serial1.read();
Serial1.read();
Serial1.read();

int d = 0;
while(1)
{
if(Serial1.available() && '"' == Serial1.read()); // "を見つける
{
while(1)
{
if(Serial1.available())
{
char c = Serial1.read();
ap_buf[ap_cnt][d++] = c;
if(c == '"' || d==16)
{
ap_buf[ap_cnt][d-1] = '\0';
ap_cnt++;
goto LOOP1;
}
}
}
}
}
}
}
}

// 表示
void display_ap()
{
char strtmp[16];
sprintf(strtmp, "get %d ap", ap_cnt);

SeeedOled.clearDisplay(); // クリア
SeeedOled.setTextXY(3,3); // カーソルをXページ目、Y列目に設定
SeeedOled.putString(strtmp); // 文字列を表示

delay(2000);

int cnt = ap_cnt;
int offset = 0;
while(1)
{
SeeedOled.clearDisplay();
if(cnt>=8)
{
for(int i=0; i<8; i++)
{
SeeedOled.setTextXY(i,0); // カーソルをXページ目、Y列目に設定
SeeedOled.putString(ap_buf[8*offset+i]); // 文字列を表示
}
cnt-=8;
offset++;
}
else
{
for(int i=0; i<cnt; i++)
{
SeeedOled.setTextXY(i,0); // カーソルをXページ目、Y列目に設定
SeeedOled.putString(ap_buf[8*offset+i]); // 文字列を表示
}

return;
}

delay(2000);
}
}

  • ステップ 4. デモをアップロードします。コードのアップロード方法がわからない場合は、コードのアップロード方法を確認してください。

その後、OLEDが周囲のWiFiアクセスポイントを表示するのが確認できます。

画像説明を入力してください

ファームウェアの更新

danger
    このファームウェアはV1のみ対応しています。このファームウェアをGrove UART WIFI V2に書き込むと、モジュールが壊れる可能性があります。

モジュールボードには工場設定用のファームウェアが書き込まれていますが、必要に応じて他のファームウェアを書き込むことができます。こちらをクリックして、工場設定ファームウェアのソースコードをダウンロードしてください。

必要な材料

  • ファームウェア更新にはUSBシリアルコンバータが必要です。UartSBee V5を選択することをお勧めします。
  • Grove-Jump変換ケーブルが必要で、販売も行っています。
  • マイクロUSBケーブル(タイプAからタイプC)が必要です。

ハードウェア

ステップ 1. Grove-Jump変換ケーブルの片方をGrove - Uart WifiのGroveソケットに接続し、もう片方をUartSBee V5に接続します。以下の図を参照してください。

ステップ 2. 次に、以下の図のようにケーブルを接続します。

画像説明を入力してください

ソフトウェア

ステップ 1. 書き込みツールとファームウェアをダウンロードします。

ステップ 2. 赤色LEDインジケータが点灯するまでボタンを押し続けます。これにより、ファームウェアの書き込み準備が整います。

ステップ 3. FLASH DOWNLOAD TOOLSファイル内の実行可能ファイルを起動します(ダブルクリック)。以下の手順で設定を行います。

画像説明を入力してください

1. ダウンロードしたファームウェアBinファイルから必要なファイルを選択します。

2. SpiAutoSetチェックボックスを選択します。

3. COMポートとBAUDRATEを選択します。

4. STARTボタンをクリックします。

  • ファームウェア書き込みプロセス中に進行バーが表示されます。

画像説明を入力してください

  • 最終的にファームウェア書き込みが完了します。

画像説明を入力してください

ATコマンド

ATコマンドのクイックスタート

ハードウェア

必要な材料ハードウェア接続ファームウェアの更新と同じです。

ソフトウェア部分に進みましょう。

ソフトウェア

任意のシリアルツールを使用できますが、ここではArduinoを使用します。また、USBシリアルコンバータがPCに接続されていることを確認してください。

ステップ 1. Arduino IDEを開き、ツールをクリックして対応するポートを選択します。

**ステップ 2.** 次に、右上のボタンをクリックしてArduinoの**シリアルモニタ**を開きます。

ステップ 3. 以下の画像のようにシリアルモニタを設定します。特に、2- Both NL & CRを選択し、3- ボーレートを115200に設定します。

ステップ 3. コマンドラインに必要なATコマンドを入力し、送信ボタンをクリックします。上記の画像のように返答情報が表示されます。

基本ATコマンド

コマンド説明
ATAT起動テスト
AT+RSTモジュールを再起動
AT+GMRバージョン情報を表示
AT+GSLPディープスリープモードに入る
ATEATコマンドエコーの有効化/無効化
AT+RESTORE工場出荷時設定にリセット
AT+UARTUART設定(廃止予定)
AT+UART_CUR現在のUART設定 (Flashに保存されない)
AT+UART_DEFデフォルトのUART設定 (Flashに保存)
AT+SLEEPスリープモード
AT+RFPOWERRF送信電力を設定
AT+RFVDDVDD33に基づいてRF送信電力を設定

WiFi ATコマンド

コマンド説明
AT+CWMODEWiFiモード (廃止予定)
AT+CWMODE_CUR現在のWiFiモード (Flashに保存されない)
AT+CWMODE_DEFデフォルトのWiFiモード (Flashに保存)
AT+CWJAPAPに接続 (廃止予定)
AT+CWJAP_CUR現在のAPに接続 (Flashに保存されない)
AT+CWJAP_DEFデフォルトのAPに接続 (Flashに保存)
AT+CWLAP利用可能なAPをリスト表示
AT+CWQAPAPから切断
AT+CWSAPsoftAPを設定 (廃止予定)
AT+CWSAP_CUR現在のsoftAPを設定 (Flashに保存されない)
AT+CWSAP_DEFデフォルトのsoftAPを設定 (Flashに保存)
AT+CWLIFsoftAPに接続されているステーションをリスト表示
AT+CWDHCPDHCPの有効化/無効化 (廃止予定)
AT+CWDHCP_CUR現在のDHCPの有効化/無効化 (Flashに保存されない)
AT+CWDHCP_DEFデフォルトのDHCPの有効化/無効化 (Flashに保存)
AT+CWAUTOCONN電源オン時に自動的にAPに接続
AT+CIPSTAMACステーションMACアドレスを設定 (廃止予定)
AT+CIPSTAMAC_CURステーションMACアドレスを設定 (Flashに保存されない)
AT+CIPSTAMAC_DEFステーションMACアドレスを設定 (Flashに保存)
AT+CIPAPMACsoftAP MACアドレスを設定 (廃止予定)
AT+CIPAPMAC_CURsoftAP MACアドレスを設定 (Flashに保存されない)
AT+CIPAPMAC_DEFsoftAP MACアドレスを設定 (Flashに保存)
AT+CIPSTAステーションIPアドレスを設定 (廃止予定)
AT+CIPSTA_CURステーションIPアドレスを設定 (Flashに保存されない)
AT+CIPSTA_DEFステーションIPアドレスを設定 (Flashに保存)
AT+CIPAPsoftAP IPアドレスを設定 (廃止予定)
AT+CIPAP_CURsoftAP IPアドレスを設定 (Flashに保存されない)
AT+CIPAP_DEFsoftAP IPアドレスを設定 (Flashに保存)
AT+CWSTARTSMARTSmartConfigを開始
AT+CWSTOPSMARTSmartConfigを停止

TCP/IP ATコマンド

コマンド説明
AT+CIPSTATUS接続ステータスを取得
AT+CIPSTARTTCP接続を確立またはUDPポートを登録
AT+CIPSENDデータを送信
AT+CIPSENDEXデータを送信、"\0"に達した場合データを送信
AT+CIPSENDBUFデータをTCP送信バッファに書き込む
AT+CIPBUFRESETセグメントIDカウントをリセット
AT+CIPBUFSTATUSTCP送信バッファのステータスを確認
AT+CIPCHECKSEQ特定のセグメントが送信されたかどうかを確認
AT+CIPCLOSETCP/UDP接続を閉じる
AT+CIFSRローカルIPアドレスを取得
AT+CIPMUX複数接続モードを設定
AT+CIPSERVERサーバーとして設定
AT+CIPMODE送信モードを設定
AT+SAVETRANSLINKフラッシュに透過送信リンクを保存
AT+CIPSTOESP8266がTCPサーバーとして動作する際のタイムアウトを設定
AT+CIUPDATEネットワーク経由でファームウェアをアップグレード
AT+PINGIPアドレスまたはホスト名にPingを送信

Seeed ATコマンド

コマンド説明
AT+LEDON青色のLINK LEDを点灯
AT+LEDOFF青色のLINK LEDを消灯

回路図オンラインビューア

リソース

技術サポート & 製品ディスカッション

弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルを用意しています。

Loading Comments...