質問編集履歴
1
情報更新
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,38 +1,19 @@
|
|
1
1
|
##やろうとしていること
|
2
2
|
|
3
|
-
|
3
|
+
Messageを受信したら、受信したMessageに応じてpythonプログラムを実行する。
|
4
4
|
プログラム単体で実行すると、動作することは確認済です。
|
5
5
|
|
6
6
|
##困っていること
|
7
7
|
このプログラムを常時稼働とするために、ユニットファイルを作成しました。
|
8
8
|
ユニットファイルを起動し、ユニットファイルが動作していることを**systemctl status**で確認済です。
|
9
9
|
|
10
|
-
しかし、起動後、
|
10
|
+
しかし、起動後、Messageを送信しても、pythonプログラムが実行されません。
|
11
11
|
|
12
12
|
|
13
|
-
#プログラム
|
14
|
-
```python
|
15
|
-
def on_message(client, userdata, msg):
|
16
|
-
# msg.topicにトピック名が,msg.payloadに届いたデータ本体が入っている
|
17
|
-
print("Received message '" + str(msg.payload) + "' on topic '" + msg.topic + "' with QoS " + str(msg.qos))
|
18
|
-
if msg.payload == "red":
|
19
|
-
subprocess.check_call(['python','RED.py'])
|
20
|
-
elif msg.payload == "blue":
|
21
|
-
subprocess.check_call(['python','BLUE.py'])
|
22
|
-
elif msg.payload == "yellow":
|
23
|
-
subprocess.check_call(['python','YELLOW.py'])
|
24
|
-
elif msg.payload == "green":
|
25
|
-
subprocess.check_call(['python','GREEN.py'])
|
26
|
-
elif msg.payload == "off":
|
27
|
-
subprocess.check_call(['python','ALLOFF.py'])
|
28
|
-
else:
|
29
|
-
subprocess.check_call(['python','RYGB.py'])
|
30
|
-
```
|
31
|
-
|
32
13
|
#作成したユニットファイル
|
33
14
|
```text
|
34
15
|
[Unit]
|
35
|
-
Description=
|
16
|
+
Description=test
|
36
17
|
Wants=network.target
|
37
18
|
|
38
19
|
[Service]
|