SkillAgentSearch skills...

GrocyCompanionCN

条形码商品识别

Install / Use

/learn @osnsyc/GrocyCompanionCN
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

特性

  • 条码识别,支持国产商品与进口产品;
  • 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 在 shell内获取:
; curl -X 'GET' 'https://EXAMPLE.COM:PORT/api/objects/quantity_units' \  -H 'accept: application/json' \  -H 'GROCY-API-KEY:YOUR_GROCY_API_KEY' \  | echo -e "$(cat)"
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
# 注册RapidAPI账号,并在https://rapidapi.com/Glavier/api/barcodes1/的Pricing点击订阅(免费),复制Endpoints中的X_RapidAPI_Key于此处
[RapidAPI]
X_RapidAPI_Key = YOUR_RapidAPI_API_KEY

其中,GROCY_DEFAULT_QUANTITY_UNIT_ID的获取方法:

curl -X 'GET' 'https://EXAMPLE.COM:PORT/api/objects/quantity_units' \
  -H 'accept: application/json' \
  -H 'GROCY-API-KEY:YOUR_GROCY_API_KEY' \
  | echo -e "$(cat)"

其中,GrocyLocationid的获取方法:

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
    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锂电池

以下为硬件接线示意图

Alt text

程序烧录

完成以下设置并烧入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

扫码模块的设置

使用模块直接扫描以下二维码设置,设置成功,发出蜂鸣。

添加AIM ID(必选)

scanner-setting-1

添加串口输出(必选)

scanner-setting-2

照明(自选)

scanner-setting-3

扫码模块测试

  • 切换拨动开关至“出库”模式;(必须为“出库”模式才可正常启动)
  • 模块上电自动启动,并发出蜂鸣声,蓝灯亮起;
  • WiFi连接成功,蓝灯熄灭;
  • 扫码成功,模块发出蜂鸣声;
  • 请求成功,模块蓝灯常亮0.5秒后熄灭;
  • 请求错误,模块蓝灯连续闪烁2秒;
  • 按下微动开关,模块断电;
  • 切换拨动开关,切换“出库”和“入库”模式;

壳体

shell

物料清单与参考链接

| 序号 | 名称 | 参考链接 | | ---- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 1 | GM805 | 颜色分类:默认 | | 2 | ESP01 | 颜色分类:ESP-01S | | 3 | AMS1117 | 颜色分类:AMS1117-3.3模块 3脚 | | 4 | 拨动开关 | 颜色分类:柄高4mm | | 5 | 限位开关 | 颜色分类:KW12 3脚21mm圆弧柄 | | 6 | 3.7V锂电池 | 颜色分类:3.7V并联加厚600mAh/XH2.54反向插 | | 7 | 锂电池充电器 | 颜色分类:500mA/XH2.54反向母插转换头 | | 8 | PCB跳线 | | | 9 | PCB洞洞板 | 颜色分类:双面喷锡 2x8cm | | 10 | ESP烧录器 | 颜色分类:ESP-01/01S CH340芯片 | | 11 | 注塑铜螺母 | 颜色分类:M2x4x3.5 | | 12 | 螺丝 | M2x6 |

鸣谢

  • https://github.com/tenlee2012/BarCodeQuery

Related Skills

View on GitHub
GitHub Stars151
CategoryDevelopment
Updated18d ago
Forks16

Languages

Python

Security Score

75/100

Audited on Mar 15, 2026

No findings