极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7838|回复: 1

Cubie PM2.5 监控小程序

[复制链接]
发表于 2014-8-12 16:23:54 | 显示全部楼层 |阅读模式
Cubietruck 的 led 闪的人眼睛疼,也许你已经把它给关了,这里我合理利用了一下 led 开发了一个利用它们来显示空气质量的小应用,这个小应用会获取当前的空气质量并用 led 灯的颜色来显示:
如果 led 灯显示为绿色,表示空气质量不错(优和良)
如果 led 灯显示为蓝色,表示空气轻度污染
如果 led 灯显示为橘黄,表示空气污染严重(中度污染及中度污染以上)
如果 led 灯显示为白色,表示当前无法获取到空气污染数据

数据每半个小时更新一次

这个程序是一个 shell 脚本程序:
  • #!/bin/bash
  • # api key: http://www.pm25.in/api_doc
  • api_key="5j1znBVAsnSf5xQyNQyq"
  • city="shanghai"
  • lighten_led() {
  •     ls /sys/class/leds/*/brightness | xargs -i -n1 echo "echo 0 > {}" | sh
  •     echo 1 > /sys/class/leds/$1*/brightness
  • }
  • 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

[color=rgb(46, 166, 255) !important]复制代码

首先你配置一下这个脚本,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

回复

使用道具 举报

发表于 2014-8-13 17:18:55 | 显示全部楼层
给力,占一楼
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 16:49 , Processed in 0.044018 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表