С 23 февраля
Форум самогонщиков Сайт Барахолка С 23 февраля

Автоматика с веб управлением на основе esp32 и pzem

Форум Оборудование Автоматика
1 ... 11 12 13 14 15 16 17 18 14
gol_avto Кандидат наук Москва > Серпухов 349 75
Отв.260  09 Янв. 20, 19:18
ys1797
А вот такой дисплей с драйвером SSD1306 по ссылке Андрея подойдет?
https://aliexpress.ru/...zsLYYH&mp=1
ys1797 Доктор наук Санкт-Петербург 977 316
Отв.261  09 Янв. 20, 19:18, через 1 мин
Оказывается платы приехали в пункт выдачи менее чем за 2 недели!Андрей, 09 Янв. 20, 15:56

Да доставка там шустрая.
Там недавно акция была на первый заказ: 5 плат за 2 бакса, плюс скидка на доставку. Вообще халява - 5 плат по цене бутылки пива.

Я не знаю какая у Вас, Андрей, почта. Но для почты россии использую мобильное приложение и упрощенное получение по коду из смс.
Там или отправление само добавляется, если для него указан номер телефона или вручную трэк добавляем, как в случае с платами.
Как только отправление пришло - телефон хрюкнул и ковыляем на почту Улыбающийся

Добавлено через 2мин.:

интересует экран по больше ( ну нравятся мне экраны) дюйма 2. Посоветуйте что можно.nic2015, 09 Янв. 20, 19:13

Экран тут вообще опция, я по нему ну иногда ip назначенный по DHCP посмотрю. А так, все смотрю в планшете - там все большое Улыбающийся

Добавлено через 1мин.:

А вот такой дисплей с драйвером SSD1306 по ссылке Андрея подойдет?gol_avto, 09 Янв. 20, 19:18

Это же китай. Все надо проверять. У меня такой не попадался, следовательно не знаю.
gol_avto Кандидат наук Москва > Серпухов 349 75
Отв.262  09 Янв. 20, 19:22, через 4 мин
5 плат за 2 баксаys1797, 09 Янв. 20, 19:18
Мне уже едут
nic2015 Специалист Феодосия 164 24
Отв.263  09 Янв. 20, 19:24, через 2 мин
Экран тут вообще опция,ys1797, 09 Янв. 20, 19:18
я так понял, что чип ssd 1106 поддерживается, если найду побольше можно по i2c подключить?

Добавлено через 2мин.:

Вот модуль i2c дисплея sh1106 был в руках - он работаетys1797, 07 Марта 19, 19:42
ys1797 Доктор наук Санкт-Петербург 977 316
Отв.264  09 Янв. 20, 19:27, через 3 мин
Сделал для себя калькуляцию.Андрей, 09 Янв. 20, 14:52
Не хватает ds2482-100:  https://www.chipdip.ru/product/ds2482s-100-2 100 руб ну или на али
nic2015 Специалист Феодосия 164 24
Отв.265  09 Янв. 20, 19:39, через 13 мин
https://banggood.app.link/V0d7OVu262 вот ,ssd 1106, 1,3 дюйма, подключается по i2c.
ys1797 Доктор наук Санкт-Петербург 977 316
Отв.266  09 Янв. 20, 19:42, через 3 мин
https://banggood.app.link/V0d7OVu262 вот ,ssd 1106, 1,3 дюйма, подключается по i2c.nic2015, 09 Янв. 20, 19:39

По i2c подключить-то можно. Но может потребоваться коррекция в инициализации, в зависимости от геометрии и разрешения дисплея.

Добавлено через 3дн. 23ч. 53мин.:

Пришли те модули.
Лудше бы они не припаивали ножки своими кривыми руками...
20200113_192905.jpg
20200113_192905. Автоматика с веб управлением на основе esp32 и pzem. Автоматика. Оборудование.
сообщение удалено
Андрей Администратор Бухарест 3785 4198
Отв.267  15 Янв. 20, 23:19
Начал знакомиться с АПИ, есть придирки:

Например

GET /startprocess

Гет запросы не должны ничего менять, это не соответствует RESTFUL. Например можно легко получить домашний IP через WebRTC браузера и вставить картинки с src на уязвимый запрос на всю подсеть и может произойти что-нибудь нехорошее Улыбающийся

В JSON, в названиях свойств используется в перемешку under_score и camelCase и даже местами camelCase с заглавной буквы. Это конечно пустяк, но когда в коде полный порядок это хорошо выручает при рефакторинге и в командной работе.
ys1797 Доктор наук Санкт-Петербург 977 316
Отв.268  18 Янв. 20, 19:57
Да там есть некоторые косяки.

Например можно легко получить домашний IP через WebRTC браузера и вставить картинки с srcАндрей, 15 Янв. 20, 23:19

Ну. http://192.168.1.32/startprocess Не сильно напугает Улыбающийся
Тем более, устройство не для "дикого" интернета Улыбающийся

Про имена тоже согласен. Я тут правда один проект видел в верилог написанный, дак от тамошнего написания волосы встают дыбом вообще везде Улыбающийся

p.s. На маркет выставил комплект по цене деталей с PZEM предыдущей версии. Вдруг кому надо. Остался после тестирования нового пзем.
Андрей Администратор Бухарест 3785 4198
Отв.269  19 Янв. 20, 09:51
Ну. http://192.168.1.32/startprocess Не сильно напугаетys1797, 18 Янв. 20, 19:57
Это для меня этот адрес бесполезен, но я могу спровоцировать запрос с твоего устройства на этот адрес, например указав его в адресе картинки в сообщении или ЛС.

Я думаю, что интерфейс, было бы проще грузить из интернета, не надо перепрошиваться при каждом обновлении.
zapnet Магистр Кострома 205 71
Отв.270  19 Янв. 20, 11:44
не надо перепрошиваться при каждом обновленииАндрей, 19 Янв. 20, 09:51
С включенной ОТА перепрошиться не составит труда.
Андрей Администратор Бухарест 3785 4198
Отв.271  19 Янв. 20, 12:25, через 42 мин
zapnet, тебе да, а тому кто просто пользуется не вникая в тонкости разработки - нет.

А во вторых придется следить за обновлениями, чтобы своевременно узнавать, что можно обновиться.
zapnet Магистр Кострома 205 71
Отв.272  19 Янв. 20, 14:14
тебе да, а тому кто просто пользуется не вникая в тонкости разработки - нетАндрей, 19 Янв. 20, 12:25
Не нежно вникать в тонкости.Прикрепил картинку последней вкладки меню-обновления.Там видно выбрать файл-загрузить.Т.е.что бы поменять веб морду выбираем файл HTML, грузим и имеем новую морду.Ну оочень же просто. Вопрос только в том почему Юра не хочет использовать ота в начальной прошивке..?
IMG_4978.PNG
IMG_4978.PNG Автоматика с веб управлением на основе esp32 и pzem. Автоматика. Оборудование.
ys1797 Доктор наук Санкт-Петербург 977 316
Отв.273  19 Янв. 20, 21:06
Это для меня этот адрес бесполезен, но я могу спровоцировать запрос с твоего устройства на этот адрес, например указав его в адресе картинки в сообщении или ЛС.
Андрей, 19 Янв. 20, 09:51

Я понял, но шанс попасть в адрес мал. Но можно и переделать. Просто обработка POST запросов немного тяжелее по коду.

Я думаю, что интерфейс, было бы проще грузить из интернета, не надо перепрошиваться при каждом обновлении.Андрей, 19 Янв. 20, 09:51

Я думал об этом. Но на даче с нестабильным интернетом от этого отказался.
Да еще тогда кроссдоменные запросы нужно отдельно отрабатывать.

Добавлено через 2мин.:

zapnet, Я помню про ОТА. Но там что-то было не так с разметкой флеша внутреннего. Не забываем, что граница раздела должна быть кратна размеру eraseblock.

Добавлено через 8мин.:

Кстати, некоторые замечания:

1. Желательно использовать модули с выносной WiFi антеной. (для wifi используется шнурок с RP SMA, это там где мама с внешней резьбой вдруг стала папой)
2. Не ставить блок управления вблизи работающей микроволновой печи.
Brc Студент Gomel' 13 7
Отв.274  19 Янв. 20, 22:20
Посмотрите тему на алкофане(ссылки вставлять не могу) "Узел отбора на перистальтическом насосе".
Очень перспективное устройство. Может быть как самостоятельным, так и в составе автоматики.
Связь по i2c в тестовом режиме работает.
nic2015 Специалист Феодосия 164 24
Отв.275  22 Янв. 20, 15:29
float getTemperature(void);
long readPressure(void)Brc, 19 Дек. 19, 11:43
Brc, можно этот момент по подробней, для чайников?
Brc Студент Gomel' 13 7
Отв.276  22 Янв. 20, 17:07
можно этот момент по подробней, для чайников?nic2015, 22 Янв. 20, 15:29
float getTemperature(void); - участвует в расчете давления.
long readPressure(void)- функция возвращает текущее давление в Па.
Перевод из Па в мм рт. ст. - как в Википедии: Pmm=Ppa*1000/133322
При изменении давления на 1 Pmm температура кипения спирта изменяется примерно на 0,03 градуса.
Вставляете в код и рассчитываете что надо, например корректировка температуры в кубе
getCubeTemp()+(760-readPressure()*1000/133322);

Добавлено через 13мин.:

getCubeTemp()+(760-readPressure()*1000/133322)*0,03;
nic2015 Специалист Феодосия 164 24
Отв.277  22 Янв. 20, 20:58
ys1797, Непонятно, подключился другую есп, экран стал зеркально показывать.
IMG_20200122_203509.jpg
IMG_20200122_203509.jpg Автоматика с веб управлением на основе esp32 и pzem. Автоматика. Оборудование.
ys1797 Доктор наук Санкт-Петербург 977 316
Отв.278  23 Янв. 20, 00:22
nic2015, у меня у всех таких экранов низ в районе выводов.
Андрей Администратор Бухарест 3785 4198
Отв.279  26 Янв. 20, 19:16
Я думал об этом. Но на даче с нестабильным интернетом от этого отказался.
Да еще тогда кроссдоменные запросы нужно отдельно отрабатывать.ys1797, 19 Янв. 20, 21:06
Загрузить надо в общей сложности около 100кб кода, при этом все компоненты кэшируюстя браузером и еще можно просто сохранить страницу средствами самого браузера или просто скачать заранее на СД-карту штмл страницу со стилями и JS.

Мне при разработке и отладке было бы очень удобно, если бы интерфейс не обязательно было бы вшивать в устройство.

А зачем нам вообще нужен REST, если есть WS? Через сокеты можно и передавать данные и кроссдоменной защиты в браузере нет. И проксировать соединения проще. Может я захочу подключиться через интернет к своей автоматике, я смогу это сделать через сайт ХД например.

Добавлено через 15ч. 3мин.:

var websocket = new WebSocket("192.168.1.1");

// Сервер должен раз в секунду или как настроишь
// передавать текущее состояние атоматики
// Плюс результаты выполнения команд (успех, код ошибки - набор символов /\w+/)
websocket.onmessage = function(str) {
  var response = JSON.parse(str);
  // Полученеи ответа об успехе из примера ниже
  if (response.saveparam === true) {
    alert('Параметры сохранены');
  }
};

// Пример установки параметров устройства
websocket.send(JSON.stringify({
  saveparam: {maxPower: 1000, ...}
}));

// Или пример сброса
websocket.send(JSON.stringify({
  defparam: true
}));

Из простого примера должно быть понятно, что должно происходить на сервере (в автоматике).

Сложно будет перестроить серверную часть для такой работы?
Или возможно ли создание альтернативной версии под полную работу через сокеты?

И еще хотелось бы иметь возможность записывать в устройство свои произвольные конфигурационные данные.

ПС
Код криво отображается, я попозже этот глюк форума исправлю.