##やろうとしていること
ラズパイを使い始めまたばかりの初心者です。
今は、サービスファイルを作成し、シャットダウン機能(シャットダウンボタン)の追加を行っています。
##サービスファイル
次のサービスファイルを、/etc/systemd/system内に、shudownbuttond.serviceという名前で作成しました。
html
1[Unit] 2Description=Shutdown Daemon 3 4[Service] 5ExecStart =/home/pi/dev/shutdownd.py 6Restart=always 7Type=simple 8 9[Install] 10WantedBy=multi-user.target
##困っていること
pi@raspberrypi:~ $ systemctl status shutdownbuttond.service
サービスファイルを有効化(Enable)した後、状態を確認しましたが、↓の通り、"fail"となってしまいます。
● shutdownbuttond.service - Shutdown Daemon
Loaded: loaded (/etc/systemd/system/shutdownbuttond.service; enabled; vendor
Active: failed (Result: exit-code) since Tue 2019-10-08 11:18:08 JST; 8min ag
Process: 432 ExecStart=/home/pi/dev/3_Shutdown.py (code=exited, status=2)
Main PID: 432 (code=exited, status=2)
##教えてほしいこと
〇failとなってしまう原因
〇サービスファイルのアクセス権を確認したところ、次のようになっていましたが、問題はありますか?
pi@raspberrypi:/etc/systemd/system $ ls -l shutdownbuttond.service
-rw-r--r-- 1 root root 164 10月 8 11:26 shutdownbuttond.service
##プログラムコード
プログラム単体での動作確認はできています。
html
1#!/usr/bin/python 2# coding:utf-8 3import time 4import RPi.GPIO as GPIO 5import os 6 7pinnumber=23 8GPIO.setmode(GPIO.BCM) 9 10#GPIO23pinを入力モードとし、pull up設定とします 11GPIO.setup(pinnumber,GPIO.IN,pull_up_down=GPIO.PUD_UP) 12 13while True: 14 GPIO.wait_for_edge(pinnumber, GPIO.FALLING) 15 sw_counter = 0 16 17 while True: 18 sw_status = GPIO.input(pinnumber) 19 if sw_status == 0: 20 sw_counter = sw_counter + 1 21 if sw_counter >= 50: 22 print("長押し検知!") 23 os.system("sudo shutdown -h now") 24 break 25 else: 26 print("短押し検知") 27 break 28 29 time.sleep(0.01) 30 31 print(sw_counter)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。