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

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

Тема в разделе "Умный дом", создана пользователем Анкор Плюс, 27.04.17.

Статус темы:
Закрыта.
  1. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Ваашпе забавно: ставлю отсыл данных на gardenboss. ru раз в 30 секунд (напоминаю, на симке 0, GPRS отсылает на страницу с приглашением заплатить бабла) - всё работает, данные приходят.

    Если поставить интервал раз в 5 минут, то на второй раз после отсыла данных в SIM800 он отвечает ОДНИМ пробелом, и дооолго висит, не отдавая ответа до тех пор, пока не наступит таймаут по закрытию соединения. С чем это связано - вообще ХЗ.

    Это я к чему? К тому, что в коде пока криминала не увидел, но уже боль-мень ясно, откуда иногда провалы между отсылами данных по SIM800.

    Строго говоря, и на первый запрос, который нормально отрабатывает, сначала приходит ОДИН пробел, потом уже - 0, SEND OK. Плохая, очень плохая идея со стороны разработчиков прошивки SIM800 - пихать в порт пробел прежде, чем есть хоть какой-то статус :(
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Отсюда: https://forum.arduino.cc/index.php?topic=389898.0 - цитата:
    Очень похожая ситуация, с одной стороны. С другой, как я писал выше - если сделать отсыл раз в 30 секунд, то всё норм. Если делать отсыл раз в 5 минут, то на втором разе затыкается на AT+CIPSEND, при этом все предыдущие телодвижения (соединение с адресом и т. п.) - в норме.

    Что происходит с SIM800, вот в чём вопрос. Возможно, дело как раз в этом. Ошибки фреймов при передаче байт? Проверял уже в отладке - тютелька в тютельку сколько надо отослать, столько и пересылается. Сейчас попробую добавить пару лишних байт в каждую посылку, посмотрим, как к этому отнесётся модем.
     
  3. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Похоже, что надо периодически дёргать соединение GPRS, чтобы оно не протухало. Занимаюсь этим сейчас. Потому как стойкое ощущение, что за 5 минут соединение может протухнуть, и будет не аллё.
     
  4. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Вот бы еще mqtt через sim800... Эх... Мечтаю:|:
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Вот бы для начала всё отладить, правда? :) Вот вылижем всё, тогда можно будет подумать. Но - не раньше ;)
     
    Последнее редактирование: 20.04.18
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Что замечено: если выставить промежуток в 6 минут между отсылами данных через SIM800 на gardenboss. ru - то первый запрос проходит успешно, второй - просто виснет в ожидании ответа от модема. При этом команда "AT+CGATT?" возвращает единичку, т. е. типа GPRS-контекст активен. К слову о моргающем светодиоде NETLIGHT - он как моргает после установки GPRS-соединения, так и не меняет своего моргания при описанном поведении. Это к слову о доверии, так сказать. Этот статус (64 мс «лог. 1» / 300 мс «лог. 0» - Установлена GPRS-сессия) заметен глазу легко, т. к. это тупо самое частое мигание из возможных трёх статусов. Так что 100%-ного доверия к NETLIGHT - просто нету.

    Если периодически пинговать гугл, раз в минуту, например - то подобной ситуации не наблюдается, т. е. первый и все последующие запросы по GPRS - проходят норм. Возможно, с деньгами на счету будет другое поведение, но моя задача сейчас - протестировать все варианты, так сказать ;)

    В общем, пока думаю, что лучше - прикрутить настройку пингования или просто уменьшить промежуток между отсылами данных на gardenboss. ru (но тут неизвестно, будет ли полный успех, т. к. GSM-провайдеры и их настройки - всё-таки разные).
     
  7. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.957
    Благодарности:
    1.957
    Адрес:
    г. Москва, Зеленоград.
    Некоторые сведения по работе с SIM800C. Возможно кому эта информация будет полезна.
    Сначала немного истории.
    Полтора года назад был у меня дотошный заказчик, которому нужны были модули измерения температуры с передачей информации по GPRS. Модуль должен работать автоматическом режиме и обеспечивать бесперебойную связь. Контролируемые объекты боялись низких температур. Модули были изготовлены, но вот с настройкой провозились месяцев 6-8. Заказчик вывернул наизнанку техподдержку московского представительства изготовителя SIM800. Досталось и телефонной компании MTC. Они даже некоторое время не отвечали на обращения. Но в результате выяснились некоторые особенности в работе не указанные в тех. документации. Что то уже подзабылось, но основное, надеюсь помню.

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

    МТС - связь с базовой станцией может устанавливаться до 30 секунд. Поэтому нужно дать достаточное время для подключения (в библиотеках обычно отводится не более 10 сек.).
    Когда уже подключился нужно время от времени проявлять активность иначе станция может разорвать соединение. При установленном соединении, может отключаться интернет. Поэтому установленное соединение еще не означает устойчивый интернет. Для проверки необходимо периодически отправлять пинг, к примеру на ya. ru. При разрыве перезапускать соединение. Здесь также есть свои особенности.
    При перезагрузке, нужно выдержать некоторое время. Так как при перезагрузке, станция может считать что соединение установлено, но есть некоторые помехи, провалы в сигнале. Поэтому не разрывает связь и не позволяет соединиться снова. При перезагрузке нужно подождать некоторое время, что бы станция поняла, что связь разорвана окончательно. Да, и подключается к интернету не очень быстро.

    Мегафон и Билайн подключаются к базовой станции немного быстрее и с интернетом получше.
    Еще нужно проверить логин и пароль при подключению к интернет. В разных регионах логин может отличаться. К примеру mts, mts не всегда может быть. Основное кажется сообщил.
    Теле2 не подключается к SIM800C, а раньше подключалась.
    Если кого то заинтересовало, могу описать работу контроллера. Там проблем как в аппаратной так и программной части побольше. И текста на пару страниц. Продолжить? Кстати стабильную работу обеспечили.
     
    Последнее редактирование: 20.04.18
  8. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Воот, и я к такому выводу пришёл ;)
    Конечно продолжай. Но уже сейчас ясно, что статусом NETLIGHT не обойтись - фигня всё это :) Я лучше пинговать буду периодически, настройку в прошивке сделаю, и всё. Ну а там потихоньку обрастём всякими проверками/защитами.

    Надо будет ещё ввести команду по SMS - перезапустить к чертям модуль SIM800 :) Но это попозжее будет. Сейчас просто хочу понять, почему скотина МТС по жизни такой глючный - и инет у них гумно, и GPRS, оказывается, тоже не ахти (но выбора у мну нету - только вышка МТС поблизости). Пока буду рыть.
     
  9. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    В личку номер сбрось, чем могу...
    Новые логи прилагаю.
    Последние два с постоянно включенной вебмордой по вай-фаю.Так и оставил на ночь.
    Обнаружил одну особенность...
    Когда с вебморды прописывал измененные правила в контроллер, фрамуги (стояли в положении открыто согласно правилам) начали закрываться пару тройку секунд, затем остановились, но статус окон не поменялся.
    По поводу правил хочу проконсультироваться.
    Вот есть управление фрамугами. Скажем 25 градусов открыли, 23-закрыли. Пытался приделать управление еще и от освещенности.
    У меня один канал окон управляет затенением
    Скажем, текущая температура в теплице 27 градусов, тент открыт. Солнце ушло. Теплица не перегреется, жаль терять свет. Казалось бы, анализируем освещенность (пусть меньше 1000 люкс) и закрываем фрамугу (тент). Но не тут то было. Освещенность в следующий момент становится 1005 люкс (тучка ушла), а текущая температура (27градусов), больше уставки (25 градусов) и фрамуга (тент) открывается.
    Начинается болтанка.
    Напрашивается в управлении возможность задавать гистерезис не только по температуре (что заложено с самого начала),но и по освещенности.
    Когда кто-нибудь начнет управлять досветкой по датчику освещенности, столкнется с подобной проблемой. ИМХО, ессно.
     

    Вложения:

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Да пока не надо, рано ишшо ;)

    Я обновил на гитхабе прошивку - перекачай, там теперь принудительно по настройкам пингуется указанный хост, чтобы поддерживать GPRS-соединение.
    Ну и фик с ним, со статусом окон :) Зависимостей уже столько, что я устал их выщемлять. Строго говоря, при изменении критичных настроек лучше перезагружать контроллер - мне так проще пока отбрехаться :)
    В управлении чем? В правилах? Задавай гистерезис для любого датчика, в чём проблема? Там не привязано к типу датчика - главное правильно составить набор правил, и всё.

    Логи гляну, с тебя новые, с новой прошивки ;)
     
  11. Tehnik53
    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23

    Tehnik53

    Живу здесь

    Tehnik53

    Живу здесь

    Регистрация:
    22.08.15
    Сообщения:
    142
    Благодарности:
    23
    Конечно это замашки на будущее. Сейчас планирую оставить на даче старый телефон, но боюсь по трафику (300mb) в месяц может не хватить (т. К телефон даже при всех отключенных службах будет соединяться с гугл) в будущем планирую приобрести у братьев китайцев точку доступа. не зря предусмотрел WiFi модуль для о отладки прошивки)
     
    Последнее редактирование: 20.04.18
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    @olegmak3 - слу, логи с виду норм вообще, ни одной перезагрузки контроллера по центру логов, нашёл только вот это:

    Что говорит, что GPRS-соединение тютю, в новой версии прошивки я уже сделал проверку на этот статус. Так что пробуй с новой версией. И жду логи ;) Я на сегодня уже всё, вымотан, отложу тестирование SIM800 на чуть позже. Но в целом - вроде проблем, кроме выпадания GPRS - не видно, твои логи очень помогают, спс. Всё поправим, в общем.
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    Должно хватить. Килобайт (ну пусть два) раз в 5 минут, если только gardenboss. ru - это 25 килобайт в час, 600 килобайт в сутки, 18 мегабайт в месяц. Ну пусть возьмёт в пять раз больше - в пределах сотни мегабайт общения с gardenboss. ru - там за глаза будет, ещё и останется.
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    @olegmak3 - погоди пока, не качай: обнаружил, что надо ещё одну команду добавить: AT+CIPSHUT - если кто не юзает пин управления питанием - то GPRS не переподнимется без этой команды. Я отпишусь, как выложу на гитхаб.
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.888
    Адрес:
    80 км от Краснодара
    @olegmak3 - всё, обновил, добавил команду AT+CIPSHUT - теперь при рестарте модема, даже если нет управления питанием - должна вызываться эта команда перед установкой GPRS-соединения, по даташиту на SIM800 - это надо делать по-любому, если вывалилось +PDP: DEACT в порт:

    Качай, пробуй, жду весточек в виде логов. За твою помощь - моё отдельное мерси :hello:
     
Статус темы:
Закрыта.