讓 Telegram bot 告訴你樹莓派的 IP 吧!

更新 發佈閱讀 9 分鐘
使用本文方式需要以下條件:
Telegram(通訊軟體)
Raspberry Pi + Linux based 的作業系統(例如: Raspberry Pi OS )

前言(廢話)

這個其實已經是老問題了,Paspberry Pi 各種教學文除了教你安裝 OS 外,還會教你怎樣設定連上網路,之後拿到 IP 來遠端。可是,如果常常帶來帶去移動到不同的網路環境底下也就算了,為什麼在固定環境底下 IP 還是一個禮拜換一次阿阿阿(原 PO 因為租屋處網路奇怪的設定崩潰中)

為了解決這個問題,有很多前輩們弄了各種方案:開機自動寄 e-mail、連接一個小螢幕(需要另外加購)充分利用 GPIO 等等。

可是我不想買小螢幕(不然我外殼蓋子蓋不上,好心酸阿),也不想用 e-mail 的方式(還要開信箱好麻煩,重點還要搞一堆設定才能存取 SMTP)。之前寫了一個批次檔來掃描,每次都要等他跑完(指定範圍內掃一輪)花費的時間不說,我還記不起樹莓派的 mac 位置,掃完了還要去翻到底 mac 是多少才能對照出 IP,整個!$%#&^&&*%$%@

有天靈機一動,我為什麼不用 Telegram bot 呢?開機連上網路自動執行,抓到 IP 用 Telegram 傳給我,我也不用開信箱、不擔心要多買 N 個小螢幕,也不用開機前擔心會需要外接螢幕就只為了看 IP,聽起來多棒啊~那就開始看要如何實作吧

正文開始前

先提一下我的環境,不過大家都是樹莓派不用分那麼清(X)基本上應該都能用(O)所以別擔心

硬體:Raspberry pi 4 B 8GB
OS:Raspberry Pi OS

這邊也先給大家已經寫好的 Github 專案,如果您對 Linux 算熟悉、也有 Telegram 且有開過 bot 的經驗,想直接跳到部署的話可以參考:

hms5232/get-LAN-IP-telegram-bot
拿到區域網路 IP 並傳給你的 Telegram bot.github.com

前置作業

OS 和連上網路

安裝 OS 和設定連線想必大家應該都做好了,沒做好也沒關係,中文教學文很多自己找看順眼的。

Telegram

接著是 Telegram,這是一個相當好用幾乎各方面都屌打 LINE 的通訊軟體,會看到這邊的人應該都有了吧?沒有的話也歡迎下載來試試看。

有 Telegram 帳號後,首先必須開一個機器人(我自己是有一個機器人專門開發測試用,平常不會有連線,所以直接用那隻)。關於在 Telegram 上開一隻 bot 的方法,也有很多文章。這篇文章我認為講得滿詳細,過程和原理都有講解,不知道看哪篇的人可以參考看看。

確定手上有機器人的 token 後,我們就繼續下一步吧

Python & pip3 & Poetry

基本上各 Linux 的發行版應該都有 Python3 了吧?沒有的話請自行依照各發行版不同安裝。

接著安裝 pip3: sudo apt install python3-pip

(可選)如果怕環境被安裝的套件影響,或是有什麼特殊需求需要使用虛擬環境的話,請安裝 Poetry: https://python-poetry.org/docs/#installation

系統必須要的相依套件

sudo apt install libffi-dev libssl-dev

開始部署

這邊已經幫大家寫好機器人了,請直接下載或 clone 使用:
https://github.com/hms5232/get-LAN-IP-telegram-bot

hms5232/get-LAN-IP-telegram-bot
拿到區域網路 IP 並傳給你的 Telegram bot. github.com

專案位置請自行依照習慣即可,此處以 /home/pi/Documents/get-LAN-IP-telegram-bot 做示範。

Python 第三方套件

如果您剛剛有安裝 Poetry 的話,只需要進入專案資料夾後使用以下指令即可:

poetry install

沒有的話請接著使用 pip3 來直接安裝於系統上:

pip3 install python-telegram-bot==12.5
pip3 install ifcfg

設定環境設定檔案

cd into project dir, cp config.py secret.py and edit secret.py file for your env.

簡單來說,設定檔要什麼你就填入什麼就對了。

讓機器人跑起來吧

啟動指令

這邊先介紹下啟動的指令

python3 bot.py  # 使用一般方法安裝者
poetry run python3 bot.py # 使用 Poetry 者

執行後如果成功,那就可以做最後一哩路──開機自動執行。

開機自動執行──將啟動指令寫成 shell script

這邊可以參考我之前寫的另外一篇教學文
https://hms5232.medium.com/raspberry-pi-%E9%96%8B%E6%A9%9F%E8%87%AA%E5%8B%95%E5%9F%B7%E8%A1%8C-shell-script-e5b60781bfa0

Raspberry pi 開機自動執行 Shell script
hms5232.medium.com

首先,修改專案根目錄中的 autobotstart.sh (或是自己寫一個,放在自己喜歡的位置等都可以)依照自己專案放置的位置、執行機器人的方式(是否使用 pipenv)來修改內容。

舉例來說,autobotstart.sh 預設是使用 Pipenv 並放在 /home/pi/Documents/get-LAN-IP-telegram-bot,所以 shell script 的內容就是:

poetry run python3 bot.py

如果有需要確認輸出內容或 debug 的則可依照專案內的寫法:

poetry run python3 bot.py > /home/pi/Documents/get-LAN-IP-telegram-bot/autorunbot.log 2>&1 &

如此一來,執行機器人的輸出就會放在專案根目錄下。

這邊建議最好是採用專案提供的範例寫法,我自己就是一開始沒寫,結果都沒成功,但確定有執行,覺得很疑惑。一輸出才發現原來是 root 找不到pipenv 這個指令Orz因此才會看到 shell script 中將 pipenv 的執行檔路徑完整標示出來,系統才能成功執行。

當然,別忘了加上執行權限:

chmod +x /home/pi/Documents/get-LAN-IP-telegram-bot/autobotstart.sh

開機自動執行──讓系統開機時執行 Shell script

這邊就我之前寫的教學文中說的,將 Shell script 寫在 /etc/rc.local 裡,大概長成這樣:

/home/pi/Documents/get-LAN-IP-telegram-bot/autobotstart.sh

重新開機,有收到訊息就完成了,恭喜恭喜~

結語

完成專案超爽的!雖然樹莓派開機很快,但有時候還是不知道到底開機完成沒,還要看燈號閃爍情形;即便確定開好機了,也不知道到底 IP 是不是被換掉了(就看到 Windows 遠端桌面在那邊跑啊跑,最後跳失敗)現在我只要看到 telegram 訊息來了就知道開機完成、IP 是多少了。

希望這篇文可以幫助到各位,有任何問題,歡迎留言或發 issue 詢問;如果有幫助或覺得我寫的不錯,也歡迎對這篇文按讚拍手或是幫 repo 按星星,甚至要贊助一下也可以XD那我們就有機會再見囉。

Buy hms5232 a Coffee. ko-fi.com/hms5232
Buy a Coffee for hms5232 with Ko-fi.comco-fi.com

留言
avatar-img
留言分享你的想法!
avatar-img
hms5232的沙龍
5會員
23內容數
hms5232的沙龍的其他內容
2025/04/03
輕小說式標題,看標題就看完整篇文。重點就是標題說的,有興趣聽廢話再點進來吧。
Thumbnail
2025/04/03
輕小說式標題,看標題就看完整篇文。重點就是標題說的,有興趣聽廢話再點進來吧。
Thumbnail
2025/03/15
謝謝蘇媽讓我的 9700X 突飛猛進,讓我拿到 3DMark Free PC Upgrade 成就!
Thumbnail
2025/03/15
謝謝蘇媽讓我的 9700X 突飛猛進,讓我拿到 3DMark Free PC Upgrade 成就!
Thumbnail
2024/12/29
上個月還在職的時候,公司有提供一些名額給員工報名參加這次的台北葡萄酒馬拉松。雖然我自己並沒特別喜歡喝紅酒,不過既然有免費的機會,當然是要去看看了!(不知道哪裡來的勇氣,相信自己能跑馬拉松)
Thumbnail
2024/12/29
上個月還在職的時候,公司有提供一些名額給員工報名參加這次的台北葡萄酒馬拉松。雖然我自己並沒特別喜歡喝紅酒,不過既然有免費的機會,當然是要去看看了!(不知道哪裡來的勇氣,相信自己能跑馬拉松)
Thumbnail
看更多
你可能也想看
Thumbnail
搬家不只添購必需品,更能透過蝦皮分潤計畫賺取零用金!本文分享近期搬家時添購的各種實用好物,包含多功能工作桌、電競椅、氣炸烤箱、收納神器等,並詳述如何透過蝦皮雙 11 活動聰明購物、善用優惠,同時利用分潤機制將敗家行為轉化為被動收入,推薦給想聰明消費又想賺額外收入的你!
Thumbnail
搬家不只添購必需品,更能透過蝦皮分潤計畫賺取零用金!本文分享近期搬家時添購的各種實用好物,包含多功能工作桌、電競椅、氣炸烤箱、收納神器等,並詳述如何透過蝦皮雙 11 活動聰明購物、善用優惠,同時利用分潤機制將敗家行為轉化為被動收入,推薦給想聰明消費又想賺額外收入的你!
Thumbnail
貓奴每月進貢的時間又來啦! 身為專業貢品官,我從蝦皮搜尋各種零食,只為取悅家中三位貓主子!結果究竟會是龍心大悅,亦或是冷眼相待,就讓我們繼續看下去~
Thumbnail
貓奴每月進貢的時間又來啦! 身為專業貢品官,我從蝦皮搜尋各種零食,只為取悅家中三位貓主子!結果究竟會是龍心大悅,亦或是冷眼相待,就讓我們繼續看下去~
Thumbnail
本文介紹了作者使用 Rust 重寫的一個專案,目的是為了在樹梅派上取得 LAN IP,並透過 Telegram 機器人發送訊息。作者首先提到在樹梅派上使用 Python 版本時遇到的問題,之後才開始討論為什麼選擇了 Rust 重寫的理由。
Thumbnail
本文介紹了作者使用 Rust 重寫的一個專案,目的是為了在樹梅派上取得 LAN IP,並透過 Telegram 機器人發送訊息。作者首先提到在樹梅派上使用 Python 版本時遇到的問題,之後才開始討論為什麼選擇了 Rust 重寫的理由。
Thumbnail
在樹莓派安裝OpenCV的紀錄。板子是樹莓派3B(沒有+),系統raspbian bullseye 32bit灌到USB隨身碟。
Thumbnail
在樹莓派安裝OpenCV的紀錄。板子是樹莓派3B(沒有+),系統raspbian bullseye 32bit灌到USB隨身碟。
Thumbnail
在先前的教學中,我都教大家程式寫完以後就架設到「Heroku」的雲端上做使用,但如果你想嘗試其他自創的功能,這時一定會需要一直Debug,如果每次想看結果都要部屬一次Heroku,那這樣就變得相當麻煩,所以今天我就教大家如何利用本機端來提供外網連接的方式吧!!
Thumbnail
在先前的教學中,我都教大家程式寫完以後就架設到「Heroku」的雲端上做使用,但如果你想嘗試其他自創的功能,這時一定會需要一直Debug,如果每次想看結果都要部屬一次Heroku,那這樣就變得相當麻煩,所以今天我就教大家如何利用本機端來提供外網連接的方式吧!!
Thumbnail
在上一篇文章中,我們已經準備好製作LINE機器人的工具了,接下來我們就要來做一個最簡單的Python與LINE的串接練習,讓我們的機器人活起來,並且做出最基本的回話功能,如果還沒準備好串接所需的工具,記得先去看《【python】Python+LINE Bot 輕鬆打造股市機器人(二) : 所需準備的
Thumbnail
在上一篇文章中,我們已經準備好製作LINE機器人的工具了,接下來我們就要來做一個最簡單的Python與LINE的串接練習,讓我們的機器人活起來,並且做出最基本的回話功能,如果還沒準備好串接所需的工具,記得先去看《【python】Python+LINE Bot 輕鬆打造股市機器人(二) : 所需準備的
Thumbnail
在我們正式開始Python串接LINE Bot的教程之前,有必要先為大家準備好所需的工具。實際上,製作LINE Bot的工具有很多選擇,我將會介紹我在製作過程中所使用的具體工具有哪些,以及如何進行事前的準備工作。讓我們一起走進這個有趣的製作過程吧!
Thumbnail
在我們正式開始Python串接LINE Bot的教程之前,有必要先為大家準備好所需的工具。實際上,製作LINE Bot的工具有很多選擇,我將會介紹我在製作過程中所使用的具體工具有哪些,以及如何進行事前的準備工作。讓我們一起走進這個有趣的製作過程吧!
Thumbnail
應該很多人會將 Raspberry pi 用作網頁資訊展示或類似Kiosk機台之類的用途,但要成功的設定,其中的毛真的多到會讓人起笑,所以我就先將我在網路上四處蒐集並實測成功的流程整理一份在此,以防不時之需。
Thumbnail
應該很多人會將 Raspberry pi 用作網頁資訊展示或類似Kiosk機台之類的用途,但要成功的設定,其中的毛真的多到會讓人起笑,所以我就先將我在網路上四處蒐集並實測成功的流程整理一份在此,以防不時之需。
Thumbnail
安裝 FBTerm 與 Fcitx 輸入法,解決樹莓派純文字介面 ( tty ) 無法正常顯示中文的問題
Thumbnail
安裝 FBTerm 與 Fcitx 輸入法,解決樹莓派純文字介面 ( tty ) 無法正常顯示中文的問題
Thumbnail
使用本文方式需要以下條件: Telegram(通訊軟體) Raspberry Pi + Linux based 的作業系統(例如: Raspberry Pi OS ) 前言(廢話) 這個其實已經是老問題了,Paspberry Pi 各種教學文除了教你安裝 OS 外,還會教你怎樣設定連上網路,之後拿到
Thumbnail
使用本文方式需要以下條件: Telegram(通訊軟體) Raspberry Pi + Linux based 的作業系統(例如: Raspberry Pi OS ) 前言(廢話) 這個其實已經是老問題了,Paspberry Pi 各種教學文除了教你安裝 OS 外,還會教你怎樣設定連上網路,之後拿到
Thumbnail
大家有這個需求的時候,Google 出來多數都是要去一些地方加一堆東西。但我自己實際測試發現並不用這麼麻煩。因為終究是 Linux,所以回歸到本質上,使用 Linux 的方法設定就好。 本文測試環境: 硬體:Raspberry pi 4 B 8GB OS:Raspberry Pi OS
Thumbnail
大家有這個需求的時候,Google 出來多數都是要去一些地方加一堆東西。但我自己實際測試發現並不用這麼麻煩。因為終究是 Linux,所以回歸到本質上,使用 Linux 的方法設定就好。 本文測試環境: 硬體:Raspberry pi 4 B 8GB OS:Raspberry Pi OS
Thumbnail
使用 Telegram 官方推薦的方式,實作 webhook 和部署機器人到 Heroku。 本文只講部署(deploy)的部分,撰寫程式和申請帳號、操作 Heroku 教學很多了請自行 google。
Thumbnail
使用 Telegram 官方推薦的方式,實作 webhook 和部署機器人到 Heroku。 本文只講部署(deploy)的部分,撰寫程式和申請帳號、操作 Heroku 教學很多了請自行 google。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News