Odoo对接电子秤(非IoTBox方案) - xiaohao0576/odoo-doc GitHub Wiki
Odoo POS模块,官方对接电子秤的方式需要使用IoT Box,这个方案需要另外添加设备,并且兼容的电子秤品牌和型号也不明确。
有以下两种方式不需要IoT Box就可以对接电子秤。
方案1
此方案适合称重和收银分成两个步骤的场景,也是现在超市常用的称重场景。先使用条码秤对商品称重,打印出特定格式的条形码,条形码本身包含了产品的条码和重量信息,然后客户拿着粘贴了条码的商品,到收银台扫描结账,Odoo能正确解析出商品和重量信息。
有的条形码不但包含了重量信息,还同时包含了价格。
Odoo官方文档中,说明了如何配置21开头的13位EAN条形码,点击查看
国内的大华条码秤是兼容这种编码方案的,下面是大华条码秤的默认编码方案,重量信息是两位整数加三位小数,和ODOO的默认配置一模一样
FFWWWWWNNNNNC
F是标识码,W是商品编码,N是重量,C是校验
13位码是 商品+重量 或者 商品+金额
18位码的就可以 商品+重量+金额 或者 商品+金额+重量
方案2
此方案试用于在收银台结账时一并称重的场景,比如麻辣烫食堂。 这种情况就不需要条码秤,而是简单的串口秤就行,大华也有串口秤,并且价格要比条码秤便宜,另一个品牌是安衡,这家品牌有一款ERP电子秤,可以直接把称重结果模拟成键盘输出到电脑,比如Excel文件。 但是这种模式并不兼容Odoo,因为Odoo会把这种输出结果当成条码去找商品,然后报错。
如果需要对接串口秤到Odoo,并且不使用IoT,需要做一些定制化开发。 这个开发不需要动Odoo的代码,并且可以兼容Odoo Online版本。
有以下几种方案
1、可以使用232Key这个软件,读取串口的称重数据,然后模拟键盘输出称重的数字,输出的适合,数字之间的时间间隔长一些,要不然又会被Odoo认为是扫码枪。这款软件只能运行在Windows系统上
2、使用PV-COM软件,默认兼容Odoo,也只是能在Windows下运行
3、自己写Python脚本,监听串口数据,模拟键盘输出,此方案免费,并且可以跨平台。点击查看源码
4、编写Bash脚本,需要用到的命令行有 minicom
xdotool
wmctrl
最佳方案
前面几种种方案,用户体验上都不是最佳,最佳方案应该是在电脑监听到串口秤的重量数据后,屏幕弹出一个商品选择列表,可以用图片网格展示产品,用户点击选择对应的商品后,把商品的条码和重量信息一起编码成(21)….{NNDDD}
这种条形码格式,然后模拟键盘输出到Odoo收银台页面,Odoo接收到条码输入后,可以自动选择出产品和设置重量信息。
这个方案现在只是在构想阶段,还没找到成品的软件,如果有哪位大神看到这个方案,并且有兴趣实现的话,可以一试。
我找到一家厂商,有一款AI识别的电子秤,称重后不用打印标签,直接模拟扫码枪输出结果到电脑,完美兼容Odoo,广捷科技