beebotte.com mqtt брокер
- Войдите на сайт для отправки комментариев
Пт, 29/05/2020 - 16:34
Добрый день! Кто-то работал с этим сервисом?
Настроил, все работает. Ну вот график можно только не больше 3 часов. Это у меня глюк, или я что-то не так делаю.
https://beebotte.com/dash/b7ff2fe0-7fa4-11ea-a214-85435d7d9d24?shareid=s...
Никто не пользуется сервисом?
#include <ESP8266WiFi.h> #include <PubSubClient.h> #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS D3// Порт ds18b20 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); // Update these with values suitable for your network. const char* ssid = "..."; const char* password = "..."; const char* mqtt_server = "mqtt.beebotte.com"; const int mqtt_port = 1883; // Порт для подключения к серверу MQTT const char *mqtt_user = "..."; // Свой токен const char *mqtt_pass = ""; // Пароль от сервера WiFiClient espClient; PubSubClient client(espClient); long lastMsg = 0; char msg[50]; void setup_wifi() { delay(10); // We start by connecting to a WiFi network Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.mode( WIFI_STA); WiFi.begin(ssid, password); 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 length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); } Serial.println(); // Switch on the LED if an 1 was received as first character if ((char)payload[0] == '1') { digitalWrite(BUILTIN_LED, LOW); // Turn the LED on (Note that LOW is the voltage level // but actually the LED is on; this is because // it is active low on the ESP-01) } else { digitalWrite(BUILTIN_LED, HIGH); // Turn the LED off by making the voltage HIGH } } */ void reconnect() { // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection..."); // Create a random client ID String clientId = "ESP8266Client-"; clientId += String(random(0xffff), HEX); // Attempt to connect if (client.connect(clientId.c_str(),mqtt_user,mqtt_pass)) { Serial.println("connected"); // Once connected, publish an announcement... // client.publish("test/res", "1"); // ... and resubscribe client.subscribe("test/test"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); // Wait 5 seconds before retrying delay(5000); } } } void setup() { //pinMode(BUILTIN_LED, OUTPUT); // Serial.begin(115200); setup_wifi(); sensors.begin(); client.setServer(mqtt_server, mqtt_port); //Пока не нужно //client.setCallback(callback); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); long now = millis(); if (now - lastMsg > 60000*5) {//5 minuts lastMsg = now; TempSend(); } } // Функция отправки показаний с термодатчика void TempSend(){ sensors.requestTemperatures(); // от датчика получаем значение температуры float temp = sensors.getTempCByIndex(0); //ds18b20_esp - это имя топика,sensor1 - это имя ресурса, write = true - делаем запись в базу, data - данные, в моем случае данные с датчика String Message = "{\"channel\":\"ds18b20_esp\",\"resource\":\"sensor1\",\"write\":true,\"data\":"+String(temp)+"}"; client.publish("ds18b20_esp/sensor1",Message.c_str()); // отправляем в топик для термодатчика значение температуры Serial.println(Message);// для отладки }Настроил, все работает. Ну вот график можно только не больше 3 часов. Это у меня глюк, или я что-то не так делаю.
Начал пользоваться, но как-то странно глючит. То отображает за 48 часов, то за 12 часов не хочет отображать.
И еще не получается Virtuino MQTT к этому брокеру.
Ты остался на нем или перешел на что-то другое?
на сервисе ограничения есть на количество отправленных/полученных топиков, а также на сохраненные в базу сервиса топиков,
стандартные библиотеки не отправляют параметр (write = true - делаем запись в базу) как бы его туда добавть?
на сервисе ограничения есть на количество отправленных/полученных топиков, а также на сохраненные в базу сервиса топиков,
стандартные библиотеки не отправляют параметр (write = true - делаем запись в базу) как бы его туда добавть?
Там в примере указан параметр "write", как по другом передать я не особо разбирался. Работает и хорошо. А вот проблему с графиками так решить не удалось. Так что пришлось отказаться.