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
    - это все есть

    - и это тоже
    USE_WIFI_MODULE - это само собой
     
  2. gasansafarov
    Регистрация:
    23.03.16
    Сообщения:
    11
    Благодарности:
    1

    gasansafarov

    Участник

    gasansafarov

    Участник

    Регистрация:
    23.03.16
    Сообщения:
    11
    Благодарности:
    1
    Считаю лучше в начале найти проблему чем в конце все искать ...
    Проблема оказалась в часах реального времени, из за отсутствия модуля прекращала работу вся система.
    Проверяю все дальше) Спасибо большое автору !
     
  3. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    юзал, отсоединил ее

    выдернул wifi модуль, выдало
    [LAN] server started at 255.255.255.255
     
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Сделал поддержку выгрузки файлов действий из контроллера, отдаёт по команде CTGET=LOG|ACTION|20160529.LOG (надеюсь, формат имени понятен). На выходе имеем вот такой поток:
    READY - это когда контроллер стартовал. Остальное - понятно: когда вкл/выкл досветка и полив, когда открылись/закрылись окна (пока без указания номера окна).

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

    Повторюсь: с этим добром чего делать? Поддержку новой команды можно и закомментировать, если что ;) На гитхабе пока ничего не обновлял.
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    А вай-фай модуль зачем выдирать? У меня ESP висит не снимаясь - только нужные настройки в Globals. h меняю и всё.

    Теперь по нашим баранам: если вам несложно - можете попробовать перед

    if(!Ethernet.begin (local_mac)

    вставить строчки

    digitalWrite (4,HIGH); / если на пине 4 висит SD
    digitalWrite (10,LOW); / включаем w5100

    Там делов сейчас - проверить, настраивается ли W5100. Строго говоря, встроенный класс SD нормально рулит состоянием CS вроде, да и класс Ethernet - тоже, так что теоретически от этих строчек ничего поменяться не должно. Но то - теоретически :)
     
  6. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Угу, висла вестимо, при попытке прочитать текущее время из ниоткуда :) Я посмотрю, возможно, надо будет поправить код на предмет отработки этой нештатной ситуации - когда поддержка часов в прошивке вписана, но часов нет.
     
  7. gasansafarov
    Регистрация:
    23.03.16
    Сообщения:
    11
    Благодарности:
    1

    gasansafarov

    Участник

    gasansafarov

    Участник

    Регистрация:
    23.03.16
    Сообщения:
    11
    Благодарности:
    1
    Нашел модуль часов реального времени, все подключаю, но не работает ... На старой версии работает. Может что то в коде ?
     
  8. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    до выдирания не выдавал строки "[LAN] server started at", совпадение быстрее всего.
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    И да - какой модуль часов реального времени нашли? Надеюсь, на микросхеме DS3231?

    Давайте так: вы будете рассказывать во всех технических подробностях, иначе я не справлюсь - вытягивать из вас информацию по частям. Ок?

    Правка: поймите правильно, для меня фразы "на старой версии работало, на новой - нет" - ровным счётом ничего не значат. Хотя бы потому, что у меня всё работает. Возможно, в коде что-то не то, на то он и процесс разработки. Но для того, чтобы понять, что именно в коде не то - надо попытаться разобраться и помочь мне - например, начать раз за разом комментировать используемые модули, перезакачивая прошивку и проверяя. Таким образом можно хотя бы снизить круг подозреваемых.

    Я даже не представляю, что могу сделать я в ситуации, когда у меня всё работает. Я попытаюсь, но без вашей помощи мне будет сложновато.
     
    Последнее редактирование: 29.05.16
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Эммм. Каким боком-то ESP к SPI относится? Он жеж на аппаратном UART висит, и ни о каком таком SPI не знает. Мож, питалова не хватает на всё про всё - ESP та ещё прожора?
     
  11. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    выдало
    [LAN] server started at 0.0.0.0
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Уже интересней, однако. Попробуйте этот тестовый скетч (считаем, что SD-карта висит на пине 4, сам w5100 - на пине 10):
    Код:
    #include <SPI.h>
    #include <Ethernet.h>
    #include <SD.h>
    
    #define SD_CS 4
    #define LAN_CS 10
    
    byte mac[] = {
      0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
    };
    IPAddress ip(192, 168, 0, 40);
    
    EthernetServer server(80);
    
    void EnabledSD()
    {
      digitalWrite(LAN_CS,HIGH);
      digitalWrite(SD_CS,LOW);
    }
    
    void EnabledLAN()
    {
      digitalWrite(SD_CS,HIGH);
      digitalWrite(LAN_CS,LOW);
    }
    
    
    void setup() {
    
      pinMode(SD_CS,OUTPUT);
      pinMode(LAN_CS,OUTPUT);
    
      digitalWrite(SD_CS,HIGH);
      digitalWrite(LAN_CS,HIGH);
    
      Serial.begin(57600);
      Serial.println("");
    
    EnabledSD();
    
    if(!SD.begin(SD_CS))
      Serial.println("Unable to init SD card!");
    else
      Serial.println("SD card inited!");
    
      EnabledLAN();
       
      Serial.println("Try using DHCP...");
    
      if(!Ethernet.begin(mac))
      {
        Serial.println("DHCP failed, start with local IP...");
        Ethernet.begin(mac, ip);
      }
       
      server.begin();
     
      Serial.print("server is at ");
      Serial.println(Ethernet.localIP());
      Serial.print("dnsServerIP: ");
      Serial.println(Ethernet.dnsServerIP());
      Serial.print("subnetMask: ");
      Serial.println(Ethernet.subnetMask());
      Serial.print("gatewayIP: ");
      Serial.println(Ethernet.gatewayIP());
    
    
      digitalWrite(SD_CS,HIGH); // disable SD
      digitalWrite(LAN_CS,HIGH); // disable LAN
    }
    
    
    void loop() { }
     
  13. Shelllonn
    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300

    Shelllonn

    Живу здесь

    Shelllonn

    Живу здесь

    Регистрация:
    04.02.16
    Сообщения:
    759
    Благодарности:
    300
    Unable to init SD card!
    Try using DHCP...
    и все
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    @gasansafarov - только что подключил к меге, к которой подключен SD-модуль, побаловался командами, вот вывод с монитора порта:

    READY, 00.00.0000 - 00:00:00
    OK=FREERAM|2447
    OK=STATE|TEMP|-128,00|0,00
    OK=HUMIDITY|2|-128,00|-128,00|-128,00|-128,00

    Это с настройками Globals по умолчанию. Если выдернуть SD-модуль - виснет, не работает. Щас буду копать. Хотя подчеркну ещё раз - пользовать модули, железок для которых нет на макетке - не очень гуд. Например, модуль Wi-Fi и модуль LOG требуют наличия железного модуля SD-карты.

    Попытаюсь разобраться и отпишусь.
     
  15. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

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

    DIYMan

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

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

    Да, шилд-то к роутеру подоткнут?
     
Статус темы:
Закрыта.