ユーザ用ツール

サイト用ツール


manage:manual:カードリーダー式入退室システム

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
manage:manual:カードリーダー式入退室システム [2025/07/09 22:07] – 作成 csradminmanage:manual:カードリーダー式入退室システム [2025/07/09 22:15] (現在) csradmin
行 67: 行 67:
  
 1️⃣nfcpy(nfcカードリーダー)   1️⃣nfcpy(nfcカードリーダー)  
-sudo pip3 install --break-system-packages nfcpy  +|sudo pip3 install --break-system-packages nfcpy 
  
-*追記(2024.08.24):pipによるインストール時に--break-system-packagesが無いと動作しなかった  +*追記(2024.08.24):pipによるインストール時に 
 +--break-system-packagesが無いと動作しなかった  
 *参考:ラズパイに怒られた話【error: externally-managed-environment】 #Python3 - Qiita *参考:ラズパイに怒られた話【error: externally-managed-environment】 #Python3 - Qiita
  
 2️⃣discordwebhook(Discordに自動投稿する)   2️⃣discordwebhook(Discordに自動投稿する)  
-sudo pip3 install --break-system-packages discordwebhook+|sudo pip3 install --break-system-packages discordwebhook|
  
 ===== serviceファイルの初期設定 ===== ===== serviceファイルの初期設定 =====
行 82: 行 83:
 1️⃣serviceファイルを /etc/systemd/system に入れる。以下のコードを打てばOKです   1️⃣serviceファイルを /etc/systemd/system に入れる。以下のコードを打てばOKです  
 なお、以下のコードはserviceファイルがDoorLockSystemの中に保存されている前提のものです   なお、以下のコードはserviceファイルがDoorLockSystemの中に保存されている前提のものです  
-sudo cp /home/csr/Desktop/DoorLockSystem/AutoDoorLockSystem.service /etc/systemd/system/  +|sudo cp /home/csr/Desktop/DoorLockSystem/AutoDoorLockSystem.service /etc/systemd/system/|
  
 *ls /etc/systemd/system/による確認も推奨 *ls /etc/systemd/system/による確認も推奨
  
 2️⃣serviceファイルを追加したので、デーモンのリロードを行う   2️⃣serviceファイルを追加したので、デーモンのリロードを行う  
-sudo systemctl daemon-reload+|sudo systemctl daemon-reload|
  
 3️⃣serviceファイルの自動実行を有効化する   3️⃣serviceファイルの自動実行を有効化する  
-sudo systemctl enable AutoDoorLockSystem+|sudo systemctl enable AutoDoorLockSystem|
  
 4️⃣serviceを開始する(rebootでも(多分)可)   4️⃣serviceを開始する(rebootでも(多分)可)  
-sudo systemctl start AutoDoorLockSystem  +|sudo systemctl start AutoDoorLockSystem|
  
 *何かしらサービスの動作設定をしたい場合に確認用(コードに調整を加えた際は一旦停止が必要?)   *何かしらサービスの動作設定をしたい場合に確認用(コードに調整を加えた際は一旦停止が必要?)  
行 99: 行 100:
  
 5️⃣serviceが登録されているかの確認。”grep”は以下の文字列を含んだserviceファイルのみを検索する   5️⃣serviceが登録されているかの確認。”grep”は以下の文字列を含んだserviceファイルのみを検索する  
-sudo systemctl list-unit-files --type=service | grep Auto+|sudo systemctl list-unit-files --type=service | grep Auto|
  
 6️⃣Pythonファイルにsudo権限を渡す(batファイルにsudo Python3と書き込んだので不要?)   6️⃣Pythonファイルにsudo権限を渡す(batファイルにsudo Python3と書き込んだので不要?)  
-sudo chmod 755 /home/csr/Desktop/DoorLockSystem/DoorLockSystem.py   +|sudo chmod 755 /home/csr/Desktop/DoorLockSystem/DoorLockSystem.py| 
-sudo chmod 755 /home/csr/Desktop/DoorLockSystem/AutoProcessRun.sh+|sudo chmod 755 /home/csr/Desktop/DoorLockSystem/AutoProcessRun.sh|
  
 7️⃣serviceが正常に動作しているかどうかの確認   7️⃣serviceが正常に動作しているかどうかの確認  
-sudo systemctl status AutoDoorLockSystem+|sudo systemctl status AutoDoorLockSystem|
  
 ===== それぞれのファイルの中身 ===== ===== それぞれのファイルの中身 =====
  
 serviceファイル(AutoDoorLockSystem.service)   serviceファイル(AutoDoorLockSystem.service)  
-[Unit]   +[Unit] Description = AutoDoorLockSystem   
-Description = AutoDoorLockSystem   +After = network 
-After = network   +
 [Service]   [Service]  
 Type = simple   Type = simple  
 ExecStart = /home/csr/Desktop/DoorLockSystem/AutoProcessRun.sh   ExecStart = /home/csr/Desktop/DoorLockSystem/AutoProcessRun.sh  
- 
 [Install]   [Install]  
 WantedBy = multi-user.target WantedBy = multi-user.target
  
 batファイル(AutoProcessRun.sh)   batファイル(AutoProcessRun.sh)  
-#!/bin/bash   +#!/bin/bash  
-sudo pigpiod   +sudo pigpiod  
-cd /home/csr/Desktop/DoorLockSystem/  +cd /home/csr/Desktop/DoorLockSystem/ 
 sudo python3 DoorLockSystem.py sudo python3 DoorLockSystem.py
  
行 132: 行 130:
 1️⃣statusを見るとバッチファイルのディレクトリが存在しないと言われる   1️⃣statusを見るとバッチファイルのディレクトリが存在しないと言われる  
 エラー例:   エラー例:  
-AutoDoorLockSystem.service: Failed at step EXEC spawning /home/csr/Desktop/DoorLockSystem/AutoProcessRun.sh : No such file or Directory+|AutoDoorLockSystem.service: Failed at step EXEC spawning /home/csr/Desktop/DoorLockSystem/AutoProcessRun.sh : No such file or Directory|
  
 原因:   原因:  
行 140: 行 138:
 解決策:   解決策:  
 下記コードを実行し、スクリプトの改行コードをLinux形式(LF)に変更する。   下記コードを実行し、スクリプトの改行コードをLinux形式(LF)に変更する。  
-sudo apt-get install dos2unix   +|sudo apt-get install dos2unix dos2unix /home/csr/Desktop/DoorLockSystem/AutoProcessRun.sh|
-dos2unix /home/csr/Desktop/DoorLockSystem/AutoProcessRun.sh+
  
 ===== なにかわからないことがあったときは ===== ===== なにかわからないことがあったときは =====
manage/manual/カードリーダー式入退室システム.1752066441.txt.gz · 最終更新: by csradmin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki