RaspberryPiのIPを起動時にLINEで取得

SSHで通信する時にラズパイのIPが知りたくなるかと思います。

固定IPにしていても、接続するネットワーク毎に設定するのは正直面倒な気も…

そんな訳で、ラズパイを起動した際に、登録したLINEに対してIPをお知らせしてくれる機能を紹介します。

 

LINE Notifyのトークン取得

LINE Notifyのトークン取得に関しては以下の記事を参考にしてください!

⇒【Blue-black.inc】【超便利&お手軽】Python + LINE NotifyでLINEメッセージ送信

取得したトークンは後程使いますので、メモ等にコピペしておいて下さい。

 

起動時実行ファイルの作成

今回はPythonで記述します。

まずは起動時の参照が保証されている /opt ディレクトリに移動します。

続いて、 /opt ディレクトリにファイルを作ってコードをコピペします。

コードは以下になります。

基本的にコピペで問題なく、7行目に先程発行したトークンを入れてください。

 

サービス化して有効にする

これだけではただプログラムファイルを作っただけに過ぎないので、続いて起動時に実行するようにします。

まずはサービスファイルを作って書き込みます。

コピペする内容は以下の通り。

サービスが登録されたか確認します。

上記の2行目のように表示されればOKです。

disabledとなっていますが、登録しただけでまだ無効状態です。

以下のコマンドで有効にします。

そして、確認のため起動。

これでLINEに対して通知が来たら問題ありません。

 

通知が来ない時

まずは状況の確認方法

これで状況が表示されます。通常、エラー等がある場合はこの方法でエラー文を見てみましょう。

 

今回の場合は、おそらく多くの方が ipgetやrequestsがインストールされていないことによるエラーかと思います。

上記のコマンドでインストールができるかと思います。

折角なので再起動して実際に実行されるか確かめてみましょう。

再起動には少し時間がかかるので気長に待ちましょう(数分経過したら多分失敗してます。)

 

参考にした記事

⇒【Blue-black.inc】【超便利&お手軽】Python + LINE NotifyでLINEメッセージ送信

⇒【Qiita】Systemdを使ってさくっと自作コマンドをサービス化してみる

 

最後に

LINE NotifyもSystemd(起動時に実行するやつ)も両方とも応用が利くと思いますので、今回のプログラム以外にも応用してIoTなどを作ってもらえればと思います!

 

今回のブログ曲

今回投稿中に聴いていた曲はこちら

カテゴリー: PythonRaspberryPi

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です