Skip to content

Instantly share code, notes, and snippets.

@HAPI-Tech-Solution
Created July 20, 2015 23:31
Show Gist options
  • Save HAPI-Tech-Solution/6a69607bc40e4bb0e49b to your computer and use it in GitHub Desktop.
Save HAPI-Tech-Solution/6a69607bc40e4bb0e49b to your computer and use it in GitHub Desktop.
#!/bin/bash
#gpio 20,21 pullup mode set.
`gpio -g mode 20 up`
`gpio -g mode 21 up`
#LCD initialize
`i2cset -y 1 0x3c 0 1 2 0xf 1 i`
#check people count file
if [ -e /home/pi/count.txt ];then
count_people=`cat /home/pi/count.txt|tail -1`
else
`echo 0 >> /home/pi/count.txt`
count_people=`cat /home/pi/count.txt|tail -1`
fi
while :
#Line 1 set
`i2cset -y 1 0x3c 0 0x80 i`
# "ボクハイツデモOKダヨ!"
`i2cset -y 1 0x3c 0x40 0xce 0xde 0xb8 0xca 0xb2 0xc2 0xc3 0xde 0xd3 0x4f 0x4b 0xc0 0xde 0xd6 0x21 i`
#Line 2 set
`i2cset -y 1 0x3c 0 0xa0 i`
#ゼヒオシテイッテネ(ハァト
`i2cset -y 1 0x3c 0x40 0xbe 0xde 0xcb 0xb5 0xbc 0xc3 0xb2 0xaf 0xc3 0xc8 0x28 0xca 0xa7 0xc4 i`
do
#read current PB eneble
while [ 0 -eq "${PBX}" -o 0 -eq "${PBET}" ]
do
PBX=`gpio -g read 20`
PBET=`gpio -g read 21`
done
#wait PB
while :
do
PBX=`gpio -g read 20`
PBET=`gpio -g read 21`
#PB enable
if [ 1 -ne "${PBX}" -o 1 -ne "${PBET}" ];then
#LCD double line set
`i2cset -y 1 0x3c 0 0x2c 0x01 i`
for i in 1 2 3
do
#ドーン!
`i2cset -y 1 0x3c 0x40 0xc4 0xde 0xb0 0xdd 0x21 i`
done
i=0
h=0
count_people=$((count_people + 1))
`echo "${count_people}" >> /home/pi/count.txt`
break
fi
done
#Following Twitter OAuth
getdate=`date +"%Y%m%d"|cut -b3-`
UNIX_T=`date -u +%s`
#Initialize
i=0
#API applicaton keys
Consumerkey=xxxxxxxxxxxxxxxxxxxxxxxxxx
consumerSecret=xxxxxxxxxxxxxxxxxxxxxxxxxx
tokenSecret=xxxxxxxxxxxxxxxxxxxxxxxxxx
Accesstoken=xxxxxxxxxxxxxxxxxxxxxxxxxx
#make the oauth_nonce_code.
while [ 10 -gt ${i} ];
do
i=$((i + 1))
codemake=`echo $RANDOM $RANDOM $RANDOM $RANDOM|sed -e 's/ //g'`
oauth_nonce_code=${codemake}${oauth_nonce_code}
done
oauth_nonce_code=`echo ${oauth_nonce_code}|cut "-b-32"`
#Create OAuth signature
oauth_signature_id_base=`echo -n "POST&https%3A%2F%2Fapi.twitter.com%2F1.1%2Fstatuses%2Fupdate.json&oauth_consumer_key%3D${Consumerkey}%26oauth_nonce%3D${oauth_nonce_code}%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D${UNIX_T}%26oauth_token%3D${Accesstoken}%26oauth_version%3D1.0%26status%3D%25E3%2582%2588%25E3%2581%2586%25E3%2581%2593%25E3%2581%259D%25E2%2599%25AA%25E7%25A7%2581%25E9%2581%2594%25E3%2581%25AE%25E3%2583%2596%25E3%2583%25BC%25E3%2582%25B9%25E3%2581%25B8%25E3%2580%2582%250D%250A%25E7%25B7%258A%25E6%2580%25A5%25E5%2581%259C%25E6%25AD%25A2%25E3%2583%259C%25E3%2582%25BF%25E3%2583%25B3%25E7%2599%25BA%25E5%258B%2595%25E3%2581%2597%25E3%2581%25BE%25E3%2581%2599%25E3%2581%259F%25EF%25BC%2581%250D%250A%25E3%2581%25A9%25E3%2581%25A3%25E3%2581%258B%25E3%2583%25BC%25E3%2583%25BC%25E3%2583%25BC%25E3%2583%25BC%25E3%2583%25BC%25E3%2583%25BC%25E3%2582%2593%25EF%25BC%2581%250D%250A${count_people}%25E4%25BA%25BA%25E7%259B%25AE%25E3%2581%25A7%25E3%2581%2599%250D%250A%2523NT%25E9%2587%2591%25E6%25B2%25A2"|openssl dgst -sha1 -binary -hmac "${consumerSecret}&${tokenSecret}"|base64|perl -MURI::Escape -lne 'print uri_escape($_)'`
#post to tweet
curl --request 'POST' 'https://api.twitter.com/1.1/statuses/update.json' --data "status=%E3%82%88%E3%81%86%E3%81%93%E3%81%9D%E2%99%AA%E7%A7%81%E9%81%94%E3%81%AE%E3%83%96%E3%83%BC%E3%82%B9%E3%81%B8%E3%80%82%0D%0A%E7%B7%8A%E6%80%A5%E5%81%9C%E6%AD%A2%E3%83%9C%E3%82%BF%E3%83%B3%E7%99%BA%E5%8B%95%E3%81%97%E3%81%BE%E3%81%99%E3%81%9F%EF%BC%81%0D%0A%E3%81%A9%E3%81%A3%E3%81%8B%E3%83%BC%E3%83%BC%E3%83%BC%E3%83%BC%E3%83%BC%E3%83%BC%E3%82%93%EF%BC%81%0D%0A${count_people}%E4%BA%BA%E7%9B%AE%E3%81%A7%E3%81%99%0D%0A%23NT%E9%87%91%E6%B2%A2" --header "Authorization: OAuth oauth_consumer_key="""${Consumerkey}""", oauth_nonce="""${oauth_nonce_code}""", oauth_signature="""${oauth_signature_id_base}""", oauth_signature_method="HMAC-SHA1", oauth_timestamp="""${UNIX_T}""", oauth_token="""${Accesstoken}""", oauth_version="1.0"" --verbose
#LCD set clear and line1
`i2cset -y 1 0x3c 0 0x28 0x01 i`
sleep 1
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment