spp.py

# -*- coding: utf-8 -*-
# spp.py 2012.6.28
import serial
from optparse import OptionParser

class spp:
    def __init__(self, port = "COM10"):
        self.ser = serial.Serial(port)

    def getImage(self):
        self.image_data = ""
        while True:
            line = self.ser.readline()
            print line,
            if len(line) >= 2:
                for i in range(0, len(line)-1, 2):
                    x = int(line[i:i+2], 16)
                    self.image_data += chr(x)
            else:
                return self.image_data

if __name__ == "__main__":
    parser = OptionParser()
    parser.add_option("-p", "--port", dest="port", default="COM10")
    (options, args) = parser.parse_args()
    spp = spp(options.port)
    for n in range(10):
        try:
            image_data = spp.getImage()
            filename = "image%d.jpg" % (n % 10)
            print "%s %d" % (filename, len(image_data))
            with open(filename, "wb") as f:
                f.write(image_data)
	except KeyboardInterrupt:
            break