質問編集履歴

4

2020/10/11 10:14

投稿

uuu1010
uuu1010

スコア7

test CHANGED
File without changes
test CHANGED
@@ -12,17 +12,35 @@
12
12
 
13
13
 
14
14
 
15
+ ```
16
+
17
+
18
+
15
- > from smbus2 import SMBus
19
+ from smbus2 import SMBus
16
20
 
17
21
  ModuleNotFoundError: No module named ‘smbus2’
18
22
 
23
+
24
+
25
+ ```
26
+
19
27
 
20
28
 
21
29
  smbus2はインストール済で、同じコードを使ったサンプルプログラムでは実行出来るので原因が分かりません。
22
30
 
23
31
  ※インストール時のコマンドは次の通りです。
24
32
 
33
+
34
+
35
+ ```
36
+
37
+
38
+
25
- > sodo pip install smbus2
39
+ sudo pip install smbus2
40
+
41
+
42
+
43
+ ```
26
44
 
27
45
 
28
46
 
@@ -30,12 +48,22 @@
30
48
 
31
49
  ※格納先の確認コマンドと返答内容は次の通りです。
32
50
 
51
+
52
+
53
+ ```
54
+
55
+
56
+
33
- >pip show smbus2
57
+ pip show smbus2
34
58
 
35
59
  Location: /user/local/lib/python2.7/dist-packages
36
60
 
37
61
 
38
62
 
63
+ ```
64
+
65
+
66
+
39
67
  しかしどのサイトを見ても、「smbus2をインストールしましょう」としか回答が出てこず困っております。
40
68
 
41
69
 
@@ -56,7 +84,11 @@
56
84
 
57
85
 
58
86
 
87
+ ```
88
+
89
+
90
+
59
- > import RPi.GPIO as GPIO
91
+ import RPi.GPIO as GPIO
60
92
 
61
93
  interrupted = False
62
94
 
@@ -84,7 +116,15 @@
84
116
 
85
117
 
86
118
 
119
+ ```
120
+
121
+
122
+
123
+ ```
124
+
125
+
126
+
87
- > setup()
127
+ setup()
88
128
 
89
129
  get_calib_param()
90
130
 
@@ -140,22 +180,36 @@
140
180
 
141
181
 
142
182
 
183
+ ```
184
+
185
+
186
+
187
+
188
+
143
189
  ★暫定解決方法(根本解決せず)★
144
190
 
145
- from smbus2 import SMBusを
146
-
147
- from smbus import SMBusに変更すると、この部分のコードのエラーは無くなりましたが、代わりに別のコードにエラーが出ました
191
+ 解決方法をご教示いただき、pip3でsmbus2をインストールし直すと"from smbus2 import SMBus"の部分のコードのエラーは無くなりました。
192
+
148
-
193
+ しかし、代わりに別のコードにエラーが出ました。
194
+
195
+
196
+
149
-
197
+ ```
150
-
198
+
199
+
200
+
151
- >temp, press, hum = readData()
201
+ temp, press, hum = readData()
152
202
 
153
203
  TypeError: cannot unpack non-iterable NoneType object
154
204
 
155
205
 
156
206
 
207
+ ```
208
+
209
+
210
+
211
+
212
+
213
+
214
+
157
- このエラー内容は変数の定義がないと言う意味と解釈しましたが、何故定義されてないことになるか分からず困っており、そもそもsmbusに変更したことによる弊害なのかもと思い、この方法を解決方法とするのは危うのかもしれないと考えてます。
215
+ このエラー内容は変数の定義がないと言う意味と解釈しましたが、何故定義されてないことになるか分からず困っており、根本解決に至っていない状況です。
158
-
159
-
160
-
161
- (smbus2から2を消しただけ。どこかのサイトでそのように修正したのを見つけたため試しに実施)

3

2020/10/11 10:14

投稿

uuu1010
uuu1010

スコア7

test CHANGED
File without changes
test CHANGED
@@ -20,9 +20,19 @@
20
20
 
21
21
  smbus2はインストール済で、同じコードを使ったサンプルプログラムでは実行出来るので原因が分かりません。
22
22
 
23
+ ※インストール時のコマンドは次の通りです。
24
+
25
+ > sodo pip install smbus2
26
+
23
27
 
24
28
 
25
29
  ラズパイ内にインストールされてるか格納先も確認済です。
30
+
31
+ ※格納先の確認コマンドと返答内容は次の通りです。
32
+
33
+ >pip show smbus2
34
+
35
+ Location: /user/local/lib/python2.7/dist-packages
26
36
 
27
37
 
28
38
 
@@ -34,10 +44,118 @@
34
44
 
35
45
 
36
46
 
37
- なお、今回のプログラミングで参考にしたコードが全部書いてあるサイトは以下です。
47
+ なお、今回のプログラミングで参考にしたコードが全部書いてあるサイトは以下です。
38
48
 
39
49
  [リンク内容](https://deviceplus.jp/hobby/raspberrypi4_04/)
40
50
 
41
51
 
42
52
 
43
53
  こちらのサイトの指示に従い、サンプルプログラムをコピーし(動作確認済)、そこにコードを追加し、最後にpython3で実行する流れです。
54
+
55
+ 具体的に追加したコードは大きく分けて次の2つのまとまったコードです。
56
+
57
+
58
+
59
+ > import RPi.GPIO as GPIO
60
+
61
+ interrupted = False
62
+
63
+ GPIO.setwarnings(False)
64
+
65
+
66
+
67
+ import time
68
+
69
+ import board
70
+
71
+ import neopixel
72
+
73
+
74
+
75
+ pixel_pin = board.D18
76
+
77
+ num_pixels = 16
78
+
79
+ ORDER = neopixel.GRB
80
+
81
+ pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.2, auto_write=False,
82
+
83
+ pixel_order=ORDER)
84
+
85
+
86
+
87
+ > setup()
88
+
89
+ get_calib_param()
90
+
91
+
92
+
93
+ if __name__ == '__main__':
94
+
95
+ try:
96
+
97
+ temp, press, hum = readData()
98
+
99
+ except KeyboardInterrupt:
100
+
101
+ pass
102
+
103
+ if temp:
104
+
105
+ msg = "今の室温は、" + str(round(temp,1)) + "度、湿度は、" + str(round(hum,1)) + "パーセントです!"
106
+
107
+ if temp > 25:
108
+
109
+ msg += "暑くないですか?"
110
+
111
+ pixels.fill((255, 0, 0))
112
+
113
+ elif temp < 15:
114
+
115
+ msg += "寒いですね!"
116
+
117
+ pixels.fill((0, 0, 255))
118
+
119
+ elif hum > 70:
120
+
121
+ msg += "蒸し蒸ししますね"
122
+
123
+ pixels.fill((255, 0, 0))
124
+
125
+ else:
126
+
127
+ msg += "快適です!"
128
+
129
+ pixels.fill((0, 255, 0))
130
+
131
+ pixels.show()
132
+
133
+ print (msg)
134
+
135
+ time.sleep(3)
136
+
137
+ pixels.fill((0, 0, 0))
138
+
139
+ pixels.show()
140
+
141
+
142
+
143
+ ★暫定解決方法(根本解決せず)★
144
+
145
+ from smbus2 import SMBusを
146
+
147
+ from smbus import SMBusに変更すると、この部分のコードのエラーは無くなりましたが、代わりに別のコードにエラーが出ました。
148
+
149
+
150
+
151
+ >temp, press, hum = readData()
152
+
153
+ TypeError: cannot unpack non-iterable NoneType object
154
+
155
+
156
+
157
+ このエラー内容は変数の定義がないと言う意味と解釈しましたが、何故定義されてないことになるか分からず困っており、そもそもsmbusに変更したことによる弊害なのかもと思い、この方法を解決方法とするのは危ういのかもしれないと考えてます。
158
+
159
+
160
+
161
+ (smbus2から2を消しただけ。どこかのサイトでそのように修正したのを見つけたため試しに実施)

2

2020/10/11 08:54

投稿

uuu1010
uuu1010

スコア7

test CHANGED
File without changes
test CHANGED
File without changes

1

2020/10/11 07:32

投稿

uuu1010
uuu1010

スコア7

test CHANGED
@@ -1 +1 @@
1
- smbus2インストール済なのにエラーが出ます
1
+ Raspberry Pi 4 で"from smbus2 import SMBus"のコードにエラー発生。(smbus2インストール済)
test CHANGED
@@ -1,49 +1,43 @@
1
- ### 前提・実現したいこと
1
+ Raspberry pi 4 で温湿度センサーを付けて、気温湿度に合わせてLEDを点灯させたいです。
2
2
 
3
3
 
4
4
 
5
- ここ質問内容を詳しく書いてください
5
+ Raspberry Pi 4インストールしたOSはMac用Raspbian です
6
6
 
7
- (例)PHP(CakePHP)で●●なシステムってます。
7
+ センサーはBME280、LEDはNeo Pixel 16連リング使用、通信はi2cを使ってます。
8
-
9
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
10
8
 
11
9
 
12
10
 
13
- ### 発生ている問題・エラーメッセージ
11
+ python3で実行た際に以下のエラーメッセージが出ます。
14
12
 
15
13
 
16
14
 
17
- ```
15
+ > from smbus2 import SMBus
18
16
 
19
- エラーメッセージ
17
+ ModuleNotFoundError: No module named ‘smbus2’
20
18
 
19
+
20
+
21
- ```
21
+ smbus2はインストール済で、同じコードを使ったサンプルプログラムでは実行出来るので原因が分かりません。
22
22
 
23
23
 
24
24
 
25
- ### 該当のソー
25
+ ラズパイ内にインルされてるか格納先も確認済です。
26
26
 
27
27
 
28
28
 
29
- ```こに言語名を入力
29
+ しかしどのサイトを見ても、「smbus2をインストールしましょう」としか回答が出てず困っております。
30
30
 
31
- ソースコード
31
+
32
32
 
33
- ```
33
+ どなたか早急に教えてくださると助かります。
34
+
35
+
36
+
37
+ なお、今回のプログラミングで参考にしたコードが全部書いてあるサイトは以下です。
38
+
39
+ [リンク内容](https://deviceplus.jp/hobby/raspberrypi4_04/)
34
40
 
35
41
 
36
42
 
37
- ### 試したこと
38
-
39
-
40
-
41
- 問題に対て試した記載てください
43
+ ちらのサイトの指示従い、サンプルプログラムをコピー(動作確認済)、そにコード追加、最後にpython3で実行する流れです
42
-
43
-
44
-
45
- ### 補足情報(FW/ツールのバージョンなど)
46
-
47
-
48
-
49
- ここにより詳細な情報を記載してください。