Як зробити принтер чеків самому по кроках

Ви індивідуальний підприємець? Ваші клієнти або податкова служба вимагають надання фіскальних документів? У цій інструкції ми розповімо, як зробити принтер чеків при мінімумі вкладень. До того ж для любителів електроніки це взагалі буде корисно дізнатися механізм роботи «зсередини».

Тим, хто стикається з поняттям онлайн торгівля очевидним є той факт, що при замовленні товару або послуги нам на електронну пошту приходить лист з повідомленням і не більше. Далі при відвантаженні товару початківці майстра hand-made не замислюються від вкладення фіскального чеку в посилку. Що безумовно збиває з пантелику, так як в разі повернення товару, людині неможливо буде пред'явити чек. Ваш сайт можуть перевірити відповідні «органи», зробити контрольну закупівлю і визнати з вашого боку факт шахрайства. Особливо якщо ви починайте «рости на очах», як бізнес. Щоб уникнути подібного роду проблем, пропонуємо ознайомитись, як зробити друковане пристрій для чеків на фіскальній термо-папері і забезпечити виведення інформації онлайн чека на паперовий носій.
Матеріали і інструменти:
Плата контролера Raspberry Pi модель B - 1шт.

Мікросхема логічного зсуву рівня - 1шт.

Набір джамперів (перемичок-проводів)

Карта пам'яті SD з встановленим ПО Raspbian - шт.

Модуль Wi-Fi USB - 1шт.

Модуль термопринтера - 1шт.

Блок живлення 5В / 5А - 1шт.

Кнопка SPST - 1шт.

Роз'єм живлення на корпус DC jack

Індикатор світловий WS2812B - 1шт.

Корпус, що підходить за розмірами компонентів - 1шт.
Або можна вирізати самому за допомогою верстата з ЧПУ з акрилу. Матеріал, в принципі, можна розглянути будь-, в тому числі і лист фанери.
Весь набір «Зроби сам» можна придбати тут.
Крок 1: Збірка.

Почнемо збірку. Використовуємо набір перемичок, щоб з'єднати
- Raspberry пін 1 -> LV (low voltage) пін на мікросхемі логічного зсуву рівня
- Raspberry пін 2 -> Висновок харчування 5 В роз'єму jack.
- Raspberry пін 6 -> GND висновок роз'єму jack
- Raspberry пін 8 -> Висновок RX принтера (жовтий провід).
- Raspberry пін 9 -> Контакт COM кнопки.
- Raspberry пін 10 -> Вихід RXO (rx output) на мікросхемі логічного зсуву рівня.
- Raspberry пін 12 -> Вхід TXI (tx input) на мікросхемі логічного зсуву рівня.
- Raspberry пін 14 -> Висновок логічний GND.
- Raspberry пін 16 -> Контакт АЛЕ кнопки.
- TXO мікросхеми логічного зсуву рівня -> Висновок WS2812B.
- RXI мікросхеми логічного зсуву рівня-> Висновок принтера TX (зелений провід).
- HV мікросхеми логічного зсуву рівня-> 5v from the barrel jack.
- GND мікросхеми логічного зсуву рівня -> GND висновок роз'єму jack.
- Висновок GND від WS2812B GND -> GND висновок роз'єму jack.
- Висновок WS2812B Vin -> Висновок харчування 5 В роз'єму jack.
- Vin принтера -> Висновок харчування 5 В роз'єму jack.
- GND принтера -> GND висновок роз'єму jack.
Скористайтеся схемою з'єднань, щоб не помилитися

Купа змонтованих проводів, головне не заплутатися!

Перевірте правильність з'єднань ще раз перш ніж подати харчування. Також використовуйте клей для монтажу пластикових елементів, наприклад для установки світлодіодних модулів для підсвічування (в наборі зворотна сторона панелі з вирізом «хмара»)
Крок 2: Програмування.
Я думаю, що ви вже встигли встановити ПО Raspbian на карту SD і у вас є налаштований Wi-Fi. Тепер нам потрібно встановити кілька бібліотек і змінити деякі настройки, перш ніж приступити до КОДІНГ.
Підключіться через wi-fi до вашого контролера, відкрийте «sudo raspi-config« -> Advanced options / serial-> NO, це дозволить нам керувати серійним портом raspberry, а значить і термо-принтером. Після закінчення, запустіть «sudo reboot«.
Тепер потрібно налаштувати управління світлодіодними модулями. Скомпілюйте і встановіть бібліотеку rpi_ws281x.
Далі встановіть бібліотеку Python:
Після виконання команд rpi_ws281 буде встановлена.
Для зміни частоти мерехтіння світлового модуля можете також скористатися цим посібником.
Далі виконайте наступні команди:
Тепер ми готові провести випробування принтера, введіть наступні команди:
Якщо ваш принтер заробив, значить ми все зробили правильно. Тепер перейдемо до наступної частини - налаштування пошти, для того щоб принтер міг роздруковувати рахунки-чеки, що надходять нам поштою.





Крок 3: Налаштування gmail для виведення друку на принтер.
Дотримуйтесь крок за кроком, зазначеним на скріншотах.

Перейдіть у вкладку «настройки безпеки».

І включите опцію доступу до пошти стороннім додаткам і пристроям.

Застосуйте налаштування фільтрації до вхідних повідомлень.

Створіть спеціальну папку для фільтрації листів з чековими рахунками. Задайте необхідні параметри і створіть папку.


Крок 4: Пишемо програму для Raspberry.
Знайдіть такі параметри і змініть їх: Username, Password і Mailbox. Введіть ваші дані від gmail. Також в тілі листа можете вказати службове повідомлення за замовчуванням. Збережетеся і вийдіть з проекту.
Якщо компіляція коду відбувається без помилок, введіть команду:
після рядка «#By default this script does nothing» додайте
Після чого збережетеся, перезавантажитеся і насолоджуйтеся роботою свого нового принтера чеків!

Корисна інформація:
Ви можете управляти кольором світлової індикації. Наприклад, щоб візуалізувати помилки пристрою.
- Зелений: завантаження програми.
- Білий: завантаження програми.
- Жовтий: в принтері немає паперу.
- Червоний: немає листів для друку чеків.
- Синій: є нові чеки для друку.
- Фіолетовий: немає інтернет з'єднання або помилка при обробці даних.