ESP32 Передача данных в сеть интернет

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Аватара пользователя
Phazz
Полковник
Сообщения: 3107
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 226 раз
Поблагодарили: 106 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Phazz »

Siberian писал(а): 19 мар 2025, 20:50 Связь с сервером есть.
Данные с МК передаю как string на сервер.
На сервере в настройках датчиков тоже указал string, но значения в Dashboard не отображаются.
Захожу в WebSocket клиент, там все значения с датчиков отображаются правильно.
Укажите как числовые данные для начала
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 33 раза
Поблагодарили: 5 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Siberian »

Phazz писал(а): 19 мар 2025, 20:55
Siberian писал(а): 19 мар 2025, 20:50 Связь с сервером есть.
Данные с МК передаю как string на сервер.
На сервере в настройках датчиков тоже указал string, но значения в Dashboard не отображаются.
Захожу в WebSocket клиент, там все значения с датчиков отображаются правильно.
Укажите как числовые данные для начала
В настройках датчиков на сервере можно выбрать только строку, float и включение/выключение.
А в FLP в блоке передачи на сервер вход только string без возможности изменить на другой.
Аватара пользователя
prmres
Рядовой
Сообщения: 79
Зарегистрирован: 30 янв 2018, 20:19
Откуда: Курская обл.
Имя: Prmres
Благодарил (а): 24 раза
Поблагодарили: 25 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение prmres »

Siberian писал(а): 19 мар 2025, 21:01 В настройках датчиков на сервере можно выбрать только строку, float и включение/выключение.
А в FLP в блоке передачи на сервер вход только string без возможности изменить на другой.
преобразуйте число в строку и передавайте её
https://flprog.ru/bez-rubriki/helppage/ ... tringBlock
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 33 раза
Поблагодарили: 5 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Siberian »

prmres писал(а): 19 мар 2025, 22:08
Siberian писал(а): 19 мар 2025, 21:01 В настройках датчиков на сервере можно выбрать только строку, float и включение/выключение.
А в FLP в блоке передачи на сервер вход только string без возможности изменить на другой.
преобразуйте число в строку и передавайте её
https://flprog.ru/bez-rubriki/helppage/ ... tringBlock
Я так и передаю.
Аватара пользователя
Phazz
Полковник
Сообщения: 3107
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 226 раз
Поблагодарили: 106 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Phazz »

Siberian писал(а): 19 мар 2025, 21:01
Phazz писал(а): 19 мар 2025, 20:55
Siberian писал(а): 19 мар 2025, 20:50 Связь с сервером есть.
Данные с МК передаю как string на сервер.
На сервере в настройках датчиков тоже указал string, но значения в Dashboard не отображаются.
Захожу в WebSocket клиент, там все значения с датчиков отображаются правильно.
Укажите как числовые данные для начала
В настройках датчиков на сервере можно выбрать только строку, float и включение/выключение.
А в FLP в блоке передачи на сервер вход только string без возможности изменить на другой.
То что вы передаете строкой не имеет значения. Сервер сам парсит. Ему только нужно подсказать, что вы хотите получить на выходе
tol123
Рядовой
Сообщения: 79
Зарегистрирован: 16 июл 2021, 11:34
Имя: Anatoly
Поблагодарили: 2 раза

Re: ESP32 Передача данных в сеть интернет

Сообщение tol123 »

Вот пример:

Код: Выделить всё

[
    {
        "id": "125478b1cb37c51e",
        "type": "inject",
        "z": "2411c3f0dc53c5af",
        "name": "",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "hi",
        "payloadType": "str",
        "x": 490,
        "y": 680,
        "wires": [
            [
                "51e05f8cd93b39f1"
            ]
        ]
    },
    {
        "id": "51e05f8cd93b39f1",
        "type": "mqtt out",
        "z": "2411c3f0dc53c5af",
        "name": "",
        "topic": "test1",
        "qos": "0",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "8262c7fa35a35d43",
        "x": 630,
        "y": 680,
        "wires": []
    },
    {
        "id": "1288e14eef27bc9a",
        "type": "ui-dropdown",
        "z": "2411c3f0dc53c5af",
        "group": "4b7224a4fd8c7228",
        "name": "",
        "label": "Select Option:",
        "tooltip": "",
        "order": 2,
        "width": 0,
        "height": 0,
        "passthru": true,
        "multiple": false,
        "chips": false,
        "clearable": false,
        "options": [
            {
                "label": "Room",
                "value": "Room",
                "type": "str"
            },
            {
                "label": "Kitchen",
                "value": "Kitchen",
                "type": "str"
            }
        ],
        "payload": "",
        "topic": "topic",
        "topicType": "msg",
        "className": "",
        "typeIsComboBox": true,
        "msgTrigger": "onChange",
        "x": 660,
        "y": 620,
        "wires": [
            [
                "save_dropdown",
                "8537fa7aaee7d933"
            ]
        ]
    },
    {
        "id": "save_dropdown",
        "type": "change",
        "z": "2411c3f0dc53c5af",
        "name": "Save dropdown to flow",
        "rules": [
            {
                "t": "set",
                "p": "selectedOption",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "x": 900,
        "y": 620,
        "wires": [
            [
                "1bdff5d3d53d1c11",
                "0f370a14e3194769"
            ]
        ]
    },
    {
        "id": "379cc7e16645951e",
        "type": "mqtt in",
        "z": "2411c3f0dc53c5af",
        "name": "",
        "topic": "test1",
        "qos": "0",
        "datatype": "utf8",
        "broker": "8262c7fa35a35d43",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 630,
        "y": 540,
        "wires": [
            [
                "12fab7605c0cd2b0"
            ]
        ]
    },
    {
        "id": "12fab7605c0cd2b0",
        "type": "change",
        "z": "2411c3f0dc53c5af",
        "name": "",
        "rules": [
            {
                "t": "move",
                "p": "payload",
                "pt": "msg",
                "to": "payload1",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 820,
        "y": 540,
        "wires": [
            [
                "1bdff5d3d53d1c11"
            ]
        ]
    },
    {
        "id": "1bdff5d3d53d1c11",
        "type": "function",
        "z": "2411c3f0dc53c5af",
        "name": "Prepare HTTP Request",
        "func": "msg.headers = {\n    'tags': 'warning',\n    'priority': '1',\n    'X-Title': flow.get(\"selectedOption\")  // Получаем значение из flow-контекста\n};\nmsg.payload = {\n    'topic': msg.topic,  // Динамическое имя топика\n    'message': msg.payload1\n};\nreturn msg;\n",
        "outputs": 1,
        "timeout": 0,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1150,
        "y": 540,
        "wires": [
            [
                "17e016a44e16f0a3"
            ]
        ]
    },
    {
        "id": "17e016a44e16f0a3",
        "type": "http request",
        "z": "2411c3f0dc53c5af",
        "name": "Send to ntfy.sh",
        "method": "POST",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "http://ntfy.sh/твоя подписка",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "headers": [
            {
                "keyType": "other",
                "keyValue": "",
                "valueType": "other",
                "valueValue": ""
            }
        ],
        "x": 1220,
        "y": 600,
        "wires": [
            []
        ]
    },
    {
        "id": "216b34163c36780f",
        "type": "inject",
        "z": "2411c3f0dc53c5af",
        "name": "",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "Room",
        "payloadType": "str",
        "x": 490,
        "y": 620,
        "wires": [
            [
                "1288e14eef27bc9a"
            ]
        ]
    },
    {
        "id": "0f370a14e3194769",
        "type": "debug",
        "z": "2411c3f0dc53c5af",
        "name": "debug 558",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 1170,
        "y": 700,
        "wires": []
    },
    {
        "id": "8537fa7aaee7d933",
        "type": "debug",
        "z": "2411c3f0dc53c5af",
        "name": "debug 559",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 950,
        "y": 680,
        "wires": []
    },
    {
        "id": "f06c328b5399259f",
        "type": "aedes broker",
        "z": "2411c3f0dc53c5af",
        "name": "",
        "mqtt_port": 1883,
        "mqtt_ws_bind": "port",
        "mqtt_ws_port": null,
        "mqtt_ws_path": "",
        "cert": "",
        "key": "",
        "certname": "",
        "keyname": "",
        "dburl": "",
        "usetls": false,
        "x": 670,
        "y": 760,
        "wires": [
            [],
            []
        ]
    },
    {
        "id": "8262c7fa35a35d43",
        "type": "mqtt-broker",
        "name": "192.168.43.1",
        "broker": "192.168.43.1",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "autoUnsubscribe": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthRetain": "false",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closeRetain": "false",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willRetain": "false",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    },
    {
        "id": "4b7224a4fd8c7228",
        "type": "ui-group",
        "name": "ntfy",
        "page": "0bde524d3a874c26",
        "width": "6",
        "height": "1",
        "order": 1,
        "showTitle": true,
        "className": "",
        "visible": "true",
        "disabled": "false",
        "groupType": "default"
    },
    {
        "id": "0bde524d3a874c26",
        "type": "ui-page",
        "name": "Главная",
        "ui": "1bb9db23437aaf62",
        "path": "/main",
        "icon": "",
        "layout": "grid",
        "theme": "a965ccfef139317a",
        "breakpoints": [
            {
                "name": "Default",
                "px": "0",
                "cols": "3"
            },
            {
                "name": "Tablet",
                "px": "576",
                "cols": "6"
            },
            {
                "name": "Small Desktop",
                "px": "768",
                "cols": "9"
            },
            {
                "name": "Desktop",
                "px": "1024",
                "cols": "12"
            }
        ],
        "order": 7,
        "className": "",
        "visible": true,
        "disabled": false
    },
    {
        "id": "1bb9db23437aaf62",
        "type": "ui-base",
        "name": "Устройства Управления",
        "path": "/dashboard",
        "appIcon": "",
        "includeClientData": true,
        "acceptsClientConfig": [
            "ui-notification",
            "ui-control"
        ],
        "showPathInSidebar": false,
        "navigationStyle": "icon",
        "titleBarStyle": "default"
    },
    {
        "id": "a965ccfef139317a",
        "type": "ui-theme",
        "name": "Default",
        "colors": {
            "surface": "#5c5c5c",
            "primary": "#0094ce",
            "bgPage": "#383838",
            "groupBg": "#4f4f4f",
            "groupOutline": "#858585"
        },
        "sizes": {
            "pagePadding": "12px",
            "groupGap": "12px",
            "groupBorderRadius": "4px",
            "widgetGap": "12px",
            "density": "default"
        }
    }
]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 33 раза
Поблагодарили: 5 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Siberian »

Phazz писал(а): 20 мар 2025, 06:20
Siberian писал(а): 19 мар 2025, 21:01
Phazz писал(а): 19 мар 2025, 20:55

Укажите как числовые данные для начала
В настройках датчиков на сервере можно выбрать только строку, float и включение/выключение.
А в FLP в блоке передачи на сервер вход только string без возможности изменить на другой.
То что вы передаете строкой не имеет значения. Сервер сам парсит. Ему только нужно подсказать, что вы хотите получить на выходе
Всё хорошо, всё работает!
Осталось два нюанса.
1. Вывод датчиков нельзя расположить вручную, располагаются автоматом по алфавиту или нумерации.
2. Как обезопасить, чтобы при входе (жена, дети, внуки) не могли случайно изменить настройки, только просмотр.
Аватара пользователя
Phazz
Полковник
Сообщения: 3107
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 226 раз
Поблагодарили: 106 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Phazz »

Ни как. Только если вывести в умный дом Янндекс
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 33 раза
Поблагодарили: 5 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Siberian »

Phazz писал(а): 20 мар 2025, 08:36 Ни как. Только если вывести в умный дом Янндекс
Направление дайте пожалуйста, куда копать...
Аватара пользователя
Phazz
Полковник
Сообщения: 3107
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 226 раз
Поблагодарили: 106 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Phazz »

Там вроде нужна подписка Яндекс плюс
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 33 раза
Поблагодарили: 5 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Siberian »

Оставлю, как есть, без умного яндекса и т.п.
И так всё нормально.
Остался пока один вопрос.
При отключении питания платы ESP, на сервере остаются последние данные.
Хотелось бы, чтобы или данные с датчиков не показывались, или какое-то оповещение на сервере, что нет связи...
Последний раз редактировалось Siberian 20 мар 2025, 17:55, всего редактировалось 1 раз.
Ander
Лейтенант
Сообщения: 507
Зарегистрирован: 31 окт 2023, 12:50
Имя: Андрей
Благодарил (а): 21 раз
Поблагодарили: 94 раза

Re: ESP32 Передача данных в сеть интернет

Сообщение Ander »

Для умного дома подписка не нужна. Скачайте приложение умного дома с алисой, а потом делитесь домом с родственниками.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 33 раза
Поблагодарили: 5 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Siberian »

При отключении питания платы ESP, на сервере остаются последние данные.
Хотелось бы, чтобы или данные с датчиков не показывались, или какое-то оповещение на сервере, что нет связи...
Ander
Лейтенант
Сообщения: 507
Зарегистрирован: 31 окт 2023, 12:50
Имя: Андрей
Благодарил (а): 21 раз
Поблагодарили: 94 раза

Re: ESP32 Передача данных в сеть интернет

Сообщение Ander »

Siberian писал(а): 20 мар 2025, 17:54 При отключении питания платы ESP, на сервере остаются последние данные.
Хотелось бы, чтобы или данные с датчиков не показывались, или какое-то оповещение на сервере, что нет связи...
Посмотрите в сторону -
LWT используется для определения online/offline состояния устройства. Если ваше устройство не использует LWT тогда оставьте эти поля пустыми.
Аватара пользователя
Phazz
Полковник
Сообщения: 3107
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 226 раз
Поблагодарили: 106 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Phazz »

Siberian писал(а): 20 мар 2025, 17:54 При отключении питания платы ESP, на сервере остаются последние данные.
Хотелось бы, чтобы или данные с датчиков не показывались, или какое-то оповещение на сервере, что нет связи...
в настройках все есть
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 33 раза
Поблагодарили: 5 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Siberian »

Что-то не получается настроить в ФЛП...
По разному пробую, пока статус на сервере не в сети.
Аватара пользователя
Phazz
Полковник
Сообщения: 3107
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 226 раз
Поблагодарили: 106 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Phazz »

Siberian писал(а): 21 мар 2025, 07:38 Что-то не получается настроить в ФЛП...
По разному пробую, пока статус на сервере не в сети.
Нужен ваш проект
slsl
Сержант
Сообщения: 289
Зарегистрирован: 08 дек 2021, 22:41
Имя: Вячеслав
Благодарил (а): 15 раз
Поблагодарили: 43 раза

Re: ESP32 Передача данных в сеть интернет

Сообщение slsl »

Siberian писал(а): 21 мар 2025, 07:38 Что-то не получается настроить в ФЛП...
По разному пробую, пока статус на сервере не в сети.
Телега с лихвой перекрывает все ваши озвученные хотелки. Попробуйте.

Вы говорили, что у вас есть хост и домен. Поставьте на него интрахаус и получите свои странички и с разграничением доступа как в просмотре так и в вводе данных. Данные можете гнать на него хоть по MQTT или модбас:
IH.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 33 раза
Поблагодарили: 5 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Siberian »

Phazz писал(а): 21 мар 2025, 07:55
Siberian писал(а): 21 мар 2025, 07:38 Что-то не получается настроить в ФЛП...
По разному пробую, пока статус на сервере не в сети.
Нужен ваш проект
Я отправил проект Вам в личку.
Аватара пользователя
Siberian
Лейтенант
Сообщения: 633
Зарегистрирован: 07 сен 2015, 11:51
Откуда: СССР
Имя: Александр
Благодарил (а): 33 раза
Поблагодарили: 5 раз

Re: ESP32 Передача данных в сеть интернет

Сообщение Siberian »

slsl писал(а): 21 мар 2025, 07:56
Siberian писал(а): 21 мар 2025, 07:38 Что-то не получается настроить в ФЛП...
По разному пробую, пока статус на сервере не в сети.
Телега с лихвой перекрывает все ваши озвученные хотелки. Попробуйте.

Вы говорили, что у вас есть хост и домен. Поставьте на него интрахаус и получите свои странички и с разграничением доступа как в просмотре так и в вводе данных. Данные можете гнать на него хоть по MQTT или модбас:
IH.png
Тема конечно очень интересная, но я не разберусь в установке этого всего на хост...
Ответить

Вернуться в «Спросить у знатоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя