<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IoTアプリ | 即戦力モノづくり!エンジニアへの道標</title>
	<atom:link href="https://depfields.com/category/learning/applications/iot-apl/feed/" rel="self" type="application/rss+xml" />
	<link>https://depfields.com</link>
	<description>組み込み（マイコン）スキルを楽しんで学びながら身につけて短期間で効率よく自由自在に扱えるようになりたいと思いませんか？</description>
	<lastBuildDate>Mon, 11 Apr 2022 05:52:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.3.1</generator>

<image>
	<url>https://depfields.com/wp-content/uploads/2020/07/cropped-favicon-1-32x32.png</url>
	<title>IoTアプリ | 即戦力モノづくり!エンジニアへの道標</title>
	<link>https://depfields.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ESP32でWiFi化したSTM32にブラウザから操作する</title>
		<link>https://depfields.com/esp32-http-rx-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=esp32-http-rx-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 21 Sep 2020 16:14:40 +0000</pubDate>
				<category><![CDATA[IoTアプリ]]></category>
		<category><![CDATA[ブラウザ]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[httpプロトコル]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=6080</guid>

					<description><![CDATA[<p>無線モジュールESP32を使って Nucleo(STM32) を無線 (WiFi) 化し、WEBサーバーを構成します。 クライアント側 であるPCやスマホのウェブブラウザからマイコン側に文字列のコマンドコードを送ってリモ [&#8230;]</p>
<p>The post <a href="https://depfields.com/esp32-http-rx-apl/">ESP32でWiFi化したSTM32にブラウザから操作する</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img fetchpriority="high" width="640" height="427" src="https://depfields.com/wp-content/uploads/2020/09/1452188_s.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/09/1452188_s.jpg 640w, https://depfields.com/wp-content/uploads/2020/09/1452188_s-300x200.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">  <strong>無線モジュールESP32</strong>を使って <strong>Nucleo(STM32) を無線 (WiFi) </strong>化し、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">WEBサーバー</span></strong>を構成します<strong>。</strong> クライアント側 であるPCやスマホのウェブブラウザからマイコン側に文字列の<strong>コマンドコード</strong>を送って<strong>リモート操作するアプリ</strong>を紹介します。ESP32とブラウザの設定および送受信については「<strong><a href="https://depfields.com/esp32-webserver/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">ESP32でWiFi化したNucleo(STM32)をブラウザでリモート操作</a></strong>」で詳細を解説しています。 </p>







<h2 class="wp-block-heading">WEBサーバーを構成する上での注意点</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>  プログラム構成の基本的なところは「<strong><a href="https://depfields.com/esp32-tcp-rx-apl/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">ESP32を使ったSTM32のTCP通信(WiFi)受信編</a></strong>」 と似ていますが、ESP32をHTTPプロトコルで受信する場合に特有なクセに注意する必要があります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>通信条件がTCPからHTTPに変更になったことに応じて<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">プログラムの基本構成はTCP通信の場合とほとんど同じまま</span></strong>で、サーバーの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ポート番号</span></strong>と<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">プロトコルフォーマットを変更</span></strong>しただけのものであると、ターミナルからでは正常に動作するのにブラウザから WEBサーバー化したESP32へのHTTP通信はうまくいきませんでした。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TCP通信プロトコルでPCやスマホのターミナルソフトからSTM32へコードを送るのと、HTTP通信プロトコルでウェブブラウザからSTM32へコードを送るのは一見ほぼ同じに思えますが、中間にあるESP32の挙動がかなり違うために動作を理解しないままではうまくいきません。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>相違点をまとめると以下のようになります。</p>
</div></div></div>



<ul class="is-style-vk-numbered-square-mark"><li> ウェブブラウザからのHTTP通信プロトコルでは <span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>ESP32は</strong> <strong>ブラウザを開く、閉じるだけでも応答を返す</strong></span>。</li><li> ブラウザからコマンドを与えるのは、IPアドレスにコマンドを付属させるため（IPアドレス/コマンドコード）、都度接続を閉じたり、つなげたりすることになります。そのため、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">応答（0,CLOSED/0,CONNECT)も都度付加される</span></strong>。</li><li> ちょっとしたコードを送るだけでも、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">応答文字列はかなり長い</span></strong>。（下の赤で囲まれた部分）</li><li> 応答文字列も長い分、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ATコマンド前後の待ち時間も大きめに設定</span></strong>する。</li></ul>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<figure class="wp-block-image size-large"><img decoding="async" width="588" height="407" src="https://depfields.com/wp-content/uploads/2020/09/webserver-receive.jpg" alt="" class="wp-image-6043" srcset="https://depfields.com/wp-content/uploads/2020/09/webserver-receive.jpg 588w, https://depfields.com/wp-content/uploads/2020/09/webserver-receive-300x208.jpg 300w" sizes="(max-width: 588px) 100vw, 588px" /></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>つまり、ブラウザから文字コードを送信すると、想定以上にESP32は応答を返すので<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">予め想定しておかなければマイコン側では多くのものを予期せぬタイミングで受信することになります</span></strong>。これが時に<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">フリーズの原因</span></strong>にもなりえます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>そういうものであることを分かってしまえば対処のしようもあるのですが、はじめは原因がわからなかったために<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">問題解決に至り安定した通信を実現</span></strong>できるようになるまでかなり時間を要しました。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>以下に、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ESP32をHTTP通信プロトコルで安定して文字コードを送るコツを解説</span></strong>します。</p>
</div></div></div>



<h2 class="wp-block-heading">プログラム構成</h2>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/09/web-server-rx-diagram.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/web-server-rx-diagram.jpg" alt="" class="wp-image-6097" width="520" height="561" srcset="https://depfields.com/wp-content/uploads/2020/09/web-server-rx-diagram.jpg 569w, https://depfields.com/wp-content/uploads/2020/09/web-server-rx-diagram-278x300.jpg 278w" sizes="(max-width: 520px) 100vw, 520px" /></a><figcaption>HTTP通信プロトコルによる受信構成図</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>受信構成はTCP通信の場合と同じでもよいのですが、サンプルアプリでは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">割り込み受信を使用</span></strong>しており、割り込みが入った時点が分かるようにLEDを点灯させています。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>不定のタイミングで受信が発生する場合はポーリングによるものよりも<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">割り込みにした方が確実</span></strong>です。ポーリング方式でも試してみましたが安定した動作を得ることはできませんでした。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/web-server-rx-setting.jpg" alt="" class="wp-image-6056" width="609" height="426" srcset="https://depfields.com/wp-content/uploads/2020/09/web-server-rx-setting.jpg 609w, https://depfields.com/wp-content/uploads/2020/09/web-server-rx-setting-300x210.jpg 300w" sizes="(max-width: 609px) 100vw, 609px" /><figcaption>割り込み受信処理</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>このアプリの特徴は割り込みが発生して<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">受信処理をする度に一旦USARTを初期化してレジスタをクリアにする</span></strong>ことです。クリアにはいろいろな方法があるとは思いますが、ここでは最も初歩的で簡単なクリアを実現するために、リセット関数を下記のようにまとめて実行させています。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>リセット処理を受信のたびにきっちり施すことで、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">通信エラーなどがクリアされ動作が安定</span></strong>しました。これで、ブラウザからコードにより処理を分岐させることができるようになりましたので、さまざまなリモートアプリに発展させることが可能になります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>種々の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">コードを含んだIPアドレスをリンクとしてHTMLページに貼り付け</span></strong>ておけば、それをクリックするとコードがブラウザからマイコン側に転送されることになります。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/usart-reset.jpg" alt="" class="wp-image-6104" width="639" height="234" srcset="https://depfields.com/wp-content/uploads/2020/09/usart-reset.jpg 675w, https://depfields.com/wp-content/uploads/2020/09/usart-reset-300x110.jpg 300w" sizes="(max-width: 639px) 100vw, 639px" /><figcaption>USARTの初期化</figcaption></figure>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/esp32-http-rx/'>ESP32　HTTP通信（WiFi受信編）</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 6.74 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='6088'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p>今回はTCP通信で行っている<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">簡易的なコード受信をHTTP通信プロトコルで行うサンプルを紹介</span></strong>しました。ちょっとしたリモート操作ではこれでも十分だと思います。<br />ただ、HTTP通信プロトコルをATコマンドで行うのは、文字コード長を指定する必要があったり、制約があるため煩わしいのも確かです。ESP32で本格的にHTTP通信を行う場合は<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">透過 （トランスペアレント） モードでATコマンドによらずマイコン側とシームレスな通信を行うこともできる</span></strong>のでさらに発展させたい場合は挑戦してみてください。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>


<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/esp32-http-rx-apl/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/53da4d4bbd905f6cbae0fc8e724d51f02c6d3357bd6a70870f8fa80ae7cbdf58.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Operating the STM32 with ESP32 WiFi from a browser | Most Powerful Bible to B...</div></div><div class="lkc-url">https://en.depfields.com/esp32-http-rx-apl/</div><div class="lkc-excerpt">Nucleo (STM32) is converted to wireless (WiFi) using the ESP32 wireless module and configured as a web server. We will introduce an application that remotely operates MCU by sending a string of command codes from a web browser on a client</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/esp32-http-rx-apl/">ESP32でWiFi化したSTM32にブラウザから操作する</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ESP32でWiFi化したSTM32からウェブブラウザへ送信する</title>
		<link>https://depfields.com/esp32-http-tx-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=esp32-http-tx-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 21 Sep 2020 13:43:43 +0000</pubDate>
				<category><![CDATA[IoTアプリ]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[ブラウザ]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=6076</guid>

					<description><![CDATA[<p>無線モジュールESP32を使って Nucleo(STM32) を無線 (WiFi) 化し、WEBサーバーとしてPCやスマホのターミナルへ文字列を送るアプリを紹介します。 ESP32とブラウザの設定および送受信については「 [&#8230;]</p>
<p>The post <a href="https://depfields.com/esp32-http-tx-apl/">ESP32でWiFi化したSTM32からウェブブラウザへ送信する</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="510" height="536" src="https://depfields.com/wp-content/uploads/2020/05/4_1_11.png" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/05/4_1_11.png 510w, https://depfields.com/wp-content/uploads/2020/05/4_1_11-285x300.png 285w" sizes="(max-width: 510px) 100vw, 510px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"> <strong>無線モジュールESP32</strong>を使って <strong>Nucleo(STM32) を無線 (WiFi) </strong>化し、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">WEBサーバーとし</span>て</strong>PCやスマホのターミナルへ文字列を送るアプリを紹介します。 ESP32とブラウザの設定および送受信については「<strong><a href="https://depfields.com/esp32-webserver/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">ESP32でWiFi化したNucleo(STM32)をブラウザでリモート操作</a></strong>」で詳細を解説しています。  </p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> ここで紹介するアプリは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ESP32でWiFi化しWEBサーバーを構成したNucleo(STM32)</span></strong> からクライアント側のPCやスマホのウェブブラウザへ文字列を送る基本的なものですが、ここでしっかり理解して使いこなせるようになると、いろいろ応用できるようになります。 </p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>基本的にはTCPサーバーの送信と同じです。配線も同じ構成です。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/09/web-server-with-stm32.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/web-server-with-stm32.jpg" alt="" class="wp-image-6029" width="456" height="323" srcset="https://depfields.com/wp-content/uploads/2020/09/web-server-with-stm32.jpg 456w, https://depfields.com/wp-content/uploads/2020/09/web-server-with-stm32-300x213.jpg 300w" sizes="(max-width: 456px) 100vw, 456px" /></a></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>アプリプログラム構成も基本的にTCPサーバーの送信と同じです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>相違点はサーバー生成時にウェブサーバー用に<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ポート番号を80に指定</span></strong>し、送信するときに<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">HTTPプロトコル</span></strong>にしたがっているところです。ESP32からの応答でHTTPプロトコルの場合は冗長な文字列が返されるため、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">待ち時間を大きめに設定</span></strong>しています。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>サンプルプログラムではウェブブラウザからWEBサーバーのIPアドレスを指定してからSTM32側をリセットで再起動させるとつながることが多いです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/esp32-http-tx/'>ESP32　HTTP通信（WiFi送信編）</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 5.84 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='6087'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>


<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/esp32-http-tx-apl/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/60d4986ff1918e780603c6df541f8c30eaceb4a6c9cf0e154f520a5abbd3a96c.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Send from WiFi enabled STM32 with ESP32 to web browser | Most Powerful Bible ...</div></div><div class="lkc-url">https://en.depfields.com/esp32-http-tx-apl/</div><div class="lkc-excerpt">This section introduces an application that uses the ESP32 wireless module to put Nucleo (STM32) into wireless (WiFi) mode and send strings to a terminal on a PC or smartphone as a web server. The details of ESP32 and browser settings and</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/esp32-http-tx-apl/">ESP32でWiFi化したSTM32からウェブブラウザへ送信する</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ESP32を使ったSTM32のTCP通信(WiFi)受信編</title>
		<link>https://depfields.com/esp32-tcp-rx-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=esp32-tcp-rx-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sat, 12 Sep 2020 04:13:17 +0000</pubDate>
				<category><![CDATA[IoTアプリ]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[TCPプロトコル]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=5877</guid>

					<description><![CDATA[<p>無線モジュールESP32を使って Nucleo(STM32) を無線 (WiFi) 化し、TCPサーバーを構成します。 クライアント側 であるPCやスマホのターミナルアプリからマイコン側に文字列のコマンドコードを送ってリ [&#8230;]</p>
<p>The post <a href="https://depfields.com/esp32-tcp-rx-apl/">ESP32を使ったSTM32のTCP通信(WiFi)受信編</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="640" height="452" src="https://depfields.com/wp-content/uploads/2020/09/wlan-2500161_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/09/wlan-2500161_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/09/wlan-2500161_640-300x212.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"> <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">無線モジュールESP32</span></strong>を使って <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Nucleo(STM32) を無線 (WiFi)</span> </strong>化し、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TCPサーバー</span></strong>を構成します<strong>。</strong> クライアント側 であるPCやスマホのターミナルアプリからマイコン側に文字列の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">コマンドコード</span></strong>を送って<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">リモートコントロールするアプリ</span></strong>を紹介します。 無線モジュールESP32については「<strong><a href="https://depfields.com/esp32-wifi/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">ESP32でNucleo(STM32)を簡単にWiFi対応に</a></strong>」で詳細を解説しています。  </p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TCPサーバーを構成してPC、スマホなどクライアントのターミナルアプリで接続するところまでは 「<strong><a href="https://depfields.com/esp32-tcp-tx-apl/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">ESP32を使ったSTM32のTCP通信(WiFi)送信編</a></strong>」と 共通です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>クライアント側からの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">コマンドコードによりマイコンをコントロール</span></strong>するには<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">文字コードの受信処理</span></strong>および<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">コードに応じて処理させたい内容</span></strong>を追加すればよいのです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ESP32 とターミナルアプリを接続して <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">”depfields”の9文字を入力してEnterキ</span>ー</strong>を押すと、改行コードを含めて11文字を送信したことになります。 ターミナルを<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ローカルエコーに設定</span></strong>していると入力した文字が現れます。  </p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> TCPサーバー側ではクライアント側からの文字を受信すると"+<strong>IPD,0,11:depfields</strong>"と表示されます。＋IPDは受信データであることを示し、コネクションIDが0に文字列と改行コードを含んだ合計11文字を受信したことを意味しています 。応答文字列には改行コードCR+LFが含まれています。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/data_recieve.jpg" alt="" class="wp-image-5910" width="840" height="304" srcset="https://depfields.com/wp-content/uploads/2020/09/data_recieve.jpg 780w, https://depfields.com/wp-content/uploads/2020/09/data_recieve-300x109.jpg 300w, https://depfields.com/wp-content/uploads/2020/09/data_recieve-768x278.jpg 768w" sizes="(max-width: 840px) 100vw, 840px" /><figcaption>文字列受信</figcaption></figure>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>





<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> 上述のPCのターミナルソフトからの操作を <strong>Nucleo(STM32) </strong>に置き換えた<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ESP32とマイコン間での通信</span></strong>をする場合のアプリを紹介します。あらかじめ、登録しておいたコード"ABC"と受信コードが一致・不一致で処理を分けるアプリです。 受信コードを含む文字列は終端が分かるように入力コードには"＠"を最後に含めています。 </p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/rcv-data-flow.jpg" alt="" class="wp-image-5915" width="468" height="305"/><figcaption>データ受信の流れ</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>PCやスマホなどのTCP通信ターミナルでESP32でWiFi化したNucleo(STM32)のTCPサーバー側に接続した状態で<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>"ABC@</strong>"</span>を入力します。ESP32では文字列を受信すると”+IPD,0,6:ABC@" をUART通信で文字列の応答として返すのでSTM32側でコード部分"ABC"を取り出せばよいのです。&nbsp; </p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/rcv-process.jpg" alt="" class="wp-image-5912" width="689" height="656" srcset="https://depfields.com/wp-content/uploads/2020/09/rcv-process.jpg 689w, https://depfields.com/wp-content/uploads/2020/09/rcv-process-300x286.jpg 300w" sizes="(max-width: 689px) 100vw, 689px" /><figcaption>受信処理</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>受信コードが取得できればあとはシリアル通信と同様にアプリ側で処理したい内容を作成すればよいわけです。<br>例えば、コードを"ON"や"OFF"などに登録しておき、これらと一致した場合にそれぞれ処理を分ければソフトウェアスイッチとしてリモートコントロールできるようになります。<br>&nbsp; </p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/data-receive-process.jpg" alt="" class="wp-image-5917" width="441" height="376" srcset="https://depfields.com/wp-content/uploads/2020/09/data-receive-process.jpg 441w, https://depfields.com/wp-content/uploads/2020/09/data-receive-process-300x256.jpg 300w" sizes="(max-width: 441px) 100vw, 441px" /><figcaption>データ受信処理</figcaption></figure>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p>ESP32との文字列受信は一度分かってしまえば簡単なようですが、多少クセはあります。これらを理解していると柔軟に対処できるようになりますので色々発展させてみてください。一部記載しておきます。<br>■　ATコマンドを送る度に<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">ある程度の待ち時間が必要</span></strong>なこと<br>■　<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">応答文字列のまえに改行コードCR+LFが含まれる</span></strong>こと（このために終端文字にCRを指定できない）<br>■　ATコマンドを送ると必ず<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">なんらかの応答がある</span></strong>こと<br>受信に割り込みを使用する場合にATコマンドを使用するとESP32からの応答が割り込みとして反応してしまうため注意が必要です。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/esp32-tcp-rx/'>ESP32　TCP通信（WiFi受信編）</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 6.68 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='5947'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>



<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/esp32-tcp-rx-apl/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/b956e44f4fd7a80d170d27190165c29e0872079e44ea46ea473208c293481bbf.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">TCP communication(WiFi) receive of STM32 with ESP32 | Most Powerful Bible to ...</div></div><div class="lkc-url">https://en.depfields.com/esp32-tcp-rx-apl/</div><div class="lkc-excerpt">Nucleo(STM32) is converted to wireless(WiFi) using the ESP32 wireless module and configured as a TCP server. I will introduce an application that remotely controls MCU by sending a string of command codes from a terminal emulator on a PC o</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/esp32-tcp-rx-apl/">ESP32を使ったSTM32のTCP通信(WiFi)受信編</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ESP32を使ったSTM32のTCP通信(WiFi)送信編</title>
		<link>https://depfields.com/esp32-tcp-tx-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=esp32-tcp-tx-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Thu, 03 Sep 2020 06:47:50 +0000</pubDate>
				<category><![CDATA[IoTアプリ]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[TCPプロトコル]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=5815</guid>

					<description><![CDATA[<p>無線モジュールESP32を使って Nucleo(STM32) を無線 (WiFi) 化し、TCPサーバーとしてPCやスマホのターミナルへ文字列を送るアプリを紹介します。 無線モジュールESP32については「ESP32でN [&#8230;]</p>
<p>The post <a href="https://depfields.com/esp32-tcp-tx-apl/">ESP32を使ったSTM32のTCP通信(WiFi)送信編</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="640" height="400" src="https://depfields.com/wp-content/uploads/2020/09/wlan-3152662_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/09/wlan-3152662_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/09/wlan-3152662_640-300x188.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">無線モジュールESP32</span></strong>を使って <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Nucleo(STM32) を無線 (WiFi) </span></strong>化し、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TCPサーバーとして</span></strong>PCやスマホのターミナルへ文字列を送るアプリを紹介します。 無線モジュールESP32については「<strong><a href="https://depfields.com/esp32-wifi/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">ESP32でNucleo(STM32)を簡単にWiFi対応に</a></strong>」で詳細を解説しています。 </p>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ここで紹介するアプリは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ESP32でWiFi化しTCPサーバーを構成したNucleo(STM32)</span></strong> からクライアント側のPCやスマホのターミナルへ文字列を送る基本的なものですが、ここでしっかり理解して使いこなせるようになると、いろいろ応用できるようになります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Nucleo(STM32)</span></strong>と<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ESP32</span></strong>は シリアル通信ではよく使われる <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ATコマンド</span></strong>を <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">UART通信 でやり取り</span></strong>してデータの送受信を行います。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/ESP32-with-nucleo.jpg" alt="" class="wp-image-5845" width="375" height="312"/><figcaption>ESP32とNucleo(STM32)配線</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">無線モジュールESP32のモード</span></strong>は一般的な<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">STA(ステーション)モード</span></strong>に設定して家庭や職場のWiFiルーターからIPアドレスを割り当てられるものにします。他のモードではESP32自体を親機にするAP(アクセスポイント)モードもありますので実施してみてください。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>この例では親機でDHCPサーバーであるWiFiルーターアドレスが"192.168.3.1"でESP32に割り当てられたIPアドレスは"192.168.3.19"である環境を前提にしており、各々の環境では異なりますのでご注意ください。 </p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/ESP32-with-MPU.jpg" alt="" class="wp-image-5829" width="457" height="287" srcset="https://depfields.com/wp-content/uploads/2020/09/ESP32-with-MPU.jpg 456w, https://depfields.com/wp-content/uploads/2020/09/ESP32-with-MPU-300x188.jpg 300w" sizes="(max-width: 457px) 100vw, 457px" /><figcaption> STAモードでのネットワーク環境 </figcaption></figure>





<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> では早速プログラムを見ていきましょう。FreeRTOSを使った構成としています。メインプログラムの流れは起動直後に各ペリフェラルの設定を行ってから、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">WiFiの設定</span></strong>をします。その後、処理内容ごとに2つのタスクにわけ、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">デモプログラム用データ作成のタスクprvTask_data</span></strong>と<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">データモニター用タスクprvTask_monitor</span></strong>としています。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/main-tcp-server-tx.jpg" alt="" class="wp-image-5835" width="606" height="430" srcset="https://depfields.com/wp-content/uploads/2020/09/main-tcp-server-tx.jpg 674w, https://depfields.com/wp-content/uploads/2020/09/main-tcp-server-tx-300x213.jpg 300w" sizes="(max-width: 606px) 100vw, 606px" /><figcaption>メインプログラム構成</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>WiFi設定はwifi_setting関数にまとめ、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ポート番号50000のTCPサーバーを生成</span></strong>しています。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">デモ用データ作成はタスクprvTask_dataで行い</span></strong>、20msごとにデータ(data)を加算していく処理にしています。dataは符号なし8ビットで255を超えると0に戻ることを繰り返しています。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> <strong>データモニター用タスクprvTask_monitor</strong> は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">３桁の数字</span></strong>を送るために、改行コード２文字分を含んだ５文字の送信要求コマンド<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">"AT+CIPSEND=0,5\r\n"</span></strong>を送信して<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">適度の待ち時間を挿入</span></strong>します。数値データを３桁の数字に変換し(digit_conv関数)、文字列としてUSART送信しています。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>送信要求コマンド<strong>"AT+CIPSEND=0,5\r\n"</strong>後に挿入する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">待ち時間</span></strong>はUART通信のボーレートによっても変わります。試してみたところ9600bps時には25ms以上、115200bps時には3ms以上に設定すれば正常に機能しました。参考プログラムは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">9600bps</span></strong>でのものです。</p>
</div></div></div>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p>ESP32のUART通信の設定はコマンド<strong>AT+UART_DEF=9600,8,1,0,0</strong>で変更できます。詳しくは「<a href="https://depfields.com/esp32-wifi/" target="_blank" rel="noopener noreferrer"><strong>ESP32でNucleo(STM32)を簡単にWiFi対応に</strong></a>」に記載しています。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>WiFi化した文字列送信の基本構成は以上です。ひとたびTCPサーバーを構成してしまうと、あとは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">シリアル通信の感覚で送信が実現できてしまいますので簡単</span></strong>です。TCPサーバーを実現するための通信プロトコルはESP32のファームウェアに内蔵されていてはじめに設定用コードで指定するだけです。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/wifi-setting-tx.jpg" alt="" class="wp-image-5856" width="553" height="525"/><figcaption>WiFi設定および各タスク</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>Nucleo(STM32)のTCPサーバー側から送信された数字をクライアント側でモニターするにはターミナルアプリを使用します。ここでは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">PCのターミナルソフト</span></strong>として<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">TeraTermを使用</span></strong>しています。IPアドレスとポートを指定すると接続できるはずです。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/tcp-server-access.jpg" alt="" class="wp-image-5583" width="479" height="311" srcset="https://depfields.com/wp-content/uploads/2020/08/tcp-server-access.jpg 479w, https://depfields.com/wp-content/uploads/2020/08/tcp-server-access-300x195.jpg 300w" sizes="(max-width: 479px) 100vw, 479px" /><figcaption>クライアント側のターミナルを起動する</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>Nucleo(STM32)側から送られた数字は0.5秒間隔で更新されています。数字が0から255までの1サイクルが約5秒であれば成功です。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/data-monitor.jpg" alt="" class="wp-image-5869" width="568" height="480" srcset="https://depfields.com/wp-content/uploads/2020/09/data-monitor.jpg 568w, https://depfields.com/wp-content/uploads/2020/09/data-monitor-300x254.jpg 300w" sizes="(max-width: 568px) 100vw, 568px" /><figcaption>データモニター</figcaption></figure>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<p></p>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/esp32-tcp-tx/'>ESP32　TCP通信（WiFi送信編）</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 5.77 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='5860'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>



<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/esp32-tcp-tx-apl/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/626b5fe989b34aea0b86422c8bb51b35d53ad8e8a7a03b33d6fe2bf4a8cee5b6.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">TCP communication (WiFi) send of STM32 with ESP32 | Most Powerful Bible to Be...</div></div><div class="lkc-url">https://en.depfields.com/esp32-tcp-tx-apl/</div><div class="lkc-excerpt">This section introduces an application that uses the ESP32 wireless module to make Nucleo (STM32) wireless (WiFi) and send strings to a terminal on a PC or smartphone as a TCP server. The wireless module ESP32 is explained in detail in &quot;ES</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/esp32-tcp-tx-apl/">ESP32を使ったSTM32のTCP通信(WiFi)送信編</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
