GPRS-логгер для теплицы

Тема в разделе "Проводная и беспроводная связь", создана пользователем Gribowsky, 27 июл 2015.

  1. Gribowsky

    Gribowsky Нуб

    Приветствую друзья!
    Нуждаюсь в вашем совете и помощи, так как столкнулся с проблемой, а именно с ошибкой в скетче Амперкиного проекта http://wiki.amperka.ru/projects:gprslogger
    Заранее благодарю.

    Arduino: 1.6.4 (Windows 8), Плата"Arduino Leonardo"

    GPRS_Logger.ino: In function 'void loop()':
    GPRS_Logger:85: error: no matching function for call to 'GPRS::join(const char [20], const char [8], const char [8])'
    GPRS_Logger.ino:85:64: note: candidate is:
    In file included from GPRS_Logger.ino:2:0:
    C:\Users\Bobby\Documents\Arduino\libraries\GPRSShield/GPRS_Shield_Arduino.h:191:10: note: bool GPRS::join(const __FlashStringHelper*, const __FlashStringHelper*, const __FlashStringHelper*)
    bool join(const __FlashStringHelper *apn = 0, const __FlashStringHelper *userName = 0, const __FlashStringHelper *passWord = 0);
    ^
    C:\Users\Bobby\Documents\Arduino\libraries\GPRSShield/GPRS_Shield_Arduino.h:191:10: note: no known conversion for argument 1 from 'const char [20]' to 'const __FlashStringHelper*'
    GPRS_Logger:127: error: 'class GPRS' has no member named 'powerOff'
    GPRS_Logger.ino: In function 'void tcpRequest()':
    GPRS_Logger:168: error: no matching function for call to 'GPRS::send(char [370])'
    GPRS_Logger.ino:168:22: note: candidate is:
    In file included from GPRS_Logger.ino:2:0:
    C:\Users\Bobby\Documents\Arduino\libraries\GPRSShield/GPRS_Shield_Arduino.h:242:9: note: int GPRS::send(const char*, int)
    int send(const char * str, int len);
    ^
    C:\Users\Bobby\Documents\Arduino\libraries\GPRSShield/GPRS_Shield_Arduino.h:242:9: note: candidate expects 2 arguments, 1 provided
    no matching function for call to 'GPRS::join(const char [20], const char [8], const char [8])'
     
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    Библиотеки не забыли скачать и установить?
     
  3. Gribowsky

    Gribowsky Нуб

    Установлена библиотека GPRS_Shield_Arduino.h источник здесь https://github.com/amperka/gprs-shield
    далее переходим к библиотеке SoftwareSerial.h нашел упоминания о ней здесь https://www.pjrc.com/teensy/td_libs_SoftwareSerial.html , здесь же говорится о том, что нет нужды устанавливать её так как она идёт по умолчанию, если я правильно понял. Запускаю проверку скетча и он выдает ошибку что была описана выше.

    Предлагают поставить новую версию NewSoftSerial.h , установил, прописал строку #include <NewSoftSerial.h>
    И вот результат:

    Arduino: 1.6.4 (Windows 8), Плата"Arduino Leonardo"

    In file included from C:\Users\Bobby\Documents\Arduino\libraries\GPRSShield/GPRS_Shield_Arduino.h:35:0,
    from sketch_jul28a.ino:2:
    C:\Users\Bobby\Documents\Arduino\libraries\GPRSShield/sim900.h:35:28: fatal error: SoftwareSerial.h: No such file or directory
    #include <SoftwareSerial.h>
    ^
    compilation terminated.
    Ошибка компиляции.

    Спасибо
     
  4. Gribowsky

    Gribowsky Нуб

    Проблема нашлась в библиотеке которую приводит Амперка в своем проекте, https://github.com/amperka/gprs-shield
    Просьба поправить такие дела.
     
  5. geher

    geher Гуру

    Возможно, это особенности работы Arduino IDE.
    Она почему-то иногда "не хочет" находить включаемые файлы, которые включаются в другие включаемые файлы.
    "Лечится" обычно просто.
    В данном конкретном случае можно попробовать добавить
    #include <SoftwareSerial.h>
    перед
    #include <GPRS_Shield_Arduino.h>
     
  6. Gribowsky

    Gribowsky Нуб

    Снова всех приветствую, и очередная проблема с проектом. Я столкнулся с тем, что устройство может проработать стабильно 6 часов, а может и 30 минут, после чего начинаются бесконечные попытки подключиться к сети, но увы безрезультатные. Вот небольшой лог:

    OK
    Init OK
    Error = 2
    Gprs join network error
    Error = 2
    Gprs join network error
    GPRS OK
    IP Address is 100.69.119.93
    Connect success
    temp = 23
    humi = 53
    moisture = 0
    light = 0

    OK
    Init OK
    GPRS OK
    IP Address is 100.117.11.94
    Connect success
    temp = 24
    humi = 55
    moisture = 0
    light = 0

    OK
    Init OK
    Error = 2
    Gprs join network error
    Error = 2
    Gprs join network error
    Error = 3
    Gprs join network error
    Error = 3
    Gprs join network error
    Error = 2
    Gprs join network error
    ....

    Мое устройство несколько отличается от того, что в проекте от Амперки. Вместо датчика освещенности, для своего проекта я использую анемометр измеряя скорость ветра.
     
  7. Mishaw

    Mishaw Нерд

    Подскажите как решилась проблема с ошибкой в библиотеке. У меня все те же ошибки лезут.
     
  8. Gribowsky

    Gribowsky Нуб

    Доброго дня, да проблему решил, путем установки правильной библиотеки для шилда. Архив залил на файлообменник https://www.sendspace.com/file/6ikm1v
     
  9. Megakoteyka

    Megakoteyka Оракул Модератор

    Хрому ваш архив очень не нравится. Говорит, что вредоносный.
     
  10. Mishaw

    Mishaw Нерд

    Спасибо. Буду пробовать.
     
  11. Gribowsky

    Gribowsky Нуб

    Пожалуйста, отпишите получилось ли у вас, и как со стабильностью связи будут обстоять дела. У меня по прежнему часто проблема с подключением к сети, использую симку Мегафон.
     
  12. Gribowsky

    Gribowsky Нуб

    Лукавит, не иначе