:::
PM2.5空污監測器實作

幫PM2.5偵測器加上LINE通知

discuss pic 2016-12-03 08:03:33
路過的訪客
先註冊line notify跟IFTTT,然後在IFTTT上開通2項服務MAKER跟LINE,
IFTTT就是IF This Then That的縮寫,
它的原理就是:如果(if)MAKER收到PM25的訊號(this)就(then)LINE通知(that)


MAKER在設定好後,會得到一組APIKEY,與自訂的啟動指令,跟資訊中心提供的資料庫介接方法很類似,
以GET或POST把這串帶有APIKEY與自訂指令的網址送出後,MAKER收到就會啟動LINE通知,
不過上面的教學大章使用的是scratch,要送出https的網址比較簡單,我們的ESP8266就複雜一些,得再修改一下原本的程式碼

MAKER是以https接收,所以多引入一個#include <WiFiClientSecure.h>
接著仿照原本程式30分鐘傳回資訊中心資料庫的寫法,
多設一組計時器,把時間間隔加大到1小時或更久,才不會空氣品質不好時,LINE半小時就叮咚一次
<pre>
  if(abs( millis() - updateStart2) > updateInterval2 && T>=54 ) { 
   
   WiFiClientSecure client;
    if( !client.connect("maker.ifttt.com", 443 ) )
    {
         return;
    }
    else
    {
        String getStr_line = "GET /trigger/自訂指令/with/key/MAKER的APYKEY  HTTP/1.1\r\n";
        client.print( getStr_line );
        client.print( "Host: maker.ifttt.com\n" );
        client.print( "Connection: close\r\n\r\n" );
        client.stop();
        updateStart2 = millis();    
        }  
   }
</pre>

把修改好的程式碼再燒錄回ESP8266,
資訊中心已有提供貼紙,產生貼紙時會自動去抓取資料庫裡最新的一筆資料,
我覺得這超讚的,在送回MAKER的資料就不用加上PM2.5的數據了
直接在LINE通知的貼圖填入網址
這樣就大功告成了




搜尋

錯誤訊息
未知: Array and string offset access syntax with curly braces is deprecated 在檔案中的第 /include/functions.encoding.php 列 40
未知: Array and string offset access syntax with curly braces is deprecated 在檔案中的第 /include/functions.encoding.php 列 40
未知: Array and string offset access syntax with curly braces is deprecated 在檔案中的第 /include/functions.encoding.php 列 73
通知: Undefined index: theme_kind 在檔案中的第 /modules/tad_discuss/header.php 列 8
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 119
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 119
通知: Undefined index: op 在檔案中的第 /modules/tad_discuss/function.php 列 57
通知: Undefined index: op 在檔案中的第 /modules/tad_discuss/function.php 列 63
通知: Undefined index: bootstrap 在檔案中的第 /modules/tadtools/preloads/core.php 列 68
已棄用
資料庫語法
0.000090 - SET SQL_BIG_SELECTS = 1
0.000805 - SELECT * FROM config WHERE (`conf_modid` = '0' AND `conf_catid` = '1') ORDER BY conf_order ASC
0.000339 - SELECT sess_data, sess_ip FROM session WHERE sess_id = '4u9oh8bb634be25in6kekm730d'
0.000414 - SELECT * FROM modules WHERE dirname = 'tad_discuss'
0.000617 - SELECT COUNT(*) FROM group_permission WHERE (`gperm_modid` = '1' AND (`gperm_groupid` = '3') AND `gperm_name` = 'module_read' AND `gperm_itemid` = '13')
0.000404 - SELECT * FROM config WHERE (`conf_modid` = '13') ORDER BY conf_order ASC
0.000577 - SELECT * FROM config WHERE (`conf_modid` = '0' AND `conf_catid` = '5') ORDER BY conf_order ASC
0.000356 - SELECT COUNT(*) FROM banner
0.000194 - SELECT * FROM banner LIMIT 0, 1
0.004617 - UPDATE banner SET impmade = 1277534 WHERE bid = 1
0.000553 - SELECT * FROM config WHERE (`conf_modid` = '0' AND `conf_catid` = '3') ORDER BY conf_order ASC
0.001356 - SELECT DISTINCT gperm_itemid FROM group_permission WHERE gperm_name = 'block_read' AND gperm_modid = 1 AND gperm_groupid IN (3)
0.001073 - SELECT b.* FROM newblocks b, block_module_link m WHERE m.block_id=b.bid AND b.isactive=1 AND b.visible=1 AND m.module_id IN (0,13) AND b.bid IN (1,2,3,4,5,6,7,8,9,10,11,18,15,16,20,19,58,60,61,73,72,74,71,76,75,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,111,109,110,112,113,114,115,116,117,118,119,120,121,122,123) ORDER BY b.weight, m.block_id
0.000803 - SELECT f.*, s.tpl_source FROM tplfile f LEFT JOIN tplsource s ON s.tpl_id=f.tpl_id WHERE (`tpl_tplset` = 'default' AND `tpl_file` = 'system_block_search.tpl') ORDER BY tpl_refid
0.000538 - SELECT * FROM modules WHERE dirname = 'tadtools'
0.000359 - SELECT * FROM config WHERE (`conf_modid` = '4') ORDER BY conf_order ASC
0.000421 - select * from tad_discuss where DiscussID='66'
0.000369 - SELECT COUNT(*) FROM group_permission WHERE (`gperm_modid` = '13' AND (`gperm_groupid` = '3') AND `gperm_name` = 'forum_read' AND `gperm_itemid` = '1')
0.004611 - update tad_discuss set `Counter`=`Counter`+1 where `DiscussID`='66'
0.000426 - select * from `tad_discuss_board` where `BoardID` = '1'
0.000592 - select * from tad_discuss where DiscussID='66' or ReDiscussID='66' order by ReDiscussID , DiscussDate
0.000518 - select * from tad_discuss where DiscussID='66' or ReDiscussID='66' order by ReDiscussID , DiscussDate LIMIT 0, 20
0.000449 - select * from `tad_discuss_files_center` where `col_name`='DiscussID' and `col_sn`='66' order by sort
0.000395 - SELECT COUNT(*) FROM group_permission WHERE (`gperm_modid` = '13' AND (`gperm_groupid` = '3') AND `gperm_name` = 'forum_post' AND `gperm_itemid` = '1')
0.000383 - select `tt_theme`,`tt_use_bootstrap`,`tt_bootstrap_color`,`tt_theme_kind` from `tadtools_setup` where `tt_theme`='school2015'
0.000622 - SELECT f.*, s.tpl_source FROM tplfile f LEFT JOIN tplsource s ON s.tpl_id=f.tpl_id WHERE (`tpl_tplset` = 'default' AND `tpl_file` = 'tad_discuss_discuss.tpl') ORDER BY tpl_refid
0.000526 - SELECT f.*, s.tpl_source FROM tplfile f LEFT JOIN tplsource s ON s.tpl_id=f.tpl_id WHERE (`tpl_tplset` = 'default' AND `tpl_file` = 'tad_discuss_bootstrap.tpl') ORDER BY tpl_refid
0.000431 - SELECT f.*, s.tpl_source FROM tplfile f LEFT JOIN tplsource s ON s.tpl_id=f.tpl_id WHERE (`tpl_tplset` = 'default' AND `tpl_file` = 'system_notification_select.tpl') ORDER BY tpl_refid
0.000332 - SELECT * FROM modules WHERE dirname = 'tad_themes'
0.000323 - SELECT * FROM config WHERE (`conf_modid` = '3') ORDER BY conf_order ASC
0.000202 - select `tt_bootstrap_color` from tadtools_setup where `tt_theme`='school2015'
0.000247 - select * from tad_themes where `theme_name`='school2015'
0.000288 - select conf_value from config where conf_title ='_MD_AM_DEBUGMODE'
0.000330 - select * from tad_themes_blocks where `theme_id`='7'
0.000355 - select mid from modules where dirname='tad_themes'
0.000598 - desc `tad_themes_data_center` `sort`
0.000179 - select `col_sn`,`data_name`,`data_sort`, `data_value` from `tad_themes_data_center` where `mid`= '3' and `col_name`='theme_id' and `col_sn`='7' order by `sort` , `data_sort`
0.000208 - select conf_value from config where conf_name ='allow_register'
0.000385 - select `mid`, `name`, `dirname` from modules where isactive='1' and hasmain='1' and weight!=0 order by weight
0.000183 - SELECT * FROM modules WHERE dirname = 'tad_blocks'
0.000200 - select conf_value from config where conf_title ='_MD_AM_DEBUGMODE'
0.000239 - select count(*) from priv_msgs where `to_userid` ='0' and `read_msg`=0 group by `to_userid`
0.000494 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='0' and status='1' order by position
0.000209 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='11' and status='1' order by position
0.000172 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='14' and status='1' order by position
0.000150 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='15' and status='1' order by position
0.000182 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='17' and status='1' order by position
0.000173 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='16' and status='1' order by position
0.000205 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='18' and status='1' order by position
0.000542 - select a.* from tad_themes_files_center as a left join tad_themes as b on a.col_sn=b.theme_id where a.`col_name`='slide' and b.`theme_name`='school2015'
0.000611 - SELECT * FROM modules WHERE dirname = 'tad_login'
0.000680 - SELECT * FROM config WHERE (`conf_modid` = '14') ORDER BY conf_order ASC
總計: 52
區塊
搜尋: 沒有快取
總計: 1
額外資訊
包含檔案: 209 檔案
使用記憶體: 6971576 bytes
計時
XOOPS 使用 0.151 秒來載入。
XOOPS Boot 使用 0.032 秒來載入。
Module init 使用 0.011 秒來載入。
XOOPS output init 使用 0.037 秒來載入。
Module display 使用 0.027 秒來載入。
Page rendering 使用 0.041 秒來載入。