Что более энергоэффективно: GPRS или SMS для приложения GSM SIM Arduino?

gsm

У меня есть GSM-шилд для моего Arduino, и мне интересно, как наиболее эффективно получать и отправлять данные в облако.

Конкретный проект, который я хочу реализовать, - это запустить мой автомобиль из веб-браузера (или специально созданного ионного мобильного приложения), который отправит данные на мой экранированный GSM Arduino, и Arduino затем «нажмет кнопку» на уже установленном пульте дистанционного управления. автомобильный стартер (который весь наверняка находится в багажнике автомобиля).

Что более энергоэффективно: отправка и получение SMS (текстового сообщения) или отправка и получение данных через GPRS?

Что лучше всего подходит для таких стратегий, как сон или циклы глубокого сна?

, 👍0

Обсуждение

Вместо этого я бы использовал Bluetooth., @Gerben

@Gerben: Спасибо, Гербен, но радиус действия Bluetooth слишком мал для нужд проекта. Экран GSM позволит мне завести машину из любой точки мира, тогда как Bluetooth ограничивает меня расстоянием от 10 до 100 метров в зависимости от класса (1, 2 или 3)., @aero

Мой инстинктивный ответ — SMS, просто потому, что это более простой протокол. Не научный ответ..., @Malachi


2 ответа


Лучший ответ:

1

Если рассуждать логически, SMS, вероятно, является наиболее энергоэффективным методом.

Идея такая:

С помощью SMS:

  • Шилд подключен к мобильной сети и ничего особенного не делает.
  • Вами отправляется SMS, которое проходит через мобильную сеть.
  • SMS отправляется из мобильной сети на ваш модуль GSM, который затем просыпается и выполняет необходимые действия.
  • Шилд подключен к мобильной сети и ничего особенного не делает.

С GPRS:

  • Щит запрашивает онлайн-сервис, чтобы узнать, доступен ли запрос.
  • Щит запрашивает онлайн-сервис, чтобы узнать, доступен ли запрос.
  • Щит запрашивает онлайн-сервис, чтобы узнать, доступен ли запрос.
  • Щит запрашивает онлайн-сервис, чтобы узнать, доступен ли запрос.
  • Щит запрашивает онлайн-сервис, чтобы узнать, доступен ли запрос.
  • Щит запрашивает онлайн-сервис, чтобы узнать, доступен ли запрос.
  • Щит запрашивает онлайн-сервис и видит, что запрос доступен.
  • Щит загружает запрос
  • Щит действует по запросу
  • Защита возвращается к запросу онлайн-сервиса.
  • Щит запрашивает онлайн-сервис, чтобы узнать, доступен ли запрос.
  • Щит запрашивает онлайн-сервис, чтобы узнать, доступен ли запрос.
  • Щит запрашивает онлайн-сервис, чтобы узнать, доступен ли запрос.
  • ... и т. д. до тошноты...

Как вы можете видеть, в случае с SMS ответственность за отправку данных на щит лежит на мобильной сети, тогда как в случае с GPRS ответственность лежит на щите, который должен продолжать запрашивать онлайн-сервис, чтобы узнать, есть ли какие-либо запросы для обработки. . Невозможно напрямую отправлять данные на экран (действительно, большинство служб GPRS включают в себя как минимум один уровень шлюза NAT). Таким образом, ваш щит должен быть все время активным и постоянно следить за чем-то в Интернете - не только энергоемким, но и потенциально дорогостоящим с финансовой точки зрения.

,

«Невозможно отправить данные напрямую на щит». Я не уверен, что это совершенно правильно. Хотя вам придется время от времени подключаться к серверу, чтобы сообщить ему ваш IP-адрес и оставить порт открытым. И здесь все становится запутанным, поскольку ни одна из телефонных сетей не предоставляет никаких данных об этих вещах., @Gerben

Если вы находитесь за NAT, а скорее всего, так и есть (сейчас я нахожусь на 4G), то войти извне совершенно невозможно., @Majenko

@Маженко: Спасибо за ответ, Маженко. Вы хотите сказать, что такие протоколы, как MQTT (через TCP, который просто поддерживает открытое соединение без опроса), не будут работать с GPRS? Вы предполагаете, что через соединение GPRS вы не можете «пересылать» сообщения на Arduino, а можете только «извлекать» сообщения? Мне было бы любопытно, как iOS и Android отправляют «Push»-уведомления, поскольку это определенно похоже на настоящий «Push», а не на «Pull»., @aero

Для такого рода подключений вам необходимо правильное сетевое соединение. Сможете ли вы сделать это с помощью экрана GPRS, сомнительно и будет зависеть от возможностей экрана. В общем, я не думаю, что они это предоставляют. В любом случае, поддержание открытого соединения независимо от того, используете ли вы его или нет, по-прежнему будет требовать больших затрат энергии., @Majenko

@Маженко: Спасибо за дальнейшее объяснение. Как отправляются SMS на телефон/GSM-щит. Поддерживают ли они открытое сетевое соединение с вышкой сотовой связи? Не поэтому ли вообще GSM-шилды тренируют такую большую мощность?, @aero

Да, но обычно они в основном слушают. SMS имеет гораздо меньшую пропускную способность, чем аналоги 3G, и использует меньше энергии для поддержания соединения. Это также более надежно при плохом уровне сигнала., @Majenko

@Маженко: Я очень ценю ваш диалог. Спасибо за понимание!, @aero


1

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

Однако, как сказал @Majенко выше, он может быть не таким энергоэффективным, как SMS.

Тем не менее, могут иметь значение и другие факторы, например стоимость отправки/получения SMS-сообщений, которые могут иметь значение, если вы взвесите совокупность требований вашего приложения.

Я лично не работал над платой Particle (particle.io), но у них есть плата MCU/3G, которая обеспечивает определенный объем бесплатной (то есть без долларов) полосы пропускания в месяц, что может быть разумным решением рассмотрим ваше приложение.

Пожалуйста, держите нас в курсе. Я сам подумываю о чем-то подобном.

,