<?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開発 | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<atom:link href="https://laboratory.kazuuu.net/category/iot%E9%96%8B%E7%99%BA/feed/" rel="self" type="application/rss+xml" />
	<link>https://laboratory.kazuuu.net</link>
	<description></description>
	<lastBuildDate>Sun, 30 Apr 2023 22:23:30 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://laboratory.kazuuu.net/wp-content/uploads/2021/02/cropped-L-32x32.png</url>
	<title>IoT開発 | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<link>https://laboratory.kazuuu.net</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>OpenAI APIを使用してESPr® Developer（ESP-WROOM-02開発ボード）で Web サーバーを実装し、ChatGPTを使用する</title>
		<link>https://laboratory.kazuuu.net/implement-a-web-server-with-espr-developer-esp-wroom-02-development-board-using-openai-api-and-chatgpt/</link>
					<comments>https://laboratory.kazuuu.net/implement-a-web-server-with-espr-developer-esp-wroom-02-development-board-using-openai-api-and-chatgpt/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Sun, 30 Apr 2023 04:39:46 +0000</pubDate>
				<category><![CDATA[Android（アンドロイド）]]></category>
		<category><![CDATA[IoT開発]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=16079</guid>

					<description><![CDATA[OpenAI APIを使用してESPr® Developer（ESP-WROOM-02開発ボード）で Web サーバーを実装し、ChatGPTを使用することについて解説しています。 目次 ■用意したもの■パソコン環境■新 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>OpenAI APIを使用してESPr® Developer（ESP-WROOM-02開発ボード）で Web サーバーを実装し、ChatGPTを使用することについて解説しています。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■用意したもの</a></li><li><a href="#toc2" tabindex="0">■パソコン環境</a></li><li><a href="#toc3" tabindex="0">■新規ファイルを作成し、コードを記述する</a><ol><li><a href="#toc4" tabindex="0">■コード</a></li></ol></li><li><a href="#toc5" tabindex="0">■コードの備考</a></li><li><a href="#toc6" tabindex="0">■コードを記述後、コードを保存します。</a></li><li><a href="#toc7" tabindex="0">■ESPr® Developer（ESP-WROOM-02開発ボード）にMicro(マイクロ)USBケーブルを接続し、PCにつなげる。</a></li><li><a href="#toc8" tabindex="0">■ESPr® Developer（ESP-WROOM-02開発ボード）とPCの接続を確認する</a></li><li><a href="#toc9" tabindex="0">■マイコンボード（ESPr® Developer（ESP-WROOM-02開発ボード））への書き込み</a></li><li><a href="#toc10" tabindex="0">■シリアルモニタを確認する</a></li><li><a href="#toc11" tabindex="0">■Webサーバーが起動されているかの検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■用意したもの</span></h2>
<p>・ESPr® Developer（ESP-WROOM-02開発ボード）（<a href="https://amzn.to/3LG381X">https://amzn.to/3LG381X</a>）</p>
<p>今回はスイッチサイエンスで購入したものを使用。</p>
<p>・Micro(マイクロ)USBケーブル1本（<a href="https://amzn.to/42bYhLk">https://amzn.to/42bYhLk</a>）</p>
<p>・OpenAIのアカウント</p>
<p>・OpenAIのAPIキー</p>
<h2><span id="toc2">■パソコン環境</span></h2>
<p>・Windows11</p>
<p>・Arduino IDE Version 1.8.9（日本語対応済）</p>
<p>※なお、事前にESP8266 チップのサポートができるように「ESP8266 Arduino（<a href="https://github.com/esp8266/Arduino">https://github.com/esp8266/Arduino</a>）」のインストールを行っています。</p>
<p><img fetchpriority="high" decoding="async" class="alignnone size-medium wp-image-16055" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-083138-296x300.png" alt="" width="296" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-083138-296x300.png 296w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-083138-100x100.png 100w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-083138.png 556w" sizes="(max-width: 296px) 100vw, 296px" /></p>
<p>今回、設定しているボードは上記となります。</p>
<h2><span id="toc3">■新規ファイルを作成し、コードを記述する</span></h2>
<p>「Arduino」を起動し、上部メニューの「ファイル」から「新規ファイル」をクリックします。</p>
<p><img decoding="async" class="alignnone size-medium wp-image-16057" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-085301-300x243.png" alt="" width="300" height="243" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-085301-300x243.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-085301-1024x828.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-085301-768x621.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-085301.png 1084w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>クリックすると、「sketch_***」というようなスケッチが表示されますので、このスケッチにWeb サーバーを起動し、HTMLページを表示させるコードを書いていきます。</p>
<h3><span id="toc4">■コード</span></h3>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;">#include &lt;ESP8266WiFi.h&gt;</li>
<li style="background-color: #eef;">#include &lt;WiFiClientSecure.h&gt;</li>
<li style="background-color: #eff;">#include &lt;ESP8266WebServer.h&gt;</li>
<li style="background-color: #eef;">#include &lt;ArduinoJson.h&gt;</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">const char* ssid = &#8220;Wi-FiネットワークのSSID（ネットワーク名）&#8221;;</li>
<li style="background-color: #eff;">const char* password = &#8220;Wi-Fiネットワークのパスワード&#8221;;</li>
<li style="background-color: #eef;">const char* apiKey = &#8220;OpenAIのAPIキー&#8221;;</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">ESP8266WebServer server(80);</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">void handleRoot() {</li>
<li>  #今回は英語で「Where is the capital of Japan?」と質問</li>
<li style="background-color: #eff;">  String inputText = &#8220;Where is the capital of Japan?&#8221;;</li>
<li style="background-color: #eef;">  String url = &#8220;https://api.openai.com/v1/completions&#8221;;</li>
<li style="background-color: #eff;">  #今回はOpenAIの文章生成モデル「text-davinci-003」</li>
<li style="background-color: #eef;">  String payload = &#8220;{\&#8221;prompt\&#8221;:\&#8221;&#8221; + inputText + &#8220;\&#8221;,\&#8221;max_tokens\&#8221;:100, \&#8221;model\&#8221;: \&#8221;text-davinci-003\&#8221;}&#8221;;</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  WiFiClientSecure client;</li>
<li style="background-color: #eff;">  client.setInsecure();</li>
<li style="background-color: #eef;"></li>
<li style="background-color: #eff;">  if (!client.connect(&#8220;api.openai.com&#8221;, 443)) {</li>
<li style="background-color: #eef;">    Serial.println(&#8220;connection failed&#8221;);</li>
<li style="background-color: #eff;">    return;</li>
<li style="background-color: #eef;">  }</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  client.println(&#8220;POST &#8221; + String(url) + &#8221; HTTP/1.1&#8243;);</li>
<li style="background-color: #eff;">  client.println(&#8220;Host: api.openai.com&#8221;);</li>
<li style="background-color: #eef;">  client.println(&#8220;Content-Type: application/json&#8221;);</li>
<li style="background-color: #eff;">  client.println(&#8220;Content-Length: &#8221; + String(payload.length()));</li>
<li style="background-color: #eef;">  client.println(&#8220;Authorization: Bearer &#8221; + String(apiKey));</li>
<li style="background-color: #eff;">  client.println(&#8220;Connection: close&#8221;);</li>
<li style="background-color: #eef;">  client.println();</li>
<li style="background-color: #eff;">  client.println(payload);</li>
<li style="background-color: #eef;"></li>
<li style="background-color: #eff;">  while (client.connected()) {</li>
<li style="background-color: #eef;">    String line = client.readStringUntil(&#8216;\n&#8217;);</li>
<li style="background-color: #eff;">    if (line == &#8220;\r&#8221;) {</li>
<li style="background-color: #eef;">      break;</li>
<li style="background-color: #eff;">    }</li>
<li style="background-color: #eef;">  }</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  String response = &#8220;&#8221;;</li>
<li style="background-color: #eff;">  while (client.available()) {</li>
<li style="background-color: #eef;">    char c = client.read();</li>
<li style="background-color: #eff;">    response += c;</li>
<li style="background-color: #eef;">  }</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  client.stop();</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  DynamicJsonDocument jsonDoc(1024);</li>
<li style="background-color: #eff;">  deserializeJson(jsonDoc, response);</li>
<li style="background-color: #eef;">  String outputText = jsonDoc[&#8220;choices&#8221;][0][&#8220;text&#8221;];</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  String page = &#8220;&lt;html&gt;&lt;body&gt;&lt;h1&gt;&#8221; + outputText + &#8220;&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;&#8221;;</li>
<li style="background-color: #eff;">  server.send(200, &#8220;text/html&#8221;, page);</li>
<li style="background-color: #eef;">}</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">void setup() {</li>
<li style="background-color: #eff;">  Serial.begin(115200);</li>
<li style="background-color: #eef;"></li>
<li style="background-color: #eff;">  WiFi.begin(ssid, password);</li>
<li style="background-color: #eef;"></li>
<li style="background-color: #eff;">  while (WiFi.status() != WL_CONNECTED) {</li>
<li style="background-color: #eef;">    delay(1000);</li>
<li style="background-color: #eff;">    Serial.println(&#8220;Connecting to WiFi&#8230;&#8221;);</li>
<li style="background-color: #eef;">  }</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  Serial.println(&#8220;Connected to WiFi&#8221;);</li>
<li style="background-color: #eff;">  Serial.print(&#8220;Local IP: &#8220;);</li>
<li style="background-color: #eef;">  Serial.println(WiFi.localIP());</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  server.on(&#8220;/&#8221;, handleRoot);</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  server.begin();</li>
<li style="background-color: #eff;">}</li>
<li style="background-color: #eef;"></li>
<li style="background-color: #eff;">void loop() {</li>
<li style="background-color: #eef;">  server.handleClient();</li>
<li style="background-color: #eff;">}</li>
</ol>
<p>Github　URL:<a href="https://github.com/kobayashikazu/ESP8266_openai_api/blob/main/ESP8266_webserver_openaiapi/openai_api_v0.1.ino">https://github.com/kobayashikazu/ESP8266_openai_api/blob/main/ESP8266_webserver_openaiapi/openai_api_v0.1.ino</a></p>
<h2><span id="toc5">■コードの備考</span></h2>
<p>ESP8266WiFi.h : ESP8266のWi-Fiモジュールを制御するためのライブラリです。このライブラリを使用することで、ESP8266がWi-Fiネットワークに接続することができます。<br />
WiFiClientSecure.h : Wi-FiモジュールからセキュアなHTTPS通信を行うためのクライアント機能を提供するライブラリです。このライブラリを使用することで、ESP8266がHTTPS通信を行うことができます。<br />
ESP8266WebServer.h : ESP8266でWebサーバーを実装するためのライブラリです。このライブラリを使用することで、ESP8266でHTTPリクエストを受信し、レスポンスを返すことができます。<br />
ArduinoJson.h : JSONデータの処理を行うためのライブラリです。このライブラリを使用することで、ESP8266がJSONデータを解析したり、JSONデータを生成したりすることができます。</p>
<p><span style="background-color: #ff99cc;">※これらのライブラリはWebサーバーを実装するために必要なライブラリですので、事前にインストールを行っておく必要があります。</span></p>
<p>ESP8266WebServer server(80);は、ESP8266WebServerオブジェクトを定義。引数として80が渡されているため、Webサーバーはポート80でリクエストを受信するように設定。なお、ポート80は、HTTPプロトコルで使用される標準的なポート番号であり、Webブラウザからのリクエストは通常このポートを使用して送信されます。</p>
<p>void handleRoot()は、ESP8266WebServerオブジェクトで指定されたルート(/)に対するHTTP GETリクエストを処理するための関数です。HTTP GETリクエストは、WebブラウザがWebサイトのページを表示するために送信するリクエストの一種であり、指定されたURLに対応するWebページのコンテンツを取得。</p>
<p>WiFiClientSecureクラスは、ESP8266のWiFi接続を使用して、HTTPSを介してサーバーに接続するためのクラスです。このクラスは、暗号化された接続を確立するために、TLS/SSLプロトコルを使用。</p>
<p>client.setInsecure()は、HTTPS接続時に、証明書の検証を無効化するためのメソッドです。HTTPS接続を確立する場合、サーバーから送信されたデジタル証明書を検証し、証明書の情報とサーバー名が一致することを確認する。</p>
<p>・</p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;"> if (!client.connect(&#8220;api.openai.com&#8221;, 443)) {</li>
<li style="background-color: #eef;">    Serial.println(&#8220;connection failed&#8221;);</li>
<li style="background-color: #eff;">    return;</li>
<li style="background-color: #eef;">  }</li>
<li style="background-color: #eff;"></li>
</ol>
<p>api.openai.comのサーバーにHTTPS接続を確立しようとしています。client.connect()メソッドは、WiFiClientSecureクラスで提供されるメソッドであり、指定されたホストとポートに対してSSL/TLS接続を確立。</p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;"> while (client.available()) {</li>
<li style="background-color: #eef;">    char c = client.read();</li>
<li style="background-color: #eff;">    response += c;</li>
<li style="background-color: #eef;">  }</li>
<li style="background-color: #eff;"></li>
</ol>
<p>client.available()メソッドは、WiFiClientSecureクラスで提供されるメソッドであり、サーバーからの応答がまだ受信可能であるかどうかをチェック。whileループ内では、client.read()メソッドを使用して1バイトずつレスポンスを読み取り、response文字列に追加。このようにして、HTTP応答を受信し、必要な情報を抽出する。</p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;"> DynamicJsonDocument jsonDoc(1024);</li>
<li style="background-color: #eef;">  deserializeJson(jsonDoc, response);</li>
<li style="background-color: #eff;">  String outputText = jsonDoc[&#8220;choices&#8221;][0][&#8220;text&#8221;];</li>
</ol>
<p>DynamicJsonDocumentクラスは、ArduinoJsonライブラリで提供されるクラスの1つで、JSONデータをメモリ内で解析および作成するためのものです。ここでは、1024バイトのメモリを使用して、jsonDocオブジェクトを作成しています。</p>
<p>deserializeJson関数は、ArduinoJsonライブラリで提供される関数の1つで、JSON文字列をJSONオブジェクトに変換します。ここでは、responseという文字列がJSONフォーマットであり、jsonDocオブジェクトに変換されます。</p>
<p>jsonDocオブジェクトは、JSONデータを解析し、JSONのプロパティにアクセスするために使用されます。この例では、jsonDoc[&#8220;choices&#8221;][0][&#8220;text&#8221;]のように、JSONオブジェクトの特定のプロパティにアクセスすることができます。jsonDocオブジェクト内のchoicesプロパティの最初の要素のtextプロパティの値が、outputText変数に割り当てられます。outputText変数には、OpenAI APIから返された応答のテキストが含まれます。</p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;"> String page = &#8220;&lt;html&gt;&lt;body&gt;&lt;h1&gt;&#8221; + outputText + &#8220;&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;&#8221;;</li>
<li style="background-color: #eef;">  server.send(200, &#8220;text/html&#8221;, page);</li>
<li style="background-color: #eff;">}</li>
</ol>
<p>OpenAI APIから取得したテキストをHTMLページに表示する部分です。server.send関数を使用して、クライアントにHTMLページを送信します。server.send関数の最初の引数には、HTTPステータスコードを指定します。</p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;">void setup() {</li>
<li style="background-color: #eef;">  Serial.begin(115200);</li>
<li style="background-color: #eff;">  WiFi.begin(ssid, password);</li>
<li style="background-color: #eef;"></li>
<li style="background-color: #eff;">  while (WiFi.status() != WL_CONNECTED) {</li>
<li style="background-color: #eef;">    delay(1000);</li>
<li style="background-color: #eff;">    Serial.println(&#8220;Connecting to WiFi&#8230;&#8221;);</li>
<li style="background-color: #eef;">  }</li>
</ol>
<p>ESP8266をWi-Fiに接続するためのセットアップを行う部分。シリアル通信を初期化し、シリアル通信のデータ転送レートを115200に設定しています。次に、指定されたSSIDとパスワードを使用してWi-Fiに接続します。これは、WiFi.begin()関数を使用して実行されます。whileループは、Wi-Fi接続が確立されるまで、1秒ごとにWiFi.status()を呼び出して、接続状態を確認します。WL_CONNECTEDの値は、Wi-Fi接続が確立されたことを示します。接続が確立されると、ループを継続する前に、「Connected to Wi-Fi」というメッセージをシリアルモニターに出力。<span style="background-color: #ff99cc;">なお、シリアル通信のデータ転送レートは、設定したボードのUpload Speedにあわせています。このように設定しないと、シリアルモニターに出力されない。</span></p>
<p>server.on(&#8220;/&#8221;, handleRoot);は、指定されたパスがリクエストされたときに、指定された関数を呼び出すようにWebサーバーを設定します。この場合、&#8221;/&#8221;が指定されているため、ルートパスに対するリクエストが受信された場合にhandleRoot関数が呼び出されます。</p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="list-style-type: none;">
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;">void loop() {</li>
<li style="background-color: #eef;">  server.handleClient();</li>
<li style="background-color: #eff;">}</li>
</ol>
</li>
</ol>
<p>ESP8266WebServerがクライアントからのHTTPリクエストを受信し、それに対する適切なレスポンスを返すためのループです。server.handleClient()は、クライアントからのリクエストを受け取り、それに対する適切なレスポンスを返すために必要な処理を実行します。これにより、Webサーバーが常に接続状態を維持し、クライアントからの要求に応答できるようになります。この無限ループを使用することで、ESP8266は常にWebサーバーとして機能し、リクエストに応答するために必要な処理を実行できます。</p>
<h2><span id="toc6">■コードを記述後、コードを保存します。</span></h2>
<p>コードを記述した後は、コードを保存します。保存するためには、起動した「Arduino」の上部メニューの「ファイル」から「保存」をクリックします。</p>
<p>保存をクリックすると「すでに指定されているスケッチのフォルダの保存先」が表示されますので、保存する先に問題がなければ、ファイル名で名前を付け、ファイルの種類は「すべてのファイル（*.*）」と設定し「保存」ボタンをクリックします。これで今回記述したコードのファイルが保存されます。</p>
<h2><span id="toc7">■ESPr® Developer（ESP-WROOM-02開発ボード）にMicro(マイクロ)USBケーブルを接続し、PCにつなげる。</span></h2>
<p>保存後、ESPr® Developer（ESP-WROOM-02開発ボード）に、Micro(マイクロ)USBケーブルを接続（USB（Micro-B）オス側）し、PCにつなげる（Micro(マイクロ)USBケーブルのUSB（A）オス側）。</p>
<p><img decoding="async" class="alignnone size-medium wp-image-16062" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.130-225x300.jpg" alt="" width="225" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.130-225x300.jpg 225w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.130-768x1024.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.130-1152x1536.jpg 1152w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.130.jpg 1200w" sizes="(max-width: 225px) 100vw, 225px" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16064" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852-300x225.jpg" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852-300x225.jpg 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852-1024x768.jpg 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852-768x576.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852-1536x1152.jpg 1536w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852.jpg 1600w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16063" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468-300x225.jpg" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468-300x225.jpg 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468-1024x768.jpg 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468-768x576.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468-1536x1152.jpg 1536w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468.jpg 1600w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16065" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-300x225.jpg" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-300x225.jpg 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-1024x768.jpg 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-768x576.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-1536x1152.jpg 1536w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-rotated.jpg 1600w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<h2><span id="toc8">■ESPr® Developer（ESP-WROOM-02開発ボード）とPCの接続を確認する</span></h2>
<p>PCにつなげた後に、ESPr® Developer（ESP-WROOM-02開発ボード）とPCの接続を確認します。確認するために、起動した「Arduino」の上部メニューから「ツール」をクリックします。クリックすると、メニューが表示されますので、シリアルポートを確認します。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16067" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-114415-300x90.png" alt="" width="300" height="90" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-114415-300x90.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-114415-1024x306.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-114415-768x230.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-114415.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>確認すると今回は「シリアルポート:”COM3”」と表示されています。さらにシリアルポートをクリックすると「COM3」にチェックが入っています。この状態が確認できれば、ESPr® Developer（ESP-WROOM-02開発ボード）とPCの接続確認作業は完了です。</p>
<h2><span id="toc9">■マイコンボード（ESPr® Developer（ESP-WROOM-02開発ボード））への書き込み</span></h2>
<p>確認完了後、今回記述したコード（スケッチ）をマイコンボード（ESPr® Developer（ESP-WROOM-02開発ボード））へ書き込みします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16084" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-4-1-300x154.png" alt="" width="300" height="154" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-4-1-300x154.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-4-1-1024x525.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-4-1-768x394.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-4-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>書き込みを行う際は、起動した「Arduino」の画面上で「→”右の矢印”（書込装置を使って書き込む）」ボタンをクリックします。クリックすると、書き込みが開始されます。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16069" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115524-300x53.png" alt="" width="300" height="53" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115524-300x53.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115524-1024x182.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115524-768x136.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115524.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>開始されると「Arduino」の画面下に「スケッチをコンパイルしています&#8230;」と表示されます。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16070" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115551-300x50.png" alt="" width="300" height="50" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115551-300x50.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115551-1024x170.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115551-768x128.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115551.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>次に「マイコンボードに書き込んでいます」と表示され、ESPr® Developer（ESP-WROOM-02開発ボード）への書き込みが行われます。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16071" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115724-300x71.png" alt="" width="300" height="71" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115724-300x71.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115724-1024x243.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115724-768x183.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115724.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;">Wrote 407856 bytes (299466 compressed) at 0x00000000 in 52.9 seconds (effective 61.6 kbit/s)&#8230;</li>
<li style="background-color: #eef;">Hash of data verified.</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">Leaving&#8230;</li>
<li style="background-color: #eff;">Hard resetting via RTS pin&#8230;</li>
<li style="background-color: #eef;"></li>
</ol>
<p>その後「ボードへの書き込みが完了しました。」と表示されます。これでESPr® Developer（ESP-WROOM-02開発ボード）への書き込みが完了となります。</p>
<h2><span id="toc10">■シリアルモニタを確認する</span></h2>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16085" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-5-1-220x300.png" alt="" width="220" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-5-1-220x300.png 220w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-5-1-750x1024.png 750w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-5-1-768x1049.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-5-1-1125x1536.png 1125w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-5-1.png 1250w" sizes="(max-width: 220px) 100vw, 220px" /></p>
<p>完了後、シリアルモニタを確認します。確認する際は、起動した「Arduino」の画面上にある虫眼鏡のボタンをクリックします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16086" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-6-300x125.png" alt="" width="300" height="125" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-6-300x125.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-6-1024x428.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-6-768x321.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-6.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;">Connecting to WiFi&#8230;</li>
<li style="background-color: #eef;">Connecting to WiFi&#8230;</li>
<li style="background-color: #eff;">Connecting to WiFi&#8230;</li>
<li style="background-color: #eef;">Connected to WiFi</li>
<li style="background-color: #eff;">Local IP: ***.***.***.**(IPアドレス)</li>
<li style="background-color: #eef;"></li>
</ol>
<p>クリックすると、シリアルモニタに上記が出力されます。</p>
<h2><span id="toc11">■Webサーバーが起動されているかの検証</span></h2>
<p>出力された「Local IP: **.**.**.**(IPアドレス)」に表示されたIPアドレスの情報を保存しPC、もしくはスマートフォンでブラウザを使用し、アドレスバーにIPアドレスを入力します。入力後、アクセスを行います。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16087" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-7-300x141.png" alt="" width="300" height="141" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-7-300x141.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-7-1024x480.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-7-768x360.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-7.png 1288w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>検証のために、PC（Windows11）からGoogleChromeを使用しアクセスした場合が上記になります。OpenAIの文章生成モデル「text-davinci-003」に対して、今回は「Where is the capital of Japan?（日本の首都はどこですか？）」と質問していますので回答として「The capital of Japan is Tokyo.（日本の首都は東京です。）」というテキストが生成され回答として出力。出力後、 Web サーバー上のHTMLに回答が表示されることが確認できました。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16088" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-8-225x300.png" alt="" width="225" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-8-225x300.png 225w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-8-768x1024.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-8-1152x1536.png 1152w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-8.png 1200w" sizes="(max-width: 225px) 100vw, 225px" /></p>
<p>次にスマートフォン（OPPO Reno5 A）からChromeアプリを用いてアクセスした場合が上記になります。</p>
<p>これでOpenAI APIを使用してESPr® Developer（ESP-WROOM-02開発ボード）で Web サーバーを実装し、ChatGPTを使用する作業は完了となります。</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/implement-a-web-server-with-espr-developer-esp-wroom-02-development-board-using-openai-api-and-chatgpt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ESPr® Developer（ESP-WROOM-02開発ボード）で Web サーバーを実装</title>
		<link>https://laboratory.kazuuu.net/implement-web-server-with-espr-developer-esp-wroom-02-development-board/</link>
					<comments>https://laboratory.kazuuu.net/implement-web-server-with-espr-developer-esp-wroom-02-development-board/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Sun, 30 Apr 2023 03:21:48 +0000</pubDate>
				<category><![CDATA[Arduino（アルドゥイーノ）]]></category>
		<category><![CDATA[IoT開発]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=16052</guid>

					<description><![CDATA[ESPr® Developer（ESP-WROOM-02開発ボード）でWeb サーバーを実装し、HTMLページを表示させる方法について解説しています。 目次 ■用意したもの■パソコン環境■新規ファイルを作成し、コードを記 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>ESPr® Developer（ESP-WROOM-02開発ボード）でWeb サーバーを実装し、HTMLページを表示させる方法について解説しています。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■用意したもの</a></li><li><a href="#toc2" tabindex="0">■パソコン環境</a></li><li><a href="#toc3" tabindex="0">■新規ファイルを作成し、コードを記述する</a><ol><li><a href="#toc4" tabindex="0">■コード</a></li></ol></li><li><a href="#toc5" tabindex="0">■コードの備考</a></li><li><a href="#toc6" tabindex="0">■コードを記述後、コードを保存します。</a></li><li><a href="#toc7" tabindex="0">■ESPr® Developer（ESP-WROOM-02開発ボード）にMicro(マイクロ)USBケーブルを接続し、PCにつなげる。</a></li><li><a href="#toc8" tabindex="0">■ESPr® Developer（ESP-WROOM-02開発ボード）とPCの接続を確認する</a></li><li><a href="#toc9" tabindex="0">■マイコンボード（ESPr® Developer（ESP-WROOM-02開発ボード））への書き込み</a></li><li><a href="#toc10" tabindex="0">■シリアルモニタを確認する</a></li><li><a href="#toc11" tabindex="0">■Webサーバーが起動されているかの検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■用意したもの</span></h2>
<p>・ESPr® Developer（ESP-WROOM-02開発ボード）（<a href="https://amzn.to/3LG381X">https://amzn.to/3LG381X</a>）</p>
<p>今回はスイッチサイエンスで購入したものを使用。</p>
<p>・Micro(マイクロ)USBケーブル1本（<a href="https://amzn.to/42bYhLk">https://amzn.to/42bYhLk</a>）</p>
<h2><span id="toc2">■パソコン環境</span></h2>
<p>・Windows11</p>
<p>・Arduino IDE Version 1.8.9（日本語対応済）</p>
<p>※なお、事前にESP8266 チップのサポートができるように「ESP8266 Arduino（<a href="https://github.com/esp8266/Arduino">https://github.com/esp8266/Arduino</a>）」のインストールを行っています。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16055" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-083138-296x300.png" alt="" width="296" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-083138-296x300.png 296w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-083138-100x100.png 100w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-083138.png 556w" sizes="(max-width: 296px) 100vw, 296px" /></p>
<p>今回、設定しているボードは上記となります。</p>
<h2><span id="toc3">■新規ファイルを作成し、コードを記述する</span></h2>
<p>「Arduino」を起動し、上部メニューの「ファイル」から「新規ファイル」をクリックします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16057" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-085301-300x243.png" alt="" width="300" height="243" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-085301-300x243.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-085301-1024x828.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-085301-768x621.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-085301.png 1084w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>クリックすると、「sketch_***」というようなスケッチが表示されますので、このスケッチにWeb サーバーを起動し、HTMLページを表示させるコードを書いていきます。</p>
<h3><span id="toc4">■コード</span></h3>
<p><code></code></p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;">#include &lt;ESP8266WiFi.h&gt;</li>
<li style="background-color: #eef;">#include &lt;WiFiClient.h&gt;</li>
<li style="background-color: #eff;">#include &lt;ESP8266WebServer.h&gt;</li>
<li style="background-color: #eef;"></li>
<li style="background-color: #eff;">const char* ssid = &#8220;あなたのSSID&#8221;;</li>
<li style="background-color: #eef;">const char* password = &#8220;あなたのパスワード&#8221;;</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">ESP8266WebServer server(80);</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">void handleRoot() {</li>
<li style="background-color: #eff;">  server.send(200, &#8220;text/html&#8221;, &#8220;&lt;html&gt;&lt;body&gt;&lt;h1&gt;Hello from ESP8266!&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;&#8221;);</li>
<li style="background-color: #eef;">}</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">void setup() {</li>
<li style="background-color: #eff;">  Serial.begin(115200);</li>
<li style="background-color: #eef;">  WiFi.begin(ssid, password);</li>
<li style="background-color: #eff;">  Serial.println(&#8220;&#8221;);</li>
<li style="background-color: #eef;"></li>
<li style="background-color: #eff;">  // Wait for connection</li>
<li style="background-color: #eef;">  while (WiFi.status() != WL_CONNECTED) {</li>
<li style="background-color: #eff;">    delay(1000);</li>
<li style="background-color: #eef;">    Serial.print(&#8220;Connecting to WiFi&#8230;&#8221;);</li>
<li style="background-color: #eff;">  }</li>
<li style="background-color: #eef;">  Serial.println(&#8220;&#8221;);</li>
<li style="background-color: #eff;">  Serial.print(&#8220;Connected to WiFi network with IP address: &#8220;);</li>
<li style="background-color: #eef;">  Serial.println(WiFi.localIP());</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  server.on(&#8220;/&#8221;, handleRoot);</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">  server.begin();</li>
<li style="background-color: #eff;">  Serial.println(&#8220;HTTP server started&#8221;);</li>
<li style="background-color: #eef;">}</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">void loop() {</li>
<li style="background-color: #eff;">  server.handleClient();</li>
<li style="background-color: #eef;">}</li>
<li style="background-color: #eff;"></li>
</ol>
<h2><span id="toc5">■コードの備考</span></h2>
<p>ESP8266WiFi.h : ESP8266のWi-Fiモジュールを制御するためのライブラリです。<br />
WiFiClient.h : Wi-Fiモジュールからサーバーに接続するためのクライアント機能を提供するライブラリです。<br />
ESP8266WebServer.h : ESP8266でWebサーバーを実装するためのライブラリです。このライブラリを使用することで、ESP8266でHTTPリクエストを受信し、レスポンスを返すことができます。</p>
<p><span style="background-color: #ff99cc;">※これらのライブラリはWebサーバーを実装するために必要なライブラリですので、事前にインストールを行っておく必要があります。</span></p>
<p>handleRoot()関数は、WebブラウザからESP8266のIPアドレスにアクセスしたときに、どのようにレスポンスを返すかを定義するための関数。</p>
<p>server.send()メソッドは、HTTPリクエストに対するレスポンスを送信するために使用されます。この関数の引数には、次のような情報が含まれます。</p>
<p>ステータスコード（ここでは200 OK）<br />
コンテンツの種類（ここでは&#8221;text/html&#8221;）<br />
レスポンスの本文（ここではHTMLページのコード）<br />
この関数の場合、「200 OK」は成功したレスポンスを意味する。また「&#8221;text/html&#8221;」はHTML形式のコンテンツを表す。</p>
<p>Serial.begin(57600)は、シリアル通信を開始するための関数。ここでは、通信速度を57600bpsに設定しています。この関数を呼び出すことで、シリアルモニターに出力することができます。なお、<span style="background-color: #ff99cc;">通信速度は設定したボードのUpload Speedにあわせています。このように設定しないと、シリアルモニターに出力されない。</span></p>
<p>WiFi.begin(ssid, password)は、ESP8266が指定されたWi-Fiネットワークに接続するための関数。この関数には、Wi-FiネットワークのSSIDとパスワードが必要です。この例では、ssid変数とpassword変数にそれぞれ設定された値が使用されます。</p>
<p>Serial.println(&#8220;&#8221;)は、シリアルモニターに空白の行を表示するための関数です。この関数は、シリアル通信を開始する前に空白の行を表示するために使用されます。</p>
<p>while (WiFi.status() != WL_CONNECTED)は、ESP8266がWi-Fiネットワークに接続されるまで待機するためのループ文です。WiFi.status()は、ESP8266のWi-Fi接続状態を確認するための関数で、WL_CONNECTEDは定数で、ESP8266がWi-Fiネットワークに接続されていることを示します。</p>
<p>delay(1000)は、1秒の待機時間を指定するための関数です。</p>
<p>Serial.print(&#8220;Connecting to WiFi&#8230;&#8221;);は、シリアルモニターに&#8221;Connecting to WiFi&#8230;&#8221;というメッセージを表示するための関数です。</p>
<p>server.on(&#8220;/&#8221;, handleRoot);は、ESP8266のルートディレクトリにアクセスされた場合に、handleRoot()関数を実行するための設定です。</p>
<p>server.begin();は、Webサーバーを開始するための関数です。</p>
<p>Serial.println(&#8220;HTTP server started&#8221;);は、シリアルモニターに&#8221;HTTP server started&#8221;というメッセージを表示するための関数です。</p>
<p>loop()関数は処理をずっとループする関数です。</p>
<p>server.handleClient()は、ESP8266が受信したリクエストを処理するための関数です。この関数が呼び出されることで、ESP8266はクライアントからのリクエストを待ち受け、受信したリクエストを処理することができます。</p>
<h2><span id="toc6">■コードを記述後、コードを保存します。</span></h2>
<p>コードを記述した後は、コードを保存します。保存するためには、起動した「Arduino」の上部メニューの「ファイル」から「保存」をクリックします。</p>
<p>保存をクリックすると「すでに指定されているスケッチのフォルダの保存先」が表示されますので、保存する先に問題がなければ、ファイル名で名前を付け、ファイルの種類は「すべてのファイル（*.*）」と設定し「保存」ボタンをクリックします。これで今回記述したコードのファイルが保存されます。</p>
<h2><span id="toc7">■ESPr® Developer（ESP-WROOM-02開発ボード）にMicro(マイクロ)USBケーブルを接続し、PCにつなげる。</span></h2>
<p>保存後、ESPr® Developer（ESP-WROOM-02開発ボード）に、Micro(マイクロ)USBケーブルを接続（USB（Micro-B）オス側）し、PCにつなげる（Micro(マイクロ)USBケーブルのUSB（A）オス側）。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16062" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.130-225x300.jpg" alt="" width="225" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.130-225x300.jpg 225w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.130-768x1024.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.130-1152x1536.jpg 1152w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.130.jpg 1200w" sizes="(max-width: 225px) 100vw, 225px" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16064" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852-300x225.jpg" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852-300x225.jpg 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852-1024x768.jpg 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852-768x576.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852-1536x1152.jpg 1536w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.852.jpg 1600w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16063" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468-300x225.jpg" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468-300x225.jpg 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468-1024x768.jpg 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468-768x576.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468-1536x1152.jpg 1536w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-24.468.jpg 1600w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16065" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-300x225.jpg" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-300x225.jpg 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-1024x768.jpg 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-768x576.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-1536x1152.jpg 1536w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/Photo_23-04-30-11-38-28.760-rotated.jpg 1600w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<h2><span id="toc8">■ESPr® Developer（ESP-WROOM-02開発ボード）とPCの接続を確認する</span></h2>
<p>PCにつなげた後に、ESPr® Developer（ESP-WROOM-02開発ボード）とPCの接続を確認します。確認するために、起動した「Arduino」の上部メニューから「ツール」をクリックします。クリックすると、メニューが表示されますので、シリアルポートを確認します。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16067" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-114415-300x90.png" alt="" width="300" height="90" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-114415-300x90.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-114415-1024x306.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-114415-768x230.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-114415.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>確認すると今回は「シリアルポート:”COM3”」と表示されています。さらにシリアルポートをクリックすると「COM3」にチェックが入っています。この状態が確認できれば、ESPr® Developer（ESP-WROOM-02開発ボード）とPCの接続確認作業は完了です。</p>
<h2><span id="toc9">■マイコンボード（ESPr® Developer（ESP-WROOM-02開発ボード））への書き込み</span></h2>
<p>確認完了後、今回記述したコード（スケッチ）をマイコンボード（ESPr® Developer（ESP-WROOM-02開発ボード））へ書き込みします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16068" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115112-300x100.png" alt="" width="300" height="100" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115112-300x100.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115112-1024x340.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115112-768x255.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115112.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>書き込みを行う際は、起動した「Arduino」の画面上で「→”右の矢印”（書込装置を使って書き込む）」ボタンをクリックします。クリックすると、書き込みが開始されます。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16069" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115524-300x53.png" alt="" width="300" height="53" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115524-300x53.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115524-1024x182.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115524-768x136.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115524.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>開始されると「Arduino」の画面下に「スケッチをコンパイルしています&#8230;」と表示されます。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16070" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115551-300x50.png" alt="" width="300" height="50" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115551-300x50.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115551-1024x170.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115551-768x128.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115551.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>次に「マイコンボードに書き込んでいます」と表示され、ESPr® Developer（ESP-WROOM-02開発ボード）への書き込みが行われます。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16071" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115724-300x71.png" alt="" width="300" height="71" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115724-300x71.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115724-1024x243.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115724-768x183.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-115724.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p><code></code></p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;">Wrote 292592 bytes (213609 compressed) at 0x00000000 in 37.8 seconds (effective 62.0 kbit/s)&#8230;</li>
<li style="background-color: #eef;">Hash of data verified.</li>
<li style="background-color: #eff;"></li>
<li style="background-color: #eef;">Leaving&#8230;</li>
<li style="background-color: #eff;">Hard resetting via RTS pin&#8230;</li>
<li style="background-color: #eef;"></li>
</ol>
<p>その後「ボードへの書き込みが完了しました。」と表示されます。これでESPr® Developer（ESP-WROOM-02開発ボード）への書き込みが完了となります。</p>
<h2><span id="toc10">■シリアルモニタを確認する</span></h2>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16072" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-120438-258x300.png" alt="" width="258" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-120438-258x300.png 258w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-120438-880x1024.png 880w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-120438-768x894.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-120438.png 1250w" sizes="(max-width: 258px) 100vw, 258px" /></p>
<p>完了後、シリアルモニタを確認します。確認する際は、起動した「Arduino」の画面上にある虫眼鏡のボタンをクリックします。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16073" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-1-1-300x117.png" alt="" width="300" height="117" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-1-1-300x117.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-1-1-1024x401.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-1-1-768x300.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-1-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p><code></code></p>
<ol style="list-style: decimal-leading-zero outside; in-left: 0; padding-left: 36px; margin: 0; background-color: #eef; color: #000;">
<li style="background-color: #eff;">Connecting to WiFi&#8230;Connecting to WiFi&#8230;Connecting to WiFi&#8230;Connecting to WiFi&#8230;Connecting to WiFi&#8230;</li>
<li style="background-color: #eef;">Connected to WiFi network with IP address: **.**.**.**(IPアドレス)</li>
<li style="background-color: #eff;">HTTP server started</li>
<li style="background-color: #eef;"></li>
</ol>
<p>&nbsp;</p>
<p>クリックすると、シリアルモニタに上記が出力されます。</p>
<h2><span id="toc11">■Webサーバーが起動されているかの検証</span></h2>
<p>出力された「Connected to WiFi network with IP address: **.**.**.**(IPアドレス)」に表示されたIPアドレスの情報を保存しPC、もしくはスマートフォンでブラウザを使用し、アドレスバーにIPアドレスを入力します。入力後、アクセスを行います。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16074" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-2-300x165.png" alt="" width="300" height="165" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-2-300x165.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-2-1024x565.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-2-768x424.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-2.png 1356w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>検証のために、PC（Windows11）からGoogleChromeを使用しアクセスした場合が上記になります。</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16075" src="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-3-225x300.png" alt="" width="225" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-3-225x300.png 225w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-3-768x1024.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-3-1152x1536.png 1152w, https://laboratory.kazuuu.net/wp-content/uploads/2023/04/スクリーンショット-2023-04-30-3.png 1200w" sizes="(max-width: 225px) 100vw, 225px" /></p>
<p>次にスマートフォン（OPPO Reno5 A）からChromeアプリを用いてアクセスした場合が上記になります。</p>
<p>これでESPr® Developer（ESP-WROOM-02開発ボード）でWeb サーバーを実装し、HTMLページを表示させる作業は完了となります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/implement-web-server-with-espr-developer-esp-wroom-02-development-board/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Webブラウザ上でface-api.js/JavaScriptによる簡単な顔認識</title>
		<link>https://laboratory.kazuuu.net/simple-face-recognition-with-face-api-js-javascript-in-a-web-browser/</link>
					<comments>https://laboratory.kazuuu.net/simple-face-recognition-with-face-api-js-javascript-in-a-web-browser/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Tue, 15 Jun 2021 05:54:24 +0000</pubDate>
				<category><![CDATA[API]]></category>
		<category><![CDATA[IoT開発]]></category>
		<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=9135</guid>

					<description><![CDATA[Webブラウザ上でface-api.js/JavaScriptによる簡単な顔認識を行ってみます。 今回は、Tensor Flow上に構築されたface-api.js（https://github.com/justadud [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Webブラウザ上でface-api.js/JavaScriptによる簡単な顔認識を行ってみます。</p>
<p>今回は、Tensor Flow上に構築されたface-api.js（<a href="https://github.com/justadudewhohacks/face-api.js">https://github.com/justadudewhohacks/face-api.js</a>）ライブラリを使用して、顔認識を簡単に行ってみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■リポジトリのクローンを作成する</a></li><li><a href="#toc3" tabindex="0">■Webアプリの準備</a></li><li><a href="#toc4" tabindex="0">■顔認識をテストする簡単なWebアプリの作成</a><ol><li><a href="#toc5" tabindex="0">■index.html</a></li><li><a href="#toc6" tabindex="0">■script.js</a></li><li><a href="#toc7" tabindex="0">■実行、デバッグ</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>・Windows10 Pro</p>
<p>・Visual Studio Code 1.57.0</p>
<p>・git version 2.31.1.windows.1</p>
<h2><span id="toc2">■リポジトリのクローンを作成する</span></h2>
<p>まずは、リポジトリのクローンを作成します。作成しますので、Windows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\&lt;ユーザー名&gt;&gt;git clone https://github.com/justadudewhohacks/face-api.js.git</pre>
<p>起動後、上記のコマンドを入力し、Enterキーを押します。</p>
<blockquote><p>Cloning into &#8216;face-api.js&#8217;&#8230;<br />
remote: Enumerat ing objects: 9124, done<br />
remote: Counting objects: 100% (11/11), done.<br />
remote: Compressing objects: 100% (11/11), done.<br />
remote: Total 9124 (delta 6), reused o (delta 0), pack-reused 9113<br />
Receiving objects: 100% (9124/9124), 210.79 MiB | 4.13 MiB/s, done.<br />
Resolving deltas: 100% (6281/6281), done.</p></blockquote>
<p>Enterキーを押すと、クローンの作成が開始されます。しばらくすると、完了します。</p>
<h2><span id="toc3">■Webアプリの準備</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9136" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1-300x133.png" alt="" width="300" height="133" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1-300x133.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1-1024x455.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1-768x341.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>完了後、カレントディレクトリ（作業ディレクトリ）内に「face-api.js」というフォルダが作成されていることが確認できます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9137" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1-300x190.png" alt="" width="300" height="190" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1-300x190.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1-1024x647.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1-768x485.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>フォルダの中身を確認すると、上記のようになっています。フォルダ内に「dist」と「weights」のフォルダがありますが、今回は「dist」の「face-api.js」と、「weights」内のファイル全てを使います。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141736.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9138" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141736-300x159.png" alt="" width="300" height="159" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141736-300x159.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141736.png 714w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>確認後、カレントディレクトリ（作業ディレクトリ）内に、今回は「test_face_api」というフォルダを作成します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9139" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1-300x178.png" alt="" width="300" height="178" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1-300x178.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1-1024x606.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1-768x454.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>作成後、「face-api.js」というフォルダ内の「weights」のフォルダをコピーします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9140" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1-300x148.png" alt="" width="300" height="148" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1-300x148.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1-1024x504.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1-768x378.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>コピー後、「test_face_api」というフォルダ内に「weights」のフォルダを貼り付けます。その後「weights」の名前を「models」という名前に変更します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9143" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1-300x189.png" alt="" width="300" height="189" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1-300x189.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1-1024x646.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1-768x484.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>変更後、「face-api.js」フォルダ内の「dist」の「face-api.min.js」をコピーします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9144" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1-300x131.png" alt="" width="300" height="131" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1-300x131.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1-1024x446.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1-768x335.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>コピー後、「test_face_api」というフォルダ内に「face-api.js」のフォルダを貼り付けます。</p>
<h2><span id="toc4">■顔認識をテストする簡単なWebアプリの作成</span></h2>
<p>貼り付け後、顔認識をテストする簡単なWebアプリの作成を行います。コードエディタ（Visual Studio Code）を開きます。「test_face_api」フォルダ内にindex.htmlを作成します。</p>
<h3><span id="toc5">■index.html</span></h3>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html lang = "ja"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width,initial-scale=1.0"&gt;
    &lt;title&gt;顔認識のテスト&lt;/title&gt;
    &lt;script defer src="face-api.min.js"&gt;&lt;/script&gt;
    &lt;script defer src="script.js"&gt;&lt;/script&gt;
    &lt;style&gt;
        body{
            margin: 0;
            padding: 0;
            width: 100vw;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }
        canvas{
            position: absolute;
            top:0;
            left: 0;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;input type="file" id="imageUpload"&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>アップロードした画像で顔認識のテストを行えるようにします。次に「test_face_api」フォルダ内にscript.jsを作成します。</p>
<h3><span id="toc6">■script.js</span></h3>
<pre><code>const imageUpload =document.getElementById('imageUpload')

Promise.all([
    faceapi.nets.faceRecognitionNet.loadFromUri('./models'),
    faceapi.nets.faceLandmark68Net.loadFromUri('./models'),
    faceapi.nets.ssdMobilenetv1.loadFromUri('./models')
]).then(start)

function start(){
    const container = document.createElement('div')
    container.style.position = 'relative'
    document.body.append(container)
    document.body.append('Loaded')
    imageUpload.addEventListener('change', async() =&gt;{
        const image = await faceapi.bufferToImage(imageUpload.files[0])
        container.append(image)
        const canvas = faceapi.createCanvasFromMedia(image)
        container.append(canvas)
        const displaySize = { width: image.width, height:image.height}
        faceapi.matchDimensions(canvas, displaySize)
        const detections = await faceapi.detectAllFaces(image)
        .withFaceLandmarks().withFaceDescriptors()
        const resizedDetections = faceapi.resizeResults(detections,
        displaySize)
        resizedDetections.forEach(detection =&gt; {
            const box = detection.detection.box
            const drawBox = new faceapi.draw.DrawBox(box, {label: 'Face'})
            drawBox.draw(canvas)
        })
    })
}</code></pre>
<p>script.js内で顔検出の実行処理などを記述します。</p>
<h3><span id="toc7">■実行、デバッグ</span></h3>
<p>記述後、実行、デバッグを行います。今回はVisual Studio Codeの拡張機能で「Live Server」と「Debbuger for Chrome」を事前にインストールし、GoogleChromeにて実行、デバッグを行います。なお、今回使用する画像は、著作物を考慮し、フリーで高品質な画像素材が検索できるPixabay（<a href="https://pixabay.com/ja/">https://pixabay.com/ja/</a>）からダウンロードしてきた画像を使います。（商用利用可能OKの画像）。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9145" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1-300x160.png" alt="" width="300" height="160" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1-300x160.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1-1024x546.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1-768x410.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行、デバッグしてみると、使用した顔検出・顔認識モデルの影響か、それともそれ以外が原因か、一人の顔の認識できませんでしたが、顔としての認識はされているので、今回はこれで顔認識のテストを終了します。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/simple-face-recognition-with-face-api-js-javascript-in-a-web-browser/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Arduino、IoT開発】DSD TECH HM-19 Bluetooth 5.0 BLE モジュールを使用する</title>
		<link>https://laboratory.kazuuu.net/using-dsd-tech-hm-19-bluetooth-5-0-ble-module/</link>
					<comments>https://laboratory.kazuuu.net/using-dsd-tech-hm-19-bluetooth-5-0-ble-module/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Sat, 10 Apr 2021 05:04:24 +0000</pubDate>
				<category><![CDATA[Arduino（アルドゥイーノ）]]></category>
		<category><![CDATA[IoT開発]]></category>
		<category><![CDATA[電子工作]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=2455</guid>

					<description><![CDATA[Arduino Elegoo MEGA2560 R3ボードで、DSD TECH HM-19 Bluetooth 5.0 BLE モジュールを使用してみます。 なお、今回の検証は、技適未取得機器を用いた実験等の特例制（ht [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Arduino Elegoo MEGA2560 R3ボードで、DSD TECH HM-19 Bluetooth 5.0 BLE モジュールを使用してみます。</p>
<p>なお、<span style="background-color: #ff99cc;">今回の検証は、技適未取得機器を用いた実験等の特例制（<a style="background-color: #ff99cc;" href="https://exp-sp.denpa.soumu.go.jp/public/">https://exp-sp.denpa.soumu.go.jp/public/</a>）に申請を行い検証を行いました。</span></p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■用意したもの</a></li><li><a href="#toc2" tabindex="0">■Elegoo MEGA2560 R3ボードとHM-19 Bluetooth 5.0 BLE モジュールを接続する</a></li><li><a href="#toc3" tabindex="0">■スマートフォンにDSD TECH Bluetoothアプリをインストールする</a></li><li><a href="#toc4" tabindex="0">■スマートフォンでHM-19 Bluetooth 5.0 BLE モジュールを検出する</a></li><li><a href="#toc5" tabindex="0">■スマートフォンでHM-19 Bluetooth 5.0 BLE モジュール（デバイス）が検出できたのか検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■用意したもの</span></h2>
<p>・Arduinoバージョン1.8.13がインストールされているノートPC（Windows10）</p>
<p>・Elegoo MEGA2560 R3ボード、1個</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-1941" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-300x167.png" alt="" width="300" height="167" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-300x167.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-1024x570.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-768x428.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889.png 1101w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>・メスからオスのデュポンワイヤーリボンケーブル（Female to Male DuPont wires）、4個</p>
<p>これらは（<a href="https://laboratory.kazuuu.net/introducing-the-final-version-of-the-mega2560-starter-kit-for-elegoo-arduino">ELEGOO Arduino用のMega2560スタータキット最終版</a>）に付属しているものです。</p>
<p>・<a href="https://amzn.to/2YxmNbE">DSD TECH HM-19 Bluetooth 5.0 BLE モジュール</a>、1個（<a href="https://amzn.to/2YxmNbE">アマゾンにて別途で購入したもの</a>）。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/001.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7506" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/001-300x191.png" alt="" width="300" height="191" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/001-300x191.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/001-1024x650.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/001-768x488.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/001.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>米国で登録されているブランドである「DSD TECH」。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/002.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7507" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/002-300x202.png" alt="" width="300" height="202" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/002-300x202.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/002-1024x691.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/002-768x518.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/002.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>米国で登録されているブランドではありますが、DSD TECHのチームは中国にあるということなので、「Made in China」という表記があります。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/003.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7508" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/003-300x213.png" alt="" width="300" height="213" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/003-300x213.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/003-1024x727.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/003-768x546.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/003.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/004.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7509" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/004-300x222.png" alt="" width="300" height="222" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/004-300x222.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/004-1024x758.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/004-768x568.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/004.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc2">■Elegoo MEGA2560 R3ボードとHM-19 Bluetooth 5.0 BLE モジュールを接続する</span></h2>
<p>Elegoo MEGA2560 R3ボードとHM-19 Bluetooth 5.0 BLE モジュールを接続してみます。接続する際は、メスからオスのデュポンワイヤーリボンケーブルを4つ使います。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/005.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7510" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/005-183x300.png" alt="" width="183" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/005-183x300.png 183w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/005-625x1024.png 625w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/005-768x1258.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/005-938x1536.png 938w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/005.png 1250w" sizes="(max-width: 183px) 100vw, 183px" /></a></p>
<p>接続する前に、HM-19 Bluetooth 5.0 BLE モジュールのピンは、STATE、RX、TX、GND、VCC、ENとなっているのを覚えておく。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7511" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>デュポンワイヤーの「メス」の方を、HM-19 Bluetooth 5.0 BLE モジュールのピンに差し込みます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7511" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/006.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/008.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7513" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/008-300x49.png" alt="" width="300" height="49" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/008-300x49.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/008-1024x166.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/008-768x124.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/008.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>ピンに差し込んだ後は、デュポンワイヤーの「オス」をElegoo MEGA2560 R3ボードに接続する。配線は上記のようにしました。</p>
<p>接続が完了した後は、電源を供給するために、今回はノートPCとUSBケーブルで接続する。</p>
<h2><span id="toc3">■スマートフォンにDSD TECH Bluetoothアプリをインストールする</span></h2>
<p>接続後、スマートフォンにDSD TECH Bluetoothアプリをインストールする。</p>
<p>今回はiphoneにDSD TECH Bluetoothアプリをインストールする。（App Store「DSD TECH Bluetooth」:<a href="https://apps.apple.com/jp/app/dsd-tech-bluetooth/id1441528159">https://apps.apple.com/jp/app/dsd-tech-bluetooth/id1441528159</a>）</p>
<p>インストールが完了したら、</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/009.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7514" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/009-169x300.png" alt="" width="169" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/009-169x300.png 169w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/009-576x1024.png 576w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/009-768x1365.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/009-864x1536.png 864w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/009-1152x2048.png 1152w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/009.png 1250w" sizes="(max-width: 169px) 100vw, 169px" /></a></p>
<p>iphoneの「設定」の「Bluetooth」をタップする。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/010.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7515" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/010-169x300.png" alt="" width="169" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/010-169x300.png 169w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/010-576x1024.png 576w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/010-768x1365.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/010-864x1536.png 864w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/010-1152x2048.png 1152w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/010.png 1250w" sizes="(max-width: 169px) 100vw, 169px" /></a></p>
<p>タップすると、「Bluetooth」設定画面になるので、「Bluetooth」を「オン」にする。</p>
<h2><span id="toc4">■スマートフォンでHM-19 Bluetooth 5.0 BLE モジュールを検出する</span></h2>
<p>「Bluetooth」を「オン」にした後に、インストールしたDSD TECH Bluetoothアプリを起動させます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/011.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7517" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/011-169x300.png" alt="" width="169" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/011-169x300.png 169w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/011-576x1024.png 576w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/011-768x1365.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/011-864x1536.png 864w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/011-1152x2048.png 1152w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/011.png 1250w" sizes="(max-width: 169px) 100vw, 169px" /></a></p>
<p>DSD TECH Bluetoothアプリを起動させると、モジュールのスキャンが自動的に開始されます。開始されると、「Paired Device（ペアリングされたデバイス）」のリストに「DSD TECH」という名前のデバイスが表示されます。これが表示されると、ペアリングは完了となります。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/012.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7518" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/012-169x300.png" alt="" width="169" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/012-169x300.png 169w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/012-576x1024.png 576w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/012-768x1365.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/012-864x1536.png 864w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/012-1152x2048.png 1152w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/012.png 1250w" sizes="(max-width: 169px) 100vw, 169px" /></a></p>
<p>iphoneの「設定」の「Bluetooth」の画面も確認してみると、「DSD TECH」というデバイスが認識されて「接続済み」となっていることが確認できました。</p>
<h2><span id="toc5">■スマートフォンでHM-19 Bluetooth 5.0 BLE モジュール（デバイス）が検出できたのか検証</span></h2>
<p><iframe loading="lazy" src="//www.youtube.com/embed/-jiY6Yi9wDU" width="560" height="314" allowfullscreen="allowfullscreen"></iframe></p>
<p>スマートフォンでHM-19 Bluetooth 5.0 BLE モジュール（デバイス）が検出できたのか検証を行いましたが、ペアリングしていない場合は、モジュールの赤色のLEDランプが点滅します。ペアリングが行われると、赤色のLEDランプが点灯し続けます。ペアリングもちゃんとできました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/using-dsd-tech-hm-19-bluetooth-5-0-ble-module/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Arduino入門】iPhone 12 Proシリーズの搭載で注目される「LiDAR」を手軽に使えるtinyLiDAR ToFレンジファインダセンサーを使用する</title>
		<link>https://laboratory.kazuuu.net/arduino-tinylidar-tof-range-finder-sensor/</link>
					<comments>https://laboratory.kazuuu.net/arduino-tinylidar-tof-range-finder-sensor/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Fri, 23 Oct 2020 05:44:25 +0000</pubDate>
				<category><![CDATA[Arduino（アルドゥイーノ）]]></category>
		<category><![CDATA[IoT開発]]></category>
		<category><![CDATA[電子工作]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=3826</guid>

					<description><![CDATA[【Arduino入門】「iPhone 12 Pro」シリーズの搭載で注目されるLiDAR（ライダー）を手軽に使えるtinyLiDAR ToFレンジファインダセンサーを使用する 目次 ■用意したもの■LiDAR（ライダー） [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>【Arduino入門】「iPhone 12 Pro」シリーズの搭載で注目されるLiDAR（ライダー）を手軽に使えるtinyLiDAR ToFレンジファインダセンサーを使用する</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■用意したもの</a></li><li><a href="#toc2" tabindex="0">■LiDAR（ライダー）（Light Detection and Ranging）への理解</a></li><li><a href="#toc3" tabindex="0">■tinyLiDAR ToFレンジファインダセンサにGROVEとオスヘッダピン間ケーブルを接続する</a></li><li><a href="#toc4" tabindex="0">■GROVEとオスヘッダピン間ケーブルと、MEGA2560 R3ボードを接続する</a></li><li><a href="#toc5" tabindex="0">■MEGA2560 R3ボードをPC（パソコン）に接続する</a></li><li><a href="#toc6" tabindex="0">■MEGA2560 R3ボードにコードを書き込む</a></li><li><a href="#toc7" tabindex="0">■tinyLiDAR ToFレンジファインダセンサーによる距離の読み取り検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■用意したもの</span></h2>
<p>・Arduinoバージョン1.8.13がインストールされているPC（Windows10）</p>
<p>・Elegoo MEGA2560 R3ボード（マイコン）、1個（<a href="https://amzn.to/3jtvfjW">https://amzn.to/3jtvfjW</a>）</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-1941" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-300x167.png" alt="" width="300" height="167" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-300x167.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-1024x570.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-768x428.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3889.png 1101w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Arduino Unoでも使用可能ですが、今回はElegoo MEGA2560 R3ボードを使用しています。</p>
<p>・tinyLiDAR ToFレンジファインダセンサ、1個（<a href="https://hb.afl.rakuten.co.jp/ichiba/1d699820.a80bb421.1d699821.ea5d9397/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Frobotshopjapan%2Frb-mce-01%2F&amp;link_type=hybrid_url&amp;ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJoeWJyaWRfdXJsIiwic2l6ZSI6IjI0MHgyNDAiLCJuYW0iOjEsIm5hbXAiOiJyaWdodCIsImNvbSI6MSwiY29tcCI6ImRvd24iLCJwcmljZSI6MSwiYm9yIjoxLCJjb2wiOjEsImJidG4iOjEsInByb2QiOjAsImFtcCI6ZmFsc2V9">https://item.rakuten.co.jp/robotshopjapan/rb-mce-01/</a>）</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4501.png"><img loading="lazy" decoding="async" class="alignnone wp-image-3827 size-medium" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4501-300x253.png" alt="tinyLiDAR ToFレンジファインダセンサ（表）" width="300" height="253" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4501-300x253.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4501.png 430w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4502.png"><img loading="lazy" decoding="async" class="alignnone wp-image-3828 size-medium" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4502-272x300.png" alt="tinyLiDAR ToFレンジファインダセンサ（裏）" width="272" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4502-272x300.png 272w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4502.png 424w" sizes="(max-width: 272px) 100vw, 272px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4496.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3856" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4496-300x264.png" alt="" width="300" height="264" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4496-300x264.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4496-768x676.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4496.png 934w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4497.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3857" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4497-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4497-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4497-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4497-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4497.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>・梱包された袋を確認すると、「Made in Canada（カナダ製）」と記載されている。</p>
<p>・GROVEとオスヘッダピン間ケーブル、1個</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4499.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3829" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4499-269x300.png" alt="" width="269" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4499-269x300.png 269w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4499.png 669w" sizes="(max-width: 269px) 100vw, 269px" /></a></p>
<p>※GROVEとオスヘッダピン間ケーブルはtinyLiDAR ToFレンジファインダセンサを購入すると付属しています。</p>
<h2><span id="toc2">■LiDAR（ライダー）（Light Detection and Ranging）への理解</span></h2>
<p>LiDAR（ライダー）とは、「Light Detection and Ranging」の略語です。パルスレーザーの形をした光を使って距離(可変距離)を測定するリモートセンシング（遠隔からセンサーを使って感知する）技術です。これは新しい技術そのものではないです。</p>
<p>アメリカ航空宇宙局（NASA）は、これを宇宙ミッションに利用しています。また気象学者は、LiDARを使うことで、精度の高い天気予報します。</p>
<p>またこの技術を利用して、3D地図を作成することもできます。さらには自動車の自動運転技術の研究開発にも使われています。</p>
<p>iPhone 12 Proシリーズにも搭載されており、LiDAR（ライダー）を使うことで、レーザー光が当たるものは、すべてで感知し、人間の目のような奥行きを知覚できます。これにより、拡張現実（AR)とそれを超えた可能性が広がります。</p>
<p>ちなみに、遠隔からセンサーを使って感知するため、手を触れずに感知できます。新型コロナウイルスによる感染症対策である、3密（密集・密接・密室）、ソーシャルディスタンスでの距離の測定にも使えます。なお、距離だけでなく、形状まで正確に検知できます。</p>
<p>今回使うtinyLiDARは、Indiegogoにてクラウドファンディングにより、製品化されたものである。</p>
<h2><span id="toc3">■tinyLiDAR ToFレンジファインダセンサにGROVEとオスヘッダピン間ケーブルを接続する</span></h2>
<p>では、tinyLiDAR ToFレンジファインダセンサを使用しますので、まずはtinyLiDAR ToFレンジファインダセンサにGROVEとオスヘッダピン間ケーブルを接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4502-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3831" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4502-1-300x210.png" alt="" width="300" height="210" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4502-1-300x210.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4502-1-768x538.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4502-1.png 846w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>接続する前に、tinyLiDAR ToFレンジファインダセンサには上記の表記があることを確認しておきます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4504.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3832" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4504-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4504-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4504-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4504-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4504.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4505.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3833" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4505-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4505-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4505-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4505-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4505.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc4">■GROVEとオスヘッダピン間ケーブルと、MEGA2560 R3ボードを接続する</span></h2>
<p>接続後、GROVEとオスヘッダピン間ケーブルと、MEGA2560 R3ボードを接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4506.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3834" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4506-300x158.png" alt="" width="300" height="158" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4506-300x158.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4506-768x404.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4506.png 1006w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4507.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3835" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4507-300x149.png" alt="" width="300" height="149" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4507-300x149.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4507-1024x508.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4507-768x381.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4507.png 1148w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-104122.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3836" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-104122-300x92.png" alt="" width="300" height="92" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-104122-300x92.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-104122.png 477w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>配線を間違えないようにします。</p>
<h2><span id="toc5">■MEGA2560 R3ボードをPC（パソコン）に接続する</span></h2>
<p>接続後、MEGA2560 R3ボードをUSBケーブルを使って、PC（パソコン）に接続する。</p>
<h2><span id="toc6">■MEGA2560 R3ボードにコードを書き込む</span></h2>
<p>PC（パソコン）にインストールしてある「Arduino」が起動し、Arduino IDEを表示させます。</p>
<p>表示後、コードを書き込みますが、書き込む前に「Arduino I2C Master Library rev5」ライブラリの追加を行います。ライブラリはこちらからダウンロードできます（<a href="https://github.com/DSSCircuits/I2C-Master-Library">https://github.com/DSSCircuits/I2C-Master-Library</a>）。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-125233.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3845" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-125233-300x264.png" alt="" width="300" height="264" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-125233-300x264.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-125233.png 396w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>ダウンロード先のページを表示すると「Code」というボタンがあるのでクリックし、「Download ZIP」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-125410.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3846" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-125410.png" alt="" width="143" height="102" /></a></p>
<p>クリックすると、ダウンロードが開始され、Webブラウザで指定されている保存場所に「I2C-Master-Library-master.zip」というファイルがダウンロードされます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-105908.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3840" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-105908-300x289.png" alt="" width="300" height="289" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-105908-300x289.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-105908.png 629w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>ダウンロード後、Arduino IDEに戻ります。Arduino IDEから「スケッチ」の「ライブラリのインクルード」をクリックします。クリックするとプルダウンメニューが表示されますので、「.ZIP形式のライブラリをインストール..」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-123514.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3847" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-123514-300x236.png" alt="" width="300" height="236" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-123514-300x236.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-123514.png 547w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「インストールするライブラリを含むZIPファイルまたはフォルダを指定してください。」というウインドウが表示されますので、「I2C-Master-Library-master.zip」を選択し、「開く」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-105846.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3841" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-105846-300x79.png" alt="" width="300" height="79" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-105846-300x79.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-105846.png 488w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、Arduino IDEの下部に「ライブラリが追加されました。」と表示されます。これでライブラリが追加されました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-125734.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3848" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-125734-300x291.png" alt="" width="300" height="291" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-125734-300x291.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-125734.png 611w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>先程のArduino IDEから「スケッチ」の「ライブラリのインクルード」を確認すると、「提供されたライブラリ」に「I2C-Master-Library-master」が追加されていることが確認できます。</p>
<p>確認後、「tinyLiDAR ToF Range Finder Sensor Datasheet（<a href="https://www.robotshop.com/media/files/pdf/tinylidar-tof-range-finder-sensor-datasheet.pdf">https://www.robotshop.com/media/files/pdf/tinylidar-tof-range-finder-sensor-datasheet.pdf</a>）」内に記載されている「Sample Arduino UNO Sketches for tinyLiDAR（tinyLiDAR用のサンプルArduinoUNOスケッチ）」に表示されているコードをArduino IDEに記述します。今回はこちら（<a href="https://microedco.s3.amazonaws.com/index.html">https://microedco.s3.amazonaws.com/index.html</a>）でも公開されている「minimalRead_DUE.ino」というスケッチ、コードを書き込みます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130015.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3849" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130015-245x300.png" alt="" width="245" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130015-245x300.png 245w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130015.png 485w" sizes="(max-width: 245px) 100vw, 245px" /></a></p>
<p>記述後、「Arduino」の上部にある「マイコンボードに書き込む・書込装置を使って書き込み」ボタンをクリックします。クリックする際は、接続したPC（パソコン）でMEGA2560 R3ボードが認識されているかを確認し、クリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130325.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3850" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130325-300x89.png" alt="" width="300" height="89" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130325-300x89.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130325.png 487w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、Arduino IDEの下部に「ボードへの書き込みが完了しました。」と表示されます。これでスケッチ、コードの書き込みは完了します。</p>
<h2><span id="toc7">■tinyLiDAR ToFレンジファインダセンサーによる距離の読み取り検証</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130559.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3851" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130559-291x300.png" alt="" width="291" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130559-291x300.png 291w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-130559.png 484w" sizes="(max-width: 291px) 100vw, 291px" /></a></p>
<p>スケッチ、コードの書き込み後、Arduino IDEの上部右側に「シリアルモニタ」ボタンがあるので、クリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-140804.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3855" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-140804-300x187.png" alt="" width="300" height="187" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-140804-300x187.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-23-140804.png 646w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><iframe loading="lazy" src="//www.youtube.com/embed/-0L30SwmXjA" width="560" height="314" allowfullscreen="allowfullscreen"></iframe></p>
<p>クリックすると、tinyLiDAR ToFレンジファインダセンサーから<em>レーザー</em>光が照射され、物体までの距離が出力されます。なお、シリアルモニタでの出力が文字化けする場合は、「Serial.begin(115200);」といったコード表記になっていますが、「Serial.begin(9600);」に変更すると改善します。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/arduino-tinylidar-tof-range-finder-sensor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【M5Stack】ATOM GPS キット (M8030-KT)を使用する</title>
		<link>https://laboratory.kazuuu.net/use-m5stack-atom-gps-kit-m8030-kt/</link>
					<comments>https://laboratory.kazuuu.net/use-m5stack-atom-gps-kit-m8030-kt/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 22 Oct 2020 06:09:55 +0000</pubDate>
				<category><![CDATA[IoT開発]]></category>
		<category><![CDATA[M5Stack（エムファイブスタック）]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=3791</guid>

					<description><![CDATA[【M5Stack】ATOM GPS Kit (M8030-KT)を使用について解説しています。 ATOM GPS Kit (M8030-KT)は、車両（トラックなど）追跡,人の行動の監視などに使えます。 目次 ■商品紹介 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>【M5Stack】ATOM GPS Kit (M8030-KT)を使用について解説しています。</p>
<p>ATOM GPS Kit (M8030-KT)は、車両（トラックなど）追跡,人の行動の監視などに使えます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■商品紹介</a></li><li><a href="#toc2" tabindex="0">■サンプルコードのための環境</a></li><li><a href="#toc3" tabindex="0">■ArduinoサンプルコードをATOM Liteに書き込む</a></li><li><a href="#toc4" tabindex="0">■トラブル：「&#8217;class LED_Display&#8217; has no member named &#8216;fillpix&#8217;」というエラーが表示される</a><ol><li><a href="#toc5" tabindex="0">■コード</a></li></ol></li><li><a href="#toc6" tabindex="0">■microSDメモリーカードへ保存する場合</a></li><li><a href="#toc7" tabindex="0">■ATOM GPS Kit (M8030-KT)を持って外出する</a></li><li><a href="#toc8" tabindex="0">■ATOM GPS Kit (M8030-KT)とスマートフォンで無線通信（Bluetooth）を行いリアルタイムで緯度や経度などのGPS情報を取得する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■商品紹介</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4467.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3792" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4467-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4467-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4467-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4467-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4467.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>デジット 共立電子産業株式会社（大阪市浪速区日本橋4-6-7）さんで、2860円で購入。スイッチサイエンスさんでも購入できます（<a href="https://www.switch-science.com/catalog/6474/">https://www.switch-science.com/catalog/6474/</a>）。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4469.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3793" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4469-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4469-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4469-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4469-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4469.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>AtomicGPS、ATOM Lite、六角スパナ、M2*3 mm 六角セルフタッピングネジ、M2*8mm六角穴付き小ネジ、18 cm Type-C ケーブルが付属してます。ATOM Lite本体が付属しているので、別途購入する必要はない。</p>
<p>本体のサイズは、スマートフォンよりも小さい。</p>
<h2><span id="toc2">■サンプルコードのための環境</span></h2>
<p>Windows10</p>
<h2><span id="toc3">■ArduinoサンプルコードをATOM Liteに書き込む</span></h2>
<p>ATOM GPS Kit (M8030-KT)を使用するために、Arduinoサンプルコード（<a href="https://github.com/m5stack/M5-ProductExampleCodes/tree/master/AtomBase/AtomicGPS">https://github.com/m5stack/M5-ProductExampleCodes/tree/master/AtomBase/AtomicGPS</a>）を書き込んでみます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094558.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3794" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094558-300x155.png" alt="" width="300" height="155" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094558-300x155.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094558-768x397.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094558.png 862w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Arduinoサンプルコードが公開されているページで、「M5-ProductExampleCodes」という表示をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094729.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3795" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094729-300x146.png" alt="" width="300" height="146" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094729-300x146.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094729-768x374.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094729.png 984w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、右側に「Code」と書かれたボタンがあるので、こちらをクリックします。クリックすると、プルダウンメニューが表示されますので、「Download ZIP」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094936.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3796" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094936.png" alt="" width="126" height="125" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094936.png 126w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-094936-100x100.png 100w" sizes="(max-width: 126px) 100vw, 126px" /></a></p>
<p>クリックすると、ダウンロードが開始されます。しばらくすると、Webブラウザで指定されたファイルの保存場所に「M5-ProductExampleCodes-master.zip」というZIP形式のファイルがダウンロードされます。このファイルを解凍します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-095211.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3797" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-095211-300x94.png" alt="" width="300" height="94" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-095211-300x94.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-095211.png 565w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>解凍すると、「M5-ProductExampleCodes-master」＞「AtomBase」＞「AtomicGPS」のフォルダに「AtomicGPS.ino」というファイルがありますので、こちらをクリックします。クリックする前に、<a href="https://laboratory.kazuuu.net/how-to-download-and-install-arduino-ide/">Arduino IDEのダウンロードとインストールを行っておく必要</a>があります。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-095519.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3798" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-095519-245x300.png" alt="" width="245" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-095519-245x300.png 245w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-095519.png 486w" sizes="(max-width: 245px) 100vw, 245px" /></a></p>
<p>クリックすると、Arduino IDEが起動し、「AtomicGPS.ino」のコードが表示されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4472-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3799" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4472-1-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4472-1-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4472-1-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4472-1-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4472-1.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>このコードをATOM Lite本体に書き込むために、付属しているType-C ケーブルをATOM Lite本体に差し込みます。差し込んだ後、PCのUSBコネクタに差し込みます。<a href="https://laboratory.kazuuu.net/create-an-environment-for-atom-lite/">ATOM Liteの環境を構築する際はこちらが参考になる</a>かと思います。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/2020-10-22.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3801" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/2020-10-22-300x90.png" alt="" width="300" height="90" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/2020-10-22-300x90.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/2020-10-22.png 486w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>差し込んだ後に、Arduino IDEの上部メニューから「ツール」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-105937.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3802" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-105937-285x300.png" alt="" width="285" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-105937-285x300.png 285w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-105937.png 327w" sizes="(max-width: 285px) 100vw, 285px" /></a></p>
<p>クリックすると、プルダウンメニューが表示されますので「ボード：”ESPea32”」、「Upload Speed:&#8221;115200&#8243;」、「Flash Frequency:&#8221;80MHz&#8221;」、「シリアルポート:”COM5”」のようになっている確認します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3803" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207-300x298.png" alt="" width="300" height="298" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207-300x298.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207-150x150.png 150w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207-100x100.png 100w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207.png 483w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>確認後、Arduino IDEの上部「書込装置を使って書き込む」ボタンをクリックします。クリックすると書き込みが開始されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110711.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3804" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110711-300x78.png" alt="" width="300" height="78" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110711-300x78.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110711.png 487w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>書き込みが開始されてしばらくすると、Arduino IDEの下部に「ボードへの書き込みが完了しました。」と表示されます。これで書き込みは完了となります。</p>
<h2><span id="toc4">■トラブル：「&#8217;class LED_Display&#8217; has no member named &#8216;fillpix&#8217;」というエラーが表示される</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-111034.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3805" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-111034-300x254.png" alt="" width="300" height="254" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-111034-300x254.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-111034.png 483w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>「書込装置を使って書き込む」ボタンをクリックして書き込みを行っている際に、Arduino IDEの下部に「&#8217;class LED_Display&#8217; has no member named &#8216;fillpix&#8217;」というメッセージが表示される場合があります。</p>
<h3><span id="toc5">■コード</span></h3>
<pre>/*This is an example used SerialBT,you can can view gps data by connecting 
 * to Bluetooth assistant on your mobilephone or Serial Monitor
 * the GPS log will be written to SD card
 * 
 */


#include "M5Atom.h"
#include "GPSAnalyse.h"
#include 
#include "FS.h"
#include 
#include 
 
BluetoothSerial SerialBT;
GPSAnalyse GPS;

uint64_t chipid;
char chipname[256];

const char filename[] = "/GPSdata.txt";
File txtFile;

float Lat;
float Lon;
String Utc;

bool writeLog(String filename) {          //Write GPSdata to SDcard
  txtFile = SD.open(filename, FILE_APPEND);
  if(txtFile){
    txtFile.print(Lat);
    txtFile.print(", ");
    txtFile.print(Lon);
    txtFile.print(", ");
    txtFile.println(Utc);
    txtFile.close();
  }else{
    return false;
  }
  return true;
}

void setup() {

    M5.begin(true,false,true); 
    chipid = ESP.getEfuseMac();
    sprintf( chipname, "SerialBT_%04X", (uint16_t)(chipid &gt;&gt; 32));
    Serial.printf("Bluetooth: %s\n", chipname);   
    SPI.begin(23,33,19,-1);
    if(!SD.begin(-1, SPI, 40000000)){
      Serial.println("initialization failed!");
    } 
    sdcard_type_t Type = SD.cardType();

    Serial.printf("SDCard Type = %d \r\n",Type);
    Serial.printf("SDCard Size = %d \r\n" , (int)(SD.cardSize()/1024/1024));

  //    M5.dis.fillpix(0x00004f);
        M5.dis.drawpix(0,0x00004f);
    
    Serial1.begin(9600,SERIAL_8N1,22,-1);
    SerialBT.begin(chipname);
    GPS.setTaskName("GPS");
    GPS.setTaskPriority(2);
    GPS.setSerialPtr(Serial1);
    GPS.start();
}

void loop() {
    GPS.upDate();
    Lat = GPS.s_GNRMC.Latitude;
    Lon = GPS.s_GNRMC.Longitude;
    Utc = GPS.s_GNRMC.Utc;
    SerialBT.printf("Latitude= %.5f \r\n",Lat);
    SerialBT.printf("Longitude= %.5f \r\n",Lon);
    SerialBT.printf("DATA= %s \r\n",Utc);
    Serial.printf("Latitude= %.5f \r\n",Lat);
    Serial.printf("Longitude= %.5f \r\n",Lon);
    Serial.printf("DATA= %s \r\n",Utc);
    writeLog(filename);
    delay(1000);
}</pre>
<p>このような場合は上記のように変更すると、「ボードへの書き込みが完了しました。」と表示され書き込みが完了します。</p>
<h2><span id="toc6">■microSDメモリーカードへ保存する場合</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4489.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3806" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4489-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4489-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4489-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4489-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4489.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>緯度や経度などの GPS 情報をmicroSDメモリーカードへ保存する場合は、まずmicroSDをAtomicGPS本体へ差し込みます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4490.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3807" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4490-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4490-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4490-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4490-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4490.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>差し込んだ後に、ATOM Lite本体とAtomicGPS本体を接続し、さらにType-C ケーブルも差し込んでPCのUSBコネクタに差し込みます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3803" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207-300x298.png" alt="" width="300" height="298" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207-300x298.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207-150x150.png 150w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207-100x100.png 100w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-110207.png 483w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>差し込んだ後に、Arduino IDEの上部「書込装置を使って書き込む」ボタンをクリックします。クリックすると書き込みが開始され、完了となります。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-112600.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3808" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-112600-300x173.png" alt="" width="300" height="173" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-112600-300x173.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-112600-768x444.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-112600-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-112600.png 800w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>（この画像はサンプルです）</p>
<p>完了後、ATOM Lite本体とAtomicGPS本体の動作確認を行った後に、microSDメモリーカードを確認します。確認すると、「GPSdata.txt」というファイルが作成されていますので、このファイルを確認すると、緯度や経度などの GPS 情報が記録されています。</p>
<h2><span id="toc7">■ATOM GPS Kit (M8030-KT)を持って外出する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4491.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3815" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4491-300x139.png" alt="" width="300" height="139" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4491-300x139.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4491.png 418w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>ATOM GPS Kit (M8030-KT)を持って外出する際は、念の為技適マークがあるかどうかを確認する。技適マークがなかった場合は、外出する・しないに関わらず<a href="https://laboratory.kazuuu.net/submit-a-notification-to-the-special-system-for-experiments-using-unqualified-equipment/">技適未取得のWi-Fi機器が180日使用可能になる技適未取得機器を用いた実験等の特例制度</a>を利用しないといけないので、技適マークが確認できたため、実験のために、持ち出してみる。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4492.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3816" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4492-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4492-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4492-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4492-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4492.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>持ち出す際は、ATOM GPS Kit (M8030-KT)のみでは動かない。動作確認を行うためには、電源供給を行えるものが必要となる。今回はモバイルバッテリーから電源を供給を行い、動作確認を行ってみる。モバイルバッテリーに接続すると、ATOM GPS Kit (M8030-KT)のLEDが点灯する。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-145253.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3817" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-145253-300x197.png" alt="" width="300" height="197" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-145253-300x197.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-22-145253.png 760w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>ATOM GPS Kit (M8030-KT)を外に持ち出した後に、microSDメモリーカードを確認してみると、緯度と経度などの情報が記録されていることが確認できた。</p>
<h2><span id="toc8">■ATOM GPS Kit (M8030-KT)とスマートフォンで無線通信（Bluetooth）を行いリアルタイムで緯度や経度などのGPS情報を取得する</span></h2>
<p>ATOM GPS Kit (M8030-KT)とスマートフォンで無線通信（Bluetooth）を行う場合は、「Bluetooth Terminal」などのターミナルアプリをインストールする。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/Photo_20-10-22-14-58-58.800.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3819" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/Photo_20-10-22-14-58-58.800-141x300.png" alt="" width="141" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/Photo_20-10-22-14-58-58.800-141x300.png 141w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/Photo_20-10-22-14-58-58.800-481x1024.png 481w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/Photo_20-10-22-14-58-58.800.png 721w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>（Android10での認識テスト）</p>
<p>Bluetooth経由で接続を行うと、「SerialBT_○○○○」といったデバイス名が表示されるので、この名前が今回使用しているATOM GPS Kit (M8030-KT)である。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/use-m5stack-atom-gps-kit-m8030-kt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ATOM GPS 開発キット（M8030-KT）EasyLoaderをダウンロードから起動する（Windows10）</title>
		<link>https://laboratory.kazuuu.net/atom-gps-m-8030-kt-easyloadlo-windows-10/</link>
					<comments>https://laboratory.kazuuu.net/atom-gps-m-8030-kt-easyloadlo-windows-10/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Mon, 19 Oct 2020 01:40:16 +0000</pubDate>
				<category><![CDATA[IoT開発]]></category>
		<category><![CDATA[M5Stack（エムファイブスタック）]]></category>
		<category><![CDATA[電子工作]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=3656</guid>

					<description><![CDATA[ATOM GPS 開発キット（M8030-KT）EasyLoaderをダウンロードから起動する（Windows10） EasyLoaderは、製品に関連するケースプログラムを内蔵しているシンプルで高速なプログラムライター [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>ATOM GPS 開発キット（M8030-KT）EasyLoaderをダウンロードから起動する（Windows10）</p>
<p>EasyLoaderは、製品に関連するケースプログラムを内蔵しているシンプルで高速なプログラムライターです。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■ダウンロード</a></li><li><a href="#toc2" tabindex="0">■起動する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■ダウンロード</span></h2>
<p>ダウンロードする場合は、こちら（<a href="https://docs.m5stack.com/#/en/atom/atomicgps">https://docs.m5stack.com/#/en/atom/atomicgps</a>）のページにアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-101707.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3658" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-101707-258x300.png" alt="" width="258" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-101707-258x300.png 258w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-101707.png 357w" sizes="(max-width: 258px) 100vw, 258px" /></a></p>
<p>ページの下部に「Windows」と書かれているボタンがあるので、こちらをクリックします。</p>
<p>クリックすると、ダウンロードが開始されます。</p>
<h2><span id="toc2">■起動する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-101940.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3659" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-101940.png" alt="" width="131" height="123" /></a></p>
<p>しばらくすると、Webブラウザで指定されている保存場所に「EasyLoader_Atomic_GPS.exe」というファイルがダウンロードされます。こちらをダブルクリックで起動させます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102107.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3661" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102107-300x281.png" alt="" width="300" height="281" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102107-300x281.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102107.png 546w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>起動させると、「WindowsによってPCが保護されてました」というウインドウが表示されます。このウインドウ内で「詳細情報」という文字をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102338.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3662" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102338-300x286.png" alt="" width="300" height="286" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102338-300x286.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102338.png 543w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「実行」ボタンが表示されますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102403.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3663" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102403-300x208.png" alt="" width="300" height="208" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102403-300x208.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102403.png 602w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、筆者のPCにはウイルス対策ソフトであるアバスト（Avast）がインストールされており、それが反応し、「怪しいファイルを検出しました」と表示され、スキャンが開始されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102422.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3664" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102422-300x216.png" alt="" width="300" height="216" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102422-300x216.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-102422.png 602w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>しばらくすると、「詳しく調査する必要があるようです」と書かれたウインドウが表示されます。このウインドウ内で「その他のオプション」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-103005.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3665" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-103005.png" alt="" width="260" height="187" /></a></p>
<p>クリックすると、プルダウンメニューが表示されますので、「開く」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-103019.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3666" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-103019-300x207.png" alt="" width="300" height="207" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-103019-300x207.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-103019.png 600w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>「よろしいですか？」と書かれたウインドウが表示され、「EasyLoader_Atomic_GPS.exeなどの怪しいファイルがお使いのコンピューターに害を及ぼす可能性があります。」といったことが書かれていますが、「開く」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-103036.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3668" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-103036-202x300.png" alt="" width="202" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-103036-202x300.png 202w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-103036.png 269w" sizes="(max-width: 202px) 100vw, 202px" /></a></p>
<p>クリックすると、「Easy Loader」と表示されたウインドウが開きます。これでEasy Loaderの起動は完了です。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-183827.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3698" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-183827-300x216.png" alt="" width="300" height="216" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-183827-300x216.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-19-183827.png 599w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Easy Loaderを起動、終了してからしばらくすると、アバスト（Avast）のウインドウが表示されます。「脅威研究所からよいお知らせです。」と書かれており、「EasyLoader_Atomic_GPS.exeには脅威は一切見当たりませんでした。」と続けて報告が書かれていました。起動させても特に問題はないようです。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/atom-gps-m-8030-kt-easyloadlo-windows-10/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【obniz入門】ステッピングモーターを使用する</title>
		<link>https://laboratory.kazuuu.net/obniz-use-a-stepping-motor/</link>
					<comments>https://laboratory.kazuuu.net/obniz-use-a-stepping-motor/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 15 Oct 2020 06:51:22 +0000</pubDate>
				<category><![CDATA[IoT開発]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[obniz（オブナイズ）]]></category>
		<category><![CDATA[電子工作]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=3537</guid>

					<description><![CDATA[ステッピングモーターを使用してみます。 目次 ■用意したもの別途用意したもの■ブレットボードにブレッドボード用電源モジュールを接続する■ブレットボードにメスからオスのデュポンワイヤーリボンケーブルを接続する■ULN200 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>ステッピングモーターを使用してみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■用意したもの</a><ol><li><a href="#toc2" tabindex="0">別途用意したもの</a></li></ol></li><li><a href="#toc3" tabindex="0">■ブレットボードにブレッドボード用電源モジュールを接続する</a></li><li><a href="#toc4" tabindex="0">■ブレットボードにメスからオスのデュポンワイヤーリボンケーブルを接続する</a></li><li><a href="#toc5" tabindex="0">■ULN2003ドライバーボードに、メスからオスのデュポンワイヤーリボンケーブルを接続する</a></li><li><a href="#toc6" tabindex="0">■ULN2003ドライバーボードに、ステッピングモーターを接続する</a></li><li><a href="#toc7" tabindex="0">■ULN2003ドライバーボードの「IN」にメスからオスのデュポンワイヤーリボンケーブルを接続する</a></li><li><a href="#toc8" tabindex="0">■ULN2003ドライバーボードに接続したデュポンワイヤーリボンケーブルをobniz Board本体へ接続する</a></li><li><a href="#toc9" tabindex="0">■obniz Boardをノートパソコンに接続する。</a></li><li><a href="#toc10" tabindex="0">■ブレッドボード用電源モジュールに9V1A アダプターを接続する。</a></li><li><a href="#toc11" tabindex="0">■デベロッパーのコンソールにアクセスし、プログラムを作る。</a><ol><li><a href="#toc12" tabindex="0">■コード</a></li><li><a href="#toc13" tabindex="0">■検証・確認</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■用意したもの</span></h2>
<p>・obniz Board</p>
<p>・Micro USBケーブル</p>
<p>これらは<a href="https://laboratory.kazuuu.net/i-bought-obniz-starter-kit-that-works-with-javascript/">「obniz Starter kit（オブナイズ スターターキット）」</a>に付属しています。</p>
<h3><span id="toc2">別途用意したもの</span></h3>
<p>・Windows10を搭載したノートパソコン（オンラインのプログラムエディタを開くため）</p>
<p>・インターネット環境、WiMAX（ワイマックス）。</p>
<p>・Ren He 5V ステッピングモーター、1個（<a href="https://amzn.to/3nZUeyP">https://amzn.to/3nZUeyP</a>）</p>
<p>・28BYJ-48 ULN2003ドライバーボード、1個（<a href="https://amzn.to/3nZUeyP">https://amzn.to/3nZUeyP</a>）</p>
<p>・BREADBOARD（ブレットボード） 、1個（<a href="https://amzn.to/30DRNaO">https://amzn.to/30DRNaO</a>）</p>
<p>・メスからオスのデュポンワイヤーリボンケーブル（Female to Male DuPont wires）、6つ（<a href="https://amzn.to/33BKWAN">https://amzn.to/33BKWAN</a>）</p>
<p>・ブレッドボード用電源モジュール（Breadboard Power Supply）、1つ（<a href="https://amzn.to/3d3R4Vo">https://amzn.to/3d3R4Vo</a>）</p>
<p>・9V1A アダプター、1つ（<a href="https://amzn.to/2SwsVxc">https://amzn.to/2SwsVxc</a>）</p>
<h2><span id="toc3">■ブレットボードにブレッドボード用電源モジュールを接続する</span></h2>
<p>まずは、ブレットボードにブレッドボード用電源モジュールを接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4429.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3363" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4429-157x300.png" alt="" width="157" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4429-157x300.png 157w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4429-535x1024.png 535w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4429.png 627w" sizes="(max-width: 157px) 100vw, 157px" /></a></p>
<p>接続する際は、ブレッドボードに書かれている「＋」、「－」と、ブレッドボード用電源モジュールに記載されている「＋」、「－」が合わさるように接続します。</p>
<h2><span id="toc4">■ブレットボードにメスからオスのデュポンワイヤーリボンケーブルを接続する</span></h2>
<p>接続後、ブレッドボードにメスからオスのデュポンワイヤーリボンケーブルを接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4450.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3538" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4450-300x255.png" alt="" width="300" height="255" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4450-300x255.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4450-768x652.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4450.png 936w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>デュポンワイヤーリボンケーブルを接続する際は、ブレッドボード用電源モジュールの「5V」と記載されているところの「＋」、「－」にそれぞれ1つずつ接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4451.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3539" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4451-300x140.png" alt="" width="300" height="140" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4451-300x140.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4451-1024x477.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4451-768x358.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4451.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc5">■ULN2003ドライバーボードに、メスからオスのデュポンワイヤーリボンケーブルを接続する</span></h2>
<p>接続後、ULN2003ドライバーボードにメスからオスのデュポンワイヤーリボンケーブルを接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4452.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3540" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4452-300x221.png" alt="" width="300" height="221" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4452-300x221.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4452-768x567.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4452.png 831w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>ULN2003ドライバーボードには「－」、「+」の表記があるので、ブレッドボード用電源モジュールと接続したメスからオスのデュポンワイヤーリボンケーブルをそれぞれ接続します。</p>
<h2><span id="toc6">■ULN2003ドライバーボードに、ステッピングモーターを接続する</span></h2>
<p>接続後、ULN2003ドライバーボードにステッピングモーターを接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4453.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3541" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4453-300x259.png" alt="" width="300" height="259" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4453-300x259.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4453-768x662.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4453.png 783w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4454.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3542" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4454-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4454-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4454-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4454-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4454.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4455.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3543" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4455-225x300.png" alt="" width="225" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4455-225x300.png 225w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4455-768x1024.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4455.png 900w" sizes="(max-width: 225px) 100vw, 225px" /></a></p>
<p>ステッピングモーターのピンは奥までしっかりと接続します。</p>
<h2><span id="toc7">■ULN2003ドライバーボードの「IN」にメスからオスのデュポンワイヤーリボンケーブルを接続する</span></h2>
<p>接続後、ULN2003ドライバーボードの「IN」という表記があるところに、メスからオスのデュポンワイヤーリボンケーブルを接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4456-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3547" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4456-1-300x276.png" alt="" width="300" height="276" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4456-1-300x276.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4456-1.png 723w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4457.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3548" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4457-300x180.png" alt="" width="300" height="180" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4457-300x180.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4457-768x460.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4457.png 946w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc8">■ULN2003ドライバーボードに接続したデュポンワイヤーリボンケーブルをobniz Board本体へ接続する</span></h2>
<p>接続後、ULN2003ドライバーボードに接続したデュポンワイヤーリボンケーブルをobniz Board本体へ接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4459.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3549" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4459-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4459-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4459-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4459-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4459.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-15-145921.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3550" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-15-145921-300x64.png" alt="" width="300" height="64" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-15-145921-300x64.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-15-145921.png 585w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc9">■obniz Boardをノートパソコンに接続する。</span></h2>
<p>接続した後は、obniz Board本体をUSBケーブルを使い、ノートパソコンへ接続します。</p>
<h2><span id="toc10">■ブレッドボード用電源モジュールに9V1A アダプターを接続する。</span></h2>
<p>接続後、ブレッドボード用電源モジュールに9V1A アダプターを接続し、RC522 RFID リーダーモジュールに電力を供給します。</p>
<h2><span id="toc11">■デベロッパーのコンソールにアクセスし、プログラムを作る。</span></h2>
<p>接続後、「obniz &#8211; developer&#8217;s console（<a href="http://obniz.com/ja/console/program">http://obniz.com/ja/console/program</a>）」にアクセスします。アクセス後、オンラインのプログラムエディタでプログラムを作っていきます。</p>
<p>ステッピングモーター（StepperMotor）のプログラムの参考はこちら（<a href="https://obniz.com/ja/sdk/parts/MFRC522/README.md">https://obniz.com/ja/sdk/parts/MFRC522/README.md</a>）。</p>
<h3><span id="toc12">■コード</span></h3>
<p><script src="https://gist.github.com/kobayashikazu/d88bff10e4eb99280f6562cc2065b75f.js"></script></p>
<p>「ON」ボタンを押すと、ステッピングモーターが動きます。</p>
<p>オンラインのプログラムエディタではエラーが表示されてしまってますが、実験でのプログラム実行なので、検証・確認に進めます。</p>
<h3><span id="toc13">■検証・確認</span></h3>
<p><iframe loading="lazy" src="//www.youtube.com/embed/EcsUpLcJrEM" width="560" height="314" allowfullscreen="allowfullscreen"></iframe></p>
<p>プログラムを実行し、実際にステッピングモーターが動作するのか検証・確認を行いました。検証・確認を行いましたが、「ON」ボタンを押すと、ステッピングモーターが動くことを確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/obniz-use-a-stepping-motor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>技適未取得機器を用いた実験等の特例制度の届け出を出す（個人の場合）</title>
		<link>https://laboratory.kazuuu.net/submit-a-notification-to-the-special-system-for-experiments-using-unqualified-equipment/</link>
					<comments>https://laboratory.kazuuu.net/submit-a-notification-to-the-special-system-for-experiments-using-unqualified-equipment/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 14 Oct 2020 04:09:55 +0000</pubDate>
				<category><![CDATA[IoT開発]]></category>
		<category><![CDATA[電子工作]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=3492</guid>

					<description><![CDATA[技適未取得機器を用いた実験等の特例制度の届け出の出し方（個人の場合）について解説します。 Wi-FiやBluetoothなどの無線機器を使用する場合には、技適マーク（技術基準適合証明,技術基準適合認定）が必要となります。 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>技適未取得機器を用いた実験等の特例制度の届け出の出し方（個人の場合）について解説します。</p>
<p>Wi-FiやBluetoothなどの無線機器を使用する場合には、技適マーク（技術基準適合証明,技術基準適合認定）が必要となります。しかし、外国・海外のWi-FiやBluetoothなどの無線機器は、技適マークがついていないものがあります。電子工作（Arduino/Raspberry Piなど）のWi-FiやBluetoothなどの無線部品にも技適マークがついていないものがあります。</p>
<p>技適マークがついていないものを使用すると、電波法違反になる場合があります。</p>
<p>電波法違反になる場合がありますので、技適マークがついていないものを使用する場合は「技適未取得機器を用いた実験等の特例制度」を利用し、届け出を出す必要があります。</p>
<p>届け出を出す前に、あなたが使っている無線設備は使用できるものか、そうでないものを調べるには、こちら（<a href="https://exp-sp.denpa.soumu.go.jp/public/">https://exp-sp.denpa.soumu.go.jp/public/</a>）のページを参考にしてください。こちらのページのチェック項目を確認し、「この手続きの対象です！」と判断できれば、技適未取得機器を用いた実験等の特例制度の利用の手続きの対象となります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■初めて申請する場合は「新規ユーザ登録」を行う</a></li><li><a href="#toc2" tabindex="0">■開設届出を行う</a><ol><li><a href="#toc3" tabindex="0">■感想</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■初めて申請する場合は「新規ユーザ登録」を行う</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-112950.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3494" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-112950.png" alt="" width="172" height="58" /></a></p>
<p>「技適未取得機器を用いた実験等の特例制度」を初めて申請する場合は、こちら（<a href="https://exp-sp.denpa.soumu.go.jp/public/">https://exp-sp.denpa.soumu.go.jp/public/</a>）のページから「新規ユーザ登録」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-113124.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3495" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-113124.png" alt="" width="217" height="108" /></a></p>
<p>クリックすると、「総務省 技適未取得機器を用いた実験等の特例制度 Web届出システム利用規約」が書かれたページが表示されますので、この内容を確認し、「同意するボタン」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-113502.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3496" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-113502.png" alt="" width="260" height="97" /></a></p>
<p>クリックすると、「アカウント作成の流れ」が書かれたページが表示されますので、内容を確認します。アカウント作成のためには、本人確認が必要です。本人確認のためには、「電子署名を用いたオンラインでの本人確認」か、「対面による窓口での本人確認」のいずれかを選択します。なお、2020年5月27日より、郵送の手続により一時的なアカウントを発行することが可能となっています。</p>
<p>内容を確認後、「次へ」ボタンをクリックします。</p>
<p>クリックすると、「使用するメールアドレスの入力」と書かれたページが表示されますので、現在ご使用のメールアドレスを入力し、「ワンタイムパスワード送信」ボタンをクリックします。</p>
<p>クリックすると、「ワンタイムパスワード入力」の画面に切り替わりますので、入力したメールアドレスに「ワンタイムパスワードのお知らせ」というメールが届いていますので、メール本文に「ワンタイムパスワード： ○○○○-○○○○○」といった記載がありますので、このパスワードを、画面に入力します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114341.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3497" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114341-250x300.png" alt="" width="250" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114341-250x300.png 250w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114341.png 510w" sizes="(max-width: 250px) 100vw, 250px" /></a></p>
<p>入力後、「次へ」ボタンをクリックします。クリックすると「ユーザ情報入力」のページが表示されますので、「届出者の情報」で「個人／法人の別」で「個人」なのか「法人」なのかを選択します。今回は個人（筆者は個人事業主）で選択します。</p>
<p>次に「氏名」、「氏名フリガナ」、「住所（都道府県/市区町村、町・丁目・番地等）」、「連絡先（電話番号）」を選択・入力します。</p>
<p>選択・入力後「入力内容確認」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114607.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3498" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114607-300x249.png" alt="" width="300" height="249" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114607-300x249.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114607.png 730w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「入力内容確認」と書かれたページが表示されますので、入力した内容に間違いがないかを確認し、「送信してパスワード設定に進む」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114903.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3499" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114903-300x257.png" alt="" width="300" height="257" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114903-300x257.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-114903.png 733w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「新規ユーザの仮登録を行いました。(お問い合わせ番号：X-○○○○○○○○-○○-○○○○○○)」と書かれたページが表示されますので、「ユーザID」を確認し、「パスワードの設定」でパスワードを入力し、「設定して次へ」ボタンをクリックします。なお、メールアドレスには「新規ユーザ仮登録のお知らせ　総務省 技適未取得機器を用いた実験等の特例制度」という内容のメールが届きます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-115244.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3500" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-115244-300x218.png" alt="" width="300" height="218" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-115244-300x218.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-115244-768x559.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-115244.png 783w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「ワンタイムパスワード認証」と書かれたページが表示されますので、メールアドレスに「ワンタイムパスワードのお知らせ」が再度届きますので、メール本文の「ワンタイムパスワード： ○○○○-○○○○○」といった記載に書かれたパスワードを入力します。</p>
<p>入力後、「この端末を信頼済みとして登録します」のチェックボックスにチェックを入れることで、次回以降のログイン時に、今回使用した端末でログインした場合は、ワンタイムパスワード認証が不要になります。</p>
<p>その後、「ログイン」ボタンをクリックします。</p>
<p>クリックすると、「本人確認」と書かれたページになります。こちらで「本人確認を行う届出者情報」を確認し、本人確認を行います。今回はマイナンバーカードの署名用電子証明書を用いて、電子署名によるオンラインでの本人確認を行ってみます。マイナンバーカードを使用する場合は、マイナンバーカードの読み取りに対応したICカードリーダーと、パソコン（Windows/Mac）、インターネット環境が必要になります。また、電子署名を行うためには「マイナポータルAP」のインストールが必要となります。今回はGoogleChromeを使いますので、マイナポータルAPのインストールについてはこちらをご確認ください。（<a href="https://app.oss.myna.go.jp/Application/resources/dousakankyou/chrome.html">https://app.oss.myna.go.jp/Application/resources/dousakankyou/chrome.html</a>）</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-120700.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3502" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-120700-300x144.png" alt="" width="300" height="144" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-120700-300x144.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-120700-768x369.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-120700.png 816w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Webブラウザに「マイナポータルAP」がインストールされていれば、「マイナポータルAPのインストールがされています。」と表示されます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4440.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3503" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4440-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4440-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4440-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4440-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4440.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>表示されているのを確認し、ICカードリーダーをパソコンに接続し、カードリーダー上にマイナンバーカードをかざし、「電子署名を行う」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121308.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3505" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121308-300x141.png" alt="" width="300" height="141" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121308-300x141.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121308.png 549w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「マイナポータルAP カード設置要求」というウインドウが表示されます。ウインドウ内には「マイナンバーカードをカードリーダーライタにセットし、OKボタンをクリックしてください。」と書かれていますので、マイナンバーカードがセットできているか確認し「OK」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121723.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3506" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121723-300x143.png" alt="" width="300" height="143" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121723-300x143.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121723.png 547w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「マイナポータルAP パスワード入力（電子署名付与）」というウインドウが表示されますので、「マイナンバーカードの署名用電子証明書パスワード」を入力し、「OK」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121927.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3507" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121927-300x296.png" alt="" width="300" height="296" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121927-300x296.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121927-100x100.png 100w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-121927.png 720w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「マイナポータルAP 電子証明書確認」のウインドウが表示されますので、「氏名又は名称」、「住所」などを確認し、「OK」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122157.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3508" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122157-300x123.png" alt="" width="300" height="123" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122157-300x123.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122157.png 689w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「ユーザ情報の一部が電子証明書に格納された情報と異なっておりましたので、電子証明書の情報に基づき、ユーザ情報の更新を行います。以下の更新する情報をご確認いただき、「ユーザ情報を更新して電子署名を行う」ボタンを押してください。」と表示される場合がありますので、更新する情報を確認し、「ユーザ情報を更新して電子署名を行う」ボタンをクリックします。この場合は再度「電子署名」の手続き画面になりますので、手続きを進めます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122503.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3509" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122503-300x158.png" alt="" width="300" height="158" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122503-300x158.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122503-768x404.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122503.png 784w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>電子署名の手続きを進めた後は、Webブラウザ上に「本人確認が完了しました。」と表示されますので、これで本人確認は完了となります。</p>
<h2><span id="toc2">■開設届出を行う</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122812.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3510" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122812-300x114.png" alt="" width="300" height="114" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122812-300x114.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-122812.png 480w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Webブラウザ上に「本人確認が完了しました。」と表示された後は、「ホームへ」ボタンをクリックし、「開設届出・ユーザ情報変更」と表記されているページが移動します。移動後、「開設届出」ボタンをクリックします。</p>
<p>クリックすると、「開設届出」の内容入力ページが表示されますので、「実験等の目的」、「無線設備の規格（相当技術基準）」、「無線局（使用する無線機器）ごとの情報」の選択・入力を行っていきます。</p>
<p>今回届け出を出す無線設備は、「<a href="https://amzn.to/3dwm9RV">DSD TECH HM-19 Bluetooth 5.0 BLE モジュール</a>」です。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_4037.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-2456" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_4037-300x191.png" alt="" width="300" height="191" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_4037-300x191.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_4037.png 762w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_4042.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-2459" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_4042-300x222.png" alt="" width="300" height="222" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_4042-300x222.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_4042.png 685w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実験等の目的には、「DSD TECH HM-19 Bluetooth 5.0 BLE モジュールの機能検証と、サイト上（https://laboratory.kazuuu.net/）で検証結果記事を掲載するため。」と記入しました。「ひな形」から目的を選ぶことも可能です。なお、変更届出はできません。</p>
<p>無線設備の規格（相当技術基準）では、「Bluetooth Version 5.0」のチェックボックスにチェックを入れます。なお、変更届出はできません。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4441.jpg"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3512" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4441-225x300.jpg" alt="" width="225" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4441-225x300.jpg 225w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4441-768x1024.jpg 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4441.jpg 900w" sizes="(max-width: 225px) 100vw, 225px" /></a></p>
<p>無線局（使用する無線機器）ごとの情報の機器を識別する番号等（シリアルナンバー等）では、箱には「B07&#8230;」という記載がありましたので、こちらを記入する。</p>
<p>機器の製造者を記入する箇所には、製造者の名前がありませんでしたので、製造会社である「DSD TECH」と記入しました。</p>
<p>機器の型式又は名称（FCC ID等を併記）には「HM-19」が型式なので「HM-19」と記入しました。</p>
<p>設置場所・移動範囲では、今回は自宅（室内のみ）で使用してみますので、自宅の住所（建物名も含む）を記入し、「屋内／屋外の別」で「室内のみ」を選択しました。</p>
<p>運用開始年月日では、運用を開始する年月日を選択します。</p>
<p>技術基準に適合する事実の確認方法では、「無線設備本体や取扱説明書、パッケージの表示により、次の全ての内容を確認しました。」か「無線従事者免許証を持つ者（無線従事者）が、当該技術基準及び電波法の技術基準に適合する旨を確認しました。」のいずれかを選択しなければいけないので、「無線設備本体や取扱説明書、パッケージの表示により、次の全ての内容を確認しました。」を選択しました。</p>
<p>「実験等の目的」、「無線設備の規格（相当技術基準）」、「無線局（使用する無線機器）ごとの情報」の選択・入力を行った後は、「入力内容確認」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-125940.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3513" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-125940-298x300.png" alt="" width="298" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-125940-298x300.png 298w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-125940-150x150.png 150w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-125940-100x100.png 100w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-125940.png 555w" sizes="(max-width: 298px) 100vw, 298px" /></a></p>
<p>クリックすると、「入力内容確認」のページが表示されますので、入力した内容を確認し、「送信（届出を行う）」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130204.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3514" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130204-300x169.png" alt="" width="300" height="169" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130204-300x169.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130204-1024x575.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130204-768x431.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130204-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130204-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130204-320x180.png 320w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130204.png 1070w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、「届出完了」と書かれたページが表示されます。これで届け出は完了となります。「ダウンロード」ボタンをクリックすると、JSON形式で届け出をダウンロードすることができます。</p>
<p>届け出が完了すると、ユーザー登録の際に登録したメールアドレスに「【開設届出を受け付けました】総務省 技適未取得機器を用いた実験等の特例制度」というメールが届きます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130752.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3516" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130752-300x162.png" alt="" width="300" height="162" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130752-300x162.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-14-130752.png 453w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>メール本文には、開設届出日と廃止の期限日が記載されています、なお、廃止の期限までに廃止届出の提出が必要になります。</p>
<h3><span id="toc3">■感想</span></h3>
<p>届け出を出すためには、以前までは住所地の都道府県を管轄する総合通信局に郵送か、直接持参する必要があったが、今では自宅から一歩も動かずにマイナンバーカードを使ったオンライン申請できるようになっていたので、とても便利でした。</p>
<p>また、自分の責任で、特例制度の対象範囲内で使用する場合、届出が到達したときからすぐに特例の効力が生じるため、「届出完了」となり、メールアドレスに「開設届出を受け付けました」となった時点で無線機器を使った実験ができるのが良い。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/submit-a-notification-to-the-special-system-for-experiments-using-unqualified-equipment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【obniz入門】IRレシーバーを使って赤外線リモコンの信号を読み取る</title>
		<link>https://laboratory.kazuuu.net/obniz-read-the-infrared-remote-control-signal-using-the-ir-receiver/</link>
					<comments>https://laboratory.kazuuu.net/obniz-read-the-infrared-remote-control-signal-using-the-ir-receiver/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Tue, 13 Oct 2020 01:44:28 +0000</pubDate>
				<category><![CDATA[IoT開発]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[obniz（オブナイズ）]]></category>
		<category><![CDATA[電子工作]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=3479</guid>

					<description><![CDATA[IRレシーバーを使って赤外線リモコンの信号を読み取ってみます。 目次 ■用意したもの別途用意したもの■IRレシーバー（赤外線受信モジュール）とメスからオスのデュポンワイヤーを接続する■obniz Board本体に、デュポ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>IRレシーバーを使って赤外線リモコンの信号を読み取ってみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■用意したもの</a><ol><li><a href="#toc2" tabindex="0">別途用意したもの</a></li></ol></li><li><a href="#toc3" tabindex="0">■IRレシーバー（赤外線受信モジュール）とメスからオスのデュポンワイヤーを接続する</a></li><li><a href="#toc4" tabindex="0">■obniz Board本体に、デュポンワイヤーリボンケーブルを接続する</a></li><li><a href="#toc5" tabindex="0">■obniz Boardをノートパソコンに接続する。</a></li><li><a href="#toc6" tabindex="0">■デベロッパーのコンソールにアクセスし、プログラムを作る。</a><ol><li><a href="#toc7" tabindex="0">■コード</a></li><li><a href="#toc8" tabindex="0">■検証・確認</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■用意したもの</span></h2>
<p>・obniz Board</p>
<p>・Micro USBケーブル</p>
<p>これらは<a href="https://laboratory.kazuuu.net/i-bought-obniz-starter-kit-that-works-with-javascript/">「obniz Starter kit（オブナイズ スターターキット）」</a>に付属しています。</p>
<h3><span id="toc2">別途用意したもの</span></h3>
<p>・Windows10を搭載したノートパソコン（オンラインのプログラムエディタを開くため）</p>
<p>・インターネット環境、WiMAX（ワイマックス）。</p>
<p>・IRレシーバー（赤外線受信モジュール）（IR receiver module）、1個（<a href="https://amzn.to/3lyMPEm">https://amzn.to/3lyMPEm</a>）</p>
<p>・IRリモート（赤外線の送信機・リモコン）（IR remote）、1個（<a href="https://amzn.to/3lyMPEm">https://amzn.to/3lyMPEm</a>）</p>
<p>・メスからオスのデュポンワイヤーリボンケーブル（Female to Male DuPont wires）、3つ（<a href="https://amzn.to/33BKWAN">https://amzn.to/33BKWAN</a>）</p>
<h2><span id="toc3">■IRレシーバー（赤外線受信モジュール）とメスからオスのデュポンワイヤーを接続する</span></h2>
<p>IRレシーバーを使って赤外線リモコンの信号を読み取ってみますので、IRレシーバー（赤外線受信モジュール）とメスからオスのデュポンワイヤーを接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3994.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-2326" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3994-300x227.png" alt="" width="300" height="227" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3994-300x227.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/08/IMG_3994.png 446w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>接続する前に、IRリモート（赤外線受信モジュール）本体のピンには、「G」、「R」、「Y」という表記があるので、この表記を覚えておきます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4438.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3482" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4438-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4438-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4438-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4438-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4438.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc4">■obniz Board本体に、デュポンワイヤーリボンケーブルを接続する</span></h2>
<p>接続後、obniz Board本体に、デュポンワイヤーリボンケーブルを接続します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4439.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3483" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4439-300x225.png" alt="" width="300" height="225" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4439-300x225.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4439-1024x768.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4439-768x576.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/IMG_4439.png 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-13-095736.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3484" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-13-095736-300x51.png" alt="" width="300" height="51" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-13-095736-300x51.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-13-095736.png 586w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>接続する際は<a href="https://obniz.io/ja/sdk/parts/IRSensor/README.md">obnizのパーツライブラリの「IRSensor」</a>を参考にします。</p>
<h2><span id="toc5">■obniz Boardをノートパソコンに接続する。</span></h2>
<p>接続した後は、obniz Board本体をUSBケーブルを使い、ノートパソコンへ接続します。</p>
<h2><span id="toc6">■デベロッパーのコンソールにアクセスし、プログラムを作る。</span></h2>
<p>接続後、「obniz &#8211; developer&#8217;s console（<a href="http://obniz.com/ja/console/program">http://obniz.com/ja/console/program</a>）」にアクセスします。アクセス後、オンラインのプログラムエディタでプログラムを作っていきます。</p>
<p>IRリモート（赤外線受信モジュール）のプログラムの参考はこちら（<a href="https://obniz.io/ja/sdk/parts/IRSensor/README.md">https://obniz.io/ja/sdk/parts/IRSensor/README.md</a>）。</p>
<h3><span id="toc7">■コード</span></h3>
<p><script src="https://gist.github.com/kobayashikazu/17f0946b2144c8280aefca57b0c95d65.js"></script></p>
<h3><span id="toc8">■検証・確認</span></h3>
<p><iframe loading="lazy" src="//www.youtube.com/embed/mTHWQSm_l-Q" width="560" height="314" allowfullscreen="allowfullscreen"></iframe></p>
<p>今回のプログラムを実行し、実際にIRレシーバーを使って赤外線リモコンの信号を読み取ることができるのかを検証・確認を行いましたが、赤外線リモコンのボタンを押すと、信号が送信されIRレシーバーで送信された信号を検出できることが確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/obniz-read-the-infrared-remote-control-signal-using-the-ir-receiver/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
