Post date: 2014/08/30 7:11:01
aitendo 1.8インチ液晶モジュール [M018C7735SPI]を接続し, RASPBERRY LIFEを参考にプログラム作成
$ sudo vi /etc/modprobe.d/raspi-blacklist.conf
#blacklist spi-bcm2708
$ sudo vi /etc/modules spidev $ sudo shutdown -h now
$ ls -la /dev/spidev0.0
crw------- 1 root root 153, 0 1月 1 1970 /dev/spidev0.0
$ sudo chmod 666 /dev/spidev0.0
$ sudo chmod 666 /dev/spidev0.1
$ sudo apt-get instal python-pip
$ sudo pip install spidev
self.write((0x2A, 0x00, 0x02, 0x00, 0x81)) self.write((0x2B, 0x00, 0x01, 0x00, 0xA0))
->
self.write((0x2A, 0x00, 0x00, 0x00, 0x7F)) self.write((0x2B, 0x00, 0x00, 0x00, 0x9F))
$ sudo apt-get install ttf-kochi-gothic
$ sudo apt-get install python-urllib3
$ sudo pip install pillow
self.write((0x2A, 0x00, 0x02, 0x00, w + 1))
self.write((0x2B, 0x00, 0x01, 0x00, h))
->
self.write((0x2A, 0x00, 0x00, 0x00, w - 1))
self.write((0x2B, 0x00, 0x00, 0x00, h - 1))
if __name__ == "__main__":
#####################################
# read BMP085
bmp = BMP085.BMP085()
# Attempt to get sensor readings.
temp = bmp.read_temperature() # (C)
pressure = bmp.read_pressure()/100.0 # (hPa)
altitude = bmp.read_altitude() # (m)
#####################################
# post local data to GrowthForecast
host = " http://localhost:5125/api/sensor/weather/"
targs = shlex.split("curl -F number=" + str(temp) + host + "temperature")
pargs = shlex.split("curl -F number=" + str(pressure) + host + "pressure")
p = subprocess.Popen(pargs)
p = subprocess.Popen(targs)
#####################################
# initialize the object of livedoor weatherforecast (from LASPBERRY LIFE)
fst = Forecast()
#####################################
# draw LCD
# upper half : Forecast
fst.show('XXXXXX') # Location ID
# lower half (0,90)-(127,159) : Local data
font16 = ImageFont.truetype("/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf", 16)
dt = datetime.datetime.today()
fst.draw.text([0, 90], "[ LOCAL ]", font=font16, fill=(0xFF, 0xFF, 0xFF))
fst.draw.text([0, 106], str(dt.month)+"-"+str(dt.day)+" "+str(dt.hour)+":"+str(dt.minute), font=font16, fill=(0xFF, 0xFF, 0xFF))
fst.draw.text([0, 122], "T="+str(temp)+"(C)", font=font16, fill=(0xFF, 0xFF, 0xFF))
fst.draw.text([0, 138], "p="+str(int(pressure))+"(hPa)", font=font16, fill=(0xFF, 0xFF, 0xFF))
fst.lcd.blit(fst.im,0,90,127,159)
# time.sleep(60.0)
#####################################
# show IP address
fst.draw.rectangle([0, 90, 127, 159], fill=(0x40, 0x00, 0x80))
myip=ipget.ipget()
fst.draw.text([0, 90], "eth0 :", font=font16, fill=(0xFF, 0xFF, 0xFF))
fst.draw.text([0, 106], myip.ipaddr("eth0"), font=font16, fill=(0xFF, 0xFF, 0xFF))
fst.draw.text([0, 122], "wlan0:", font=font16, fill=(0xFF, 0xFF, 0xFF))
fst.draw.text([0, 138], myip.ipaddr("wlan0"), font=font16, fill=(0xFF, 0xFF, 0xFF))
fst.lcd.blit(fst.im,0,90,127,159)
# time.sleep(5.0)
#####################################
GPIO.cleanup()
課題