def __init__(self, print_welcome=True): self.printer = Adafruit_Thermal("/dev/serial0", 9600, 23) if check_printer_status(self.printer): if print_welcome: self.print_boot_image() self.printer.sleep()
def connect_printer(): global printer try: printer = Adafruit_Thermal('/dev/ttyUSB0', 9600, timeout=5) # Linux except Exception as linux_exception: try: printer = Adafruit_Thermal('COM5', 9600, timeout=5) # Windows except Exception as windows_exception: print( 'Failed to connect to printer.\n\nLinux Exception: {0}\n\nWindows Exception: {1}' .format(linux_exception, windows_exception)) printer = None
def __init__(self): # Initialize printer interface self.printer = Adafruit_Thermal("/dev/ttyAMA0", 19200, timeout=5) # Use Broadcom pin numbers (not Raspberry Pi pin numbers) for GPIO GPIO.setmode(GPIO.BCM) # Enable LED and button (w/pull-up on latter) GPIO.setup(self.LED_PIN, GPIO.OUT) GPIO.setup(self.BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Setup button handling self.button_hold = None self.button_tap = None self.prev_button_state = (GPIO.input(self.BUTTON_PIN), time.time()) GPIO.add_event_detect(self.BUTTON_PIN, GPIO.BOTH, callback=self.button_handler) # Feed module manager sys.path.append(self.FEED_DIR) self.feeds = {} # Feed runtime configuration self.run_start = [] self.run_stop = [] self.run_tap = [] self.run_hold = [] self.run_interval = [] self.run_when = [] # register some signal handlers self.terminate = False signal.signal(signal.SIGALRM, self.signal_handler) signal.signal(signal.SIGINT, self.signal_handler)
s.connect(('8.8.8.8', 0)) ip_addr = s.getsockname()[0] printer.print('My IP address is ' + ip_addr) printer.feed(3) except: printer.boldOn() printer.println('Network is unreachable.') printer.boldOff() printer.print('Connect display and keyboard\n' 'for network troubleshooting.') printer.feed(3) import signal, inspect handler = signal.getsignal(signal.SIGINT) if not inspect.isbuiltin(handler): os.kill(os.getpid(), signal.SIGINT) else: return if __name__ == '__main__': parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) os.sys.path.append(parent_dir) from Adafruit_Thermal import Adafruit_Thermal printer = Adafruit_Thermal("/dev/ttyAMA0", 19200, timeout=5) feed(printer, {}, {})
import urequests import utime from Adafruit_Thermal import Adafruit_Thermal RELAY_PIN = 5 SECS_TO_SLEEP = 4 * 60 UNIX_TIMESTAMP_2000 = 946684800 HOST = "http://s3.eu-central-1.amazonaws.com" ALARM_PATH = "/xxx" MENU_PATH = "/xxx" # The logger writes logs to the serial interface. logger = logging.getLogger("Logger") printer = Adafruit_Thermal(baudrate=19200) relay_pin = machine.Pin(RELAY_PIN, machine.Pin.OUT) def mount_sd(): logger.info("mounting sd...") try: sd = sdcard.SDCard(machine.SPI(1), machine.Pin(15)) os.mount(sd, "/sd") except Exception as e: logger.exc(e, "sd could not be mounted.") failed_mounts_count = increment_counter("failed_mounts") if failed_mounts_count == 1: print_error_msg("SD-Karte konnte nicht gelesen werden! Sag besser mal Fabian bescheid!") else: reset_counter("failed_mounts")
def get_resource(name): return send_from_directory("static", name) @server.route("/print", methods=["POST"]) def print_post(): text = request.form["text"] symbol = request.form["symbol"] task = (text, symbol) printer_queue.put(task) print("Printing text:", text, "with symbol", symbol) return redirect("/redirect", code=303) printer_queue = Queue.Queue() printer = Adafruit_Thermal(SERIAL_PORT, 19200, heattime=255, dtr=DTR_PIN, timeout=5) printer.reset() printer.setDefault() print "printer reset" # Check if the logfile exists and is not empty if os.path.exists(LOGPATH) and os.path.getsize(LOGPATH) > 0: with open(LOGPATH, "r") as logfile: log = json.load(logfile) else: log = [] with open(LOGPATH, "w") as logfile: # Write an empty list logfile.write("[]") print_thread = threading.Thread(target=printer_job)
#!/usr/bin/python from Adafruit_Thermal import Adafruit_Thermal from PIL import Image import RPi.GPIO as GPIO printer = Adafruit_Thermal(port="/dev/ttyAMA0", baudrate=19200, heattime=255, dtr=18, timeout=5) printer.reset() printer.setDefault() image = Image.open('gfx/smile_positive.png') #image = image.point(lambda i: 0 if i < 230 else 255) #image = image.convert('1',dither=None ) #bitmap = [0] * (image.size[0] * image.size[1]) #i = 0 #for i in range(0, printer.printImage(image) #printer.feed(1) #printer.printUpsideDown("Hello this is a longer text to test a printing ability of what happens with very long lines of text are printing in the upside down fashion")
class PrinterWrapper: def __init__(self, print_welcome=True): self.printer = Adafruit_Thermal("/dev/serial0", 9600, 23) if check_printer_status(self.printer): if print_welcome: self.print_boot_image() self.printer.sleep() def print_boot_image(self): self.printer.printImage(Image.open(image_path)) self.printer.feed(3) # function also wraps by words # look at string, count characters def print_line(self, text, formatting=None): if formatting is None: formatting = { 'justify': 'C', 'size': 'L', 'bold': False, 'upside_down': False, 'underline': 0 } if check_printer_status(self.printer): max_col = int((32 / (2 if formatting['size'] == 'L' else 1)) - 1) text = textwrap.fill(text, max_col) self.printer.wake() self.set_printer_formatting(formatting) self.printer.print(text) self.printer.feed(1) self.printer.sleep() else: self.printer.sleep() raise RuntimeError("Printer is out of paper") def set_printer_formatting(self, formatting: dict): if formatting['upside_down']: self.printer.upsideDownOn() else: self.printer.upsideDownOff() if formatting['underline'] != 0: self.printer.underlineOn(formatting['underline']) else: self.printer.underlineOff() if formatting['bold']: self.printer.boldOn() else: self.printer.boldOff() self.printer.setSize(formatting['size']) self.printer.justify(formatting['justify']) def print_image(self, image_data, is_data_uri=True): if is_data_uri: image = get_image_from_data_uri(data_uri=image_data) else: image = image_data self.printer.wake() self.printer.printImage(image) self.printer.sleep() def print_signature(self, sig): self.printer.wake() date_string = get_date_string() # padding to right-justify the timestamp (date_sting) space_padding = ' ' * (32 - 1 - (len(date_string) + len(sig))) self.printer.printLn('') self.set_printer_formatting({ "justify": 'L', "size": 'S', "underline": False, "bold": False, "upside_down": False }) self.printer.print(f'{sig}{space_padding}{date_string}'.strip(), justify='L', size='S', underline=False) self.printer.feed(3) self.printer.sleep() def get_status(self): try: return {"paper": has_paper(self.printer)} except: return {}
trh = sf.trhead[0] dt = trh['dt'] / 1000. tmin = trh['lagb'] tmax = dt*ns + tmin x = np.linspace(tmin, tmax, sf.ns) fig = Figure(**figkwargs) ax = fig.add_subplot(1,1,1) pl = ax.plot(x, src) ax.set_title('Source signature for Line 05') ax.set_xlabel('Time (ms)') ax.set_ylabel('Amplitude') canvas = FigureCanvasAgg(fig) renderer = canvas.get_renderer() renderer.dpi = dpi canvas.draw() l,b,w,h = [int(item) for item in canvas.figure.bbox.bounds] im = Image.fromstring("RGB", (w,h), canvas.tostring_rgb()).rotate(90) printer = Adafruit_Thermal("/dev/tty.NoZAP-PL2303-00005014", 19200, timeout=5) printer.begin() printer.printImage(im, True) printer.feed(2)