Передача данных на ThingSpeak по MQTT через Ethernet W5100

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

Всем привет. Помогите разобраться. Есть шилд W5100. Как передать сигналы с датчиков на ThingSpeak по MQTT. Хочу управлять умным домом через облако. Потом считывать показания с ThingSpeakа Virtuinoй MQTT.

Можете написать скетч настроек для связи шилда с сайтом ThingSpeak  по протоколу MQTT.  . Заранее спасибо. В Си языке е силен. Автоматику пишу на FLProge.

Всем заранее большое спасибо.

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016
Есть Блок пользователя для ESP 8266. Но меня интеерсует связь через шилд W5100
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
String MQTT_inputTopic;
String MQTT_inputtext;
WiFiClient espClient;
PubSubClient client(espClient);
void setup()
{
  Serial.begin(115200);
  setup_wifi();
  client.setServer("mqtt.ThingSpeak.com", 1883);
  client.setCallback(callback);
}
void loop()
{
//Плата:1
if (!client.connected()) {
    reconnect();
  }
  client.loop();
}
void setup_wifi()
{
delay(10);
   Serial.print("Connecting to ");
  Serial.println("Ufanet89");

  WiFi.begin("Ufanet89", "45790357");

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  randomSeed(micros());

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}
void callback(char* topic, byte* payload, unsigned int len)
{
Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");
MQTT_inputtext = "";
MQTT_inputTopic = "";
MQTT_inputTopic = topic;
for (int i=0;i<len;i++) {
MQTT_inputtext += (char)payload[i]; 
}
Serial.println(MQTT_inputtext);



}
void reconnect()
{
  while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    String clientId = "ESP8266Client-";
    clientId += String(random(0xffff), HEX);
       if (client.connect(clientId.c_str(), "Username", "Password")) {
      Serial.println("connected");
          client.subscribe( "#");
    } else {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      delay(5000);
    }
  }
}

 

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

Это вид настроек блока пользователя под ESP8266

nik182
Offline
Зарегистрирован: 04.05.2015

Сколько денег даш написавшему? Я не буду писать, даже за деньги, но просто интересно, что движет людьми  считающими что имеют право загружать других на халяву? 

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

А на этом форуме все помогают за деньги? Я ж не прошу писать программу с нуля. Если есть время можете помочь пожалуйста написать несколько строк кода только для связи шилда с сайтом . Незнаю как правильно написать. Мне удавалось связаять шилд и фингспик но внутри сети без авторизации. Если у вас не времени прошу извинить.

sadman41
Offline
Зарегистрирован: 19.10.2016

Дак в гугле же можно найти все скетчи самостоятельно и быстро. 

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

Искал. ничего толкового ненашел. Решил сюда написать

Ворота
Ворота аватар
Онлайн
Зарегистрирован: 10.01.2016

Cesium137 пишет:
Можете написать скетч
А то! Можем, конечно.

b707
Онлайн
Зарегистрирован: 26.05.2017

Cesium137 пишет:

Автоматику пишу на FLProge.

 

зря ты это написал ....

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

Почему зря?

sadman41
Offline
Зарегистрирован: 19.10.2016

Не жалуют тут FLprog-раммеров, так как они постоянно тащат сюда нечитаемый код франкенштейна и просят "немного поменять". А это все равно что жабу живую жевать.

Cesium137
Cesium137 аватар
Offline
Зарегистрирован: 13.12.2016

Таперь понятно. Понимаю вас. Код Франкенштейна - это точно сказано)))))