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.889

    DIYMan

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

    DIYMan

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

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

    Сейчас переделывать логику - сходу нельзя, надо вдумчиво отсматривать, что и как. Но с полной очисткой EEPROM перед закачиванием прошивки всё обязано работать.
     
  2. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Также переписал сохранение строк в EEPROM - теперь принудительно пишется завершающий ноль, от каждой строки откусано по 1 байту от максимальной длины (надеюсь, нигде больше ничего не соскочит).

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

    Просьба проверить, как будет у вас теперь работать. Видимо, дело реально в чистом EEPROM у меня, т. к. перед глобальным перепиливанием чего-либо я чищу EEPROM.

    Надеюсь, теперь всё будет ок. Я проверил в консоли сохранение/чтение номера - тест прошёл, номер сохранился и прочитался. Проверил, позвонив на номер - статистика пришла.
     
    Последнее редактирование: 18.08.17
  3. diabor_20160109
    Регистрация:
    20.02.16
    Сообщения:
    47
    Благодарности:
    17

    diabor_20160109

    Участник

    diabor_20160109

    Участник

    Регистрация:
    20.02.16
    Сообщения:
    47
    Благодарности:
    17
    Добрый день, скачал свежий архив с гитхаба, запустил скрипт по очистки EEPROM, дождался уведомления об окончании очистки. Залил прошивку, прописал в конфигуратор номер. Позвонил на контроллер и все отлично заработало, контроллер в ответ прислал смску с данными!
    Дебаг режим не запускал, ибо пока нет времени (все это делал во время обеденного перерыва). Вечером еще поиграюсь.
    Спасибо!
    Теперь еще вопрос-предложение, поскольку дача в моем случае располагается в месте неуверенного приема gsm-сигнала, можно ли сделать какое то визуальное оповещение в конфигураторе на наличие/отсутствие/силы уровня сигнала gsm ?
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Теоретически можно, емнип, в модемах есть AT+CSQ, которая как раз возвращает уровень сигнала, можно выводить на вкладке конфигуратора, но там не всё так просто: команды к модему можно посылать, только когда он не занят (инициализацией, регистрацией и пр. - прошивка много чего делает).

    В общем, этот вопрос стоит поразмыслить, но теоретически - можно.
     
  5. diabor_20160109
    Регистрация:
    20.02.16
    Сообщения:
    47
    Благодарности:
    17

    diabor_20160109

    Участник

    diabor_20160109

    Участник

    Регистрация:
    20.02.16
    Сообщения:
    47
    Благодарности:
    17
    @DIYMan, а можете подсказать что и как настроить для отсыла данных на thingspeak.
    Канал создал, в конфигураторе ключ канала прописал (взял который на запись используется).Перенес интересующие датчики.
    а данных нет.
     
  6. necrjd
    Регистрация:
    05.11.14
    Сообщения:
    146
    Благодарности:
    98

    necrjd

    Живу здесь

    necrjd

    Живу здесь

    Регистрация:
    05.11.14
    Сообщения:
    146
    Благодарности:
    98
    А в globals. h настроено?
    #define USE_IOT_MODULE / закомментировать, если не нужна отсылка данных на IoT-хранилища (ThingSpeak). Настройки IoT смотрите ниже
     
  7. necrjd
    Регистрация:
    05.11.14
    Сообщения:
    146
    Благодарности:
    98

    necrjd

    Живу здесь

    necrjd

    Живу здесь

    Регистрация:
    05.11.14
    Сообщения:
    146
    Благодарности:
    98
    Ключ в конфигураторе правильный прописан - Write API Key ?
    Потом "сохранить настройки" потом "рестарт" - должно заработать
     
  8. diabor_20160109
    Регистрация:
    20.02.16
    Сообщения:
    47
    Благодарности:
    17

    diabor_20160109

    Участник

    diabor_20160109

    Участник

    Регистрация:
    20.02.16
    Сообщения:
    47
    Благодарности:
    17
    Да, определела

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

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Должна быть определена
    Код:
    #define USE_IOT_MODULE
    И одна из:
    Код:
    #define USE_WIFI_MODULE_AS_IOT_GATE
    #define USE_GSM_MODULE_AS_IOT_GATE
    
    Ключ записи в канал (на ThingSpeak два типа ключей канала, вам нужен ключ записи) должен быть сохранён без пробелов, галочка "Отсылать данные" должна быть установлена, настроен интервал, до восьми датчиков должны быть перетащены с левого списка в правый, после всего этого действа надо нажать кнопку "Сохранить" в конфигураторе.

    Если ничего не помогает - есть отладочный режим IOT:
    Код:
    //#define IOT_DEBUG // отладочный режим сервиса IoT
    Его нужно использовать с одним из отладочных режимов Wi-Fi или GSM, смотря кто у вас провайдер коннекта к ThingSpeak. Простыню можно сюда.

    У мну работает круглосуточно:

    screen.png
     
  10. HANTER333
    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156

    HANTER333

    Живу здесь

    HANTER333

    Живу здесь

    Регистрация:
    21.12.15
    Сообщения:
    1.617
    Благодарности:
    1.156
    Никто на море не хочет скататься дней на 10, с заездом к Дмитрию? Выезд из Нижегородской области 8.09, поедем через Муром, Тамбов, Урюпинск и т. д. Могу подхватить по дороге. :)
     
  11. diabor_20160109
    Регистрация:
    20.02.16
    Сообщения:
    47
    Благодарности:
    17

    diabor_20160109

    Участник

    diabor_20160109

    Участник

    Регистрация:
    20.02.16
    Сообщения:
    47
    Благодарности:
    17
    Добрый день, контроллер вернул обратно в "поле" в состоянии как есть, приходят на него смс, он мне в ответ отправляет смс, уже хорошо.
    Более детально с работой сервисов буду видимо уже заниматься после окончания сезона. Или если снова привезу его в город.
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Вам надо просто внимательно почитать комментарии к настройкам, и всё будет ок ;) Настроек много, разобраться со всеми сходу - дело небыстрое.
     
  13. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Мысль: есть вот такой RFID, очень, на мой взгляд, удобный: https://ru.aliexpress.com/item/UART-125Khz-EM4100-RFID-Card-Key-ID-Reader-Module-RDM6300-RDM630-For-Arduino-CZ/32258793222.html?spm=2114.13010708.0.0.aSjSDX

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

    Вброс на будущее, хочется обсуждения - надо ли оно вообще.
     
  14. 2mike
    Регистрация:
    14.03.10
    Сообщения:
    596
    Благодарности:
    417

    2mike

    Живу здесь

    2mike

    Живу здесь

    Регистрация:
    14.03.10
    Сообщения:
    596
    Благодарности:
    417
    Адрес:
    Россия
    потенциально хорошая штука, для операторов которые не собираются разбираться в меню и/или кнопочках завести и запрограммировать десяток разных ключей.
    по своему опыту дуракоустойчивых конструкций скажу что надо только предусмотреть выдачу звукового сигнала
    первый раз что карта считана
    и второй раз через 2-3 секунды (и скажем двойной) что операция записана на исполнение - всегда надо давать время на подумать :)
    я всегда делаю еще один ключ - стереть/отменить предыдущий ввод. чтобы незамутненных эльфов не терзали смутные сомнения :))
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Спасибо за ценный конструктив, принято к обдумыванию :hello:
     
Статус темы:
Закрыта.