« Raspberry Pi Zero でとりあえずAudio | トップページ | python i2c sample code 4 RPi ver.2 »

2017年1月12日 (木)

python i2c sample code 4 RPi

RPiとmbedで i2c通信するpython sample codeです。

コマンドで十分なんですがね。。
=========================================================
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import smbus    # sudo apt-get install python-smbus
import time
import os
import sys
import argparse
class i2cLPC1114:
    i2c = smbus.SMBus(1)    #  B, B+ 512MB ...2B,3B,Zero
#    i2c = smbus.SMBus(0)    #  B 256MB
    addr = 0x28
    def __init__(self):
        pass
    def led_off(self):
        self.i2c.write_byte_data(self.addr, 0x6c, 0x30)
    def led_on(self):
        self.i2c.write_byte_data(self.addr, 0x6c, 0x31)
    def led_flash(self):
        self.i2c.write_byte_data(self.addr, 0x6c, 0x66)
    def down(self, time):
#        [self.i2c.write_byte_data(self.addr, 0x64, ord(c)) for c in str(time)]
#        lt=[time]
        lt=[ord(c) for c in str(time)]
#        self.i2c.write_block_data(self.addr, 0x64, lt)
        self.i2c.write_i2c_block_data(self.addr, 0x64, lt)
    def up(self, time):
        [self.i2c.write_byte_data(self.addr, 0x75, ord(c)) for c in str(time)] 
if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('cmd', choices=('loff','lon','lb','down','up'))
    parser.add_argument('-t', '--time', type=int)
    parser.add_argument('--version', action='version', version='%(prog)s 0.1')
    args = parser.parse_args()
#    print(args)
#    print(args.cmd)
#    print(args.time)
    if args.cmd=="down" or args.cmd=="up":
       if not args.time:
          print "require -t [time(sec)]"
          quit();
    m = i2cLPC1114()
    if args.cmd=="loff":
       m.led_off()
    elif args.cmd=="lon":
       m.led_on()
    elif args.cmd=="lb":
       m.led_flash()
    elif args.cmd=="down":
#       m.down(120)
       m.down(int(args.time))
    elif args.cmd=="up":
#       m.up(120)
       m.up(int(args.time))
================================================      
#  ./RPi1114_set.py -h
usage: RPi1114_set.py [-h] [-t TIME] [--version] {loff,lon,lb,down,up}
positional arguments:
  {loff,lon,lb,down,up}
optional arguments:
  -h, --help            show this help message and exit
  -t TIME, --time TIME
  --version             show program's version number and exit
 
#  ./RPi1114_set.py
usage: RPi1114_set.py [-h] [-t TIME] [--version] {loff,lon,lb,down,up}
RPi1114_set.py: error: too few arguments
#  ./RPi1114_set.py --v
RPi1114_set.py 0.1

|

« Raspberry Pi Zero でとりあえずAudio | トップページ | python i2c sample code 4 RPi ver.2 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1224983/69218601

この記事へのトラックバック一覧です: python i2c sample code 4 RPi :

« Raspberry Pi Zero でとりあえずAudio | トップページ | python i2c sample code 4 RPi ver.2 »