Created
December 10, 2015 01:32
-
-
Save takuya-andou/248e0c9fcffca2307c5c to your computer and use it in GitHub Desktop.
myThings + milkcocoaで高齢者見守りデバイスを作ってみた ref: http://qiita.com/takuya-andou/items/d7a8659d55da7c0070ba
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var MilkCocoa = require('milkcocoa'); | |
var milkcocoa = new MilkCocoa('********.mlkcca.com'); | |
var history = milkcocoa.dataStore('door').history(); | |
var execSync = require('child_process').execSync; | |
var myD = new Date(); | |
var myYear = myD.getFullYear(); | |
var myMonth = myD.getMonth(); | |
var myDate = myD.getDate(); | |
var yesterday = beforeDay(myYear,myMonth,myDate); | |
if(myD.getHours() >= 19){ | |
var myYear_start = myYear_end = myYear; | |
var myMonth_start= myMonth_end = myMonth; | |
var myDate_start = myMonth_end = myDate; | |
var myHour_start = 8; | |
var myHour_end = 20; | |
}else{ | |
var myYear_start = yesterday['year']; | |
var myMonth_start= yesterday['month']; | |
var myDate_start = yesterday['date']; | |
var myYear_end = myYear; | |
var myMonth_end = myMonth; | |
var myDate_end = myDate; | |
var myHour_start = 20; | |
var myHour_end = 8; | |
} | |
history.sort('desc'); | |
history.size(1); | |
history.limit(1); | |
history.span(new Date(myYear_start,myMonth_start,myDate_start,myHour_start,0,0).getTime(), new Date(myYear_end,myMonth_end,myDate_end,myHour_end,0,0).getTime()); | |
history.on('data', function(data) { | |
if (data) { | |
console.log('data_exists'); | |
execSync('curl -X POST "https://***.***.***.***/data/UUID" --insecure --header "meshblu_auth_uuid: UUID" --header "meshblu_auth_token: TOKEN"'); | |
process.exit(); | |
}else{ | |
console.log('data_nothing'); | |
execSync('curl -X POST "https://***.***.***.***/data/UUID" --insecure --header "meshblu_auth_uuid: UUID" --header "meshblu_auth_token: TOKEN"'); | |
process.exit(); | |
} | |
}); | |
history.run(); | |
function beforeDay(year, month, date) { | |
var d = new Date(year, month, date); | |
d.setDate(d.getDate() - 1); | |
return { | |
year: d.getFullYear(), | |
month: d.getMonth(), | |
date: d.getDate() | |
}; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var fs = require('fs'); | |
var MilkCocoa = require('milkcocoa'); | |
var milkcocoa = new MilkCocoa('*******.mlkcca.com'); | |
var ds = milkcocoa.dataStore('door'); | |
fs.writeFileSync('/sys/class/gpio/export', 21); | |
fs.writeFileSync('/sys/class/gpio/gpio21/direction', 'in'); | |
var pre_value = 1; | |
loop(); | |
function loop() { | |
var value = parseInt(fs.readFileSync('/sys/class/gpio/gpio21/value', 'ascii')); | |
if ( value != pre_value ) { | |
console.log(value); | |
ds.push({DoorOpenFlag:value}); | |
pre_value = value; | |
} | |
setTimeout(loop, 1000/10); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment