【问题标题】:Controlling Arduino through public internet通过公共互联网控制 Arduino
【发布时间】:2013-05-02 06:03:18
【问题描述】:

我正在考虑通过 Internet 控制 Arduino。

假设我没有与我的 Arduino 的静态 IP 连接(我使用的是 GPRS 屏蔽。)在这种情况下,我必须遵循类似这样的程序。假设我正在尝试通过网络打开/关闭单个设备。

  1. 有一个域名托管在服务器上的网站。有 一个 PHP 网页和一个关联的 MySQL 表来保持 ON/OFF 命令。
  2. 当用户需要打开设备时,他会发送一个 对 PHP 页面的特定请求。它更改存储在表中的标志 数据库。
  3. arduino 会定期向网页发送请求以询问 是否有任何更新。 PHP 页面检查数据库并 响应 arduino,所以现在 arduino 可以打开/关闭设备 相应地。

我的问题是,

  1. 在 Arduino 中运行(网络)服务器可能是另一种方法。但是我可以从公共互联网访问它吗?我正在使用 GPRS 模块。移动服务订阅者是否允许传入连接?

  2. 要获得实时输出,我必须在很短的时间内连续发送请求。并且 PHP 页面必须一次又一次地查询数据库。就性能而言,这不是一个好方法。在这种情况下,我有哪些选择? (我正在使用数据库,因为我计划让许多用户使用许多设备。)

  3. 我必须采用哪些替代方法来实现相同的方法?

【问题讨论】:

  • 有趣的项目! 1.) 与您的移动运营商联系以重新访问互联网。我假设您必须在允许访问蜂窝网络之前进行注册?我的猜测是很有可能。但为什么不绕过网络服务器并通过手机控制 Arduino? 2.) 在我看来,从 Arduino 轮询不是一个好方法。最好向 Arduino 发送命令。 3.)通过互联网远程连接到家庭计算机(远程桌面连接),家庭计算机通过 WiFi 或无线电(xbee 等)连接到 Arduino。我的设置是笔记本电脑上的应用程序,XBEE 到 Arduino。像魅力一样工作。

标签: embedded arduino communication gprs


【解决方案1】:

您可能考虑的另一种方法是使用 arduino 端的客户端套接字从 arduino 连接到服务器,然后当发生更新时,服务器可以将更新推送到 arduino 正在侦听的套接字。这将允许实时即时更新。

【讨论】:

    【解决方案2】:

    您是否考虑过改用 Raspberry Pi?您可以控制 8 个 GPIO 引脚(通用 I/O,如 Arduino),这对于大多数应用程序来说已经足够了。

    http://www.raspberrypi.org/

    【讨论】:

    • 这没有回答问题。这个问题特别说明他想用 Arduino 来完成这个。
    【解决方案3】:

    您没有说明为什么要使用 GPRS 屏蔽。使用您概述的基本设置需要考虑的一些事项:

    • 互联网上的智慧是默认情况下传入的 GPRS 连接被禁用但可以启用。如果这是真的,那么 a)您可能会获得一个静态 IP b)您可能会获得一个主机名,该主机名将解析为您的 Arduino 设备或 c)您可以(在最坏的情况下)使用 noip.com 等动态 DNS 服务。
    • 我不同意其他发帖人认为投票是一个可怕的想法。如果您对自己的架构很了解,那么轮询 仅新数据 不会导致大量流量。我要说的是,您的中间服务器应该只向 Arduino 发送 Arduino 以前从未见过的数据。在这种情况下,唯一与轮询握手/协议流量相关的额外流量,而不是数据。在后端,服务器可能会在等待下一个轮询请求时预处理要发送到 Arduino 的数据。关键是轮询相对于推送的唯一缺点应该是 a) 潜在的时间延迟和 b) 浪费了建立连接的额外数据。如果你能找到 a) 的可接受答案,b) 应该没什么大不了的。

    如果您愿意考虑将您的 Arduino 连接到互联网的其他方式,如 user2019047suggests,则可以考虑多种方式:

    • 手机。也许您的链接至少可以部分使用电话:假设您的服务器通知 Arduino 有新数据要通过 SMS 或来自特定号码的电话来获取?
    • 您可以通过 XBee、串口、蓝牙或其他一些无线或有线技术将您的 Arduino 与 PC 连接起来。然后连接到 Arduino 的 PC 可以与您的用户与之通信的服务器进行通信。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多