Что более энергоэффективно: GPRS или SMS для приложения GSM SIM Arduino?
У меня есть GSM-шилд для моего Arduino, и мне интересно, как наиболее эффективно получать и отправлять данные в облако.
Конкретный проект, который я хочу реализовать, - это запустить мой автомобиль из веб-браузера (или специально созданного ионного мобильного приложения), который отправит данные на мой экранированный GSM Arduino, и Arduino затем «нажмет кнопку» на уже установленном пульте дистанционного управления. автомобильный стартер (который весь наверняка находится в багажнике автомобиля).
Что более энергоэффективно: отправка и получение SMS (текстового сообщения) или отправка и получение данных через GPRS?
Что лучше всего подходит для таких стратегий, как сон или циклы глубокого сна?
@aero, 👍0
Обсуждение2 ответа
Лучший ответ:
Если рассуждать логически, 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
Теоретически вы можете использовать SIP-сервер посередине, чтобы поддерживать сеанс через GPRS или выше. И есть методы, которые вы можете использовать, чтобы сделать его максимально энергоэффективным, в зависимости от вашего приложения (который, как я полагаю, довольно простой с небольшой пропускной способностью данных).
Однако, как сказал @Majенко выше, он может быть не таким энергоэффективным, как SMS.
Тем не менее, могут иметь значение и другие факторы, например стоимость отправки/получения SMS-сообщений, которые могут иметь значение, если вы взвесите совокупность требований вашего приложения.
Я лично не работал над платой Particle (particle.io), но у них есть плата MCU/3G, которая обеспечивает определенный объем бесплатной (то есть без долларов) полосы пропускания в месяц, что может быть разумным решением рассмотрим ваше приложение.
Пожалуйста, держите нас в курсе. Я сам подумываю о чем-то подобном.
- Проблема с получением SMS - GSM-модуль Arduino Uno и SIM900A
- SIM900 3G? Или SIM900A умеет подключаться к 3G?
- Мини-модем SIM900a, IMEI 0, помощь с контактами TX RX
- Как получить данные из базы данных моего сервера в переменную в моем Arduino?
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- SIM800L не регистрируется в сети
- Как проверить, работает ли GSM-модуль?
- Как отправлять сообщения на несколько номеров с помощью модуля Arduino uno и SIM800?
Вместо этого я бы использовал Bluetooth., @Gerben
@Gerben: Спасибо, Гербен, но радиус действия Bluetooth слишком мал для нужд проекта. Экран GSM позволит мне завести машину из любой точки мира, тогда как Bluetooth ограничивает меня расстоянием от 10 до 100 метров в зависимости от класса (1, 2 или 3)., @aero
Мой инстинктивный ответ — SMS, просто потому, что это более простой протокол. Не научный ответ..., @Malachi