кас
Вот что нужно!
кас
Обратная связь даже не нужна
Alexandre
чето тебя штырит
Slava
https://pin.it/dtjlxbudfc7hn5
Slava
Вот интересная статья, но скажу сразу, проблем много, перепаивать под лупой надо. У кого плохое зрение - будет еще хуже. Проще из модулей-полуфабрикатов собрать в пластиковой коробочке.
Alexandre
Занят он другими делами :)
Эмм ну так он, вроде, способен с несколькими устройствами работать, это ж шина
Alexandre
Славером?
ты не написал в сообщении, мастера тебе в МК надо или слейва, а потому по умолчанию мастер (для подключения внешней периферии) слейв - это в МК редкость в принципе, и слейв-битбэнг реально сложен с прерываниями, а без прерываний затратен из-за постоянных ожиданий
кас
Так вот, еще раз, подскажите, как проще и быстрее всего, в плане быстродействия, кинуть команду с ноута на есп? Еспха к ноуту подключена напрямую. Без инета
кас
Подключена по вайфаю
кас
Тк я попробовал на есп запустить вебсервер, на нём пару кнопок, и их нажатия обрабатывать, и работало это всё оч медленно, ищу способ сделать это иначе. Во первых, снять с есп задачу отрисовки страницы, сделать свой гуи, это изи. И во вторых, ищу способ наиболее быстрого способа передачи пакета данных напрямую.
кас
Хз, пытаюсь понятно объяснять)
Slava
Еще быстрее через сериал порт
кас
Вот я как-то так делал!!!
кас
Но не помню как
Slava
По вифи post командой
кас
Я коннектился по ip с компа и передавал текст
кас
Не помню как
Slava
Ближе к ночи могу код показать
кас
И код этот потерял
кас
Телнет что-ли
кас
Ок, попробую
кас
Я прост через жопу делал
кас
По кнопке он через жс загружал другую страницу, есп это детектила и загружала старую с кнопками
кас
И по этому событию чето делала
кас
Не было времени разбираться с пост гет запросами
Slava
Я коннектился по ip с компа и передавал текст
WiFiClient TCPclient; //--------------------------------------------------------- int Msg_for_Minion(String msg, String chat_id) { print_lcd(6, 0, "Msg_for_Minion"); delay(1); String msg_ip = ""; String msg_cmd = ""; String ipm = ""; if (msg.indexOf("/m0") == 0) { msg_cmd = "list_cmd"; if (msg.indexOf("/m01") == 0) {ipm = "192.168.1.240";} if (msg.indexOf("/m02") == 0) {ipm = "192.168.1.241";} if (msg.indexOf("/m03") == 0) {ipm = "192.168.1.242";} if (msg.indexOf("/m04") == 0) {ipm = "192.168.1.243";} if (msg.indexOf("/m05") == 0) {ipm = "192.168.1.244";} if (msg.indexOf("/m06") == 0) {ipm = "192.168.1.245";} if (msg.indexOf("/m07") == 0) {ipm = "192.168.1.246";} if (msg.indexOf("/m08") == 0) {ipm = "192.168.1.247";} if (msg.indexOf("/m09") == 0) {ipm = "192.168.1.248";} } else { if (msg.indexOf("") > 0) { int pd = msg.indexOf(""); ipm = msg.substring(0, pd); ipm = "192.168.1." + ipm; ipm.replace("_", ""); ipm.replace("/m", ""); msg_cmd = msg.substring(pd + 2); }else{ int pd = msg.indexOf("__"); ipm = msg.substring(0, pd); ipm = "192.168.1." + ipm; ipm.replace("_", ""); ipm.replace("/m", ""); msg_cmd = "slave"; } } WiFiClient client; //delay(1); if (!client.connect(ipm.c_str(), 80)) { Serialprint("ERR: connection to minion failed" + ipm); Msg_to_chat_id_over_TlgBot(chat_id, "миньон " + ipm + " не доступен, возможно села батарейка", ""); client.flush(); client.stop(); client.flush(); kill_tcp(); return 0; } Serialprint("->min [" + ipm + "][" + msg + "][" + msg_cmd + "]"); //print_lcd(2, 0, "->min " + (msg) + ""); String url = "/input_dmv?msg=" + msg_cmd + "&chat_id=" + chat_id; //Serialprintln("Requesting URL: "); //Serialprintln(url); client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + msg_ip + "\r\n" + "Connection: close\r\n\r\n"); unsigned long timeout = millis(); while (client.available() == 0) { if (millis() - timeout > 6000) { Serialprintln("ERR:"); Serialprintln("ERR: Msg_for_Minion Timeout !" + msg_ip); Serialprintln("ERR:"); Msg_to_chat_id_over_TlgBot(chat_id, "миньон " + msg_ip + " не доступен, возможно села батарейка", ""); client.flush(); client.stop(); client.flush(); kill_tcp(); return 0; } } String line = ""; while (client.available()) { line += String(char(client.read())); } Serialprintln("<-min: " + line); client.flush(); client.stop(); client.flush(); kill_tcp(); return 1; }
Slava
это гет
Slava
String command = "\ POST " + url + " HTTP/1.1\r\n\ Host: " + config.ip_domovoy + "\r\n\ Content-Type: text/plain\r\n\ Сonnection: close\r\n\ Content-Length: " + txt.length() + "\r\n\r\n" + txt; TCPclient.print(command);
Slava
это пост
Роман
Попробуйте почитать про передачу через UDP, я сам не разбирался, но куски кода что видел довольно простые и понятные. Вероятно это будет похоже на передачу "напрямую"
Slava
udp не гарантирует доставку данных, если я правильно знаю
Роман
Ну get/post вероятно вообще единственный метод со "встроенными" ответами о получении данных. НО!Может там спамить будет каждую секунду данными что-то по UDP, и если один кусочек из 10 потеряется не критично. В общем я лишь "где-то что-то" слышал) и посоветовал почитать по подробней) А вдруг!
Slava
да, при хорошем уровне вифи и прямым кодом и не сильнозагруженной ESP 1 секунда или даже меньше на передачу данных с получением ответа о доставке.
Роман
А если 10 раз за секунду?) Думаю через udp - легко)
Slava
если 10 раз в секунду - нужно что то помощьнее есп 😭
Slava
если потеря данных не критична - можно udp
Slava
в моём проекте критично - я выбрал TCP GET POST и еще проверку на доставку и повторную отправку через 15 секунд
кас
Он без проверки
Anonymous
@johnsmithlf будет жить. Поприветствуем!
Anonymous
Danill maslov будет жить. Поприветствуем!
Slava
А почему не ws?
что такое ws ?
Slava
не увидел примера кода на WS
Yuriy
не увидел примера кода на WS
https://tttapa.github.io/ESP8266/Chap14%20-%20WebSocket.html
Yuriy
В продолжение, конечно тут зависит от размера того , что "гоняется", но накладные расходы минимальны относительно http post. Я не знаю, что за проект и требования. Возможно вам буферизация требуется, если канал не справляется с потоком данных. Кстати, чем меняется "занятость"? 10 раз в сек, это не звучит внушительно...
Anonymous
Mihail Shoshin будет жить. Поприветствуем!
Slava
https://tttapa.github.io/ESP8266/Chap14%20-%20WebSocket.html
посмотрел бегло, когдп нибудь с этим поразбираюсь, спсб
Slava
почему до 81000, а не 82000 ?
Ruslan
А почему не ws?
Почему не MQTT?
Yuriy
Почему не MQTT?
Да почему нет, с учётом , что MQTT поверх WebSocket работает. 😀 Он выше в сетевой модели , уровнень абстракций уже прикладной. если подходит для задачи , то изобретать велосипед не стоит (разве в целях изучения)
Anonymous
@AlexKondrat будет жить. Поприветствуем!
Yuriy
Я предполагал поверх TCP/IP
Можно и так, только что слать сообщения будет? Веб морда? В любом случае, конечно всё по tcp/ip (udp) пойдет.
Aleksandr
Aleksandr
Aleksandr
Aleksandr
Всем привет Корпус под устройства с монитором Корпус разрабатывался для термостата, но энтузиасты уже нашли несколько альтернативных применений Данные корпуса разрабатывались специально под монитор nextion 2.4 дюйма. Но так же есть возможность установить spi монитор такого же размера, встает по внешней рамке но надо дорабатывать плату которая идет в комплекте с монитором. Есть так же макетные платы Макетные платы представляют из себя комплект из двух плат, верхняя и нижняя Верхняя плата доступна в двух вариантах вариант 1 ESP-12E вариант 2 ESP32 Нижняя плата - есть место под установку терминалов в количестве до 7шт Во вложении pdf файл для ознакомления с внешним видом плат Так же во вложении фото корпусов в двух цветах черный и белый https://yadi.sk/i/dqrJUIEmZ4TMlg РАзмер монитора и платы. https://yadi.sk/i/JvgZpvsJcB2yEQ Макетные платы https://yadi.sk/d/49zqyFmuPYE0vg https://yadi.sk/d/_LJMT51S-CHOaQ 3Д модели корпуса для расстановки коомпонентов https://yadi.sk/i/-Z_oAay6FhG2DQ Размеры нижней части
Aleksandr
Aleksandr
Aleksandr
https://docviewer.yandex.ru/view/0/?*=KMW%2FWwmaQN6Tscc69nMplfIaWpp7InVybCI6InlhLWRpc2stcHVibGljOi8vYjRlbGZHQ2VORDFJRFZMcnNscjkvWkFjMkc4WktrTnF4cWxSQjhMakRhS2JpZHladFNRbDI2QUpMWVFVS05uN3EvSjZicG1SeU9Kb25UM1ZvWG5EYWc9PSIsInRpdGxlIjoidGVzdF9icmRfMjAxOTA1MjQucGRmIiwibm9pZnJhbWUiOmZhbHNlLCJ1aWQiOiIwIiwidHMiOjE1NTk4ODcyNDk5NjQsInl1IjoiNTI5NDA5NjE1MTU1OTY1NDMzNCJ9
Интересно. А рамка заводская пресформа или 3d принтер?
Indr1x
Устанешь пост обработку делать после принтера на партии больше пары штук
Indr1x
Это не принтер
Aleksandr
Думаю так понятнее будет
Slava
Кого интересует управление и уведомления есп32 через заблокированный телеграм, без https, без постоянного обращения к апи телеграм и мгновенное реагирование... смотрите там...
Slava
SZLAB ESP32 ESP8266 TELEGRAM BOT https://t.me/szlab
Andy
Подписался. Начал играть в ждуна. :)
Всем привет Корпус под устройства с монитором Корпус разрабатывался для термостата, но энтузиасты уже нашли несколько альтернативных применений Данные корпуса разрабатывались специально под монитор nextion 2.4 дюйма. Но так же есть возможность установить spi монитор такого же размера, встает по внешней рамке но надо дорабатывать плату которая идет в комплекте с монитором. Есть так же макетные платы Макетные платы представляют из себя комплект из двух плат, верхняя и нижняя Верхняя плата доступна в двух вариантах вариант 1 ESP-12E вариант 2 ESP32 Нижняя плата - есть место под установку терминалов в количестве до 7шт Во вложении pdf файл для ознакомления с внешним видом плат Так же во вложении фото корпусов в двух цветах черный и белый https://yadi.sk/i/dqrJUIEmZ4TMlg РАзмер монитора и платы. https://yadi.sk/i/JvgZpvsJcB2yEQ Макетные платы https://yadi.sk/d/49zqyFmuPYE0vg https://yadi.sk/d/_LJMT51S-CHOaQ 3Д модели корпуса для расстановки коомпонентов https://yadi.sk/i/-Z_oAay6FhG2DQ Размеры нижней части
да была как то идея поставить в такую же рамку e-inc дисплей с тач скрином и использовать как мини панель управления