114 lines
3.9 KiB
Markdown
114 lines
3.9 KiB
Markdown
# 星元智灵
|
|
|
|
星元智灵是基于智投终端流程改造的竖屏 Android 投放终端应用。项目保留串口投口控制、称重回包、本地备份和服务器上报框架,并集成本地 SeetaFace6 人脸识别与人员录入流程。
|
|
本项目为沃尔核材专用 APP,定位为安卓上位机应用。
|
|
|
|
## 主要功能
|
|
|
|
- 首页显示摄像头实时画面并默认进行本地人脸识别,也可通过刷卡或工号进入投放流程。
|
|
- 设置页新增“人脸”Tab,可新增人员、录入或更新人脸、查看人员列表并删除人员。
|
|
- 第二页填写本次投放信息:机台号、人员、生产批次。
|
|
- 机台号支持手动输入,也支持小窗口表格选择;选择后自动联动人员和生产批次。
|
|
- 第三页支持 1/2/3/4 投口模式,可选择单个投口或打开全部投口,页面展示本次机台号、人员、生产批次。
|
|
- 投递页支持关门倒计时、手动关门、一次性延时关门。
|
|
- 结果页仅显示本次投放垃圾类型和重量,不显示奖励。
|
|
- 投口垃圾类型支持镀锡铜、铝合金、废铜、废电线、废铝、废锡和自定义。
|
|
- 投放结果通过预留接口上报服务器,接口未定时使用本地队列和备份兜底。
|
|
- 保留下位机原始称重小数;串口或下位机不可用时不会生成虚假称重结果。
|
|
|
|
## 工程结构
|
|
|
|
```text
|
|
app/src/main/
|
|
AndroidManifest.xml Android 应用配置
|
|
assets/www/ WebView 前端界面
|
|
assets/face_models/ SeetaFace6 人脸模型
|
|
assets/brand/ App 图标源图
|
|
java/ 原生桥、串口、TCP 上报逻辑
|
|
jniLibs/armeabi-v7a/ 串口 native 库
|
|
res/mipmap-*/ Android launcher 图标
|
|
build.sh 无 Gradle 手动构建脚本
|
|
```
|
|
|
|
## 构建要求
|
|
|
|
- macOS
|
|
- Android SDK,包含:
|
|
- `platforms/android-28/android.jar`
|
|
- `build-tools/34.0.0`
|
|
- JDK 8 或兼容 `javac --release 8` 的 JDK
|
|
- Android SDK platform-tools,用于 `adb install`
|
|
|
|
仓库服务限制单文件最大 50MB,因此约 98MB 的
|
|
`face_recognizer.csta` 被保存为 `model-parts/` 下的四个分片。
|
|
`build.sh` 会在编译前自动校验 SHA-256 并恢复完整模型,无需手动合并。
|
|
|
|
## 构建 APK
|
|
|
|
```bash
|
|
bash build.sh
|
|
```
|
|
|
|
如果只需要恢复或校验人脸模型,可单独执行:
|
|
|
|
```bash
|
|
bash scripts/restore-face-models.sh
|
|
```
|
|
|
|
构建产物:
|
|
|
|
```text
|
|
build/out/xingyuan-zhiling-signed.apk
|
|
```
|
|
|
|
首次构建时,如果本地没有 debug keystore,脚本会自动生成:
|
|
|
|
```text
|
|
keystore/zhitou-debug.keystore
|
|
```
|
|
|
|
该 keystore 不提交到 Git。
|
|
|
|
## 安装到终端
|
|
|
|
```bash
|
|
$HOME/Library/Android/sdk/platform-tools/adb install -r build/out/xingyuan-zhiling-signed.apk
|
|
$HOME/Library/Android/sdk/platform-tools/adb shell monkey -p com.xingyuan.zhiling -c android.intent.category.LAUNCHER 1
|
|
```
|
|
|
|
## 串口说明
|
|
|
|
默认串口配置:
|
|
|
|
```text
|
|
path: /dev/ttyS4
|
|
baudRate: 9600
|
|
```
|
|
|
|
如果首页提示串口故障,请检查串口占用情况以及下位机连接。旧智投 APP 与星元智灵同时运行时,可能会竞争 `/dev/ttyS4`。
|
|
|
|
## 接口说明
|
|
|
|
当前机台号、人员、生产批次接口仍为测试数据实现,内置 `WAL-A01`、`WAL-A02`、`WAL-B01`、`WAL-B02` 四台机台供流程测试。后续接入正式接口时,需要替换:
|
|
|
|
- `app/src/main/java/com/zhitou/terminal/ZhitouBridge.java` 中的 `fetchWorkContext`
|
|
- 前端 `app/src/main/assets/www/app.js` 中的接口解析和兜底逻辑
|
|
|
|
投放结果上报预留:
|
|
|
|
- `reportXingyuanDelivery`
|
|
- `reportDeliveryResult`
|
|
- 本地备份:`/sdcard/smart/cache/xingyuan_zhiling_delivery_backup.csv`
|
|
- 本地 JSON 备份:`/sdcard/smart/cache/xingyuan_zhiling_delivery_backup.json`
|
|
- 日志导出:`/sdcard/smart/logs/`
|
|
|
|
## 版本
|
|
|
|
当前应用版本:
|
|
|
|
```text
|
|
versionName: 1.2.18-wal-stability-fix
|
|
versionCode: 107
|
|
package: com.xingyuan.zhiling
|
|
```
|