Files

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
```