phomemo-printer/README.md

1.5 KiB

Phomemo-printer for macOS

Inspired by https://github.com/vivier/phomemo-tools

If you're on Linux, use the above repository which utilizes CUPS.

If you're on macOS, the Python pybluez Bluetooth drivers don't work (well) on the latest iteration of macOS (tested on Ventura 13.2). Instead, this repository uses TinyGo's Bluetooth package, which wraps Apple's CoreBluetooth to be able to communicate with a Bluetooth device.

For context and more information, please see https://brainbaking.com/post/2023/02/phomemo-thermal-printing-on-macos/.

Building & Installing

go build

The script checks a folder for files (intended to be set up as a cron job), if there are any, sends them to the printer (if detected), and deletes them.

See main.go, you'll probably want to edit some variables. I hacked everything together in a day for our specific case.

To inspect the possible command-line options, use phomemoprinter --help:

  • -dir [dir] customize the dir to scan (by default ~/Downloads/phomemo)
  • -file [file] print only that image

If -file is used, -dir will be ignored.

Launchd service

To install as a launchd service (mac's "cron"), copy the binary to /usr/local/bin and the file com.brainbaking.PhomemoPrinter.plist to ~/Library/LaunchAgents. Then, in a terminal, type launchctl load com.brainbaking.PhomemoPrinter.plist.