android - 将数据从 Android 设备发送到 RaspberryPi
问题描述
在为我的问题选择设计选项方面,我需要一些帮助。
我目前设法实现了一个 RaspberryPi 作为服务器,我的本地机器作为客户端。该客户端将 JSON 数据发送到处理这些数据的服务器。一切都按预期工作,我正在使用 TCP-Sockets 进行通信。
我的问题:
我项目的下一步将是,我将使用 Android 设备而不是 PC 作为客户端。我想要实现的是,随时随地向服务器发送数据。我的意思是,我不想将服务器和客户端都限制在特殊网络中。可以预料的是,服务器和客户端彼此相邻,就像在蓝牙连接范围内一样。我的问题是,有没有一种相对简单的方法来实现这种通信?TCP 是一个可能的解决方案(即使在移动网络中工作?)还是我需要使用蓝牙,或者是要走的路,以创建客户端/服务器连接到并在此处通信的某种网络?
对不起,可能是愚蠢的问题,但我对所有这些网络东西都很陌生。
编辑: 由于没有回应,也许我可以做一个更精确的问题。是否有正确的方法来扫描网络以查找设备名称?我目前能想象的唯一方法是对每个 IP 地址进行暴力检查并解析名称?
解决方案
我首先尝试让 Pi 托管一个 ad-hoc 网络,但似乎非 root 的 android 智能手机无法访问 ad-hoc 网络。
因此,我将 Pi 作为接入点。
现在的通信非常简单,通过一个 tcp server-client 系统来实现。
推荐阅读
- jaxb - 没有找到 Jakarta XML Binding-API 的实现?
- vim - 在 vim 中,如何将缓冲区列表中的文件(匹配模式)添加到参数列表中?
- json - 为什么使用 Perl 从数据库读取 JSON 会警告“宽字符”?
- r - 用匹配的索引将一个表除以另一个表
- python-3.x - Python 只添加新的 RSS 条目并输出它们
- c - 无法从 C 内核调用汇编函数
- mysql - 如何在 mySQL 中实现 if/else 语句?
- flutter - Flutter web,消费者重建后的奇怪结果
- kotlin - 不能使用 if/when 赋值返回带有推断参数的 lambda,但可以使用 if/when 块
- java - gradlew flywaymigrate 和用户拒绝访问