将 android 作为小型 server 运行是否可行

2020-01-15 17:37:19 +08:00
 msmmbl

最近一个工控项目中,有一个需求:

通过传感器采集一个设备的温度,传感器每隔 1 秒采集一次。需要在一个安卓平板上显示实时数据和历史 24 小时的数据。局域网中的其他手机也可以查询这些数据。

目前我想要的做法是:

  1. 温度传感器接到 esp32 WiFi 模块,通过 mqtt 将温度值发布出来。
  2. 在安卓平板上建立 mqtt server 并订阅数据,并将数据存入 sqlite。
  3. 在安卓上开启 web server,想局域网提供 RESTful 接口查询数据(连接设备不会太多性能应该足够)。
  4. 安卓上显示一个 UI 界面显示温度数据。

目前,使用安卓平板作为显示终端是客户要求的。其他部分还可以改。

我本人做过简单的安卓 App 开发。但是对于安卓作为这样的 server 运行的场景,没有相关经验。我目前能想到的坑是安卓作为 server 需要长期唤醒,和作为 web server 后台运行保活的问题。是否有做过类似项目的小伙伴提供些建议。

如果这个方案不靠谱,我个人趋向于再增加一个小型的 ARM 单板,在上面安装 Ubuntu,专门用于运行 mqtt server 和 web server 和数据库 server。安卓平板只做显示。

9055 次点击
所在节点    Android
35 条回复
PTLin
2020-01-15 19:38:54 +08:00
termux?
IgniteWhite
2020-01-15 19:41:23 +08:00
推荐树莓派…
labulaka521
2020-01-15 20:06:27 +08:00
tmux
zzcworld
2020-01-15 20:19:13 +08:00
买一个 raspberry pi zero w,一百多块就可以搞定了
eminemcola
2020-01-15 20:38:50 +08:00
做过类似的场景。可以的,完全没问题。
保活这块需要给应用加白名单。
reus
2020-01-15 20:50:56 +08:00
树莓派都嫌贵了,加个几十块的 arm 单板就行了,完整的 armbian 给你用,何必折腾。
https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-9552179460.14.789556ecQE9QQj&id=599644205492
zyq2280539
2020-01-15 20:54:35 +08:00
100 块包邮的斐&讯 N1 它不香吗? 双频 wifi 千兆以太网卡 高清 4K armv8l 64 位 CPU
star29
2020-01-15 21:02:48 +08:00
完全可以,不过还是推荐树莓派,拓展性好也稳定
yinzhili
2020-01-16 09:25:36 +08:00
树莓派不是更适合吗?
dizner
2020-01-16 10:48:32 +08:00
我做过类似的东西,使用的是 ARM 的开发板,运行 Android 系统,可接入 esp32 WiFi 或者蓝牙、或者 zigbee(我们项目使用的这个)。开发板有 GPIO 接口,也有 uart 接口。
当然我个人建议使用树莓派运行 AndroidThings 平台,搭配 USB 触摸屏也可以实现以上功能。
(以上两种方案保活不用考虑,都可以很优美并且很稳定的实现,httpserver 的话,之前的一个项目用到了,是个开源的项目,可以在 github 上找找。)

我觉得也可考虑使用 udp 通信啊(小声逼逼)
dizner
2020-01-16 10:49:58 +08:00
使用 arm 板或者树莓派的话,可以省去单独再加 pad 来做显示终端了。
viruser
2020-01-16 11:59:59 +08:00
Linux deploy 总感觉不大行,之前用的 AnLinux 感觉会方便很多,AnLinux 使用 proot 虚拟了个系统目录出来。或者 Termux 也可以,但是目录结构和普通的 Linux 系统还是不大一样。
msmmbl
2020-01-16 13:39:44 +08:00
@dizner 感谢建议,AndroidThings 确实合适。不过平板电脑是客户指定的,不然我会考虑晚霞 AndroidThings。
@viruser 感谢,不过这块环境配置起来比较麻烦了。更趋向于封装一个 apk 给客户,拿个平板就自己安装。所以会考虑在 app 里面实现 web 服务器。不过想想这块坑也是挺大的。今天会去找客户聊下方案。
Stain5
2020-01-16 16:44:16 +08:00
@zyq2280539 #27 openwrt 相比 android 坑只有更多,一些依赖的缺失也更严重
zyq2280539
2020-01-16 17:59:11 +08:00
@Stain5 不是 openwrt 啊,可以用 armbian,我现在就在用 ubuntu 18.04 lts 版本,还可以吧,大多数软件都能兼容,当然也有一些软件没有 arm64 版本的这个只能从源码自己编译了,还好,常用软件都是支持的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/638212

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX