Post date: 2014/08/10 3:22:09
$ sudo apt-get install cpanminus
$ cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
$ vi ~/.bashrc
# for cpanm (ttks 2014-08-10)
PERL_MB_OPT="--install_base \"/home/pi/perl5\"";
export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/home/pi/perl5";
export PERL_MM_OPT;
PERL_INSTALL_ROOT=/home/pi/perl5;
export PERL_INSTALL_ROOT;
export PATH="~/perl5/bin:$PATH"
$ sudo apt-get install librrds-perl rrdtool libxml2-dev libdbd-sqlite3-perl lib-module-install-perl
$ cpanm -n GrowthForecast
$ sudo mkdir -p -m 777 /data/growthforecast
$ growthforecast.pl --enable-float-number --data-dir /data/growthforecast
#!/usr/bin/python
import sys
import time
import datetime
import shlex,subprocess
import Adafruit_BMP.BMP085 as BMP085
# Create sensor instance with default I2C bus (On Raspberry Pi either 0 or
# 1 based on the revision, on Beaglebone Black default to 1). bmp = BMP085.BMP085()
# Attempt to get sensor readings.
temp = bmp.read_temperature()
pressure = bmp.read_pressure()/100
altitude = bmp.read_altitude()
# print datetime.datetime.now(), temp, pressure, altitude
host = " http://localhost:5125/api/home/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)
本当は urllib.request を使うのでは...
$ chmod 755 ~/bin/postBMP.py
$ crontab -e
# m h dom mon dow command
*/5 * * * * sudo /home/pi/bin/postBMP.py 2>&1 >/dev/null