LCDモジュールに文字を出す
メッセージとシリアルポートは決めうちだけど、とりあえず任意の文字を任意のサイズで表示できるようになった。
# coding: 'utf-8' import Image, ImageDraw, ImageFont import serial com = serial.Serial( port=11, baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=0, rtscts=0, writeTimeout=None, dsrdtr=None) com.timeout=0.5 #text1 = u'愛しあってるかい!' #text2 = u'もうラブラブ☆★☆' #text1 = u'今日はもう疲れたよ。' #text2 = u'ノー残デーだし帰ろうよ。' #text1 = u'え?定時過ぎからEMボードを' #text2 = u'資料なしで見てと言われても。' text1 = u'そんな仕事するなんて、' text2 = u'北村さんもほんとに物好きね。' im = Image.new("1", (122, 32), 1) draw = ImageDraw.Draw(im) font = ImageFont.truetype("C:\WINNT\Fonts\msgothic.ttc", 14, index=2, encoding="unic") draw.text((1,1), text1, font=font, fill=0) font = ImageFont.truetype("C:\WINNT\Fonts\msgothic.ttc", 10, index=2, encoding="unic") draw.text((1,18), text2, font=font, fill=0) serdata = [] dict = {'0000': '0', '0001': '1', '0010': '2', '0011': '3', '0100': '4', '0101': '5', '0110': '6', '0111': '7', '1000': '8', '1001': '9', '1010': 'A', '1011': 'B', '1100': 'C', '1101': 'D', '1110': 'E', '1111': 'F' } def boxfilter(boxdata): box=boxdata im2=im.crop(box) im3=im2.transpose(Image.ROTATE_270) for y in range((im3.size[1])): row = [] for x in range((im3.size[0])): value = im3.getpixel((x, y)) if value == 0: row.append('1') else: row.append('0') data = ''.join(row) data1 = data[0:4] serdata.append(dict[data1]) data2 = data[4:8] serdata.append(dict[data2]) boxfilter(( 0, 0, 61, 8)) boxfilter(( 0, 8, 61,16)) boxfilter(( 0,16, 61,24)) boxfilter(( 0,24, 61,32)) boxfilter((61, 0,122, 8)) boxfilter((61, 8,122,16)) boxfilter((61,16,122,24)) boxfilter((61,24,122,32)) print >>com, '@HELLO' print >>com, '%' print >>com, ''.join(serdata)
でも、なんかもう飽きてきたぞ(^^;。
Pythonで素人が実質数時間でできることが、どうしてVCだとできないのかな?
ふつーのPython使いの人なら、こんなの朝飯前で一日くらいで、仕様通りのものを作ってしまいそうな勢いだ。
組み込みではPILの重さとかが気になって、シェルスクリプトを選んだけど、Windowsマシンくらいのパワーがあれば、Pythonで十分実用になりそうだ。
このくらいわかれば、RSS出したり、メール通知したりするのは簡単だろうから、お金のある人は遊んでちょ。