techoverload/printer/printer.py

41 lines
1.3 KiB
Python
Executable File

import StarTSPImage
from PIL import Image, ImageDraw
import paho.mqtt.client as mqtt
# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
# Subscribing in on_connect() means that if we lose the connection and
# reconnect then subscriptions will be renewed.
client.subscribe("print")
# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
print(msg.topic+" "+str(msg.payload))
image = Image.new('RGB', (2000, 2000), color='White')
draw = ImageDraw.Draw(image)
draw.ellipse((0, 0, 500, 500), fill='Black')
draw.ellipse((10, 10, 490, 490), fill='White')
image.show()
image.save("image.jpg")
# raster = StarTSPImage.imageToRaster(image, cut=True)
# printer = open('/dev/usb/lp0', "wb")
# printer.write(raster)
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("10.1.1.162", 1883, 60)
# Blocking call that processes network traffic, dispatches callbacks and
# handles reconnecting.
# Other loop*() functions are available that give a threaded interface and a
# manual interface.
client.loop_forever()