2018年7月7日 星期六

一起學 Python 107 : 五分鐘學會使用 Python 傳送 Line 訊息 在 Raspberry pi 開機啟動提醒

在 一起學 Python 104 : Raspberry pi 開機自動運行 Python 程式碼 的地方,(方法四) 我們學會如何快速的讓 Raspberry pi 在開機時就執行指定的 Python 程式碼

在此我要實現一個功能,當 Raspberry pi 啟動後,藉由 Line Notify 傳送 "Raspberry 已啟動" 的訊息到我的 Line 上面,告知我已經啟動完成。

首先我們要先申請 Line Notify 的功能,申請 Token 部分請見此連結

接著用上該連結中提供的程式碼,並且命名這個文件為 PiTurnON.py

import os
import lineTool
import time
import datetime

Token = "填入你的Token"
TurnOn_message = "\nRaspberry 已啟動\n"
Time_message = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
MESSAGE = ''


time.sleep(10)
MESSAGE = TurnOn_message+ Time_message
print("Send message to Line \n%s\n" % MESSAGE)

lineTool.lineNotify(Token, MESSAGE)

#os.system("pause")
input()


在此可以先試著用電腦執行這個文件,應該就會收到 Line message 了

接著利用 FTP 的方式把這個 Python 文件放到 Raspberry 裡面,我放的路徑在

/home/pi/python_program



可以先試試看使用

python /home/pi/python_program/PiTurnON.py

此時手機應該會收到 Line message





接著依 一起學 Python 103 : Raspberry pi 開機自動運行 Python 程式碼 所述

1. sudo su
2. sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
3. 在裡面新增 @lxterminal -e python /home/pi/python_program/PiTurnON.py
4. Ctrl + O 保存
5. Ctrl + X 退出
6. sudo reboot


重開機後就會自動執行這個文件,用 Line 傳訊息到你手機提醒你 Rpi 已經成功啟動


註1 :

Python 程式碼中最後一行的 os.system("pause") 在電腦上是可以成功將 terminal 畫面停住的,但在 Pi 上面無法。

所以我改用 input()

可參考此連結


20190114 補充 :
建議別使用本文中的方法來進行開機自動執行 python 文件
改使用 一起學 Python 104 : Raspberry pi 開機自動運行 Python 程式碼 的方法5 (建立 service )