Cubie PM2.5 監控小程序

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

相關文章
相關標籤/搜索