ArduinoでESP8266(ESP-01)を制御+通信する #4

こんにちは、ばいろんです。

今回はESP8266で通信を行う際に意識したいプロトコル(決まり事)について考えていきたいと思います。

ESP8266での通信で使われるプロトコルはTCPと呼ばれるものが多いでしょう。このプロトコルは、データ(パケット)を確実にやりとりする必要がある場合に用いられます。

TCPを用いるとパケットが途中で抜け落ちてしまった場合はパケットを送りなおして欲しいとリクエストを出したり、相手にパケットが受け渡されたかどうかを確認することができます。

 

一方でUDPと呼ばれるプロトコルもあります。

UDPとはパケットの抜け落ちを気にせず、パケットを送りっぱなしにする通信方式です。確実性は落ちますがリアルタイムの通信ができ、転送効率が非常に高いです。

 

なぜこのような話をしたかというと、広い範囲で通信を行う際には電力が必要をなります。データ量が多いほど、広い範囲をカバーしようとすればするほど電力が必要となります。

TCPは確実にデータを送ることができる一方で、確実性を高めるためのデータが付加されているのでデータ量が多い(=消費電力が多い)です。バッテリー駆動をする際にはこのあたりの消費電力がネックとなります。

 

この辺りを解決する策としては、ESP8266のDeep Sleepモード(低電力モード)を利用するなどが考えられます。(こちらに関しては今の記事がひと段落し次第、手を付けていこうと思っています)

しかし、根本的に通信方式が変わればもっと消費電力を抑えることができるはずです。そこで私が気になっているのは低電力の通信方式であるLoRa(LongRangeらしいです)とLPWA(Low Power Wide Area)です。

IoT分野では通信方式、セキュリティ、電源など様々な問題があります。ゆくゆくはこの辺りを気にしながら製作を進める必要がありそうです。

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to top