Arduino에서 MQTT를 사용하여 serial com을 사용하여 AT 명령을 ESP8266으로 보내는 방법


10

방금 MQTT 프로토콜을 살펴보기 시작했습니다.

상태

현재 대학 프로젝트에서 Arduino를 기본 MCU로 사용하고 모든 작업을 수행하고 Serial Comm을 사용합니다. AT 명령을 esp8266에 전송합니다 (HTTP 요청의 경우 서버에서 스크립트 실행 등). 기본적으로 웹 서버 (로컬 서버에서 호스팅)에 일부 데이터 (Arduino의)를 푸시해야했습니다. 클라이언트에서 데이터를 게시하고 구독 할 수있는 MQTT 프로토콜 에 대해 검색하고 발견했습니다 (정확히 원하는 것). 그러나 내가 찾은 대부분의 자습서는 전적으로 Arduino (wifi shield 포함) 또는 전적으로 esp8266에 있습니다.

내가 알고 싶은 것은 현재 구성에서와 같이 MQTT를 사용할 수있는 방법이 있다는 것입니다. 즉, Arduino를 사용하여 모든 작업을 수행하고 직렬 통신을 사용합니다. MQTT에서 AT 명령으로 만 데이터 공개

내 프로젝트에 대한 추가 정보는 여기에 언급되어 있습니다 : Smart Home System에서 사용할 기술에 대해 혼란


Arduino와 ESP간에 wifi를 통해 MQTT를 보낼 수 있습니다. 물리적 연결을 할 필요가 없습니다.
Jimmy Westberg

Arduino에서 Wi-Fi가 필요하기 때문에 그렇지 않습니까? Arduino와 ESP간에 데이터를 보낼 필요가 없습니다. arduino에서 로컬 서버로 데이터를 전송하기 위해 esp를 사용하고 있습니다. arduino에는 wifi 쉴드가 없습니다
Salim Shamim

Aha, 물리적 연결이 이미 완료된 경우 FW ESP Easy를 살펴보십시오. FW ESP Easy는 기본적으로 MQTT가 통합되어 있습니다.
Jimmy Westberg

sonyarouje.com/2016/03/15/… 이 게시물을 찾았습니다. 당신이 무슨 말을하셨습니까? : P가는 길입니까? 죄송합니다, 저는 정말 신품입니다 : D
Salim Shamim

1
나는 (esp8266에 AT 명령을 보낼 수) UART를 통해 MQTT을 시도 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.