LINE Bot聊天機器人程式開發教學(七):從ESP8266/Arduino控制板觸發Line發布訊息

本文將使用ESP8266控制板(如:NodeMCU或Wemos D1 mini)製作「一鍵」發Line訊息的物聯網按鈕。假設在廚房放一個物聯網按鈕,按下它就發Line通知老公洗碗;在門口放一個按鈕,按一下Line就會發送空氣品質訊息;把按鈕改成「磁簧開關」安裝在門窗,或者「PID人體紅外線偵測器」,這個小裝置就變成防盜器,若門窗被打開,Line就會發送入侵通知。

從ESP8266控制板觸發Line發送訊息

Read More

Acer 4741G筆電更換CMOS電池、升級固態硬碟和Windows 10、拆換18650鋰電池

前一陣子打算把Acer 4741G舊筆電給女兒使用,這筆電是2010年製造,採Core i3處理器、NVIDIA GeForce 310M顯卡、4GB DRAM和1TB硬碟,雖然規格很不起眼,但我當初也是用它完成了《超圖解Arduino互動設計入門》第一版書籍的全部插畫、文字和程式。因為太久沒使用,CMOS電池和主電池都已經沒電,每次開機都要重設時間。幸好,這台筆電不像某些新型筆電,為了追求美感或輕薄而使用一體成型的機殼,或用膠水黏合本體而不易維修或升級。

舊筆電的18650電池

Read More

LINE Bot聊天機器人程式開發教學(五):使用Promise風格的request-promise讀取資料開放平臺的天氣品質JSON資料

request模組使用「回呼函式」執行非同步任務。「建立Node.js版的Echo Bot」這一篇文章使用的Line程式庫則採用稱為Promise(直譯為「承諾」)的非同步程式設計風格。這兩種非同步程式語法的差別在於,一個是把回呼函式嵌套在處理函式裡面,另一個則是用“.then”指令,串連回應函式(註: “then”有「然後…」之意):

海誓山盟

Read More

LINE Bot聊天機器人程式開發教學(三):建立Node.js版的Echo Bot

在LINE頻道的設定畫面中,我們必須替LINE頻道設定接收LINE訊息的自訂程式(也就是LINE 機器人程式)網址,這個網址稱為Webhook(註:hook代表「掛勾」)。假設筆者把LINE訊息處理程式放在swf.com.tw網站的linewebhook路徑,那麼,每當有人發送訊息給我的LINE機器人,LINE公司的伺服器將以底下的HTTP POST請求格式,將訊息發送給我的網站伺服器:

LINE的HTTP POST請求格式

Read More