回答編集履歴

3

修正

2019/10/16 02:07

投稿

mt08
mt08

スコア1825

test CHANGED
File without changes

2

修正

2019/10/16 02:07

投稿

mt08
mt08

スコア1825

test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  # 実行属性ついてる?? .
70
70
 
71
- chmod a+x ./Shutdown.py
71
+ chmod a+x /home/pi/dev/Shutdown.py
72
72
 
73
73
 
74
74
 

1

追記

2019/10/16 02:07

投稿

mt08
mt08

スコア1825

test CHANGED
@@ -1,3 +1,127 @@
1
+ 追記: Shutdown.pyに実行属性がついていますか?
2
+
3
+
4
+
5
+ 以下、コピペでこちらの環境では、正常にサービスが開始しました。
6
+
7
+ ちなみに、`Shutdown.py`に実行属性がないと、`Active: activating (auto-restart) (Result: exit-code)`となって、動作しませんでした。
8
+
9
+
10
+
11
+
12
+
13
+ ```
14
+
15
+ mkdir -p /home/pi/dev
16
+
17
+ cat <<'EOF' > /home/pi/dev/Shutdown.py
18
+
19
+ #!/usr/bin/env python
20
+
21
+
22
+
23
+ import RPi.GPIO as GPIO
24
+
25
+ import os, time
26
+
27
+
28
+
29
+ GPIO.setmode(GPIO.BCM)
30
+
31
+
32
+
33
+ # GPIO18 : reset button
34
+
35
+ GPIO.setup(18, GPIO.IN, pull_up_down = GPIO.PUD_UP)
36
+
37
+ # GPIO23 : shutdown button
38
+
39
+ GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_UP)
40
+
41
+
42
+
43
+ def shutdown(channel):
44
+
45
+ os.system("sudo shutdown -h now")
46
+
47
+
48
+
49
+ def reboot(channel):
50
+
51
+ os.system("sudo reboot")
52
+
53
+
54
+
55
+ GPIO.add_event_detect(23, GPIO.FALLING, callback = shutdown, bouncetime = 2000)
56
+
57
+ GPIO.add_event_detect(18, GPIO.FALLING, callback = reboot, bouncetime = 2000)
58
+
59
+
60
+
61
+ while 1:
62
+
63
+ time.sleep(100)
64
+
65
+ EOF
66
+
67
+
68
+
69
+ # 実行属性ついてる?? .
70
+
71
+ chmod a+x ./Shutdown.py
72
+
73
+
74
+
75
+ cat << 'EOF' | sudo tee /usr/lib/systemd/system/shutdown_by_button.service
76
+
77
+ [Unit]
78
+
79
+ Description=Shutdown/Reboot raspberry pi by GPIO button input
80
+
81
+ Wants=network.target
82
+
83
+
84
+
85
+ [Service]
86
+
87
+ ExecStart=/home/pi/dev/Shutdown.py
88
+
89
+ Restart=on-failure
90
+
91
+ RestartSec=10s
92
+
93
+
94
+
95
+ [Install]
96
+
97
+ WantedBy=multi-user.target
98
+
99
+ EOF
100
+
101
+
102
+
103
+
104
+
105
+ sudo systemctl daemon-reload
106
+
107
+ sudo systemctl start shutdown_by_button
108
+
109
+ sudo systemctl status shutdown_by_button
110
+
111
+ ```
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+ ---
124
+
1
125
  y_gijutsuさん、
2
126
 
3
127