Форум самогонщиков Сайт Барахолка Магазин За батюшку админа

Контроллер пивоварни на esp8266

Форум самогонщиков Автоматика
1 ... 15 16 17 18 19 20 21 22 18
gol_avto Доктор наук Москва - Серпухов - Анапа 840 288
Отв.340  18 Февр. 19, 07:21
Есть бинарники 0.43, надо?
EroshKA Кандидат наук Самара 477 321
Отв.341  18 Февр. 19, 09:09
Бинарники и на git лежать. Нужны исходники.
Sany531 Кандидат наук Саяногорск 397 137
Отв.342  18 Февр. 19, 17:22
Файлы не совсем исходники, надо проверить кнопки и настройки в вини,модифицированы могут быть, ну и адреса PCF, а так все оригинальное
EroshKA Кандидат наук Самара 477 321
Отв.343  22 Февр. 19, 21:24
Спасибо всем кто откликнулся на мою просьбу.
Да, уже несколько дней в исходниках лежит версия 0.4.7
Ни на сайте обновлений, ни в готовых bin файлах нет файлов для прошивки.
fate13 Новичок Белореченск 5
Отв.344  10 Марта 19, 12:23
Подскажите как настроить ПИД?
захожу в man>удерживаю heat> выскакивает tune pid > соглашаюсь  проходит 5-6 минут нагрев и все сбрасывается, не могу выставить температуру до которой вести нагрев.
В видео с 15 страницы от  Sany531 написано авто настройка длится долго.
EroshKA Кандидат наук Самара 477 321
Отв.345  10 Марта 19, 13:18, через 56 мин
fate13, тут
ShlissFaust Новичок Шлиссельбург 9 3
Отв.346  02 Апр. 19, 13:22
Получил плату контроллера, получилось залить прошивку через PlatformIO. При подаче питания появляется точка доступа hm, но она закрыта паролем... при попытке подключения его спрашивает... соответсвенно дальше я никак не могу пройти. Вроде писали, что точка доступа должна быть открытой, но у мня почему-то это не так. Кто-то сталкивался с этим?
93CE7400-E27E-4AC6-94EA-FED0513F8EB6.jpeg
93CE7400-E27E-4AC6-94EA-FED0513F8EB6.jpeg Контроллер пивоварни на esp8266 . Автоматика.
chst1000 Доктор наук Москва 626 514
Отв.347  02 Апр. 19, 16:14
Такой не подходит ?
rdwhahb!
ShlissFaust Новичок Шлиссельбург 9 3
Отв.348  02 Апр. 19, 16:38, через 25 мин
Да, подошел, спасибо!
Можно узнать откуда вы его взяли? Что-то я как не копался в мануале от Vito, так и не нашел информации об этом.
chst1000 Доктор наук Москва 626 514
Отв.349  02 Апр. 19, 16:44, через 6 мин
Можно узнать откуда вы его взяли?ShlissFaust, 02 Апр. 19, 16:38
Где то в обсуждениях , толи в блоге у Vito толи на гитхабе.

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

Вспомнил , в исходниках , в файле config.h
150 // http://bm.local:8008/update
151 #define SYSTEM_UPDATE_PATH "/systemupdate"
152 #define Default_USERNAME "brewmaniac"
153 #define Default_PASSWORD "rdwhahb!"
154 #define Default_HOSTNAME "bm"
killboss Студент Пермский край 33 6
Отв.350  03 Апр. 19, 07:32
Да, подошел, спасибо!
Можно узнать откуда вы его взяли? Что-то я как не копался в мануале от Vito, так и не нашел информации об этом.ShlissFaust, 02 Апр. 19, 16:38

Страница 13 в теме.
[сообщение #13350850]
ShlissFaust Новичок Шлиссельбург 9 3
Отв.351  04 Апр. 19, 13:12
Разбираюсь с подключением аппаратной клавиатуры. Сейчас, кажется все заработало, но есть вопросы, может кому будет полезна следующая информация.
Плата Wemos D1 R1
wemos-d1.jpg
Wemos-d1. Контроллер пивоварни на esp8266 . Автоматика.

т.к. у меня полноразмерная версия платы Wemos D1 R1, то решил клавиатуру подключать, как это советовалось с этой теме прямо к цифровым портам. Это получилось не сразу.
Сейчас клавиатура подключена и работает на портах D0(GPIO3), D1(GPIO1), D3(GPIO5), D4(GPIO4). для того, чтобы подключение заработало в файле pins.h внес изменения со строки 42:
#if BUTTON_USE_EXT !=true
#define ButtonUpPin    1
#define ButtonDownPin  3
#define ButtonStartPin  4
#define ButtonEnterPin  5
До этого в строке 19 указал #define BUTTON_USE_EXT false, чтобы уловный оператор сразу брал значения из первого блока значений, иначе изменения, как я понял нужно вносить во второй аналогичный блок файла pins.h c 49 строчки.
Значение пинов брал из схемы, которую нашел в интернете для моей платы. Прикладываю эту схему с тем как подключено у меня, может так же будет кому-то полезно.
2017-12-30_13-45-11.png
2017-12-30_13-45-11. Контроллер пивоварни на esp8266 . Автоматика.


Проверил пищалку, насос и ТЭН, подключил и корректно показывают 2 термодатчика... Но остались вопросы:
Пробовал подключить кнопки на порты D10(GPIO15), D9(GPIO2), D8(GPPIO0), D7(GPIO13). Соответственно в pins.h были такие строчки:
#define ButtonUpPin    13
#define ButtonDownPin  0
#define ButtonStartPin  2
#define ButtonEnterPin  15
В этом варианте кнопки не заработали совсем... я так и не понял почему, но при нажатии на любую кнопку каких-либо реакций от контроллера не было (кажется только на D9 диод на плате мигал).
Вопрос: почему так? что сделано не так?

Еще вопрос:
к данной системе хочу подключить поплавковый датчик уровня, для создания K-RIMS пивоварни.
datchik_yrovnya.png
Datchik_yrovnya. Контроллер пивоварни на esp8266 . Автоматика.

На какой порт я могу его подключить? например у меня свободен D12(GPIO12), этот подойдет?
Если да, то, согласно информации от Vito, если я правильно понял,  нужно:
в файле конфигурации проекта в блоке настроек добавить строчку:
-DEnableLevelSensor=true

а в файле pins.h в строчке с 56 указать:
#if EnableLevelSensor
#define LevelSensorOnIoExpander false
#if LevelSensorOnIoExpander
#define LevelSensorIOExpPin 32 //P5
#else
#define LevelSensorPin 12
#endif

и в строке 213 этого же файла указать:

bool isWaterLevelFull(void){
return digitalRead(LevelSensorPin) != 0;

Насколько я понял, здесь есть те, кто использует данный датчик, прошу посмотреть все ли я првильно понимаю и достаточно ли данных изменений, чтобы система заработала.
P/S/ я еще не получил сам датчик, как придет, попробую, отпишусь по результатам.

2017-12-30_13-45-11.png
2017-12-30_13-45-11.png Контроллер пивоварни на esp8266 . Автоматика.
wemos-d1.jpg
wemos-d1.jpg Контроллер пивоварни на esp8266 . Автоматика.
EroshKA Кандидат наук Самара 477 321
Отв.352  05 Апр. 19, 17:49
кнопки не заработали потому что не то правилось
#define BUTTON_USE_EXT true // меняем на false
#if BUTTON_USE_EXT !=true 
#define ButtonUpPin    NODEMCU_PIN_D3 //пишем свой порт в таком же формате NODEMCU_PIN_D10
#define ButtonDownPin   NODEMCU_PIN_D4 //пишем свой порт в таком же формате NODEMCU_PIN_D9
#define ButtonStartPin  NODEMCU_PIN_D5 //пишем свой порт в таком же формате NODEMCU_PIN_D8
#define ButtonEnterPin  NODEMCU_PIN_D7 //пишем свой порт в таком же формате NODEMCU_PIN_D7
#else

#define ButtonUpPin    2 // P1
#define ButtonDownPin  1 // p0 NODEMCU_PIN_D4
#define ButtonStartPin  8 //P3 NODEMCU_PIN_D5
#define ButtonEnterPin  4 //P2 NODEMCU_PIN_D6

#endif;
Но D8 и D7 заняты ТЭНами, соответственно и их надо править. Да и то это будет верно если правильно взяты названия пинов.
Могу быть не прав поскольку
#define NODEMCU_PIN_A0 17
#define NODEMCU_PIN_D0 16	Buzzer
#define NODEMCU_PIN_D1 5	 [I/O]SCL // I2C
#define NODEMCU_PIN_D2 4	 [I/O]SDA // I2C
#define NODEMCU_PIN_D3 0
#define NODEMCU_PIN_D4 2
#define NODEMCU_PIN_D5 14    Pump
#define NODEMCU_PIN_D6 12    Sensor
#define NODEMCU_PIN_D7 13    Heater
#define NODEMCU_PIN_D8 15    AuxHeater 
Не совпадает с распиновкой на твоей плате, с ней дело не имел. Насос, датчики температуры и ТЭН у тебя попали по GPIO. Возможно и этот кусок надо править. Или закрывать этот кусок комментариями и везде указыватья явный GPIO.

С датчиком уровня вносим правки в platformio.ini b и в файле pins.h  
#if EnableLevelSensor
#define LevelSensorOnIoExpander false

#if LevelSensorOnIoExpander
#define LevelSensorIOExpPin 32 //P5
#else
#define LevelSensorPin NODEMCU_PIN_D4 //Указываем свой порт в формате NODEMCU_PIN_DХ
#endif
И больше ничего не надо трогать.
Не рекомендуется использование D3/D4/D15. Если датчик будет подключен, то контроллер не стартанет. Выходом является подключение датчика при уже включенном контроллере. В блоге же все написано. Или использовать датчик нормально открытый.
Самый простой способ это взять рекоменованный Wemos D1 mini и собрать все на основе его. Там очень легко запутаться в пинах. Или надо, все же, понимать что ты делаешь.
Экран работает при таком подключении? А то он у тебя на тех же GPIO висит что и кнопки.
ShlissFaust Новичок Шлиссельбург 9 3
Отв.353  05 Апр. 19, 19:54
Кнопки и экран работают, но было пару раз, что по нажатию кнопок по экрану начинали бежать иероглифы. Я грешил на то, что подключено проводками на макетной плате. Возможно вы правы и это проблемы подключения.. буду дальше пытаться разобраться. Понимание того что делаю есть, но не полное... стараюсь разобраться

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

А то он у тебя на тех же GPIO висит что и кнопки.EroshKA, 05 Апр. 19, 17:49
Похоже вы правы в том, что вешать на одни и те же порты GPIO экран и кнопки это нехорошо, хотя, повторюсь, все работает и довольно стабильно, но, скорее всего, глюки экрана, которые я все же пару раз наблюдал появлялись именно из-за этого.
Видимо все же, надо переносить подключенные кнопок клавиатуры с D3(GPIO5), D4(GPIO4) на другие свободные GPIO порты. Их получается гораздо меньше чем цифровых выходов(D1-D15), на которых, оказывается, дублируются GPIO порты. Свободных портов GPIO на этой плате всего 5 (GPIO1 и GPIO3 - на них у меня подключены 2 кнопки и они нормально работают; GPIO 0, GPIO2, GPIO15- на этот порт у Vito подключится 2-й нагреватель, который я не планирую использовать). Как я и писал ранее, я уже подключал кнопки к портам GPIO и  GPIO2, но что-то не пошло, контроллер никак не реагировал на их нажатие, возможно это потому, что у каждого из этих портов "10kPullUP"?
Если эти порты нельзя использовать для подключения кнопок, то, получается, с данной платой нужно все же использовать расширитель портов на шине I2C, чтобы корректно подключить клавиатуру?

пишем свой порт в таком же формате NODEMCU_PIN_D10EroshKA, 05 Апр. 19, 17:49
Еще я не совсем понимаю почему вы настаиваете на написании портов в формате NODEMCU_PIN_XX, а не просто цифр со значениями пинов.
Мои невеликие познания в С++ программировани все же позволяют утверждать, что запись #define NODEMCU_PIN_XX Y  всего лишь определяет переменную NODEMCU_PIN_XX, присваивая ей конкретное значение - номер пина (Y) и можно использовать как эту переменную, так и сам номер, это равнозначно.
Блок определений переменных (#define...) служит лишь для того, чтобы можно было под разные платы менять пины цифровых портов (D0-D15) без того, чтобы переписывать всю программу, т.е. вместо номера пина в программе используется переменная, которая определяется 1 раз,  а цифра, которая стоит после #define NODEMCU_PIN_XX как раз и есть номер пина в среде Arduino для этой платы ESP8266.
Соответсвенно, для того, чтобы эта программа работала на других платах  ESP8266 (отличных от той, что изначально в проекте автора) нужно либо указать для каждого выхода D -пин именно для вашей платы и подключать всю периферию в соответствии с номерами цифровых портов (D0-D15) (эту информацию можно без особого труда найти для конкретной ревизии платы в интернете (для своей я выкладывал в сообщении выше) и как я понял номер пина в Arduino системе здесь фактически совпадает с номером порта GPIO) или найти какому GPIO соответствует выход D вашей платы (у меня это подписано с обратной стороны платы) и подключать периферию по этим значениям (именно так я и делал и все работает как положено)
Да, еще,  нельзя в программе просто взять и написать #define ButtonUpPin NODEMCU_PIN_D10 или D12 или любой номер отличный от 0-8 без того, чтобы ранее не была определена переменная NODEMCU_PIN_D10. Именно в секции #define ей должно быть присвоено конкретное значение, которое потом будет использоваться в программе. Иначе компилятор выдаст ошибку, что переменная не определена. 

P/S/ Плата осталась на работе, поэтому дальнейшие эксперименты с ней отложены до понедельника.
P/P/S Если есть соображения на какие порты на этой конкретной плате можно безболезненно подключить клавиатуру (и какие конкретно настройки при таком подключении должны быть в файле pins.h) - прошу писать, так же прошу писать, если в моих рассуждениях есть явные ошибки, хочется понимания.
P/P/P/S С программированием плат на этом контроллере сталкиваюсь впервые, до этого имел некоторый опыт программирования Arduino UNO плат, там с портами путаницы гораздо меньше, поэтому если мои рассуждения где-то откровенно дилетантские, прошу отнестись с терпением и если это возможно объяснить где и в чем я ошибаюсь.
EroshKA Кандидат наук Самара 477 321
Отв.354  06 Апр. 19, 19:09
Могу быть не прав посколькуEroshKA, 05 Апр. 19, 17:49
И далее по тексту. Там определены GPIO для D1 mini. Соответственно стоит переопределить все под свою плату, чтоб просто не путаться.
Или закрывать этот кусок комментариями и везде указывать явный GPIO.EroshKA, 05 Апр. 19, 17:49
ShlissFaust Новичок Шлиссельбург 9 3
Отв.355  08 Апр. 19, 23:32
Сегодня пробовал перенести клавиатуру на другие пины на основной плате. К сожалению, так и не смог этого сделать. На профильных ресурсах прочитал, что порты (пины) esp8266 не равнозначны и некоторые не могут использоваться, например, для подключения кнопок. Судя по всему даже на полноразмерных платах (а не на Wemos d1 mini, как у автора) все же нужно использовать расширитель портов, как это предусмотрено у автора. Подключил расширитель портов I2C параллельно дисплею, вернул #define BUTTON_USE_EXT true, как это было у автора. Кнопки подключил на контакты P0-P3 на расширителе. Все заработало сразу и без глюков.
wzor Студент Арбузная мастерская 13 1
Отв.356  18 Апр. 19, 10:10
Скажите, а в этой прошивки есть калибровка датчика температуры?
chst1000 Доктор наук Москва 626 514
Отв.357  18 Апр. 19, 10:39, через 30 мин
Скажите, а в этой прошивки есть калибровка датчика температуры?wzor, 18 Апр. 19, 10:10
Есть .
sensorBM.JPG
sensorBM.JPG Контроллер пивоварни на esp8266 . Автоматика.
wzor Студент Арбузная мастерская 13 1
Отв.358  30 Апр. 19, 09:07
Скажите какую PCB плату рекомендуете для этого проекта?
Хочу заказать в Китае 5 штук, но нужно полный набор файлов.
Посоветуйте.
axlibris Новичок Волгоград 5
Отв.359  22 Мая 19, 22:11
Сдатчиком температуры вопрос пока не решился.alexmw2006, 18 Нояб. 17, 12:34
Пиветствую! Решился ли вопрос с датчиком температуры? Такая же проблема... В добавок реле нагрева не действует при нажатии в вебке. Работает только реле насоса. Экран не ставил и пищалку тоже, но смутили датчик и реле нагрева...