roosewelt
18.06.2019, 15:17
Вітаю шановне товариство!
До недавного часу моїм невеликим акваріумом керував пристрій "Электроника 21-10". Виникло бажання зробити щось подібне, з управлінням через локальну мережу.
Пропоную самостійно виготовити акваріумний контролер на ESP-32 з Wi-Fi, без кнопок та екрана, все управління через браузер з телефона, планшета чи комп'ютера.
Можливості:
-управління 4 каналами світлодіодного освітлення 12 В, ШИМ 13 біт з опторозв'язкою;
-можливість встановити два рівня освітленості - денний та нічний для кожного з 4 каналів. Встановлення денного, нічного рівня освітленості чи вимикання відбувається плавно - ефекти сходу та заходу Сонця;
-управління 5 каналами 220 В (лампа, нагрівач, фільтр, компресор, вентилятор). Нагрівач та вентилятор керуються показами датчика температури води. Канали лампи, фільтра та компресора керуються програмою, введеною через веб-інтерфейс (до 100 команд);
-управління 2 каналами реле з нормально розімкнутими контактами 5А 250 В. Канали реле також керуються програмою, введеною через веб-інтерфейс. Планувалися для управління електромагнітними кранами
для підміни води;
-отримання даних з 3 каналів датчиків температури DS18B20 (температура води, повітря та зовнішньої температури). Покази датчика температури води впливають на роботу каналів нагрівача та вентилятора. Інші два канали температури - інформаційні;
-при підключенні до WiFi годинник контролера синхронізується через службу SNTP;
-доступ до всього функціоналу контролера відбувається через веб-інтерфейс. Контролер може працювати в режимі точки доступу або станції WiFi (основний режим).
-програмування полягає в тому, щоб задати час і що має відбутися (наприклад о 7:00 в понеділок включити фільтр), таких команд до 100;
В архіві - схема і плата в фоматі P-CAD 2006, файли проекту в середовищі ESP IDF.
https://drive.google.com/open?id=1LKGSm6-6yggJjmYpkPUoGgm-6nqrmGdp
ESP-32 DevKit v1 такий:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267453&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267453')
Веб-інтерфейс:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267457&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267457') https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267456&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267456') https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267455&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267455')
Схема і плата:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268064&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268064') https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268065&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268065')
Контролер в зборі:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268066&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268066')
Світлодіодні стрічки:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268067&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268067')
Прошивка відбувається через кабель USB-micro USB, жоден програматор не потрібен. Переважна більшість комплектуючих - SMD.
Собівартість комплектуючих близько 1500 грн (без блока живлення 12 В і світлодіодів).
Я брав 4 метри стрічки SMD 3528 (120 LED/m) IP54 Econom і блок живлення 12В 5 А - ще плюс 300 грн.
Плата виготовлена методом ЛУТ.
Можу безкоштовно залити прошивку у Ваш контролер - пишіть.
Схема, плата і програма поширюються на засадах Open Source. Комерційне використання без згоди автора заборонено.
УСТАНОВКА ESP IDF і прошивка:
Для прошивки потрібно:
1. Скачати ESP-IDF (для Windows тільки 64-біт) тут: https://dl.espressif.com/dl/esp32_wi...n-20181001.zip
2. Встановити ESP-IDF. Інструкція тут https://codedevice.ru/archives/10443
3. Запустити Панель управління - Диспетчер пристроїв. Підключити кабелем USB-microUSB плату ESP-32 DevKit v1. Повинен з'явитися новий порт у розділі порти LPT i COM:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271032&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271032')
у моєму випадку це COM3.
4. В папці c:\msys32 запустити файл mingw64.exe (в мене mingw32.exe, не знаю чи працює це в новій версії). Результат має бути такий:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271033&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271033')
5. В консолі виконати команду cd шлях до папки з проектом (в моєму випадку d:/eclipse/pid). Результат:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271034&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271034')
6. Виконати команду make menuconfig. Результат:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271035&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271035')
7. Перейти в розділ Serial flasher config - default serial port і вибрати порт з пункту 3. в моєму випадку це COM3. Вибрати Save - OK. Результат:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271036&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271036')
Вибрати Exit.
8. Виконати команду make flash. Коли з'явиться напис Connecting.... натиснути на платі кнопку BOOT, не відпускаючи, натиснути і відпустити кнопку EN, відпустити кнопку BOOT. В мене часто не спрацьовує з першого разу, натискаю кнопки кілька разів. У разі невдачі повторюю команду make flash. Результат успішної прошивки:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271037&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271037')
Відключити кабель від плати ESP-32 DevKit v1, вставити її в плату контролера, подати живлення.
Інструкція з встановлення ESP IDF: https://docs.espressif.com/projects/...ows-setup.html
Посилання на установщик:
https://dl.espressif.com/dl/esp32_wi...n-20181001.zip
Посилання на ESP-IDF, який в мене (32 біт):
https://drive.google.com/drive/folde..._V?usp=sharing
там також є Eclipse - редактор, що інтегрується з ESP IDF і є ngrok, який дозволяє отримати доступ до контролера ззовні локальної мережі.
Перший запуск і налаштування:
При першому запуску контролер сворює точку доступу з назвою ESP 32, пароль 4444444444. Слід підключитися через WiFi до цієї точки доступу, запустити браузер і в адресному рядку набрати 192.168.4.1. З'явиться список доступних точок доступу. Потрібно обрати свою і ввести пароль, натиснути кнопку "Підключити".
Після цього підключитися до своєї точки доступу і в налаштуваннях рутера (розділ резервування DHCP) знайти підключений пристрій espressif і зарезервувати йому IP, наприклад 192.168.1.100. Цей IP потрібно в подальшому вводити в адресний рядок браузера для доступу до інтерфейсу контролера.
Також є можливість працювати без підключення до Вашої точки доступу - натиснути "Працювати автономно". Доступ до інтерфейсу в цьому випадку через точку доступу ESP32, IP 192.168.4.1. Дату та час тоді потрібно встановити вручну.
UPD1. Оновлено прошивку. Виправив виявлену помилку з переходом на зимовий час і додав іконку сторінки контролера - Маріо .https://drive.google.com/file/d/1UI1BZR41mDirYpiheXDe9-iMwB-4Ld1I/view?ts=5db70f99
UPD2. Оновлено прошивку. Додано пропорційне управління нагрівачом через ШИМ. В результаті точність підтримання температури води зросла, у моєму випадку - до 0,1С
https://drive.google.com/file/d/1qn35vG-RJDxODk8MfocJXBi8Qq4xocQx/view?usp=sharing
До недавного часу моїм невеликим акваріумом керував пристрій "Электроника 21-10". Виникло бажання зробити щось подібне, з управлінням через локальну мережу.
Пропоную самостійно виготовити акваріумний контролер на ESP-32 з Wi-Fi, без кнопок та екрана, все управління через браузер з телефона, планшета чи комп'ютера.
Можливості:
-управління 4 каналами світлодіодного освітлення 12 В, ШИМ 13 біт з опторозв'язкою;
-можливість встановити два рівня освітленості - денний та нічний для кожного з 4 каналів. Встановлення денного, нічного рівня освітленості чи вимикання відбувається плавно - ефекти сходу та заходу Сонця;
-управління 5 каналами 220 В (лампа, нагрівач, фільтр, компресор, вентилятор). Нагрівач та вентилятор керуються показами датчика температури води. Канали лампи, фільтра та компресора керуються програмою, введеною через веб-інтерфейс (до 100 команд);
-управління 2 каналами реле з нормально розімкнутими контактами 5А 250 В. Канали реле також керуються програмою, введеною через веб-інтерфейс. Планувалися для управління електромагнітними кранами
для підміни води;
-отримання даних з 3 каналів датчиків температури DS18B20 (температура води, повітря та зовнішньої температури). Покази датчика температури води впливають на роботу каналів нагрівача та вентилятора. Інші два канали температури - інформаційні;
-при підключенні до WiFi годинник контролера синхронізується через службу SNTP;
-доступ до всього функціоналу контролера відбувається через веб-інтерфейс. Контролер може працювати в режимі точки доступу або станції WiFi (основний режим).
-програмування полягає в тому, щоб задати час і що має відбутися (наприклад о 7:00 в понеділок включити фільтр), таких команд до 100;
В архіві - схема і плата в фоматі P-CAD 2006, файли проекту в середовищі ESP IDF.
https://drive.google.com/open?id=1LKGSm6-6yggJjmYpkPUoGgm-6nqrmGdp
ESP-32 DevKit v1 такий:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267453&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267453')
Веб-інтерфейс:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267457&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267457') https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267456&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267456') https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267455&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=267455')
Схема і плата:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268064&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268064') https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268065&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268065')
Контролер в зборі:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268066&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268066')
Світлодіодні стрічки:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268067&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=268067')
Прошивка відбувається через кабель USB-micro USB, жоден програматор не потрібен. Переважна більшість комплектуючих - SMD.
Собівартість комплектуючих близько 1500 грн (без блока живлення 12 В і світлодіодів).
Я брав 4 метри стрічки SMD 3528 (120 LED/m) IP54 Econom і блок живлення 12В 5 А - ще плюс 300 грн.
Плата виготовлена методом ЛУТ.
Можу безкоштовно залити прошивку у Ваш контролер - пишіть.
Схема, плата і програма поширюються на засадах Open Source. Комерційне використання без згоди автора заборонено.
УСТАНОВКА ESP IDF і прошивка:
Для прошивки потрібно:
1. Скачати ESP-IDF (для Windows тільки 64-біт) тут: https://dl.espressif.com/dl/esp32_wi...n-20181001.zip
2. Встановити ESP-IDF. Інструкція тут https://codedevice.ru/archives/10443
3. Запустити Панель управління - Диспетчер пристроїв. Підключити кабелем USB-microUSB плату ESP-32 DevKit v1. Повинен з'явитися новий порт у розділі порти LPT i COM:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271032&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271032')
у моєму випадку це COM3.
4. В папці c:\msys32 запустити файл mingw64.exe (в мене mingw32.exe, не знаю чи працює це в новій версії). Результат має бути такий:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271033&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271033')
5. В консолі виконати команду cd шлях до папки з проектом (в моєму випадку d:/eclipse/pid). Результат:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271034&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271034')
6. Виконати команду make menuconfig. Результат:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271035&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271035')
7. Перейти в розділ Serial flasher config - default serial port і вибрати порт з пункту 3. в моєму випадку це COM3. Вибрати Save - OK. Результат:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271036&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271036')
Вибрати Exit.
8. Виконати команду make flash. Коли з'явиться напис Connecting.... натиснути на платі кнопку BOOT, не відпускаючи, натиснути і відпустити кнопку EN, відпустити кнопку BOOT. В мене часто не спрацьовує з першого разу, натискаю кнопки кілька разів. У разі невдачі повторюю команду make flash. Результат успішної прошивки:
https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271037&thumb=1 ('https://www.aquaforum.ua/picture.php?albumid=18277&pictureid=271037')
Відключити кабель від плати ESP-32 DevKit v1, вставити її в плату контролера, подати живлення.
Інструкція з встановлення ESP IDF: https://docs.espressif.com/projects/...ows-setup.html
Посилання на установщик:
https://dl.espressif.com/dl/esp32_wi...n-20181001.zip
Посилання на ESP-IDF, який в мене (32 біт):
https://drive.google.com/drive/folde..._V?usp=sharing
там також є Eclipse - редактор, що інтегрується з ESP IDF і є ngrok, який дозволяє отримати доступ до контролера ззовні локальної мережі.
Перший запуск і налаштування:
При першому запуску контролер сворює точку доступу з назвою ESP 32, пароль 4444444444. Слід підключитися через WiFi до цієї точки доступу, запустити браузер і в адресному рядку набрати 192.168.4.1. З'явиться список доступних точок доступу. Потрібно обрати свою і ввести пароль, натиснути кнопку "Підключити".
Після цього підключитися до своєї точки доступу і в налаштуваннях рутера (розділ резервування DHCP) знайти підключений пристрій espressif і зарезервувати йому IP, наприклад 192.168.1.100. Цей IP потрібно в подальшому вводити в адресний рядок браузера для доступу до інтерфейсу контролера.
Також є можливість працювати без підключення до Вашої точки доступу - натиснути "Працювати автономно". Доступ до інтерфейсу в цьому випадку через точку доступу ESP32, IP 192.168.4.1. Дату та час тоді потрібно встановити вручну.
UPD1. Оновлено прошивку. Виправив виявлену помилку з переходом на зимовий час і додав іконку сторінки контролера - Маріо .https://drive.google.com/file/d/1UI1BZR41mDirYpiheXDe9-iMwB-4Ld1I/view?ts=5db70f99
UPD2. Оновлено прошивку. Додано пропорційне управління нагрівачом через ШИМ. В результаті точність підтримання температури води зросла, у моєму випадку - до 0,1С
https://drive.google.com/file/d/1qn35vG-RJDxODk8MfocJXBi8Qq4xocQx/view?usp=sharing