1 2 3 4 5 6 7 8 9 10 10/10 9,94оценок: 33

Arduino Mega. Контроллер теплицы. Хроники

Тема в разделе "Теплицы и парники", создана пользователем DIYMan, 05.01.16.

Статус темы:
Закрыта.
  1. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    https://istarik.ru/blog/arduino/18.html
    Пользуются fsockopen без cron, php опрашивает порт, обрабатывает ответ и пишет в базу.
     
    Последнее редактирование: 17.05.16
  2. 2mike
    Регистрация:
    14.03.10
    Сообщения:
    596
    Благодарности:
    415

    2mike

    Живу здесь

    2mike

    Живу здесь

    Регистрация:
    14.03.10
    Сообщения:
    596
    Благодарности:
    415
    Адрес:
    Россия
    там по идее кмоп 3,3в. и уровни от 5в логики по идее смертельны для ARM/MIPS процев.
    UART который можно найти на роутере это скорее отладочный для попытки восстановления после окирпичивания. надеюсь openwrt даст возможность рулить этим UART :)
    впрочем уже про это писал.
    проц роутера может не грузиться если там будет какое нить шевеление при старте роутера - вам надо этот момент будет прощупать.
     
    Последнее редактирование: 17.05.16
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Пришла сегодня платка W5100 наконец-то :) Вот стоит только посетовать - и жизнь налаживается :)]:aga:

    В общем, буду прикручивать Ethernet. Локальный сайт уже поднял, шаблонный движок (Smarty) под ним развернул, хотел было через php. serial. class. php делать опрос, но понял, что пока архитектуры нет - не стоит напрямую всё писать - нужен транспорт.

    Строго говоря, при работе через вебморду нас подстерегают множество граблей: если конфигуратор работает постоянно и видит сразу, что порт отвалился, то скрипт - это скрипт: запросили, отработал, всё. Я сейчас сделал на AJAX опрос статуса контроллера (вытаскиваю поле из базы) - если это поле поменять в SQLite Studio - то на вебморде видно, что всё работает - статус обновляется.

    Однако, самый сложный момент в этот деле - это первичная настройка данных при коннекте к контроллеру - вытаскивание его ID, получение списка модулей в прошивке и т. п. В принципе - можно пока сделать тупо: до работы скрипта по расписанию ещё далеко, следовательно всё, что нам пока нужно - это получать текущие данные из контроллера. Поэтому сделаю так: при открытии страницы с данными для контроллера и будет заполняться вся база. Контроллер в базе при этом будет прописываться с главной страницы вебморды, т. е. добавляться/редактироваться запись с его ID и адресом.

    Задача пока такая: сделать легко переносимый код, чтобы и под виндой работал (локальный Apache), и - под линухом (openWRT). Ну а там уже - будем наращивать функционал.
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Похоже, первая ESP-01 сдохла - MAC-адрес соскочил на 0D:0F, свой айпишник выдаёт как 3.1.2.0 :) Чего ей переглючило - сиё теперь уже неведомо.

    Воткнул вторую - завелась сходу, с вебморды через fsockopen данные читаются.
     
  5. Chuk31
    Регистрация:
    16.04.12
    Сообщения:
    54
    Благодарности:
    16

    Chuk31

    Участник

    Chuk31

    Участник

    Регистрация:
    16.04.12
    Сообщения:
    54
    Благодарности:
    16
    Адрес:
    Тарасково МО
    Господа, Сорри если что не так:
    смотрю схему подключения на ГитХабе
    LCD 128x64 и CDcard на одни пины 51 и 52...
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    А что смущает-то? Это ж SPI ;)
     
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    В общем, повозился я немного с вебмордой - архив в аттаче. Можно развернуть и под винду, если стоит Apache и PHP, и, теоретически - под линух. Из модулей, которые надо под веб-сервер установить - php_sqlite, думаю, труда не составит.

    У меня стоит AppServ под винду, настройка там - минимальная. В архиве - вся вебморда на текущий момент, код в основном клиентский, ибо нефик сервер нагружать :) Юзаю AJAX, как водится.

    Файл gh. db - собственно сама база SQLite, пока состоит из одной сиротливой таблички. На главной странице сайта можно пока только редактировать данные контроллера, добавлять новый - низзя :)

    На странице "Просмотр" - слепок состояния + мал-мала управление, типа "вкл/выкл" основных модулей.

    Юзаю Smarty как шаблонный движок. Код, конечно, сырой и гадкий, так что не серчайте пока. Оформления - ноль практически, так, чуть-чуть стили прикрутил, старался сразу от таблиц отойти, делал почти всё DIV'ами. Так что, теоретически, потом можно будет достаточно легко натянуть правильные стили, и всё будет выглядеть совсем по-другому.

    Тестировал всё через ESP, свежепоставленную. Если и она сгорит - буду зол :)

    Теперь, собственно, надо думать, как организовывать настройку контроллера через вебморду. Предлагаю тупо - отдельной страничкой, где все правила и пр. будут вывалены. Но открыт к другим предложениям, конечно.

    Вроде всё. За говнокод не ругайте сильно - всё свалено в кучу, т. к. об архитектуре не думал вообще, виноват. Потихоньку буду растаскивать на модули код вебморды.

    Пишите.
     

    Вложения:

  8. Voron74
    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227

    Voron74

    Живу здесь

    Voron74

    Живу здесь

    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227
    Адрес:
    Магнитогорск
    @DIYMan, Можете скрины сделать?
     
  9. D_J_Instruktor
    Регистрация:
    28.01.16
    Сообщения:
    35
    Благодарности:
    18

    D_J_Instruktor

    Участник

    D_J_Instruktor

    Участник

    Регистрация:
    28.01.16
    Сообщения:
    35
    Благодарности:
    18
  10. Voron74
    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227

    Voron74

    Живу здесь

    Voron74

    Живу здесь

    Регистрация:
    29.01.16
    Сообщения:
    411
    Благодарности:
    227
    Адрес:
    Магнитогорск
    Я запустил через OpenServer (типо Дэнвера), но подключить мегу, пока нет возможности.
     

    Вложения:

    • web.jpg
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Да там смотреть не на что пока :)
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Я же писал - надо поставить поддержку sqlite для PHP ;)
     
  13. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    У меня пока не получается.
    Ругается на Fatal error: Call to undefined function sqlite_open() in /www/web/utils/database.config.php on line 4
    ставлю на openwrt, хз что ей нужно. Доп пакеты к php вроде бы все поставил. sqlite gh. db открывает.
    DIYMan какие extension в php. ini у вас открыты?
     
  14. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Получается в openwrt нет sqlite. so поставить можно только sqlite3.so. Функция sqlite_open с sqlite3, на сколько я понял, не работает. PHP 5.6.17
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    extension=php_sockets.dll
    extension=php_pdo.dll
    extension=php_pdo_sqlite.dll
    extension=php_sqlite.dll

    Выделил жирным.
     
Статус темы:
Закрыта.