iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0
SideProject30

用30天打好Python、LineBot的基礎&基本應用系列 第 28

[Day 28] 進階應用-搭配樹梅派自訂後台服務

  • 分享至 

  • xImage
  •  

前一天我們將環境設置好了,今天我們正式將寫好的程式寫成可以讓系統後台執行的服務吧~~


將檔案移到樹梅派

這邊提供幾個辦法

  1. 在同一個網域下使用snapdrop.net傳輸檔案
  2. 將自己寫好的程式打包成壓縮檔上傳至雲端硬碟後下載下來
  3. 使用隨身碟傳檔案
  4. 用ssh傳檔案

這邊示範第四點的使用方式

安裝ssh伺服端

先在終端中輸入以下指令

sudo apt install openssh-server -y

再來為了確認ip,在終端中輸入以下指令

ip addr

https://ithelp.ithome.com.tw/upload/images/20231008/20146555eL0bX7CWcu.png

再依照你連接網路的方式去看你網路是吃哪個ip,像我就是連接wifi,所以看wlan0的網卡的"192.168.1.72"

完畢後在你的電腦終端上打上"ssh <樹梅派的用戶名稱>@<樹梅派的IP>",以我的範例是打"ssh raspi@192.168.1.72"

再來會出現是否要連接的訊息,輸入"yes",然後輸入你樹梅派的密碼

https://ithelp.ithome.com.tw/upload/images/20231008/201465550RRztrMBqU.png

設定成功後先輸入exit退出遠端

在電腦放有寫好的程式目錄之上右鍵->打開終端機,再輸入以下指令

scp -r <放有程式的目錄> <樹梅派的使用者名稱>@<樹梅派的IP>:/home/<樹梅派的使用者名稱>

輸入密碼後,檔案就會開始傳了

這時利用ssh遠端連接回到樹梅派的家目錄用ls指令確認資料夾是否有傳成功

https://ithelp.ithome.com.tw/upload/images/20231008/20146555dxXFvIm9sa.png

可以發現檔案已經傳成功了

(注意!! 如果原本的操作系統是windows的話,要再去下載一次webdriver,此處要選擇linux64(arm64)的系統),以下是Chromedriver與Edge WebDriver的範例

Chromedriver

https://ithelp.ithome.com.tw/upload/images/20231008/201465550IFNte6nqZ.png

Edge Webdriver

此處選擇Linux
https://ithelp.ithome.com.tw/upload/images/20231008/20146555aQJw4KvurY.png


再來可以在樹梅派上執行一次,看能不能正常運行
https://ithelp.ithome.com.tw/upload/images/20231008/201465557CjLQtRUry.png

看來正常

再來就可以來部署服務了

部署服務

在家目錄下輸入以下指令新增一個檔案(名稱可以自己取)

vim bot.service

並輸入以下幾行文字(使用者名稱記得改)
當然,路徑也可以自己改

[Unit]
Description=LineBot service
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=<樹梅派使用者名稱>
WorkingDirectory=/home/<樹梅派使用者名稱>/LineBot_service
ExecStart=/usr/bin/python3 main.py
Restart=always

[Install]
WantedBy=multi-user.target

貼上完後按esc按鍵->輸入":wq"儲存,在輸入以下指令

sudo mv bot.service /etc/systemd/system
sudo systemctl start bot.service
sudo systemctl enable bot.service

再輸入以下指令,確認服務狀況

systemctl status bot.service

確認Loaded變成active(running)就可以了
https://ithelp.ithome.com.tw/upload/images/20231008/20146555qfwt58TW88.png

確認效果
https://ithelp.ithome.com.tw/upload/images/20231008/20146555yIOv7zWcZz.png

參考資料

https://blog.gtwang.org/linux/linux-create-systemd-service-unit-for-python-echo-server-tutorial-examples/


上一篇
[Day 27] 進階應用-樹梅派介紹、環境設置
下一篇
[Day 29] Day 22 ~ 28複習
系列文
用30天打好Python、LineBot的基礎&基本應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言