シリアルCOMを使用してATコマンドをESP8266に送信するArduinoでMQTTを使用する方法


10

MQTTプロトコルを調べ始めました。

状況

私の大学のプロジェクトでは、現在、ArduinoをメインMCUとして使用し、そのすべての作業を行い、シリアル通信を使用しています。ATコマンドをesp8266に送信します(HTTP要求の場合、サーバーでスクリプトを実行する場合など)。私は基本的に(Arduinoからの)データを(ローカルサーバーがホストする)Webページにプッシュする必要がありました。クライアントでデータをパブリッシュおよびサブスクライブできるMQTTプロトコルについて検索して見つけました(まさに私が望んでいたものです)。しかし、私が見つけているほとんどのチュートリアルは、完全にArduino(wifiシールド付き)または完全にesp8266のいずれかにあります。

私が知りたいのは、現在の構成と同じようにMQTTを使用できる方法があるということです。つまり、Arduinoを使用してすべての作業を行い、シリアル通信を使用します。MQTTのATコマンドだけでデータを公開します。

私のプロジェクトに関する追加情報はここに記載されています:スマートホームシステムで使用するテクノロジについて混乱


ArduinoとESP間でMQTTをwifi経由で送信できます。物理的な接続を行う必要はありません。
ジミーウェストバーグ

そのため、Arduinoでもwifiが必要になりますね。ArduinoとESPの間でデータを送信する必要はありません。私はarduinoからローカルサーバーにデータを送信するためにespを使用していますが、私のarduinoにはwifiシールドがありません
Salim Shamim

ああ、物理的な接続が既に完了している場合は、FW ESP Easyを見てください。これは、箱から出してすぐにMQTTと統合されているためです。
ジミーウェストバーグ2017年

sonyarouje.com/2016/03/15/…私はこの投稿を見つけました、それはあなたが言っていたことでした:Pそれは行く方法ですか?すみません、私はすごく新しいです:D
Salim Shamim

1
UARTを介してMQTTを試してみました(esp8266にATコマンドを送信するため)github.com/nopnop2002/MQTT_UNO
nopnop2002

回答:


4

ようやくSony Aroujeのチュートリアルを見つけまし。結局のところ、espコマンドの手動送信を完全に中止し、ライブラリ(WiFiEsp.h)を使用する必要がありました。ヒント...それはより良いです!

古いファームウェアがあり、「ファームウェアがサポートされていません」というエラーが報告されたため、最初はesp8266では動作しませんでした。新しいファームウェアをフラッシュする必要がありました(私の場合、バージョン1.54で動作します)。ファームウェアのフラッシュに問題がある場合は、このトピックを参照してヘルプを見つけることができます。ESP8266の最新のファームウェアをフラッシュできません。「高速フラッシュエラー」と「無効なパケットのヘッド( '')」

また、すべてのダウンロードツールとチュートリアルページ自体のコピーを保存したので、将来、投稿が削除されたり、フラッシュするツールが見つからない場合は削除します。コメントなどで私に連絡してください(他の人のコンテンツを投稿してもいいかどうかわからないため、ここには投稿しません)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.