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

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

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

Статус темы:
Закрыта.
  1. Andron055
    Регистрация:
    28.08.13
    Сообщения:
    60
    Благодарности:
    40

    Andron055

    Живу здесь

    Andron055

    Живу здесь

    Регистрация:
    28.08.13
    Сообщения:
    60
    Благодарности:
    40
    Адрес:
    Екатеринбург
    Про себя скажу... Базу (основное), на проводах собрал, работает... но так хочется нормально сделать, по человечески... на плате. Так что ждёмс... когда "монстры" доделают плату
     
  2. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    На форуме плата есть, вдумчиво косячки устраняются и вуаля...:) не так уж их там и много. На проводах мега тоже работает и универсальными модулями тоже общается. А вот реализовать весь задуманный потенциал аж зудит:). А потом уже наслаждаться: хочу так подключу, а неудобно провод тащить радио... и тд. Мыслю что скорее всего мегу с индикаторами и органами управления установить в сухом и тепло месте, а релюхи или лучше симисторы непосредственно около исполнительных устройств. Датчики тоже где им положено быть. Как то так:|:
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Такой информации пока прошивка не предоставляет.
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Ок, буду разбираться, как плата придёт.
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Небольшой анонс планов по приходу платы:

    0. Дописываю управление внешним ватчдогом (дёргаю пин через определённые промежутки времени - на плате встроен контроль зависона уже);
    1. тестирую работу SD, GSM, WI-FI, RS-485;
    2. Проверяю работу универсального модуля с датчиками по nRF;
    3. Дописываю, по возможности, поддержку SHT-10;

    И, други, теперь самое главное - на этом всё. Дальнейшее развитие проекта - только в плане вылизывания косяков: плюшек напихано много, вводим новые, ломаем старые, надо с этим что-то делать :) Тем более, считаю, что лично моих потребностей в прошивке реализовано даже с лихвой.

    Так что проект выходит на финишную прямую, можно сказать.
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @Viktorovich4232, не поверите - подключил таки модуль nRF к меге, тупо подоткнув его на пины нужные. Прошил Arduino Uno последней прошивкой универсального модуля с датчиками, зарегистрировал его на меге (интервал опроса датчиков поставил в 5 секунд) - и на мегу каждые 5 секунд стали сыпаться пакеты по радио. В прошивке модуля ничего не менял, только добавил отладочный режим, чтобы через Serial посмотреть, что происходит.

    Так что по nRF у мну ходит всё.
     
    Последнее редактирование: 19.04.17
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @Viktorovich4232, давайте рассуждать:

    1. Исполнительный модуль принимает пакеты с меги, значит, там всё правильно соединено;
    2. Если этот же модуль перешить прошивкой модуля с датчиками - он будет отправлять пакеты, никуда не денется;
    3. Мега отправляет пакеты, но - не принимает.

    Соответственно, предположение, что проблема - в пункте 3. Проверьте на минимальной конфигурации, когда к меге подключена только nRF, и убедитесь, что пины СE и CSN для nRF больше нигде в прошивке не фигурируют - не исключено, что кто-то там пытается ими рулить, а пин CE, емнип - как раз отвечает за направление "приём-передача" ;)

    Как я говорил - у мну канал номер 19, для модуля с датчиками интервал опроса датчиков в 5 секунд, раз в пять секунд мега исправно принимает пакеты.

    Судя по форумам, борьба с nRF идёт у многих, доходит до странных вещей, типа - у кого-то работает при инвертировании radio. setAutoAsk - вместо true ставят false и пр. Китайцы те ещё затейники, короче :)

    Думаю, вы понимаете, что если бы у меня не завелось - я бы начал рыть землю, но пока - даже предположить, в чём дело - не могу. Поэтому советую начать со старой привычки программиста - сужение коридора проблем: закомментируйте все ненужные модули, оставьте по минимуму; убедитесь в отсутствии пересекающихся между модулями номеров пинов; ещё раз проверьте правильность подключения со стороны меги; поменяйте номера пинов для CE и CSN в прошивке меги; убедитесь, что используете библиотеку RF24 из архива проекта на гитхабе, наконец (папка Libraries).

    Надеюсь, проблема где-то на поверхности, и будет решена. Пока же - мега работает только как передатчик, как я понял.
     
  8. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    Ок! Значит буду рыть дальше :)
     
  9. diabor_20160109
    Регистрация:
    20.02.16
    Сообщения:
    46
    Благодарности:
    17

    diabor_20160109

    Участник

    diabor_20160109

    Участник

    Регистрация:
    20.02.16
    Сообщения:
    46
    Благодарности:
    17
    Добрый вечер уважаемый DIYMan, теперь и не знаю что делать, возвращаясь к своей проблеме, не получается заставит работать gsm модем.
    Все ваши вышеуказнные операции проделал, результата нет.
    В итоге заменил модем на SIM800L, прошил его скорость на 57600
    в конфигураторе прописал номер телефона
    соединение пробовал и через впаяневе резисторы на rx от модема и на прямую без резисторов.
    в прошивке поменял Serial на 2
    телефонный звонок проходит, "трубка" снимается, т. е. идет время с момента соединения, т. е. разговора. Но сообщение от контроллера с данными не поступает, на смску не отвечает.
    расскомментировал #define GSM_DEBUG_MODE
    выдает следующее через монитор порта:
    READY, Wed 19.04.2017 - 21:33:22
    Read delta settings...
    Total saved deltas: 0
    Delta settings readed.
    Request for modem hardware...
    => Send the "AT+CGMM" command to modem...
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [OK] - Deltas updated.
    [ERR] - GSM-modem not found, check for presence after short time...
    Request for modem hardware...
    => Send the "AT+CGMM" command to modem...
    [OK] - Deltas updated.
    Может есть идеи что делаю не так?
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Ну не отвечает у вас модем, проверяйте правильность подключения. Других вариантов я не вижу, кроме как тот, что у вас модем подключен неправильно.

    При включенном GSM_DEBUG в мониторе порта при правильном подключении будет целый диалог общения прошивки с модемом, у вас же - только [ERR] - modem not found, что говорит о том, что от модема не поступает ни одного ответа.

    Вариант, как попробовать: просто попробуйте на тестовом скетче, закачав его в мегу и прописав простенькое общение с модемом через Serial1. Если там взлетит - пишите. Но мне кажется, что проблема в подключении, питании, короче - в железной части.

    Давайте ещё раз:

    1. Как подключаете модем?
    2. Как питаете модем?
    3. Какие настройки в этом блоке:
    Код:
    #define GSM_SERIAL Serial1 // какой хардварный Serial будем использовать при работе с модемом?
    #define GSM_EVENT_FUNC serialEvent1 // функция для обработки событий входящего трафика для модуля
    #define GSM_BAUDRATE 57600 // скорость работы с GSM-модемом
    #define GSM_AVAILABLE_CHECK_TIME 60000 // через сколько миллисекунд проверять доступность модема посылкой команды AT
    #define GSM_WAIT_BOOT_TIME 2000 // сколько мс ждать загрузки модема
    #define GSM_CHECK_REGISTRATION_INTERVAL 4567 // через сколько мс проверять регистрацию в сети (повторные вызовы с указанным промежутком до тех пор, пока модем не зарегистрируется)
    #define GSM_REBOOT_TIME 2000 // сколько миллисекунд держать питание выключенным при перезагрузке модема, если он завис
    #define GSM_WAIT_AFTER_REBOOT_TIME 5000 // сколько мс ждать после перезагрузки модема прежде, чем начать обрабатывать команды
    #define GSM_MAX_ANSWER_TIME 60000 // через сколько мс, если не получен ответ на команду от модема, считать его зависшим
    //#define USE_GSM_REBOOT_PIN // закомментировать, если не надо управлять пином выключения питания при зависании модема
    #define GSM_REBOOT_PIN 12 // номер пина, на котором будет управление питанием GSM-модема
    #define GSM_POWER_OFF LOW // уровень для выключения питания
    #define GSM_POWER_ON HIGH // уровень для включения питания
    
    Если юзать Serial1, то пин RX модема должен быть подключен к пину
    меги, а пин TX модема должен быть подключен к пину
    .

    Настройки скорости работы UART модема должны быть прописаны в постоянную память модема.
     
    Последнее редактирование: 19.04.17
  11. Баловнев
    Регистрация:
    09.12.11
    Сообщения:
    318
    Благодарности:
    392

    Баловнев

    Живу здесь

    Баловнев

    Живу здесь

    Регистрация:
    09.12.11
    Сообщения:
    318
    Благодарности:
    392
    Адрес:
    Москва
    @DIYMan, можно ли обратиться к вам с просьбой разработать новый проект? По сравнению с этим практически ничтожный:|:
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    В личку ;)
     
  13. shag6119
    Регистрация:
    20.03.17
    Сообщения:
    6
    Благодарности:
    0

    shag6119

    Участник

    shag6119

    Участник

    Регистрация:
    20.03.17
    Сообщения:
    6
    Благодарности:
    0
    Почему спрашиваю про правила
    пытаюсь разобраться с правилами поливом (день недели - время) в зависимости от показаний датчика "Влажность почвы" и их не получается связать. По отдельности работают, а взаимной зависимость нет
    А то получается раздельное управление поливом из "Полива" и из "Правил"
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Модуль полива - самодостаточный. Если вы хотите управлять поливом из правил - не пользуйте модуль полива, правила предоставляют такой же функционал, практически. Создаёте правило слежения за влажностью почвы "Если влажность почвы больше чем, то выполнить составную команду 0". Создаёте составную команду, где указываете номера пинов, которые надо включить.

    Создаёте второе правило, которое гласит "Если влажность почвы меньше чем, то выполнить составную команду 1". Создаёте составную команду, в которой указываете номера пинов, которые надо выключить.

    Профит.
     
  15. shag6119
    Регистрация:
    20.03.17
    Сообщения:
    6
    Благодарности:
    0

    shag6119

    Участник

    shag6119

    Участник

    Регистрация:
    20.03.17
    Сообщения:
    6
    Благодарности:
    0
    Два вопроса
    1 Почему не используем GSM для запроса синхронизации времени AT+CIPGSMLOC=2 ?
    2 MQTT планируется ?
     
Статус темы:
Закрыта.