Cubietruck 的 led 閃的人眼睛疼,也許你已經把它給關了,這裏我合理利用了一下 led 開發了一個利用它們來顯示空氣質量的小應用,這個小應用會獲取當前的空氣質量並用 led 燈的顏色來顯示:
若是 led 燈顯示爲綠色,表示空氣質量不錯(優和良)
若是 led 燈顯示爲藍色,表示空氣輕度污染
若是 led 燈顯示爲橘黃,表示空氣污染嚴重(中度污染及中度污染以上)
若是 led 燈顯示爲白色,表示當前沒法獲取到空氣污染數據
數據每半個小時更新一次
這個程序是一個 shell 腳本程序:php
#!/bin/bash
shell
# api key: http://www.pm25.in/api_doc
json
api_key="5j1znBVAsnSf5xQyNQyq"
api
city="shanghai"
bash
lighten_led() {
ui
ls /sys/class/leds/*/brightness | xargs -i -n1 echo "echo 0 > {}" | sh
spa
echo 1 > /sys/class/leds/$1*/brightness
token
}
ci
get_quality() {
開發
local api="http://www.pm25.in/api/querys/pm2_5.json?city=$1&stations=no&token=$api_key"
wget --quiet --no-check-certificate --output-document=- $api | sed 's/.\+,"quality":"\([^"]\+\)".\+/\1/'
}
update_quality() {
local quality=$(get_quality $city)
if [ "$quality" == "優" ] || [ "$quality" == "良" ]; then
lighten_led green
elif [ "$quality" == '輕度污染' ]; then
lighten_led blue
elif [ "$quality" == '中度污染' ] || [ "$quality" == '重度污染' ] || [ "$quality" == '嚴重污染' ]; then
lighten_led orange
else
lighten_led white
fi
}
while true; do
update_quality
sleep 1800
done
首先你配置一下這個腳本,api_key 須要申請,你們去 http://www.pm25.in/api_doc 申請,默認的 api_key 可能不能很好的工做(詳見 http://www.pm25.in/api_doc)
而後修改一下 city,這裏的值是 shanghai,更加須要改爲你須要監控的城市
配置完成之後,把此腳本保存並在開機的時候執行(加入 /etc/rc.local 中)
祝你們玩的愉快
原文做者:killercat
原文連接:http://forum.cubietech.com/forum.php?mod=viewthread&tid=1980&extra=page%3D1