ESP32-WROOM-32 UDPユニキャスト透過送信ATコマンドルーチン

ESP32-WROOM-32

ここに画像の説明を挿入

序文

前回、ESP32 と携帯電話の間の 3 つの TCP 接続とデータ送信方法を説明しました。次に、前回の記事「TCP 通信を設定するための ESP32-WROOM-32 AT コマンド」に従って、ESP32 と携帯電話の間の UDP およびユニキャスト透過送信を完了します。前の記事に戻って確認してください。準備作業はすべて同じなので、ここでは詳しく説明しません。
ネットワーク デバッグ アシスタントの APP については、モバイル アプリ ストアから直接ダウンロードするか、インターネットで「ネットワーク デバッグ アシスタント」または「TCP ネットワーク デバッグ アシスタント」を検索すると、1 つあるはずです。ここで使用する IOS システムの携帯電話はデモなので、APP インストール パッケージを共有することはできません。

ファームウェアの書き込み

この記事では、Flash Download Tools で書き込むには、Espressif の公式 ESP32-WROOM-32 の工場出荷時の AT ファームウェアを使用する必要があります。(ESP32 自体が Espressif の工場出荷時のファームウェアで焼き付けられている場合、または「TCP」記事から取得されている場合は、このステップを直接スキップできます) このステップは単純にスキップされます。

Flash ダウンロード ツールを開いてロードします。ファームウェア パッケージ内のパスは次のとおりです。

X:XXX\ESP32-WROOM-32_AT_Bin_V2.4.0.0\ESP32-WROOM-32-V2.4.0.0\factory

その中にある「factory_WROOM-32.bin」という名前のファームウェアの開始アドレスは 0 です。「DoNotChgBin」にチェックを入れ、ダウンロードを開始するシリアル ポートを選択します。
ここに画像の説明を挿入

AT コマンドをテストする

USB to TTL を使用して ESP32-WROOM-32 の UART2 に接続し、電源を入れ、
シリアル ポート アシスタントを開きます
。ボー レートは 115200、ストップ ビットは 1、データ ビットは 8、パリティなしで「AT」を送信、チェックします
。焼き付けたATファームウェアが正常に動作するかどうか

ESP32 USBからTTLへ
RX2 テキサス州
TX2 処方箋
GND GND
VCC 5V

ここに画像の説明を挿入
ATファームウェアは正常に動作します。

UDPユニキャスト通信/透過伝送

ESP32 で SoftAP を構成する

ESP32 と携帯電話の間で UDP ユニキャスト通信/透過伝送を実装する前に、両者を WIFI 経由で接続する必要があります。以下では例として ESP32 の SoftAP を使用します。

  1. 上記の AT コマンドテストの後、送信します。
AT+CWMODE=2			//打开ESP32的SoftAP模式
/*
AT+CWMODE=<mode>[,<auto_connect>]
<mode>:模式
  0: 无 Wi-Fi 模式,并且关闭 Wi-Fi RF
  1: Station 模式
  2: SoftAP 模式
  3: SoftAP+Station 模式
<auto_connect>
是否启用自动连接 AP 的功能,参数缺省使用默认值,启用自动连接 AP 的功能
参数为0时禁用自动连接 AP 的功能
*/

上記のコマンドはESP32のSoftAPモードを有効にするために使用しますが、この後使用するコマンドでは対応するパラメータの具体的な内容については説明しないので(長すぎる)、興味のある方はご自身で設定したATコマンドを確認してください。

  1. AP の特定のパラメータを設定して送信します
AT+CWSAP="YouXin","1234567890",5,3
/*
SSID为YouXin
password为1234567890
可自行更改上面的参数
*/
  1. 送信
AT+CWDHCP=1,1
/*
开启DHCP,默认DHCP地址池为192.168.4.2-192.168.101,地址池可改
*/
  1. DHCPを有効にした後、携帯電話は「TCPネットワークデバッグアシスタント」をダウンロードし(オンラインで自分で見つけます)、携帯電話はESP32のWIFIを見つけ、それに設定されているSSIDはYouXinなので、YouXinという名前のWIFIを見つけて接続します。ESP32 の WIFI に接続した後、ESP32 のシリアル ポートから返される情報を書き留めることができます。これには、接続されたデバイスに割り当てられた IP アドレスなどの情報が含まれており、後で接続で使用されます。

ESP32と携帯電話間のUDP通信と透過的伝送

通常転送モード

– 続き –

  1. 携帯電話がESP32のWIFIに接続されたら、「TCPネットワークデバッグアシスタント」を開きます。
  2. 携帯電話の「TCP ネットワーク デバッグ アシスタント」で「UDP デバッグ」を選択すると、ソフトウェアによって名前が異なる場合があります。
  3. 「TCP ネットワーク デバッグ アシスタント」は、UDP 接続パラメータ、ローカル IP、ローカル バインディング ポート番号、リモート IP アドレス、リモート ポート番号を入力します。
    その中で、ローカル IP が何なのかわかりませんが、携帯電話を ESP32 の WIFI に接続すると、シリアル ポートから返される情報が表示されます。ローカル バインドされたポート番号には、空いているものを入力します
    。 ESP32 は SoftAP モードであり、そのアドレスは通常 192.168.4.1 であるため、リモート
    IP アドレスには ESP32 の IP アドレスを入力します。
    リモート ポート番号には、ESP32 が占有していないポート番号を入力できます。 UDP ユニキャスト接続を確立する場合、ローカル ポート番号を入力ポート番号にする必要があります。
    上記のパラメータを入力した後、「バインド」をクリックします。次に、ESP32 側で UDP ユニキャスト接続を確立します。
  4. シリアル ポート アシスタントにコマンドを送信して、ESP32 通信を単一接続モードに設定します。
4.AT+CIPMUX=0		//设置为单连模式
  1. ESP32 は UDP ユニキャスト接続を確立し、以下を送信します。
AT+CIPSTART="UDP","192.168.4.2",1000,1002,2		//建立UDP单播
/*
 *第一个参数为网络连接类型										*
 *第二给参数为远端IP(即是手机端的IP地址)						*
 *第三个参数为远端端口号(即是手机端绑定UDP时输入的本地端口号)		*
 *第四个参数为本地端口号(即是手机端绑定UDP时输入的远端端口号)		*
 *第五个参数为模式:											*
	0: 接收到 UDP 数据后,不改变对端 UDP 地址信息(默认)
	1: 仅第一次接收到与初始设置不同的对端 UDP 数据时,改变对端 UDP 地址信息为发送数据设备的IP地址和端口
	2: 每次接收到 UDP 数据时,都改变对端 UDP 地址信息为发送数据的设备的 IP 地址和端口

*/

上記のコマンドを送信して UDP 接続を確立した後、シリアル ポートへの接続が成功すると、アシスタントは関連情報を返します。
この時点で、携帯電話は「TCP ネットワーク デバッグ アシスタント」を通じて ESP32 にデータを送信でき、ESP32 はデータを受信した後、シリアル ポートにデータを出力します。
ESP32 は携帯電話から送信されたデータを受信できますが、この時点で ESP32 から携帯電話にデータを送信したい場合、シリアル ポート アシスタントはエラーを返し、データは送信されていないため、次の手順に進みます。次のステップ。

  1. 送信
AT+CIPSEND=<Length>		//发送指定长度的数据请求
/*
由于这次实验ESP32充当的是TCP Client,所以是单连模式,这条指令就只有Length一个参数
Length:需要发的数据长度
*/

上記コマンドの送信が成功すると、ESP32 は指定長のデータ送信状態となり、Length 以下のデータ長のデータを 1 回送信することができます。送信後は AT モードに戻ります。データを送信するたびに、ESP32 は AT モードに戻ります。最初にAT+CIPSEND=XXを送信する必要がありますが(面倒ですよね?)、トランスペアレント伝送に入った後は、指定された長さのデータリクエストを送信するコマンドを送信する必要はありません。

デモ

UDPユニキャスト通信

ここに画像の説明を挿入

UDP透過伝送

  1. 送信
AT+CIPCLOSE		//断开UDP连接

UDP接続を切断してから送信する

AT+CIPSTART="UDP","192.168.4.2",1000,1002,0		//ESP32重新连接,最后一个参数改成0

UDP接続を再確立します

  1. 送信
AT+CIPMODE=1		//进入透传模式

トランスペアレント伝送モードに入ります。

  1. トランスペアレント伝送モードに入った後、伝送開始コマンドを送信してトランスペアレント伝送を開始します。
AT+CIPSEND		//开始发送数据

このステップが成功すると、ESP32 は透過的にデータを送信する状態になり、この期間中の AT コマンドの送信は無効になります。

  1. トランスペアレント送信を終了します。トランスペアレント送信が完了すると、トランスペアレント送信は不要になり、ESP32 は AT コマンド状態に戻り、送信します。
+++	

知らせ发送退出透传的指令时,不要带换行

  1. 送信
17.AT+CIPCLOSE	//断开UDP连接

ESP32と携帯電話を切断し、UDPユニキャスト通信/透過送信が終了します。

デモ

UDPユニキャスト透過伝送

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_42250136/article/details/131235035