LINE Bot聊天機器人程式開發教學(六):讀取並傳回空氣品質狀況給使用者

延續上一篇的內容,在index.js檔,加入指定使用ejs樣板引擎處理首頁請求的相關敘述,筆者把篩選AQI空氣指標回應內容的程式單獨寫在readAQI()自訂函式:

用ejs樣板引擎顯示空氣品質

ejs引擎的相關說明請參閱《超圖解物聯網IoT實作入門》第八章「認識樣版引擎」單元。將此程式上傳到heroku平台(參閱下文),在瀏覽器中開啟這個應用程式首頁,將能看到樣版引擎整合空氣指標數據的結果:

在瀏覽器中顯示空氣品質

接收與處理Line文字訊息

linebot套件的Github載點裡的demo.js檔,包含所有事件類型以及不同訊息內容的處理示範程式。底下是收到訊息後,處理各種訊息類型的程式架構:

理各種Line訊息類型的程式架構

本程式只需處理並回應文字訊息。假設用戶輸入「空氣」文字,這個Line聊天機器人將查詢空氣品質並回應(reply)給使用者,這部份的程式碼如下:

處理並回應「空氣」文字訊息的Line程式

底下是本單元的完整index.js原始碼:

上傳更新檔到Heroku平台

修改好index.js之後,開啟「命令提示字元」或「終端機」,進入linebot的根目錄,執行heroku login命令並輸入你的e-mail和密碼登入heroku,再執行git commit和git push指令,把更動過的檔案上傳到heroku平台(請參閱「佈署與測試Echo Bot」):

更新heroku的檔案

最後,在Line App裡面對你的LineBot輸入「空氣」,它將回應最新的空氣品質指數:

Line回應的空氣指標

延伸閱讀

10 thoughts on “LINE Bot聊天機器人程式開發教學(六):讀取並傳回空氣品質狀況給使用者

  1. 老师,在您的《完美图解IOT》书中第六章的示例程序当中,影像侦测控制文件夹里的html文件打开后是一个空白的网页,并没有任何显示,而影像侦测基础的可以打开并且能够完成人脸识别。我怀疑需要的npm包已经安装好,是不是基本库文件缺失?只有tracking-min.js和face-min.js这两个文件,还是我的npm包没有下载全?但是我确认了,书中要求的三种express、socket.io、johnny全都有,实在不知道问题在哪里,打开就是个空白页面什么也没有。

    1. hi harry:

      人脸识别示例采用socket.io通信,所以express、socket.io、johnny这三个包就够了,请问你有通过node server的地址开启网页吗?

      此node server默认运行在5438端口,所以你需要在通过这个位址浏览本机服务器的网页:127.0.0.1:5438

      另外,www/路径里的index.html里面有代码,请用文本编辑器开启确认,谢谢!

      thanks,
      jeffrey

    1. 我是為新手,因您的格式較為清楚,連結裡作者使用方式我還不太清楚…謝謝

    2. 我不清楚你的目的,但原作者的說明頁有提到,把程式裡的幾個關鍵值,像
      _KEYWORD1_, _LINE_CHANNEL_ACCESS_TOKEN_,.. 換成你的參數,就能測試了。

      have fun!
      jeffrey

  2. 谢谢 老师,这次程序已经可以使用了,还是问老师一个问题,Arduino电源智能供给一个舵机的使用?老师有电路图么?

    1. 如果只连接一个舵机,直接用Arduino的5V电源即可。

      舵机的电源也能连接到外部电源,但外部电源的接地、舵机的接地和Arduino的接地要相连。

      thanks,
      jeffrey

    2. 谢谢 老师!已经能够正常运转了。感谢你的书还有这个网站,我对IOT的启蒙全仰仗于老师,谢谢。

    3. 老师 ,我还想问下,大陆不能使用LINE ,您觉得QQ也好、微信也好这类大陆使用的软件有没有也可以这么使用的。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *