質問編集履歴
4
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,18 +5,32 @@
|
|
5
5
|
|
6
6
|
python3で実行した際に以下のエラーメッセージが出ます。
|
7
7
|
|
8
|
+
```
|
9
|
+
|
8
|
-
|
10
|
+
from smbus2 import SMBus
|
9
11
|
ModuleNotFoundError: No module named ‘smbus2’
|
12
|
+
|
13
|
+
```
|
10
14
|
|
11
15
|
smbus2はインストール済で、同じコードを使ったサンプルプログラムでは実行出来るので原因が分かりません。
|
12
16
|
※インストール時のコマンドは次の通りです。
|
13
|
-
> sodo pip install smbus2
|
14
17
|
|
18
|
+
```
|
19
|
+
|
20
|
+
sudo pip install smbus2
|
21
|
+
|
22
|
+
```
|
23
|
+
|
15
24
|
ラズパイ内にインストールされてるか格納先も確認済です。
|
16
25
|
※格納先の確認コマンドと返答内容は次の通りです。
|
26
|
+
|
27
|
+
```
|
28
|
+
|
17
|
-
|
29
|
+
pip show smbus2
|
18
30
|
Location: /user/local/lib/python2.7/dist-packages
|
19
31
|
|
32
|
+
```
|
33
|
+
|
20
34
|
しかしどのサイトを見ても、「smbus2をインストールしましょう」としか回答が出てこず困っております。
|
21
35
|
|
22
36
|
どなたか早急に教えてくださると助かります。
|
@@ -27,7 +41,9 @@
|
|
27
41
|
こちらのサイトの指示に従い、サンプルプログラムをコピーし(動作確認済)、そこにコードを追加し、最後にpython3で実行する流れです。
|
28
42
|
具体的に追加したコードは大きく分けて次の2つのまとまったコードです。
|
29
43
|
|
44
|
+
```
|
45
|
+
|
30
|
-
|
46
|
+
import RPi.GPIO as GPIO
|
31
47
|
interrupted = False
|
32
48
|
GPIO.setwarnings(False)
|
33
49
|
|
@@ -41,7 +57,11 @@
|
|
41
57
|
pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.2, auto_write=False,
|
42
58
|
pixel_order=ORDER)
|
43
59
|
|
60
|
+
```
|
61
|
+
|
62
|
+
```
|
63
|
+
|
44
|
-
|
64
|
+
setup()
|
45
65
|
get_calib_param()
|
46
66
|
|
47
67
|
if __name__ == '__main__':
|
@@ -69,13 +89,20 @@
|
|
69
89
|
pixels.fill((0, 0, 0))
|
70
90
|
pixels.show()
|
71
91
|
|
92
|
+
```
|
93
|
+
|
94
|
+
|
72
95
|
★暫定解決方法(根本解決せず)★
|
73
|
-
from smbus2 import SMBusを
|
74
|
-
from
|
96
|
+
解決方法をご教示いただき、pip3でsmbus2をインストールし直すと"from smbus2 import SMBus"の部分のコードのエラーは無くなりました。
|
97
|
+
しかし、代わりに別のコードにエラーが出ました。
|
75
98
|
|
99
|
+
```
|
100
|
+
|
76
|
-
|
101
|
+
temp, press, hum = readData()
|
77
102
|
TypeError: cannot unpack non-iterable NoneType object
|
78
103
|
|
79
|
-
|
104
|
+
```
|
80
105
|
|
106
|
+
|
107
|
+
|
81
|
-
|
108
|
+
このエラー内容は変数の定義がないと言う意味と解釈しましたが、何故定義されてないことになるか分からず困っており、根本解決に至っていない状況です。
|
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,14 +9,73 @@
|
|
9
9
|
ModuleNotFoundError: No module named ‘smbus2’
|
10
10
|
|
11
11
|
smbus2はインストール済で、同じコードを使ったサンプルプログラムでは実行出来るので原因が分かりません。
|
12
|
+
※インストール時のコマンドは次の通りです。
|
13
|
+
> sodo pip install smbus2
|
12
14
|
|
13
15
|
ラズパイ内にインストールされてるか格納先も確認済です。
|
16
|
+
※格納先の確認コマンドと返答内容は次の通りです。
|
17
|
+
>pip show smbus2
|
18
|
+
Location: /user/local/lib/python2.7/dist-packages
|
14
19
|
|
15
20
|
しかしどのサイトを見ても、「smbus2をインストールしましょう」としか回答が出てこず困っております。
|
16
21
|
|
17
22
|
どなたか早急に教えてくださると助かります。
|
18
23
|
|
19
|
-
|
24
|
+
なお、今回のプログラミングで参考にしたコードが全部書いてあるサイトは以下です。
|
20
25
|
[リンク内容](https://deviceplus.jp/hobby/raspberrypi4_04/)
|
21
26
|
|
22
|
-
こちらのサイトの指示に従い、サンプルプログラムをコピーし(動作確認済)、そこにコードを追加し、最後にpython3で実行する流れです。
|
27
|
+
こちらのサイトの指示に従い、サンプルプログラムをコピーし(動作確認済)、そこにコードを追加し、最後にpython3で実行する流れです。
|
28
|
+
具体的に追加したコードは大きく分けて次の2つのまとまったコードです。
|
29
|
+
|
30
|
+
> import RPi.GPIO as GPIO
|
31
|
+
interrupted = False
|
32
|
+
GPIO.setwarnings(False)
|
33
|
+
|
34
|
+
import time
|
35
|
+
import board
|
36
|
+
import neopixel
|
37
|
+
|
38
|
+
pixel_pin = board.D18
|
39
|
+
num_pixels = 16
|
40
|
+
ORDER = neopixel.GRB
|
41
|
+
pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.2, auto_write=False,
|
42
|
+
pixel_order=ORDER)
|
43
|
+
|
44
|
+
> setup()
|
45
|
+
get_calib_param()
|
46
|
+
|
47
|
+
if __name__ == '__main__':
|
48
|
+
try:
|
49
|
+
temp, press, hum = readData()
|
50
|
+
except KeyboardInterrupt:
|
51
|
+
pass
|
52
|
+
if temp:
|
53
|
+
msg = "今の室温は、" + str(round(temp,1)) + "度、湿度は、" + str(round(hum,1)) + "パーセントです!"
|
54
|
+
if temp > 25:
|
55
|
+
msg += "暑くないですか?"
|
56
|
+
pixels.fill((255, 0, 0))
|
57
|
+
elif temp < 15:
|
58
|
+
msg += "寒いですね!"
|
59
|
+
pixels.fill((0, 0, 255))
|
60
|
+
elif hum > 70:
|
61
|
+
msg += "蒸し蒸ししますね"
|
62
|
+
pixels.fill((255, 0, 0))
|
63
|
+
else:
|
64
|
+
msg += "快適です!"
|
65
|
+
pixels.fill((0, 255, 0))
|
66
|
+
pixels.show()
|
67
|
+
print (msg)
|
68
|
+
time.sleep(3)
|
69
|
+
pixels.fill((0, 0, 0))
|
70
|
+
pixels.show()
|
71
|
+
|
72
|
+
★暫定解決方法(根本解決せず)★
|
73
|
+
from smbus2 import SMBusを
|
74
|
+
from smbus import SMBusに変更すると、この部分のコードのエラーは無くなりましたが、代わりに別のコードにエラーが出ました。
|
75
|
+
|
76
|
+
>temp, press, hum = readData()
|
77
|
+
TypeError: cannot unpack non-iterable NoneType object
|
78
|
+
|
79
|
+
このエラー内容は変数の定義がないと言う意味と解釈しましたが、何故定義されてないことになるか分からず困っており、そもそもsmbusに変更したことによる弊害なのかもと思い、この方法を解決方法とするのは危ういのかもしれないと考えてます。
|
80
|
+
|
81
|
+
(smbus2から2を消しただけ。どこかのサイトでそのように修正したのを見つけたため試しに実施)
|
2
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
1
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
smbus2インストール済
|
1
|
+
Raspberry Pi 4 で"from smbus2 import SMBus"のコードにエラー発生。(smbus2インストール済)
|
body
CHANGED
@@ -1,25 +1,22 @@
|
|
1
|
-
|
1
|
+
Raspberry pi 4 で温湿度センサーを付けて、気温湿度に合わせてLEDを点灯させたいです。
|
2
2
|
|
3
|
-
|
3
|
+
Raspberry Pi 4にインストールしたOSはMac用のRaspbian です。
|
4
|
-
|
4
|
+
センサーはBME280、LEDはNeo Pixel 16連リングを使用、通信はi2cを使ってます。
|
5
|
-
■■な機能を実装中に以下のエラーメッセージが発生しました。
|
6
5
|
|
7
|
-
|
6
|
+
python3で実行した際に以下のエラーメッセージが出ます。
|
8
7
|
|
9
|
-
```
|
10
|
-
|
8
|
+
> from smbus2 import SMBus
|
11
|
-
|
9
|
+
ModuleNotFoundError: No module named ‘smbus2’
|
10
|
+
|
11
|
+
smbus2はインストール済で、同じコードを使ったサンプルプログラムでは実行出来るので原因が分かりません。
|
12
12
|
|
13
|
-
|
13
|
+
ラズパイ内にインストールされてるか格納先も確認済です。
|
14
14
|
|
15
|
+
しかしどのサイトを見ても、「smbus2をインストールしましょう」としか回答が出てこず困っております。
|
16
|
+
|
15
|
-
|
17
|
+
どなたか早急に教えてくださると助かります。
|
18
|
+
|
16
|
-
|
19
|
+
なお、今回のプログラミングで参考にしたコードが全部書いてあるサイトは以下です。
|
17
|
-
|
20
|
+
[リンク内容](https://deviceplus.jp/hobby/raspberrypi4_04/)
|
18
21
|
|
19
|
-
### 試したこと
|
20
|
-
|
21
|
-
こ
|
22
|
+
こちらのサイトの指示に従い、サンプルプログラムをコピーし(動作確認済)、そこにコードを追加し、最後にpython3で実行する流れです。
|
22
|
-
|
23
|
-
### 補足情報(FW/ツールのバージョンなど)
|
24
|
-
|
25
|
-
ここにより詳細な情報を記載してください。
|