FrontPage
objectPage http://www.yama-lab.org/fwb4pi/index.php?Sensors2 or http://www.yama-lab2.org/fwb4pi/index.php?Sensors2
device yamaRasPiDp9_1 or yamaRasPiDp9_2 start after no write for 10 min.
command: set readInterval=15000
command: set execInterval=0
command: program Sensors
program: '
program: ' init i2c
program: ex("pi4j", "i2c use 1")
program: '
program: ' init lux sensor
program: ex("pi4j", "i2c write1 0x29,0x80,0x03") 'power up the tsl2561 lux sensor
program: ex("pi4j", "i2c write1 0x29,0x81,0x00")
program: ex("pi4j", "i2c write1 0x29,0x86,0x00") 'scale
program: ex("pi4j", "i2c write1 0x29,0x80,0x00") 'power down
program: ex("pi4j", "i2c write1 0x29,0x80,0x03") ' power up again
program: delay(50)
program: '
program: 'get the lux value
program: v1=ex("pi4j", "i2c read1 0x29,0x8c")
program: v2=ex("pi4j", "i2c read1 0x29,0x8d")
program: lux=s2i(v2)*256+s2i(v1)
program: '
program: v1=ex("pi4j", "i2c read1 0x48,0x00")
program: tmp=s2i(v1)
program: '
program: 'get the Mag value
program: ex("pi4j","i2c write1 0x1e 0x00 0x08")
program: ex("pi4j","i2c write1 0x1e 0x01 0x20")'gain setting,+-1.3
program: ex("pi4j","i2c write1 0x1e 0x02 0x00")
program: 'sth=ex("pi4j","i2c read1 0x1e 0x32")
program: 'stl=ex("pi4j","i2c read1 0x1e 0x31")
program: smxh=ex("pi4j", "i2c read1 0x1e,0x03")
program: smxl=ex("pi4j", "i2c read1 0x1e,0x04")
program: smzh=ex("pi4j", "i2c read1 0x1e,0x05")
program: smzl=ex("pi4j", "i2c read1 0x1e,0x06")
program: smyh=ex("pi4j", "i2c read1 0x1e,0x07")
program: smyl=ex("pi4j", "i2c read1 0x1e,0x08")
program: if s2i(smxh)>254 then
program: { mx=-(256-s2i(smxh))*256-(256-s2i(smxl)) }
program: else
program: { mx=s2i(smxh)*256+s2i(smxl) }
program: if s2i(smyh)>254 then
program: my= -(256-s2i(smyh))*256-(256-s2i(smyl))
program: else
program: my=s2i(smyh)*256+s2i(smyl)
program: if s2i(smzh)>254 then
program: mz= -(256-s2i(smzh))*256-(256-s2i(smzl))
program: else
program: mz=s2i(smzh)*256+s2i(smzl)
program: 't2=s2i(sth)*2+s2i(stl)/256
program: '
program: 'get the acceleration value
program: ex("pi4j","i2c write1 0x18 0x20,0x27")
program: saxl=ex("pi4j", "i2c read1 0x18,0x28")
program: saxh=ex("pi4j", "i2c read1 0x18,0x29")
program: sayl=ex("pi4j", "i2c read1 0x18,0x2a")
program: sayh=ex("pi4j", "i2c read1 0x18,0x2b")
program: sazl=ex("pi4j", "i2c read1 0x18,0x2c")
program: sazh=ex("pi4j", "i2c read1 0x18,0x2d")
program: ax=s2i(saxh)*256+s2i(saxl)
program: if ax>32768 then ax=-((!ax)+1)
program: ay=s2i(sayh)*256+s2i(sayl)
program: if ay>32768 then ay=-((!ay)+1)
program: az=s2i(sazh)*256+s2i(sazl)
program: if az>32768 then az=-((!az)+1)
program: '
program: ex("pi4j", "i2c close.")
program: date=ex("service","getCurrentDate.")
program: ex("service","clear sendBuffer")
program: ex("service","putSendBuffer device=light, Date="+date+", v="+lux)
program: ex("service","putSendBuffer device=temp, Date="+date+", v="+tmp)
program: ex("service","putSendBuffer device=mag-x, Date="+date+", v="+mx)
program: ex("service","putSendBuffer device=mag-y, Date="+date+", v="+my)
program: ex("service","putSendBuffer device=mag-z, Date="+date+", v="+mz)
program: ex("service","putSendBuffer device=a-x, Date="+date+", v="+ax)
program: ex("service","putSendBuffer device=a-y, Date="+date+", v="+ay)
program: ex("service","putSendBuffer device=a-z, Date="+date+", v="+az)
program: ex("service","sendResults.")
command: end Sensors
command: run Sensors
result:
device=light, Date=2016/10/17/ 22:29:49, v=4
device=temp, Date=2016/10/17/ 22:29:49, v=24
device=mag-x, Date=2016/10/17/ 22:29:49, v=215
device=mag-y, Date=2016/10/17/ 22:29:49, v=65225
device=mag-z, Date=2016/10/17/ 22:29:49, v=65314
device=a-x, Date=2016/10/17/ 22:29:49, v=0
device=a-y, Date=2016/10/17/ 22:29:49, v=0
device=a-z, Date=2016/10/17/ 22:29:49, v=0
currentDevice="yamaRasPiDp1_1",Date=2016/10/17/ 22:29:52