Вопрос: Arduino + GPRS + дата логгер = передача данных на сервер

Тема в разделе "Arduino & Shields", создана пользователем DHH, 4 окт 2012.

  1. DHH

    DHH Нуб

    Всем привет!
    Помогите/подскажите с решением задачи. Ранее опыта работы с Arduino не было.
    Что должно быть:
    Arduino UNO (или Mega?)+высокотемпературный датчик (К тип)+датчик атмосферного давления+акселерометр (+-2g). Из доступных средств коммуникации только сотовая связь, соответственно нужен GPRS шилд. Ещё, вероятно, модуль реального времени.
    Как передать данные температуры и давления через gprs на сервер в принципе понятно, частота передачи данных достаточна 10-15 минут. А вот с акселерометром сложнее - нужен поток данных, т.е. пропуски недопустимы. Пустить такой поток по gprs каналу скорее всего не получится. Значит данные должны накапливаться на SD карте и пакетами (допустим 1 раз в час) сбрасываться на сервер. Вот с этим и проблема. Пока не нашёл очевидного решения вопроса.
    Комплектующих в наличии пока нет. Изучаю сам вопрос. Подскажите в каком направлении смотреть/искать информацию.
    Может проще на Raspberry это всё исполнить?
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    Вам хватит Uno: по пинам вписываетесь. Часы реального времени встроены на GPRS Shield'е. С акселерометра, да, данные можно складировать на SD, а можно… если их не так много хранить прямо в оперативке. Как часто нужно сэмплировать показания с акселерометра?
     
  3. DHH

    DHH Нуб

    частота работы акселерометра скорее всего будет 50 Гц, реагировать он должен на малоаплитудные воздействия. Пока не знаю какой объём памяти будут занимать данные допустим за 1 минуту.
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    50 Гц в лоб — это 50 раз × 3 оси × 2 байта = 300 байт в секунду, что много. Если допустимо, вы можете сохранять только информацию о возмущениях, отклонениях от нормы, тогда влезете. А так, да, нужно писать на SD.
     
  5. DHH

    DHH Нуб

    а как программно писать только информацию о возмущениях? нужно задать некое значение превышающее фон? нужно же полезную информацию не потерять :)
    А если всё же данные писать на SD, то как их скидывать через gprs? Гуглю уже несколько дней этот вопрос, но пока решения не нашёл
     
  6. nailxx

    nailxx Официальный Нерд Администратор

    В состоянии покоя вы знаете, что вдоль осей X и Z ускорение нулевое, а вдоль Y — 1g. Собственно можно сделать допущение, что пока ускорения остаются в рамках нормы ±¼g всё хорошо и ничего писать не нужно. Как только пошёл всплеск, записываем время события и начинаем писать данные с датчика пока всё не утихнет.

    О том, как передать пакет данных по GPRS-интернету лучше всего понять из даташита на чип шилда SIM900. Страница 169 и далее.