LM-loleris / RobloxPrinter

Physical Roblox decal printer app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Roblox Printer

Disclaimer: This repository does not and will not include a full guide on how to turn this code into a working project. This repository only contains two essential modules required for the Roblox game side of the project. There will be no further support or updates for the contents of this repository


The Roblox Printer project was running on a Roblox game, a http web server that supports PHP and MySQL and a Raspberry Pi 4 (2 GB model) running Raspbian OS (Full install) controlling an Epson TM-T88V thermal printer.

Helpful notes

Roblox

  • I was querying the http web server for printer status every 3 seconds to let the players know when the printer was online.

Web server

  • I've included a MySQL dump file which will set up the database tables exactly like the project needs it.

Printer controller

  • Main Python script is program.py.
  • Thermal printers are fast, do not use ink (temperature sensitive paper) and are extremely easy to maintain.
  • Initially I controlled a printer (PeriPage A6) with a laptop running windows - it was much easier to setup and find and install windows drivers for. It's easy to print on a windows supported printer using Python with the pywin32 library. The drawbacks of the PeriPage A6 route specifically was the inability to detect when the paper has run out.
  • To allow the project to serve more people I looked for a professional thermal printer and bought a second hand TM-T88V Epson printer which is supposedly one of the best commercial thermal printers in the market - this should mean that it would be easy to find libraries for such product and get it running in a custom environment.
  • Unfortunately I didn't manage to make TM-T88V properly work on windows so the python side of the project runs on Linux, Raspberry Pi 4. The Raspberry was responsible for driving the printer, querying the web server, running an OLED display (ssd1306 128x64 OLED module), Streaming a Logitech 920 Pro webcam to a streaming service (either Twitch or Youtube) and lighting the printer up with an individually addressable RGB strip (4 LEDs, wsb2812b, also known as NeoPixels) during the night.
  • I've included my website bookmarks I colledcted while doing research on how to get all of this going.
  • twitch_stream.py actually supports both Twitch and Youtube streaming platforms identically.

About

Physical Roblox decal printer app


Languages

Language:Python 69.2%Language:PHP 22.8%Language:Lua 8.0%