Quectel社のLTE-Mキャリア通信モジュールBG96を使用して、AWSにデータを送ってみました。クラウド通信と聞くと、暗号化や証明書の関係を理解しておく必要があり、敷居が高いと感じるところがあります。
しかし、BG96にはMQTT,TLS,TCP/IP,PPPの機能をサポートしているため、ATコマンドのみでクラウド通信が可能です。さらにTeraTermのマクロ機能を使うと、必要なATコマンドを一括して送信することができるので、非常に簡単にクラウド通信が実現します。今回、どのようにしてAWSとクラウド通信するか、説明動画を作成しYouTubeにアップしましたので、ぜひご覧頂きたいと思います。
YouTube動画はこちらから超簡単!AWSとクラウド通信
動画の中で使用したTeraTermマクロ等はこちらからコピーしてください。なお、サーバー(ワードプレス)の都合上、マクロファイルを置くことができないので、ページをコピーペーストして使用してください。
- 証明書類をBG96に書き込むマクロ:aws_setup.ttl
- BG96の通信設定と通信のマクロ:aws_mqtt_send.ttl
- AWSデバイスシャドウに送るJSONファイル:data.json
aws_setup.ttl は、AWSと暗号化通信のための証明書類をBG96に書き込むためのマクロです。ファイルパス、ファイル名は適当になっていますので、使用される前に書き換える必要があります。全体の流れとしては、初めにBG96内の証明書類を削除した後、証明書類をBG96にアップロードします。その後、アップロードした証明書を実際に使用するように設定します。暗号化のバージョン等の設定も併せて行っています。
aws_mqtt_send.ttl は、LTE-Mキャリア通信のための設定と実際のクラウド通信を行っています。APN、PPPのユーザー名、パスワード、エンドポイント、デバイスシャドウの名称等は適当になっています。適宜修正をしてください。
キャリア通信を行うためには、先ずPPPプロトコルでアクセスポイント、APに認証された後、エンドポイントとTCP/IPで通信を行います。デバイスシャドウの名称は、MQTTプロトコルでのデータの送信先になります。慣れていないと難しく感じところかもしれません。
data.json はデバイスシャドウに送るデータです。JSONフォーマットで記述されていますので、難しいところはないと思います。試験的なものなので、数行の非常に単純なものにしてあります。