2013-05-02 2 views
1

Я думаю об управлении Arduino через Интернет.Управление Arduino через общедоступный интернет

Скажем, у меня нет статического IP-соединения с моим Arduino (я пользуюсь экраном GPRS.) В таких ситуациях я должен следовать процедуре что-то вроде этого. Предположим, я пытаюсь включить/выключить одно устройство через Интернет.

  1. Веб-сайт с доменным именем, размещенным на сервере. Существует веб-страница PHP и связанная с ней таблица MySQL для включения/выключения команд .
  2. Когда пользователь должен включить устройство, он отправляет специальный запрос на страницу PHP . Он изменяет флаг, хранящийся в таблице в базе данных .
  3. Ардуино периодически отправляет запросы на веб-страницу, чтобы задать , есть ли какие-либо обновления. Страница PHP проверяет базу данных и отвечает на arduino, поэтому теперь ардуино может включить/выключить устройство соответственно.

Мои вопросы,

  1. Запуск (веб) сервер в Arduino может быть другой подход. Но могу ли я получить к нему доступ из общедоступного Интернета? Я использую модуль GPRS. Подключаются ли абоненты мобильной связи к входящим соединениям?

  2. Чтобы получить выход в реальном времени, я должен отправлять запросы непрерывно с очень коротким далайлом. И страница PHP должна снова и снова запрашивать базу данных. Эффективность - это не очень хороший подход. Каковы альтернативы, которые у меня есть в этом случае? (Я использую базу данных, так как планирую иметь много пользователей со многими устройствами.)

  3. Каковы альтернативные подходы, которые я должен реализовать так же?

+0

Интересный проект! 1.) Поговорите с вашим оператором мобильной связи. Я предполагаю, что вы должны зарегистрировать его до разрешения доступа к сотовой сети? Думаю, это вполне возможно. Но почему бы не обойти веб-сервер и не управлять Arduino с телефона? 2.) Опрос с Arduino не является хорошим подходом на мой взгляд. Лучше отправлять команды в Arduino. 3.) Удаленный доступ через Интернет к домашнему компьютеру (подключение к удаленному рабочему столу), домашний компьютер к Arduino через Wi-Fi или радио (xbee и т. Д.). Моя настройка - приложение на ноутбуке, XBEE - Arduino. Работает как шарм. – user2019047

ответ

0

Рассматривали ли вы использование малины? Вы можете управлять 8 выводами GPIO (универсальный ввод-вывод, например, Arduino), которого достаточно для большинства приложений.

http://www.raspberrypi.org/

+0

Это не отвечает на вопрос. Вопрос конкретно заявил, что он хотел это сделать с Ардуино. – sgonzalez

0

Вы не говорите, почему вы используете GPRS щит. Некоторые вещи, которые следует рассмотреть, используя базовую настройку, которую вы указали:

  • Мудрость в интернетах заключается в том, что по умолчанию входящие подключения GPRS отключены, но могут быть включены. Если это так, то: а) вы можете получить статический IP-адрес b) вы можете получить имя хоста, которое будет разрешено для вашего устройства Arduino, или c) вы можете (в худшем случае) использовать динамические службы DNS, такие как noip.com и тому подобное.
  • Я не согласен с другими афишами, что опрос такой ужасно idea. Если вы умны в своей архитектуре, тогда опрос на только для новых данных не должен вызывать интенсивный трафик. Я говорю, что ваш сервер-посредник должен отправлять данные в Arduino, которые Arduino не видел раньше. В этом случае единственный дополнительный трафик, связанный с опросом трафика handshaking/protocol, а не данных. На задней панели сервер может предварительно обработать данные, которые будут отправлены в Arduino, ожидая следующего запроса опроса. Дело в том, что единственными недостатками опроса относительно толчка должны быть: а) потенциальная задержка времени и б) дополнительные данные, потраченные впустую, делают соединение.Если вы можете найти приемлемый ответ на a), b) не должно быть очень большой сделки.

Если вы готовы рассмотреть другие способы подключения Arduino к Интернету, как user2019047suggests Есть много способов, чтобы думать:

  • Mobile. Возможно, ваша ссылка может использовать телефонию, по крайней мере, частично: скажите, что ваш сервер уведомил Arduino о том, что новые данные будут получены через SMS или телефонный звонок с определенного номера?
  • Вы можете связать свой Arduino с ПК через XBee, последовательный порт, Bluetooth или другую беспроводную или проводную технологию. Затем ПК, подключенный к Arduino, мог бы общаться с вашим сервером, с которым разговаривают ваши пользователи.
1

Другим подходом, который вы можете рассмотреть, является подключение от arduino к серверу с использованием клиентского сокета на конце arduino, а затем, когда происходит обновление, сервер может просто нажать обновление в сокет, который прослушивает arduino. Это позволит мгновенно получать мгновенные обновления.

Смежные вопросы