Налаштування обладнання точки продажу

Робота з модулем в Odoo

Посібник зі встановлення POSBox

Odoo CMS - a big picture

Передумови

Перш ніж почати встановлювати свій POSBox, переконайтеся, що у вас все є. Ви будете потребувати:


  • POSBox

  • Адаптер живлення 2A

  • Комп'ютер або планшет із сучасним веб-браузером

  • Запущена база даних SaaS або Odoo з точкою продажу

  • Локальна мережа, налаштована за допомогою DHCP (це налаштування за замовчуванням)

  • Принтер Epson USB TM-T20 або інший ESC/POS-сумісний принтер (офіційно підтримуються принтери наведені на сторінці POS обладнання)

  • Сканер штрих-коду Honeywell Eclipse USB або інший сумісний сканер

  • Epson-сумісний ящик для готівки

  • RJ45 Ethernet кабель (додатково, вбудований Wi-Fi)


Інструкція по встановленню крок за кроком

Поточна версія POSBox (з 2015 року)

Підключіть периферійні пристрої 


Офіційно підтримуване апаратне забезпечення наведене на сторінці POS обладнання, але може також працювати інше обладнання.


  • Принтер: підключіть ESC/POS-принтер до USB-порту та увімкніть його.

  • Ящик для готівки: грошовий ящик повинен бути підключений до принтера за допомогою кабелю RJ25.

  • Сканер штрих-коду: підключіть сканер штрих-коду. Для того, щоби ваш сканер штрих-коду був сумісний, він повинен вести себе як клавіатура, і його потрібно налаштувати в US QWERTY. Він також повинен закінчувати штрих-коди з символом Enter (кодовий ключ 28). Це, швидше за все, є стандартною конфігурацією вашого сканера штрих-коду.

  • Ваги: підключіть ваги і включіть їх.

  • Інтернет: якщо ви не хочете використовувати Wi-Fi, підключіть кабель Інтенренту. Переконайтеся, що він з'єднує POSBox з тією ж мережею, що й ваш пристрій точки продажу.

  • Wi-Fi: поточна версія точки продажу має вбудований Wi-Fi. Переконайтеся, що кабель Інтернету не підключений, оскільки всі можливості Wi-Fi будуть обходитися, коли доступна дротова мережа.


Потужність POSBox

Підключіть адаптер живлення до POSBox, світло-червоний статус повинен запалюватися.


Переконайтеся, що POSBox готовий

Після включення, POSBox потребує деякий час для завантаження. Після того, як він буде готовий, точка продажу повинна надрукувати квитанцію про статус із її IP-адресою. Також світлодіодний індикатор стану, поруч із червоним індикатором живлення, повинен бути постійно зеленим.


Налаштуйте точку продажу

Щоб налаштувати точку продажу, перейдіть до Точки продажу ‣ Налаштування ‣ Точка продажу та виберіть свою точку продажу. Прокрутіть униз до розділу Точка продажу/Апаратний проксі та активізуйте параметри обладнання, яке ви хочете використовувати через точку продажу. Рекомендується вказати IP-адресу точки продажу (вона друкується на квитанції, яка надсилається після завантаження точки продажу). Якщо IP не вказано, POSBox буде намагатися знайти її в локальній мережі.


Якщо у вас працює декілька POSBox на точку продажу, переконайтеся, що лише один з них активує сканер віддаленого сканування/сканер штрих-коду.


Можливо, непогано було би переконатися, що IP-адреса POSBox ніколи не змінюється у вашій мережі. Зверніться до документації маршрутизації про те, як цього досягти.


Запустіть точку продажу

Якщо ви не вказали IP-адресу точки продажу в налаштуваннях, для сканування точки продажу необхідно деякий час, щоби знайти POSBox. Це робиться лише один раз.


Точка продажу зараз підключена до POSBox, а ваше обладнання має бути готовим до використання.

Налаштування Wi-Fi

Найновіша версія POSBox має вбудований Wi-Fi. Якщо ви використовуєте стару версію, вам буде потрібен адаптер Wi-Fi, сумісний з Linux. Більшість комерційно доступних адаптерів Wi-Fi сумісні з Linux. Офіційно підтримуються адаптери Wi-Fi з чіпсетом Ralink 5370.


Переконайтеся, що не підключений кабель Інтернету, оскільки всі функції, пов'язані з Wi-Fi, будуть вимкнені, якщо доступна дротова мережа.


Коли POSBox завантажується з адаптером Wi-Fi, він почне власну точку доступу Wi-Fi під назвою "Posbox", з якої можна підключитися. Квитанція, яка надсилається під час запуску POSBox, відображає це. Щоби POSBox підключився до вже існуючої мережі Wi-Fi, перейдіть на домашню сторінку POSBox (зазначену на квитанції) і перейдіть на сторінку налаштувань Wi-Fi. Тут ви можете вибрати мережу, до якої потрібно підключитися. Зауважте, що ми підтримуємо лише відкриті та WPA (2) -PSK мережі. Підключившись до WPA-захищеної мережі, заповніть поле пароля. POSBox намагатиметься підключитися до вказаної мережі та надсилати нову квитанцію про стан POSBox після його підключення.


Якщо ви плануєте назавжди налаштувати POSBox за допомогою Wi-Fi, під час підключення до мережі можна встановити прапорець "постійний" на сторінці налаштування Wi-Fi. Це дозволить зробити вибір мережі постійним через перезавантаження. Це означає, що замість того, аби запустити власну мережу "Posbox", він завжди намагатиметься підключитися до вказаної мережі після завантаження.


Коли POSBox не зможе підключитися до мережі, він повернеться до запуску власної точки доступу "Posbox". Якщо підключення до мережі з'єднання буде втрачено через мережу Wi-Fi, POSBox намагатиметься відновити з'єднання автоматично.


Налаштування кількох точок продажу

Рекомендований спосіб налаштування магазину з кількома точками продажу - мати один POSBox. У цьому випадку обов'язково вручну вказати IP-адресу кожного POSBox у кожній точці продажу. Ви також повинні налаштувати свою мережу, аби переконатися, що IP-адреси POSBox не змінюються. Будь ласка, зверніться до документації маршрутизації.

Посібник із POSBoxless (розширений)

Odoo CMS - a big picture

Якщо ви використовуєте свою точку продажу на дистрибутиві бази Debian, то вам не потрібен POSBox, оскільки ви можете запустити його програмне забезпечення локально. Однак процес встановлення не є надійним. Вам потрібно буде хоча би знати, як встановити та запустити Odoo. Ви також можете поставити проблеми, пов'язані з вашим дистрибутивом або з вашою конкретною конфігурацією та обладнанням.


Драйвера для різних типів підтримуваного апаратного забезпечення надається як модулі Odoo. Фактично, POSBox запускає версію Odoo, з якою зв'язується точка продажу. Версія Odoo, що працює на POSBox, сильно відрізняється від "реальної" версії Odoo. Вона не обробляє будь-які бізнес-дані (наприклад, POS-замовлення), але служить лише шлюзом між точкою продажу та обладнанням.


Мета цього розділу полягає у створенні локальної версії Odoo, яка веде себе як версія Odoo, що працює на POSBox.


Процес створення зображень

Ми створюємо офіційні зображення POSBox за допомогою сценаріїв за адресою https://github.com/odoo/odoo/tree/11.0/addons/point_of_sale/tools/posbox. Якщо конкретно, ми запускаємо posbox_create_image.sh. Це створює зображення, яке називається posbox.img, яке ми завантажуємо в zip і завантажуємо на nightly.odoo.com для користувачів.


Скрипти у цьому каталозі можуть бути корисними як посилання, якщо ви застрягли або хочете докладніше про щось дізнатися.

Підсумок процесу створення зображення

Процес створення зображення починається із завантаження останнього зображення Raspbian. Потім він локально монтує це зображення Raspbian та копіює над деякими файлами та скриптами, які змушують образ Raspbian перетворюватися на POSBox під час завантаження. Ці скрипти будуть оновлювати Raspbian, видаляти несуттєві пакунки та встановлювати необхідні. Для завантаження Raspbian ми використовуємо qemu, яка здатна забезпечити емуляцію ARM. Після цього імітована ОС "Raspbian" закриється. Ми потім знову локально монтуємо зображення, видаляємо скрипти, які використовувались для ініціалізації зображення під час завантаження, і копіюємо деякі додаткові файли конфігурації. Отримане зображення готово для тестування та використання.


Передумови

  • Розподіл Linux на основі Debian (Debian, Ubuntu, Mint та ін.)

  • Запущена версія Odoo, яку ви підключаєте, щоб завантажити точку продажу

  • Ви повинні видалити будь-який драйвер принтера ESC/POS, оскільки він конфліктує з вбудованим драйвером Odoo

Інструкція по встановленню крок за кроком

Додаткові залежності

Через те, що Odoo працює на Python 2, потрібно перевірити версію 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)


Ви можете використовувати рір.


Модулі драйверів вимагають встановлення нових модулів python:


# pip install pyserial

# piop install pyusb == 1.0.0b1

# пір встановити qrcode


Права доступу

Для драйверів потрібен вихідний доступ до принтерів та пристроїв для сканування штрих-кодів. Для цього потрібне системне адміністрування. Спочатку ми збираємося створити групу, яка має доступ до USB-пристроїв


# groupadd usbusers


Тоді ми додаємо користувача, який запускатиме OpenERP сервер для usbusers


# usermod -a -G usbusers USERNAME


Потім нам потрібно створити правило udev, яке автоматично дозволить членам usbusers отримати доступ до сировинних USB-пристроїв. Для цього створіть файл з назвою 99 usbusers.rules у каталозі /etc/udev/rules.d/ з наступним вмістом:


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, оновіть сторінку декілька разів і перевірте, чи всі ваші пристрої позначені як підключені. Можливим джерелом помилок є: шляхи в розподілі відрізняються від шляхів, очікуваних драйверами, інший процес захопив ексклюзивний доступ до пристроїв, правила udev не застосовуються або замінюються іншими.


Автоматично запустіть Odoo

Тепер ви повинні переконатися, що це встановлення Odoo автоматично запускається після завантаження. Існують різні способи зробити це, і як це зробити, залежить від конкретного налаштування. Використання системи init, що надається вашим дистрибутивом, ймовірно, є найпростішим способом здійснити це.


Налаштуйте точку продажу

Поле IP-адреси в налаштуваннях точки продажу має бути 127.0.0.1 або localhost, якщо ви використовуєте створений сервер Odoo на апараті, який ви будете використовувати як пристрій точки продажу. Ви також можете залишити це порожнім.


Технічна документація POSBox

Технічний огляд

Обладнання POSBox

Апаратне забезпечення POSBox засноване на популярній одноплатовій машині Raspberry Pi 2. Raspberry Pi 2 оснащений 2A мікро-USB-адаптером живлення. 2A необхідний для забезпечення достатньої потужності сканерів штрих-кодів. Програмне забезпечення встановлено на картці 8Gb Class 10 або вище SD. Все це обладнання легко доступне у всьому світі від незалежних постачальників.


Сумісні периферійні пристрої

Офіційно підтримуване обладнання наведено на сторінці обладнання точки продажу.


POSBox Software

POSBox запускає сильно модифіковану версію Raspbian Linux, похідну Debian для Raspberry Pi. Вона також запускає встановлення Barebones Odoo, що забезпечує веб-сервер та драйвери. Апаратні драйвери реалізовані як модулі Odoo. Всі ці модулі мають prefixed з hw_ *, і вони є єдиними модулями, що працюють на POSBox. Odoo використовується лише для тієї системи, яку вона надає. Немає бізнес-даних, які обробляються або зберігаються на POSBox. Версія Odoo - це невеликий клон гіт гілки 8.0.


Кореневий розділ на POSBox монтується лише для читання, гарантуючи, що ми не зношуємо SD-карту, пишучи їй надто багато. Це також гарантує, що файлова система не може бути пошкоджена шляхом скорочення потужності POSBox. Програми Linux, як очікується, зможуть писати в деяких каталогах. Таким чином ми надаємо ramdisk для /etc та /var (Raspbian автоматично забезпечує один для /tmp). Ці діапазони встановлюються за допомогою setup_ramdisks.sh, які ми запускаємо перед усіма іншими скриптами init, запустивши їх у /etc/init.d/rcS.  Ramdiscs названі /etc_ram та /var_ram відповідно. Більшість даних з файлів /etc та /var копіюються на ці ramdiscs tmpfs. Щоб обмежити розмір ramdiscs, ми не копіюємо над ними певні речі (наприклад, відповідні дані). Потім ми зв'язуємо їх з монзами в оригінальні каталоги. Тому, коли програма пише до /etc/foo/bar, вона насправді пишеться до /etc_ram/foo/bar. Ми також встановлюємо кріплення mount/to/root_bypass_ramdisks для того, аби бути в змозі дістатися до реальних /etc та /var під час розробки.


Журнали поточного сервера Odoo можна знайти за адресою:


/var/log/odoo/odoo.log


Різні скрипти, пов'язані з POSBox (наприклад, скрипти, пов'язані з Wi-Fi), запущені на POSBox, будуть вноситися до /var/log/syslog, і ці повідомлення позначаються з posbox_ *.


Доступ до POSBox

Локальний доступ

Якщо ви підключите QWERTY USB-клавіатуру до одного з USB-портів POSBox, і якщо ви підключите монітор комп'ютера до порту HDMI POSBox, ви можете використовувати його як невеликий комп'ютер GNU/Linux і виконувати різні завдання адміністрування, наприклад переглядати деякі журнали.


POSBox буде автоматично входити як root за замовчуванням tty.


Віддалений доступ

Якщо у вас є IP-адреса POSBox та клієнт SSH, ви можете мати доступ до системи POSBox віддалено. Вхідні дані є  pi/raspberry.


Оновлення програмного забезпечення POSBox

Тільки оновіть POSBox, якщо ви зіткнулися з проблемами або хочете використовувати нові функції.


Найкращий спосіб оновлення програмного забезпечення POSBox - завантажити нову версію зображення та вставити в неї SD-карту. Ця операція детально описана в цьому уроці, просто замініть стандартне зображення Raspberry Pi найновішим на офіційній сторінці зображення POSBox. Цей спосіб оновлення забезпечить, аби ви використовували найновішу версію POSbox.


Другий спосіб оновлення - це вбудований інтерфейс оновлення, який можна отримати через домашню сторінку POSBox. Гарна річ щодо оновлення полягає в тому, що вам не потрібно завантажувати нове зображення. Цей метод оновлення обмежується тим, що він може зробити. Він не може, наприклад, оновлювати встановлені налаштування файлів (наприклад, /etc/hostapd.conf). Метод може оновити лише:

  • Внутрішню програма Odoo

  • Скрипти в папці odoo/addons/point_of_sale/tools/posbox/configuration/

Якщо ви сумніваєтесь, завжди використовуйте перший спосіб оновлення.


Усунення несправностей

Точка продажу не може підключитися до POSBox

  • Найпростіший спосіб переконатися, що POSBox належним чином налаштований - це ввімкнути його, якщо принтер підключений, він надрукує квитанцію, яка вказує на будь-яку помилку, коли виникає проблема, або IP-адресу POSBox у випадку успіху. Якщо не надруковано квитанцію, перевірте наступні кроки:

  • Переконайтеся, що POSBox включений, позначений яскраво освітленим червоним індикатором стану.

  • Переконайтеся, що POSBox готовий, про це свідчить яскраво освітлений зелений індикатор стану поряд із червоним індикатором живлення. POSBox повинен бути готовий ~ через 2 хвилини після його запуску.

  • Переконайтеся, що POSBox підключено до тієї ж мережі, що і ваш пристрій точки продажу. І пристрій, і POSBox повинні бути видимими в списку підключених пристроїв вашого мережевого маршрутизатора.

  • Переконайтеся, що ваша локальна мережа налаштована за допомогою DHCP та дає IP-адреси в діапазоні 192.168.0.X, 192.168.1.X, 10.0.0.X. Якщо ви не можете налаштувати вашу локальну мережу таким чином, потрібно вручну встановити IP-адресу вашого POSBox.

  • Якщо ви вказали IP-адресу POSBox в налаштуваннях, переконайтеся, що вона відповідає інформації, роздрукованій на квитанції про статус POSBox.

  • Переконайтеся, що POS не завантажено через HTTPS.

  • Помилка в реалізації HTTP-протоколу Firefox перешкоджає надійному функціонуванню автообстеження. При використанні Firefox ви повинні вручну налаштувати IP-адресу POSBox в налаштуваннях точки продажу.


Сканер штрих-коду не працює

  • Сканер штрих-коду повинен бути налаштований в US QWERTY і видати Enter після кожного штрих-коду. Це налаштовано за замовчуванням більшості сканерів штрих-кодів. Для отримання додаткової інформації зверніться до документації для сканування штрих-кодів.

  • Для роботи POSBox потрібен блок живлення 2A для деяких сканерів штрих-кодів. Якщо ви не користуєтесь наданим джерелом живлення, переконайтеся, що у вас є достатньо енергії.

  • Деякі сканери штрих-кодів потребують більше 2A, і вони не працюватимуть або працюватимуть неналежним чином, навіть за умови наявності джерела живлення. У такому випадку ви можете підключити сканер штрих-коду до автономного USB-концентратора.

  • Деякі погано побудовані сканери штрих-кодів не рекламують себе як сканери штрих-кодів, а замість клавіатури USB, і не будуть розпізнані POSBox.

Сканер штрих-коду не працює надійно

  • Переконайтеся, що одночасно до POSBox підключено не більше одного пристрою з функцією "Сканувати через проксі"/"Сканер штрих-коду".

Друк квитанції займає надто багато часу

  • Невелика затримка до першого друку очікується, оскільки POSBox зробить деяку попередню обробку, щоби прискорити наступний друк. Якщо після цього у вас буде затримка, це, швидше за все, пов'язано з поганим мережевим зв'язком між точкою продажу і POSBox.

Деякі символи не надруковані на квитанції

  • POSBox не підтримує всі мови та символи. В даний час він підтримує скрипти з латинської та кирилицею, з базовою японською підтримкою.

Принтер офлайн

  • Переконайтесь, що принтер підключений, живиться, має достатню кількість паперу, кришка закрита та не повідомляється про помилку. Якщо помилка не зникає, зверніться до служби підтримки.

Готівковий рахунок не відкривається

  • Каса повинна бути підключена до принтера і повинна активуватися в налаштуваннях точки продажу.

Кредити

Проект POSBox був розроблений Фредеріком ван дер Есеном з належною допомогою Гарі Малхербе, Фаб'єна Мегазі, Ніколя Висневського, Дімітрі Дель Мармола, Йорен Ван Ондер та Антоні Лесуісе.


Це не було б можливим без кампанії Indiegogo та тих, хто це зробив. Особлива подяка партнерам, які підтримали кампанію зі зв'язками партнерів-засновників:


  • Camptocamp

  • BHC

  • openBig

  • Eeezee-IT

  • Solarsis LDA

  • ACSONE

  • Vauxoo

  • Ekomurz

  • Datalp

  • Dao Systems

  • Eggs Solutions

  • OpusVL

А також партнери, які підтримали розробку за допомогою пакету POSBox із заснування:


  • Willow IT

  • E. Akhalwaya & Sons

  • Multibase

  • Mindesa

  • bpso.biz

  • Shine IT.

Leave a comment

You must be logged in to post a comment.

  • Богдан Лісненко on 08/31/2018 10:31:14

    По поводу продаж лучше оставить заявку тут https://erp.co.ua/uk_UA/page/contactus или письмо на sales@erp.co.ua

  • "ПРОВАЙН" ТОВ, Alex on 08/30/2018 12:55:29

    Где можно узнать стоимость Вашего модуля, работающий с драйвером АртСофт?

  • Богдан Лісненко on 08/29/2018 20:19:58

    По поводу цены и условий продажи мы будем готовы ответить, когда сделаем официальный релиз этого решения.
    Естественно мы будем отвечать за работоспособность нашего модуля.

    Но не стоит сюда добавлять возможные проблемы с помехами в сети и администрированием серверов. Если быть точным, то драйвер находится в прошивке Raspberry Pi без доступа к Интернету, так что обновления его не затронут.

  • "ПРОВАЙН" ТОВ, Alex on 08/29/2018 19:55:47

    Сколько стоит драйвер для ФП мини? Он продается с исходниками?
    И есть ли гарантии(имеется ввиду, мы можем их с Вами юридически оформить?) на безошибочную и безперебойную работу данного модуля. Например, если произойдет сбой в Вашем модуле, он фискализирует неверные суммы(например наводки в электро-сети) или просто модуль остановиться и магазин не сможет продавать, то компенсирует ли Ваша компания убытки за простой(недополученную прибыль) магазина или даже всей сети наших магазинов?
    Например, будет найдена критическая уязвимость в каком-то ПО, мы будем вынуждены срочно обновить ПО, чтобы закрыть найденную дыру, а после обновления(например модуля requests) Ваш модуль перестанет работать и все наши магазины станут в пик сезона продаж... Вероятный сценарий?

  • Богдан Лісненко on 08/29/2018 19:25:25

    Да, у нас есть модуль, который использует драйвер Артсофт.
    Так же в разработке драйвер для ФП мини без драйвера Артсофт.

    По поводу приема оплаты карточкой еще готового решения нет. Но этот вопрос как раз прорабатываем.

  • "ПРОВАЙН" ТОВ, Alex on 08/29/2018 19:12:56

    Богдан, так у Вас есть готовое решение для украинских фискальников с использованием драйвера Артсофт?
    Если нет, то сколько времени Вам понадобиться чтобы его сделать?

  • Богдан Лісненко on 08/29/2018 18:43:05

    С фискальными регистраторами работает через универсальный драйвер от Артсофта

  • "ПРОВАЙН" ТОВ, Alex on 08/29/2018 17:51:17

    А можно взглянуть как это выглядит в живую?
    Есть видео-демонстрация?
    С фискальными регистраторами работает?
    Работает с Марией, Excellio, Datex,...?