先决条件

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

  • POSBox

  • 2A电源适配器

  • 一台带最新的Web浏览器的计算机或平板电脑。

  • 可用的的SaaS或已安装零售的Odoo

  • 设置了DHCP(这是默认设置)的本地网络

  • 一个RJ45以太网电缆或兼容Linux的USB Wi-Fi适配器

  • 一台 Epson USB TM-T20 打印机或其他兼容的 ESC/POS 打印机 (官方的 POS 硬件支持列表)

  • 霍尼韦尔的Eclipse USB条码扫描仪或其他兼容的扫描仪

  • 爱普生兼容钱箱

一步一步的安装指南

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: If you do not wish to use Ethernet, plug in 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. 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 配置

POSBox是支持WiFi的。为了使用它, 你会需要一个Linux兼容的USB Wi-Fi适配器。大多数商用的Wi-Fi适配器兼容Linux。官方支持的是具有Ralink5370芯片组的Wi-Fi适配器。

确保不要插以太网电缆插头, 因为当有线网络连接可用时所有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 上运行。

镜像建立过程

我们生成正规的POSBox 镜像使用如下脚本https ://github.com/odoo/odoo/tree/8.0/addons/point_of_sale/tools/posbox. 更加具体的话, 运行 [UNKNOWN NODE problematic]posbox_create_image.sh<https: //github.com/odoo/odoo/blob/8.0/addons/point_of_sales/tools/posbbox/posbox_create_image.sh>'.建立一个叫" posbox.img"的镜像, 我们压缩并上传到'nightly.odoo.com<https ://nightly.odoo.com>'_供用户下载。

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

映像创建过程总结

镜像创建进程通过下载最新 [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) 软件

该POSBox运行一个重大的修改Raspbian Linux, 是Raspberry Debian的衍生物。它还可以运行Odoo的准系统安装, 提供网络服务器和驱动程序。硬件驱动被作为为Odoo模块。这些模块都前缀" [UNKNOWN NODE problematic] * ", 他们是POSBox运行的唯一模块。 Odoo仅用于所提供的框架。没有业务数据被处理或存储在POSBox。该Odoo实例是" 8.0 "克隆。

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) 配置向导的更多相关文章

  1. MySQL安装没有弹出配置向导

    安装MySQL过程中一切都正常只是没有弹出MySQL配置向导对话框,即出现"launch the MySQL Instance Configuration Wizard" fini ...

  2. Azure WAF防火墙工作原理分析和配置向导

    Azure WAF工作原理分析和配置向导 本文博客地址为:http://www.cnblogs.com/taosha/p/6716434.html ,转载请保留出处,多谢! 本地数据中心往云端迁移的的 ...

  3. KEIL中头文件使用配置向导

    在xxx.h头文件的代码中夹杂的“<h>      </h>”.“<o>”“<i>”.“<c1>   </c>”和“<e& ...

  4. Mysql的安全配置向导命令mysql_secure_installation

    mysql_secure_installation安全配置向导 [root@youxi1 ~]# mysql_secure_installation Securing the MySQL server ...

  5. MySQL安全配置向导mysql_secure_installation详解

    安装完mysql-server 会提示可以运行mysql_secure_installation.运行mysql_secure_installation会执行几个设置:  a)为root用户设置密码  ...

  6. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  7. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  8. (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...

  9. (转)从0开始搭建SQL Server AlwaysOn 第一篇(配置域控+域用户DCADMIN)

    原文地址: http://www.cnblogs.com/lyhabc/p/4678330.html 实验环境: 准备工作 软件准备 (1) SQL Server 2012 (2) Windows S ...

随机推荐

  1. Java并发编程的艺术(一)——并发编程需要注意的问题

    并发是为了提升程序的执行速度,但并不是多线程一定比单线程高效,而且并发编程容易出错.若要实现正确且高效的并发,就要在开发过程中时刻注意以下三个问题: 上下文切换 死锁 资源限制 接下来会逐一分析这三个 ...

  2. 数据更新后让ListView自动滚动到底部

    在做聊天界面的时候想要发送新的数据后,listview自动滚动到底部,显示出最新的数据.网上找了两个方法,觉得不错,记录一下. 方法一: 给listview添加下面两个属性 android:stack ...

  3. TrafficStats——流量统计类的范例,获取实时网速

    2.3开始android就提供来这个类的API,这样我们就可以方便的用他来实现统计手机流量来.这个类其实也很简单,我贴上他的几个方法,大家一看就知道怎么用了. static long getMobil ...

  4. JAVA 项目中使用 H2 数据库

    为什么要使用H2数据库 H2数据库是可以嵌入到JAVA项目中的,因为只需要导入一个jar包即可,所以非常的方便. 项目中导入H2 将H2的jar包放到classpath里即可,我是用的maven,ma ...

  5. Java多线程之Callable接口与Runnable的实现以及选择

    通过实现Runnable接口的实现 package Thread; import java.util.concurrent.ExecutorService;import java.util.concu ...

  6. webrequest HttpWebRequest webclient/HttpClient

    webrequest(abstract类,不可直接用) <--- (继承)---- HttpWebRequest(更好的控制请求) <--- (继承)---- webclient (简单快 ...

  7. Focal Loss(RetinaNet) 与 OHEM

    Focal Loss for Dense Object Detection-RetinaNet YOLO和SSD可以算one-stage算法里的佼佼者,加上R-CNN系列算法,这几种算法可以说是目标检 ...

  8. vRealize 7中部署blueprint如果失败,如何不让已经被provision的虚机被删掉?

    正解为: _debug_deployment 哪里用: 参考资料 ========= Custom Properties for Naming and Analyzing Deployments ht ...

  9. 如何感性地理解EM算法?

    https://www.jianshu.com/p/1121509ac1dc 如果使用基于最大似然估计的模型,模型中存在隐变量,就要用EM算法做参数估计.个人认为,理解EM算法背后的idea,远比看懂 ...

  10. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网。

    使用VMW安装四台CentOS-7-x86_64-DVD-1804.iso虚拟机: 计划配置三台centos虚拟机: master:192.168.0.120 slave1:192.168.0.121 ...