V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
cyio
V2EX  ›  分享创造

[NodeJS] 空气污染提醒懒人解决方案

  •  
  •   cyio ·
    cyio · 2017-05-04 21:22:53 +08:00 · 2977 次点击
    这是一个创建于 2758 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个脚本稳定用了大半年,整理分享给大家 痛点有 1. 官方污染预警不稳定 2. 不想总去关注天气 app 3. 有些指数是针对整个城市,而不同区域不同时段差异很大

    能不能在工作日上下班前,检查下离我最近的监测点的数据,如果 pm25 或臭氧超标,给我发个微信通知?

    https://github.com/cyio/air-pollution-notifier

    air-pollution-notifier (空气污染提醒)

    功能

    定时检查空气质量,污染达到指定条件时,发送微信提醒

    安装

    $ git clone https://github.com/cyio/air-pollution-notifier
    $ npm install / yarn
    

    配置

    复制配置模板

    $ cp config.json.template config.json
    

    配置说明

    {
      "stationCode": "1012A",
      "serverChanKey": "",
      "pm25InKey": "",
      "scheduleTime": {
        "days": [0, 1, 2, 3, 4, 5, 6],  // 一周七天,8/18/21 点 20 分运行检测,
        "hours": [8, 18, 21],  // 对应本人上班前,下班前(戴口罩),睡觉前(关窗)
        "minutes": [20]
      },
      "conditions": {  // 任意一个指数超出给设定值,即发送通知
        "aqi": 150,
        "pm25": 1000,  // 1 小时 pm2.5, 要禁用某个指数,可将值设大,这样就不会触发
        "o3": 160  // 臭氧
      }
    }
    

    持久运行(需另行配置 pm2 或类似工具)

    pm2 start index.js --watch --name 'air-pollution-notifier'
    
    7 条回复    2017-05-12 08:33:51 +08:00
    cyio
        1
    cyio  
    OP
       2017-05-04 21:25:17 +08:00
    zea
        2
    zea  
       2017-05-06 16:09:43 +08:00 via Android
    谢谢分享。我前几天写了个湿度监测的玩意,当湿度低于敏感值时给我发个邮件,邮件有实时提醒。放在服务器上用 crontab 每小时跑一次。
    cyio
        3
    cyio  
    OP
       2017-05-06 22:05:25 +08:00
    @zea 我还有个想法是,温度突变时发个提醒,每年都会因为这个感冒两三次
    free9fw
        4
    free9fw  
       2017-05-10 10:12:46 +08:00
    @cyio 还有就是要下雨前发送通知😄
    peinhu
        5
    peinhu  
       2017-05-11 09:02:13 +08:00
    感觉跟我造的轮子差不多。。https://github.com/peinhu/pm25alert
    zea
        6
    zea  
       2017-05-11 22:15:20 +08:00
    @cyio 我写温度监测的原因是最近连续几次因为空气干燥流鼻血。不过邮件好像不太好用,今天刚迁移到微信了。温度突变,你去抓天气预报数据就行了吧。
    cyio
        7
    cyio  
    OP
       2017-05-12 08:33:51 +08:00
    @zea 你那个是湿度检测吧,好奇怎么应对呢

    温度突变,频率低,感冒好了就不想写了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:26 · PVG 10:26 · LAX 18:26 · JFK 21:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.