- 条码识别,支持国产商品与进口产品;
- Grocy物品扫码出库;
- Grocy已有物品扫码入库,新物品自动获取商品详情并入库;(商品详情包括:条码,基础信息,图片,GPC类别,保质期判别等)
Grocy配置,Web界面中:
设置
-管理API密钥
-添加
管理主数据
-位置
- 根据自身情况添加管理主数据
-自定义字段
-添加
- 表单信息:实体:products;名称GDSInfo;标题:GDSInfo;类型:单行文本,勾选"在表格中显示此列"
docker pull osnsyc/grocycompanioncn:latest
创建 config.ini 和 docker-compose.yml 文件
# config.ini
[Grocy]
GROCY_URL = http://EXAMPLE.COM
GROCY_PORT = 443
GROCY_API = YOUR_GROCY_API_KEY
GROCY_DEFAULT_QUANTITY_UNIT_ID = 1 # 默认的数量单位ID
GROCY_DEFAULT_BEST_BEFORE_DAYS = 365 # 默认的保质期天数
# 存储位置ID,与scanner.ino内的位置名称对应
# shell内获取,替换以下地址\端口\api_key:
; curl -X 'GET' 'https://EXAMPLE.COM:PORT/api/objects/locations' \
; -H 'accept: application/json' \
; -H 'GROCY-API-KEY:YOUR_GROCY_API_KEY' \
; | echo -e "$(cat)""
[GrocyLocation]
pantry = 1
temporary_storage = 2
fridge = 3
living_room = 4
bedroom = 5
bathroom = 6
其中,GrocyLocation
id的获取方法:
curl -X 'GET' 'https://EXAMPLE.COM:PORT/api/objects/locations' \
-H 'accept: application/json' \
-H 'GROCY-API-KEY:YOUR_GROCY_API_KEY' \
| echo -e "$(cat)""
# docker-compose.yml
version: "3"
services:
spider:
image: osnsyc/grocycompanioncn:latest
restart: always
ports:
- "9288:9288"
volumes:
- ./config.ini:/usr/src/app/config.ini
# - ./u2net.onnx:/root/.u2net/u2net.onnx
depends_on:
- chrome
networks:
- grocy_cn_campanion
chrome:
image: selenium/standalone-chrome:latest
restart: always
ports:
- "4444:4444"
shm_size: 1g
networks:
- grocy_cn_campanion
networks:
grocy_cn_campanion:
u2net.onnx
为rembg的模型,程序第一次运行时会自动下载,下载缓慢的也可手动下载,放入docker-compose.yml
同目录,并反注释以下一行
- ./u2net.onnx:/root/.u2net/u2net.onnx
docker compose up -d
打开http://127.0.0.1:9288
,看到页面显示GrocyCNCompanion Started!
,服务已成功运行.
GrocyCompanionCN api测试
curl -X POST -H "Content-Type: application/json" -d '{"client":"temporary_storage","aimid":"]E0","barcode":"8935024140147"}' http://127.0.0.1:9288/add
刷新Grocy,出现新物品
条码/二维码扫描模块为GM805,带蜂鸣器和灯光,3.3V供电
https://img.alicdn.com/imgextra/i3/343151/O1CN01QbKGVt1Z9CkLwAzKp_!!343151.jpg
使用模块包括:
- GM805
- ESP01
- AMS1117
- 限位开关
- 3.7V锂电池
以下为硬件接线示意图
完成以下设置并烧入ESP01
// ./esp8266/BarcodeScanner.ino
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#define SERVER "http://YOUR_SEVER_IP:9288" //GrocyCompanionCN api的地址
#define CLIENT "temporary_storage" //对应config.ini中GrocyLocation的值
#define GPIO0_PIN 0
#define LED_PIN 2
#define HTTP_CODE_OK 200
#ifndef STASSID
#define STASSID "YOUR_SSID" //WiFi名
#define STAPSK "YOUR_PASSWORD" //WiFi密码
#endif
使用模块直接扫描以下二维码设置,设置成功,发出蜂鸣。
- 切换拨动开关至“出库”模式;(必须为“出库”模式才可正常启动)
- 模块上电自动启动,并发出蜂鸣声,蓝灯亮起;
- WiFi连接成功,蓝灯熄灭;
- 扫码成功,模块发出蜂鸣声;
- 请求成功,模块蓝灯常亮0.5秒后熄灭;
- 请求错误,模块蓝灯连续闪烁2秒;
- 按下微动开关,模块断电;
- 切换拨动开关,切换“出库”和“入库”模式;