从Android手机上的外部设备获取二进制数据

时间:2010-07-08 23:59:48

标签: android android-ndk ethernet

我正在寻找关于如何处理我遇到的问题的一些意见。我们有一个设备,它需要通过以太网发送出来的二进制数据(它们主要只是符号,但是采用自定义二进制格式)。我需要在手机上拦截这些数据并在谷歌地图上显示符号。我只是想知道最好的方法,我有一些想法,但不确定它们是否可行或可行:

  1. 如果设备上运行某种服务器,手机是否可以直接连接到设备,然后轮询新数据?如果是这样,那么能够像这样直接连接所需的协议是什么?
  2. 也许修改设备软件以便以SMS数据信息格式向手机发送数据?我不确定软件是否有可能在手机不是手机本身时“欺骗”手机?
  3. 让设备软件将所有二进制数据上传到位于某处的ftp / http服务器,让手机连接到该服务器并定期轮询新数据吗?
  4. 我是Android开发的新手,基本上我想做的就是从手机上的设备中获取这个二进制数据并在谷歌地图上解析/显示它。这些想法中的任何一个听起来如何,还是有一种我更容易忽视的方式?谢谢!

2 个答案:

答案 0 :(得分:0)

  

手机可以吗?   如果是,则直接连接到设备   设备运行某种服务器   在它上面,然后轮询新数据?

可能,如果他们都在同一个WiFi LAN上。

  

如果是这样,需要什么协议   能够直接连接吗?

您必须询问设备的制造商。我们无从知晓。

  

也许修改设备软件   将数据发送到SMS数据中的电话   消息格式?

如果是GSM手机或CDMA手机,也许这样可行。

  

让设备软件全部上传   它的二进制数据到ftp / http服务器   那个坐在那儿的地方,   把手机连接到那个   服务器和轮询新数据   周期性?

这具有通过3G使用设备的优势,因为电话和设备不必在同一网络上 - 它们都必须能够到达该服务器。使用Android 2.2,您还可以使用C2DM来触摸手机,让它知道有数据可供选择。

答案 1 :(得分:0)

对于连接类型,您可以选择蓝牙,WiFi或GPRS / 3G。什么是最适合您的情况取决于设备与手机的接近程度以及它具有的连接功能。

您还必须决定如何通过电话或设备启动连接。对于Android手机上服务器唯一可靠的选择是蓝牙。打开服务器套接字限制Wifi,GPRS / 3G依赖于运营商。如果设备运行服务器,您可以通过WiFi访问它(如果它在LAN或Internet上),对于GPRS / 3G,它必须在Internet上。

一旦你选择了这些东西,你就会选择协议,但在那个阶段找到答案还有很长的路要走。