manage:manual:カードリーダー式入退室システム
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
manage:manual:カードリーダー式入退室システム [2025/07/09 22:07] – 作成 csradmin | manage: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): | + | *追記(2024.08.24): |
+ | --break-system-packagesが無いと動作しなかった | ||
*参考:ラズパイに怒られた話【error: | *参考:ラズパイに怒られた話【error: | ||
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ファイルを / | 1️⃣serviceファイルを / | ||
なお、以下のコードはserviceファイルがDoorLockSystemの中に保存されている前提のものです | なお、以下のコードはserviceファイルがDoorLockSystemの中に保存されている前提のものです | ||
- | sudo cp / | + | |sudo cp / |
*ls / | *ls / | ||
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 / | + | |sudo chmod 755 / |
- | sudo chmod 755 / | + | |sudo chmod 755 / |
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 = / | ExecStart = / | ||
- | |||
[Install] | [Install] | ||
WantedBy = multi-user.target | WantedBy = multi-user.target | ||
batファイル(AutoProcessRun.sh) | batファイル(AutoProcessRun.sh) | ||
- | # | + | #!/bin/bash |
- | sudo pigpiod | + | sudo pigpiod |
- | cd / | + | cd / |
sudo python3 DoorLockSystem.py | sudo python3 DoorLockSystem.py | ||
行 132: | 行 130: | ||
1️⃣statusを見るとバッチファイルのディレクトリが存在しないと言われる | 1️⃣statusを見るとバッチファイルのディレクトリが存在しないと言われる | ||
エラー例: | エラー例: | ||
- | AutoDoorLockSystem.service: | + | |AutoDoorLockSystem.service: |
原因: | 原因: | ||
行 140: | 行 138: | ||
解決策: | 解決策: | ||
下記コードを実行し、スクリプトの改行コードをLinux形式(LF)に変更する。 | 下記コードを実行し、スクリプトの改行コードをLinux形式(LF)に変更する。 | ||
- | sudo apt-get install dos2unix | + | |sudo apt-get install dos2unix dos2unix / |
- | dos2unix / | + | |
===== なにかわからないことがあったときは ===== | ===== なにかわからないことがあったときは ===== |
manage/manual/カードリーダー式入退室システム.1752066441.txt.gz · 最終更新: by csradmin