2016-06-05 5 views
0

У меня есть сервер mqtt + nodejs для моей интеллектуальной домашней системы. Во-первых, я пытаюсь мигать с моего сервера mqtt + nodejs.Arduino + esp8266 + mqtt

Я сделал это с nodemcu доской. Для этого я использовал pubsubclient.h, но я хотел добавить больше датчиков и светодиодов. Из-за этого я решил использовать Arduino mega + esp8266. Я хочу подключиться к своему серверу через esp8266. Проблема в том, что я не могу использовать pubsubclient.h с Arduino mega + esp8266.

И я начал использовать команды AT для подключения к Wi-Fi. Теперь я могу подключиться к Wi-Fi, но я не знаю, как использовать mqtt сейчас.

Я нашел библиотеку espduino, но для этого нужны специальные соединения.

Как я могу использовать команды AT и Mqtt для моего проекта?

+0

Возможный дубликат [mqtt между esp8266 и arduino с PubSubclient] (http://stackoverflow.com/questions/37030019/mqtt-between-esp8266-and-arduino-with-pubsubclient) – hardillb

ответ

0

Возможно, вам стоит попробовать использовать мультиплексор (например, 4051). Вы можете расширить 4 порта ввода-вывода до 8 IO (или 1 аналоговый + 3 ввода-вывода до 8 аналоговых портов). Если вы хотите, чтобы еще больше портов получили что-то вроде 4067, вы можете получить 16 портов из 5.

esp8266 намного мощнее обычного Arduino (с чипом ATMEGA328), он также дешевле, чем ArduinoMega, поэтому постарайтесь сохранить его как ваш микроконтроллер (если вы уже используете его).

0

Чтобы установить соединение с брокером через библиотеки MQTT, необходимо указать экземпляр клиента WiFi или Ethernel. Поэтому, выполняя последовательную связь, вам необходимо иметь последовательную библиотеку Arduino, которая работает с ESP и реализует заголовки и стеки протоколов.

Вы можете использовать WiFiEsp library для создания клиентского экземпляра WiFi. Таким образом, вы сможете передать своего клиента в качестве параметра в конструктор PubSubClient. Вот пример:

WiFiEspClient espClient; 
PubSubClient client(espClient); 

Другой серийный библиотека espduino, как вы упомянули. Вы можете следовать за своим гидом и использовать библиотеку MQTT в Arduino следующим образом:

#include <SoftwareSerial.h> 
#include <espduino.h> 
#include <mqtt.h> 

SoftwareSerial debugPort(2, 3); // RX, TX 
ESP esp(&Serial, &debugPort, 4); 
MQTT mqtt(&esp); 

Удачи вам!

0

Я предлагаю вам попробовать Homie-esp8266. Я думаю, что это будет соответствовать вашей текущей настройке. Он поддерживает MQTT, легкую конфигурацию Wi-Fi и обновление прошивки Over The Air (OTA). documentation довольно прямолинейный. Это то, что я использую в настоящее время в моем проекте smart home.

Смежные вопросы