Toggle navigation

零售硬件设置

收银台(POSBox) 配置向导

先决条件

在开始设置您的POSBox之前, 确保你准备好了一切。 你会需要 :

  • POSBox
  • 2A电源适配器
  • 一台带最新的Web浏览器的计算机或平板电脑。
  • 可用的的SaaS或已安装零售的Odoo
  • 设置了DHCP(这是默认设置)的本地网络
  • 一台 Epson USB TM-T20 打印机或其他兼容的 ESC/POS 打印机 (官方的 POS 硬件支持列表)
  • 霍尼韦尔的Eclipse USB条码扫描仪或其他兼容的扫描仪
  • 爱普生兼容钱箱
  • An RJ45 Ethernet Cable (optional, Wi-Fi is built in)

一步一步的安装指南

POSBox的当前版本(2015年以来)

连接外围设备

官方支持的硬件列在POS硬件页<https ://www.odoo.com/page/pos-ipad-android-hardware>上 [UNKNOWN NODE problematic]_, 但其他硬件可能也能正常工作。

  • Printer: Connect an ESC/POS printer to a USB port and power it on.
  • Cash drawer: The cash drawer should be connected to the printer with an RJ25 cable.
  • Barcode scanner: Connect your barcode scanner. In order for your barcode scanner to be compatible it must behave as a keyboard and must be configured in US QWERTY. It also must end barcodes with an Enter character (keycode 28). This is most likely the default configuration of your barcode scanner.
  • Scale: Connect your scale and power it on.
  • Ethernet: If you do not wish to use Wi-Fi, plug in the Ethernet cable. Make sure this will connect the POSBox to the same network as your POS device.
  • Wi-Fi: The current version of the POSBox has Wi-Fi built in. Make sure not to plug in an Ethernet cable, because all Wi-Fi functionality will be bypassed when a wired network connection is available.

POSBox通电

将电源适配器插入POSBox, 红色的状态灯应该亮起。

确保POSBox已准备就绪

一旦供电, POSBox需要一段时间才能启动。一旦POSBox准备就绪, 就应该打印带IP地址的状态条。另外, LED状态指示灯, 旁边的红色电源指示灯应常亮绿色。

设置零售点

要设置在销售点的POSBox, 请访问 :菜单选择: 零售点 - >配置 - > 设置 [UNKNOWN NODE problematic]并选择您的销售点。向下滚动到” 硬件代理/ POSBox “部分并激活您想要通过POSBox使用硬件的选项。推荐指定POSBox的IP(印在启动后的POSBox后打印收据上)。如果未指定IP, 销售点会试图在本地网络上寻找。

如果您在同一POSBox运行多个销售点, 确保只有其中一个零售店了激活远程扫描/条码扫描枪。

如果在你的网络中固定POSBox的IP地址, 是个比较好的注意。请参阅您的路由器文档就如何实现这一目标。

启动销售点

如果没有在配置指定POSBox的IP地址, POS将需要一些时间来执行网络扫描来寻找POSBox。这种扫描只进行一次。

销售点已经连接到POSBox, 你的硬件应该可以使用。

Wi-Fi 配置

The most recent version of the POSBox has Wi-Fi built in. If you’re using an older version you’ll need a Linux compatible USB Wi-Fi adapter. Most commercially available Wi-Fi adapters are Linux compatible. Officially supported are Wi-Fi adapters with a Ralink 5370 chipset.

确保不要插以太网电缆插头, 因为当有线网络连接可用时所有Wi-Fi相关的功能将被禁用。

当POSBox使用Wi-Fi适配器启动时, 将以您可以连接到的被称为“Posbox” 的自己的Wi-Fi接入点开始。POSBox启动时的收据打印将反映这一点。为了使POSBox连接到已有的Wi-Fi网络, 转到POSBox的主页(在收据上已标明), 并进入Wi-Fi配置页面。在那里, 你可以选择网络连接。请注意, 我们只支持开放式和WPA(2)-PSK网络。当连接到一个WPA保护的网络, 填写密码字段。该POSBox将尝试连接到指定的网络, 连接后将打印新的POSBox状态条。

如果你打算永久设置POSBox 为Wi-Fi连接, 你可以在Wi-Fi配置页上选择复选框为“一直” 。这将在重新启动时网络选择一直选择WIFI。这意味着, 在启动后它将始终尝试连接到指定的网络而不是自己的“Posbox “网络。

当POSBox无法连接到网络时, 它将退回到开始了自己的“Posbox” 接入点。如果与Wi-Fi网络丢失, POSBox会尝试自动重新建立连接。

多POS 设置

建议设置多个零售点的商店是每个零售点一个POSBox. 在这个例子中, 必须为每个POSBox手动指定IP 地址.你还必须配置你的网络保证每个POSBox 的IP 地址不会改变。请参考你的路由文档。

没有POSBox的指南(高级)

如果您运行在基于Debian的Linux的销售点, 你可以不用POSBox, 你可以运行本地软件。然而安装过程并不是万无一失的。你必须知道如何安装和运行Odoo.你也许会遇到关于版本的, 或特定设置和硬件配置的问题。

Odoo模块提供了对于不同类型的硬件的驱动支持。事实上, POSBox运行Odoo的销售点通信。在POSBox运行Odoo是一个和“真正的” Odoo有很大的不同的例子。它不处理任何 [UNKNOWN NODE problematic]业务数据(如POS订单), 仅仅是作为销售点和硬件之间的网关。

本节的目标是要建立一个当地Odoo演示数据, 模拟在POSBox 上运行。

镜像建立过程

We generate the official POSBox images using the scripts in https://github.com/odoo/odoo/tree/11.0/addons/point_of_sale/tools/posbox. More specifically, we run posbox_create_image.sh. This builds an image called posbox.img, which we zip and upload to nightly.odoo.com for users to download.

在此目录中的脚本对于你碰到问题或想了解更多是很有用的。

映像创建过程总结

镜像创建进程通过下载最新 [UNKNOWN NODE title_reference] _镜像开始。然后, 它在本地挂载这个镜像, 复制一些文件和脚本, 这将使Raspbian镜像把自己变成一个POSBox在启动时。这些脚本将更新Raspbian, 删除非必要的包和安装所需的软件包。为了引导Raspbian我们用QEMU, 其能够提供ARM仿真。在此之后, 仿真Raspbian操作系统将自行关闭。然后, 我们再一次在本地挂载镜像, 删除被用来初始化在启动镜像的脚本, 我们复制了一些额外的配置文件。所产生的镜像, 然后可以被用来进行测试和使用。

先决条件

  • 基于Debian内核的Linux 版本(Debian, Ubuntu, Mint, etc)
  • 一个运行的Odoo来装载零售点
  • 你必须卸载任何ESC/POS 打印机驱动, 因为它会和Odoo内置的驱动冲突。

一步一步的安装指南

额外的依赖

由于Odoo在Python2上运行, 你需要检查你需要使用的PIP的版本。

# pip --version

如果它返回例如 :

pip 1.5.6 from /usr/local/lib/python3.3/dist-packages/pip-1.5.6-py3.3.egg (python 3.3)

你需要PIP2

如果它返回例如 :

pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7)

使用 pip 工具.

驱动模块需要安装新的python模块

# pip install pyserial

# pip install pyusb==1.0.0b1

# pip install qrcode

访问权

驱动需要获得打印机和条码扫描仪设备的原始访问。这样做需要一点系统管理。首先我们要创建一个访问USB设备的组

# groupadd usbusers

然后, 我们添加谁将会运行OpenERP的服务器” USB users “用户

# usermod -a -G usbusers 用户名

允许“usbusers“自动访问USB设备, 需要创建一个udev规则。为此, 在``/etc/udev/rules.d/`` 下直接创建一个名为“99 - usbusers的文件, 文件包含以下内容:

SUBSYSTEM=="usb", GROUP="usbusers", MODE="0660"
SUBSYSTEMS=="usb", GROUP="usbusers", MODE="0660"

然后你需啊重启你的机器。

开始本地Odoo实例。

我们必须用正确的设置启动Odoo服务器

$ ./odoo.py --load=web,hw_proxy,hw_posbox_homepage,hw_posbox_upgrade,hw_scale,hw_scanner,hw_escpos

测试实例。

请将所有的硬件设备插到机器的USB端口, 然后转到” http ://localhost: 8069/hw_proxy/status “” 刷新页面几次, 看看是否所有的设备都显示为 连接 。错误的可能来源是 :linux上的路径和驱动所期望的路径不同, 另一个进程已经抢到了设备的独占访问时, udev规则不适用或他被人取代。

自动启动Odoo

你必须确保Odoo 安装是在启动后自动开始。有多种方式可以实现, 如何做取决于你的特定设置.使用你的操作系统提供的安装系统可能使最简单的方式。

设置零售点

在POS的IP地址字段必须配置” 127.0.0.1 “or” localhost “, 如果你将在作为零售点的Odoo 服务器的机器上运行, 你也可以留空。

POSBox 技术文档

技术总览

收银机(POSBox) 硬件

该POSBox的硬件是基于 [UNKNOWN NODE title_reference] _, 一个普遍的单片机。Raspberry PI 2使用2A微型USB电源适配器。需要提供2A的足够电源给条码扫描器。软件安装在8G的10级或更高的SD卡。所有这些硬件都很容易从世界性的独立供应商处获得。

兼容外设

官方支持的硬件, 列在’POS硬件页<https ://www.odoo.com/page/pos-ipad-android-hardware> [UNKNOWN NODE problematic]_上。

收银机(POSBox) 软件

The POSBox runs a heavily modified Raspbian Linux installation, a Debian derivative for the Raspberry Pi. It also runs a barebones installation of Odoo which provides the webserver and the drivers. The hardware drivers are implemented as Odoo modules. Those modules are all prefixed with hw_* and they are the only modules that are running on the POSBox. Odoo is only used for the framework it provides. No business data is processed or stored on the POSBox. The Odoo instance is a shallow git clone of the 11.0 branch.

POSBox上的根分区是只读的,确保SD卡不会写太多, 同时还确保文件系统不被削减。Linux应用程序期望能写些目录。所以, 我们提供了虚拟盘 / etc和/ var (Raspbian自动提供 了/tmp)。在``/etc/init.d/rcS``中运行脚本前, 需在``setup_ramdisks.sh``设置虚拟盘。虚拟磁盘命名为/ etc_ram和/ var_ram。大多数从/ etc、/ var出来的数据将复制到tmpfs虚拟盘。为了限制虚拟盘的大小,我们不复制这些数据(如, 相关数据)。然后将数据与原来的目录绑定。当应用程序写入/etc/foo/bar时, 其实是写入/ etc_ram / foo / bar。我们也将mount / 绑定 /root_bypass_ramdisks, 以便在开发中能得到真正的/ etc、/ var。

Odoo服务器的运行Log可以在如下地方找到 :

” /var/log/odoo/odoo.log “

各种在POSBox运行的相关的脚本(如无线网络相关的脚本)将记录到/ var / log / syslog上, 那些消息都标有” [UNKNOWN NODE problematic] * “。

访问POSBox

本地访问

如果你插入一个QWERTY USB的键盘到POSBox的USB端口中, 如果你的计算机显示器连接到 * HDMI * 的POSBox的端口, 你可以使用它作为一个小的GNU / Linux计算机并执行各种管理任务, 如查看一些日志。

POSBox 将自动登入作为默认终端设备。

远程访问

如果你有POSBox的IP地址和SSH客户端, 你可以远程访问POSBox的系统。登录凭据” pi “/” raspberry “。

升级POSBox 软件

当你遇到问题或想要使用新实施的功能升级POSBox。

更新POSBox软件的最好方法是下载镜像的新版本, 并更新SD卡。该操作的详细描述在 [UNKNOWN NODE title_reference] _, 只需用最新一期的’官方POSBox镜像页面找到替换的标准Raspberry Pi 镜像<http: //nightly.odoo.com/master/posbox/> [UNKNOWN NODE problematic]_。这种升级方法将确保您正在运行最新版本的POSBox软件。

升级的第二个方法是通过内置的升级界面访问POSBox主页。这样升级的好处是, 你不必换一个新镜像。这种升级方法受限于有些不能做。例如不能更新安装配置文件(/etc/hostapd.conf)。它只能升级 :

  • 内部Odoo应用
  • 脚本在文件夹” odoo/addons/point_of_sale/tools/posbox/configuration/ “

如有疑问, 一定要使用升级的第一个方法。

疑难解答

该POS无法连接到POSBox

  • 最简单的方法确保POSBox是正确的设置, 是把它与打印机插入, 因为它会在POSBox的IP地址设置成功的情况下打印收据显示任何遇到的错误。如果不打印收据, 请执行下列步骤 :
  • 确保POSBox是通电的, 明亮的红色状态指示灯亮。
  • 确保POSBox已经准备好, 这是由一个红色电源状态指示灯后面的绿色状态指示灯指示。在启动后的POSBox应该准备〜2分钟。
  • 确保POSBox连接到POS设备的相同网络。无论是设备和POSBox应该在你的网络中路由器连接的设备的列表中可见。
  • 确保你的局域网已用DHCP设置,并赋予IP地址范围 192.168.0.X, 192.168.1.X, 10.0.0.X. 如果不能这样设置, 那就手动设置POSBox的IP地址。
  • 如果你在配置中指定POSBox的IP地址, 确保它符合POSBox上的收据打印需求。
  • 确认 POS 部分未开启 HTTPS 访问.
  • Firefox的HTTP实施时的一个故障可防止自动运行。使用火狐浏览器时, 你应在POS配置中手动设置POSBox 的IP地址。

条码枪不能使用

  • 在US QWERTY中配置条形码扫描仪, 扫码后输入。这是大多数条形码扫描仪的默认配置。有关更多信息,请参阅条形码文档。
  • POSBox需要2A电源和一些条形码扫描仪。如果你不使用提供的电源,确保你使用电源的功率。
  • 一些条形码扫描仪将需要超过2A的电源, 有时即使提供了电源也不可靠。在这些情况下,你可以把条形码扫描器连接在自供电的USB集线器上。
  • 一些简陋的条形码扫描仪是作为usb键盘, 而不是条形码扫描仪, 这将不被POSBox认可。

条码枪确实不能使用

  • 确保不超过一个设备同时与’Scan via Proxy’/’Barcode Scanner’连接到POSBox使用。

打印小票太慢

  • 打印前有稍许延迟是正常的, POSBox接下来会做一些预处理加快打印。如果之后再有延迟, 很可能是POS和POSBox之间网络连接的问题。

收据上打印出来的字母有些错误

  • POSBox不支持所有的语言和文字。基于日语的支持, 目前支持拉丁文和斯拉夫语。

打印机处于离线

  • 确保打印机是连接, 有电源,有足够的纸, 它的盖子是关闭的, 并且没有报告错误。如果错误出现, 请联系技术支持。

钱箱无法打开

  • 现金盒应该连到打印机, 在POS中应将设置激活。

信用

POSBox项目是由Frédéric van der Essen开发的, 同时得到了Gary Malherbe, Fabien Meghazi, Nicolas Wisniewsky, Dimitri Del Marmol, Joren Van Onder 和 Antony Lesuisse的帮助.

没有 Indiegogo和其他人的贡献, 开发不可能完成。特别感谢支持参加活动的创始合伙人:

  • Camptocamp
  • BHC
  • openBig
  • Eeezee-IT
  • Solarsis LDA
  • ACSONE
  • Vauxoo
  • Ekomurz
  • Datalp
  • Dao 系统
  • 鸡蛋方案
  • OpusVL

也感谢一直支持发展POSBox的合作伙伴:

  • Willow IT
  • E. Akhalwaya & Sons
  • Multibase
  • Mindesa
  • bpso.biz
  • 上海先安信息科技(Shine IT).
推荐阅读