質問編集履歴

4

エラーコードがたまにでてるものがでたので追記

2019/09/13 11:35

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -266,11 +266,95 @@
266
266
 
267
267
  ```
268
268
 
269
+ *.*.*.* - - [13/Sep/2019 20:28:43] "GET /123456789 HTTP/1.1" 200 2915
270
+
271
+ Traceback (most recent call last):
272
+
273
+ File "/usr/lib/python2.7/wsgiref/handlers.py", line 86, in run
274
+
275
+ self.finish_response()
276
+
277
+ File "/usr/lib/python2.7/wsgiref/handlers.py", line 128, in finish_response
278
+
279
+ self.write(data)
280
+
281
+ File "/usr/lib/python2.7/wsgiref/handlers.py", line 212, in write
282
+
283
+ self.send_headers()
284
+
285
+ File "/usr/lib/python2.7/wsgiref/handlers.py", line 270, in send_headers
286
+
287
+ self.send_preamble()
288
+
289
+ File "/usr/lib/python2.7/wsgiref/handlers.py", line 194, in send_preamble
290
+
291
+ 'Date: %s\r\n' % format_date_time(time.time())
292
+
293
+ File "/usr/lib/python2.7/socket.py", line 328, in write
294
+
295
+ self.flush()
296
+
297
+ File "/usr/lib/python2.7/socket.py", line 307, in flush
298
+
299
+ self._sock.sendall(view[write_offset:write_offset+buffer_size])
300
+
301
+ error: [Errno 32] Broken pipe
302
+
303
+ *.*.*.* - - [13/Sep/2019 20:28:43] "GET /123456789 HTTP/1.1" 500 59
304
+
305
+ ----------------------------------------
306
+
307
+ Exception happened during processing of request from ('*.*.*.*', 53782)
308
+
309
+ Traceback (most recent call last):
310
+
311
+ File "/usr/lib/python2.7/SocketServer.py", line 290, in _handle_request_noblock
312
+
313
+ self.process_request(request, client_address)
314
+
315
+ File "/usr/lib/python2.7/SocketServer.py", line 318, in process_request
316
+
317
+ self.finish_request(request, client_address)
318
+
319
+ File "/usr/lib/python2.7/SocketServer.py", line 331, in finish_request
320
+
321
+ self.RequestHandlerClass(request, client_address, self)
322
+
323
+ File "/usr/lib/python2.7/SocketServer.py", line 654, in __init__
324
+
325
+ self.finish()
326
+
327
+ File "/usr/lib/python2.7/SocketServer.py", line 713, in finish
328
+
329
+ self.wfile.close()
330
+
331
+ File "/usr/lib/python2.7/socket.py", line 283, in close
332
+
333
+ self.flush()
334
+
335
+ File "/usr/lib/python2.7/socket.py", line 307, in flush
336
+
337
+ self._sock.sendall(view[write_offset:write_offset+buffer_size])
338
+
339
+ error: [Errno 32] Broken pipe
340
+
341
+ ----------------------------------------
342
+
269
- *.*.*.* - - [06/Sep/2019 20:07:55] "GET / HTTP/1.1" 200 2926
343
+ *.*.*.* - - [13/Sep/2019 20:28:57] "GET /123456789 HTTP/1.1" 200 2915
344
+
270
-
345
+ the filepath
346
+
347
+ css/StyleSheet1.css
348
+
271
- *.*.*.* - - [06/Sep/2019 20:07:55] "GET /html/css/StyleSheet1.css HTTP/1.1" 404 769
349
+ *.*.*.* - - [13/Sep/2019 20:28:57] "GET /static/html/css/StyleSheet1.css HTTP/1.1" 404 749
350
+
272
-
351
+ the filepath
352
+
353
+ js/Script2.js
354
+
273
- *.*.*.* - - [06/Sep/2019 20:07:55] "GET /html/js/Script2.js HTTP/1.1" 404 757
355
+ *.*.*.* - - [13/Sep/2019 20:28:57] "GET /static/html/js/Script2.js HTTP/1.1" 404 743
356
+
357
+
274
358
 
275
359
  ```
276
360
 

3

修正したためこちらもなおしました

2019/09/13 11:35

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -62,11 +62,15 @@
62
62
 
63
63
 
64
64
 
65
- @get('./static/<filepath:path>')
65
+ @get('./static/html/<filepath:path>')
66
66
 
67
67
  def static(filepath):
68
68
 
69
+ print("print filepath")
70
+
71
+ print(filepath)
72
+
69
- return static_file(filepath,root='./static')
73
+ return static_file(filepath,root='./static/html')
70
74
 
71
75
 
72
76
 
@@ -90,35 +94,23 @@
90
94
 
91
95
  <title>エレ研</title>
92
96
 
93
- <link rel="stylesheet" type="text/css" href="/static/html/css/StyleSheet1.css">
97
+ <link rel="stylesheet" type="text/css" href="static/html/css/StyleSheet1.css">
94
-
98
+
95
- <script type="text/javascript" src="/js/Script2.js"></script>
99
+ <script type="text/javascript" src="static/html/js/Script2.js"></script>
96
100
 
97
101
  </head>
98
102
 
99
103
  <body>
100
104
 
101
- <table onmouseover="mout()">
105
+ <table>
102
106
 
103
107
  <tr>
104
108
 
105
109
  <th>面1</th>
106
110
 
107
- <th>x1</th>
111
+ <th>x1</th> <th>x2</th> <th>x3</th> <th>x4</th>
108
-
112
+
109
- <th>x2</th>
113
+ <th>x5</th> <th>x6</th> <th>x7</th> <th>x8</th>
110
-
111
- <th>x3</th>
112
-
113
- <th>x4</th>
114
-
115
- <th>x5</th>
116
-
117
- <th>x6</th>
118
-
119
- <th>x7</th>
120
-
121
- <th>x8</th>
122
114
 
123
115
  </tr>
124
116
 
@@ -126,21 +118,9 @@
126
118
 
127
119
  <th>y1</th>
128
120
 
129
- <td></td>
121
+ <td></td> <td></td> <td></td> <td></td>
130
-
122
+
131
- <td></td>
123
+ <td></td> <td></td> <td></td> <td></td>
132
-
133
- <td></td>
134
-
135
- <td></td>
136
-
137
- <td></td>
138
-
139
- <td></td>
140
-
141
- <td></td>
142
-
143
- <td></td>
144
124
 
145
125
 
146
126
 
@@ -150,21 +130,9 @@
150
130
 
151
131
  <th>y2</th>
152
132
 
153
- <td></td>
133
+ <td></td> <td></td> <td></td> <td></td>
154
-
134
+
155
- <td></td>
135
+ <td></td> <td></td> <td></td> <td></td>
156
-
157
- <td></td>
158
-
159
- <td></td>
160
-
161
- <td></td>
162
-
163
- <td></td>
164
-
165
- <td></td>
166
-
167
- <td></td>
168
136
 
169
137
  </tr>
170
138
 
@@ -172,21 +140,9 @@
172
140
 
173
141
  <th>y3</th>
174
142
 
175
- <td></td>
143
+ <td></td> <td></td> <td></td> <td></td>
176
-
144
+
177
- <td></td>
145
+ <td></td> <td></td> <td></td> <td></td>
178
-
179
- <td></td>
180
-
181
- <td></td>
182
-
183
- <td></td>
184
-
185
- <td></td>
186
-
187
- <td></td>
188
-
189
- <td></td>
190
146
 
191
147
  </tr>
192
148
 
@@ -194,21 +150,9 @@
194
150
 
195
151
  <th>y4</th>
196
152
 
197
- <td></td>
153
+ <td></td> <td></td> <td></td> <td></td>
198
-
154
+
199
- <td></td>
155
+ <td></td> <td></td> <td></td> <td></td>
200
-
201
- <td></td>
202
-
203
- <td></td>
204
-
205
- <td></td>
206
-
207
- <td></td>
208
-
209
- <td></td>
210
-
211
- <td></td>
212
156
 
213
157
  </tr>
214
158
 
@@ -216,21 +160,9 @@
216
160
 
217
161
  <th>y5</th>
218
162
 
219
- <td></td>
163
+ <td></td> <td></td> <td></td> <td></td>
220
-
164
+
221
- <td></td>
165
+ <td></td> <td></td> <td></td> <td></td>
222
-
223
- <td></td>
224
-
225
- <td></td>
226
-
227
- <td></td>
228
-
229
- <td></td>
230
-
231
- <td></td>
232
-
233
- <td></td>
234
166
 
235
167
  </tr>
236
168
 
@@ -238,21 +170,9 @@
238
170
 
239
171
  <th>y6</th>
240
172
 
241
- <td></td>
173
+ <td></td> <td></td> <td></td> <td></td>
242
-
174
+
243
- <td></td>
175
+ <td></td> <td></td> <td></td> <td></td>
244
-
245
- <td></td>
246
-
247
- <td></td>
248
-
249
- <td></td>
250
-
251
- <td></td>
252
-
253
- <td></td>
254
-
255
- <td></td>
256
176
 
257
177
  </tr>
258
178
 
@@ -260,21 +180,9 @@
260
180
 
261
181
  <th>y7</th>
262
182
 
263
- <td></td>
183
+ <td></td> <td></td> <td></td> <td></td>
264
-
184
+
265
- <td></td>
185
+ <td></td> <td></td> <td></td> <td></td>
266
-
267
- <td></td>
268
-
269
- <td></td>
270
-
271
- <td></td>
272
-
273
- <td></td>
274
-
275
- <td></td>
276
-
277
- <td></td>
278
186
 
279
187
  </tr>
280
188
 
@@ -282,21 +190,9 @@
282
190
 
283
191
  <th>y8</th>
284
192
 
285
- <td></td>
193
+ <td></td> <td></td> <td></td> <td></td>
286
-
194
+
287
- <td></td>
195
+ <td></td> <td></td> <td></td> <td></td>
288
-
289
- <td></td>
290
-
291
- <td></td>
292
-
293
- <td></td>
294
-
295
- <td></td>
296
-
297
- <td></td>
298
-
299
- <td></td>
300
196
 
301
197
  </tr>
302
198
 

2

ちょっと違ったためなおした

2019/09/13 11:19

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -90,9 +90,9 @@
90
90
 
91
91
  <title>エレ研</title>
92
92
 
93
- <link rel="stylesheet" type="text/css" href="StyleSheet1.css">
93
+ <link rel="stylesheet" type="text/css" href="/static/html/css/StyleSheet1.css">
94
-
94
+
95
- <script type="text/javascript" src="Script2.js"></script>
95
+ <script type="text/javascript" src="/js/Script2.js"></script>
96
96
 
97
97
  </head>
98
98
 

1

わかってきたことや変更が重なりわかりずらいので、更新しました。

2019/09/06 11:56

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,34 @@
1
+ 私は電子工作系の部活に入っておりLEDキューブを作りました。
2
+
3
+ それの機能としてラズパイを用いスマホで光らせ方を決められるようにしようとしています。
4
+
5
+ ※うちの部活にはiotできる人がいないのでこうしています(T_T)
6
+
7
+
8
+
9
+ ```DIR
10
+
11
+ /home/pi
12
+
13
+ /ctrlLED/
14
+
15
+ -cntrolLED_on_web.py//←これが.pyのあれ
16
+
17
+ -static/
18
+
19
+ -html/
20
+
21
+ -index.html//メイン画面
22
+
1
- ラズパイを使いiotしたいと考えていて、簡単にできるのがbottleという記事を見てやってみて、ハローワーや、404が出て対処はできのですがInternal Server Error(Error500)出て、いろいろな記事を見たのですが、自分とやっていこと違ったりしてわからなかったため質問します
23
+ -wrong.html//パスワード違っ際ここに飛ぶ画像表示されるが同じように404吐く
24
+
25
+ -js/Script2.js//.jsのあれ
26
+
27
+ -css/StyleSheet1.css//.cssのあれ
28
+
29
+ ```
30
+
31
+
2
32
 
3
33
 
4
34
 
@@ -6,9 +36,7 @@
6
36
 
7
37
  ```.py
8
38
 
9
- from bottle import route,run,template,static_file
39
+ from bottle import route,run,get,template,static_file
10
-
11
- import RPi.GPIO as GPIO
12
40
 
13
41
 
14
42
 
@@ -16,83 +44,37 @@
16
44
 
17
45
 
18
46
 
19
- GPIO.setmode(GPIO.BCM)
20
-
21
- led_pins = [2, 4, 5]
22
-
23
- led_states = [0, 0, 0]
24
-
25
- switch_pin = 17
26
-
27
-
28
-
29
- GPIO.setup(led_pins[0], GPIO.OUT)
30
-
31
- GPIO.setup(led_pins[1], GPIO.OUT)
32
-
33
- GPIO.setup(led_pins[2], GPIO.OUT)
34
-
35
- GPIO.setup(switch_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
36
-
37
-
38
-
39
- def switch_status():
40
-
41
- state = GPIO.input(switch_pin)
42
-
43
- if state:
44
-
45
- return 'Up'
47
+ @route('/')
48
+
49
+ @route('/<passward:int>')
50
+
51
+ def index(passward):
52
+
53
+ if passward == 123456789:
54
+
55
+ return template('/home/pi/ctrlLED/static/html/index.html')
56
+
57
+
46
58
 
47
59
  else:
48
60
 
49
- return 'Down'
50
-
51
-
52
-
53
- def update_leds():
54
-
55
- for i, value in enumerate(led_states):
56
-
57
- GPIO.output(led_pins[i], value)
58
-
59
-
60
-
61
- @route('/')
62
-
63
- @route('/<led:int>')
64
-
65
- def index(led=None):
66
-
67
- print(led)
68
-
69
- if (led is not None) and (0<= led <len(led_states)):
70
-
71
- led_num = int(led)
72
-
73
- led_states[led_num] = not led_states[led_num]
74
-
75
- update_leds()
76
-
77
-
78
-
79
-
80
-
81
- return template('/home/pi/ctrlLED/static/html/index.html',switchin=switch_status)
61
+ return template('/home/pi/ctrlLED/static/html/wrong.html')
82
-
83
-
84
-
62
+
63
+
64
+
85
- @route('/static/<file:path>')
65
+ @get('./static/<filepath:path>')
86
-
66
+
87
- def seiteki(filepath):
67
+ def static(filepath):
88
68
 
89
69
  return static_file(filepath,root='./static')
90
70
 
91
71
 
92
72
 
93
- run(host='172.31.2.100', port=80)
73
+ run(host='172.31.2.100', port=85)
94
-
74
+
95
- ```
75
+ ```
76
+
77
+
96
78
 
97
79
  ```index.html
98
80
 
@@ -104,29 +86,221 @@
104
86
 
105
87
  <head>
106
88
 
107
- <meta charset="utf-8"/>
89
+ <meta charset="utf-8" />
108
-
90
+
109
- <title>ErbinnoServer</title>
91
+ <title>エレ研</title>
92
+
110
-
93
+ <link rel="stylesheet" type="text/css" href="StyleSheet1.css">
94
+
111
- <script type="text/javascript" src="./static/ctrlLEDJS.js"></script>
95
+ <script type="text/javascript" src="Script2.js"></script>
112
96
 
113
97
  </head>
114
98
 
115
-
116
-
117
99
  <body>
118
100
 
119
- <h1>GPIO Control</h1>
101
+ <table onmouseover="mout()">
120
-
102
+
121
- <h2>Button={{switchin}}</h2>
103
+ <tr>
122
-
104
+
123
- <h3>LEDs</h3>
105
+ <th>面1</th>
124
-
125
- <input type="button" onClick="changed(0)" value="LED0"/>
106
+
126
-
127
- <input type="button" onClick="changed(1)" value="LED1"/>
107
+ <th>x1</th>
128
-
108
+
129
- <input type="button" onClick="changed(2)" value="LED2"/>
109
+ <th>x2</th>
110
+
111
+ <th>x3</th>
112
+
113
+ <th>x4</th>
114
+
115
+ <th>x5</th>
116
+
117
+ <th>x6</th>
118
+
119
+ <th>x7</th>
120
+
121
+ <th>x8</th>
122
+
123
+ </tr>
124
+
125
+ <tr>
126
+
127
+ <th>y1</th>
128
+
129
+ <td></td>
130
+
131
+ <td></td>
132
+
133
+ <td></td>
134
+
135
+ <td></td>
136
+
137
+ <td></td>
138
+
139
+ <td></td>
140
+
141
+ <td></td>
142
+
143
+ <td></td>
144
+
145
+
146
+
147
+ </tr>
148
+
149
+ <tr>
150
+
151
+ <th>y2</th>
152
+
153
+ <td></td>
154
+
155
+ <td></td>
156
+
157
+ <td></td>
158
+
159
+ <td></td>
160
+
161
+ <td></td>
162
+
163
+ <td></td>
164
+
165
+ <td></td>
166
+
167
+ <td></td>
168
+
169
+ </tr>
170
+
171
+ <tr>
172
+
173
+ <th>y3</th>
174
+
175
+ <td></td>
176
+
177
+ <td></td>
178
+
179
+ <td></td>
180
+
181
+ <td></td>
182
+
183
+ <td></td>
184
+
185
+ <td></td>
186
+
187
+ <td></td>
188
+
189
+ <td></td>
190
+
191
+ </tr>
192
+
193
+ <tr>
194
+
195
+ <th>y4</th>
196
+
197
+ <td></td>
198
+
199
+ <td></td>
200
+
201
+ <td></td>
202
+
203
+ <td></td>
204
+
205
+ <td></td>
206
+
207
+ <td></td>
208
+
209
+ <td></td>
210
+
211
+ <td></td>
212
+
213
+ </tr>
214
+
215
+ <tr>
216
+
217
+ <th>y5</th>
218
+
219
+ <td></td>
220
+
221
+ <td></td>
222
+
223
+ <td></td>
224
+
225
+ <td></td>
226
+
227
+ <td></td>
228
+
229
+ <td></td>
230
+
231
+ <td></td>
232
+
233
+ <td></td>
234
+
235
+ </tr>
236
+
237
+ <tr>
238
+
239
+ <th>y6</th>
240
+
241
+ <td></td>
242
+
243
+ <td></td>
244
+
245
+ <td></td>
246
+
247
+ <td></td>
248
+
249
+ <td></td>
250
+
251
+ <td></td>
252
+
253
+ <td></td>
254
+
255
+ <td></td>
256
+
257
+ </tr>
258
+
259
+ <tr>
260
+
261
+ <th>y7</th>
262
+
263
+ <td></td>
264
+
265
+ <td></td>
266
+
267
+ <td></td>
268
+
269
+ <td></td>
270
+
271
+ <td></td>
272
+
273
+ <td></td>
274
+
275
+ <td></td>
276
+
277
+ <td></td>
278
+
279
+ </tr>
280
+
281
+ <tr>
282
+
283
+ <th>y8</th>
284
+
285
+ <td></td>
286
+
287
+ <td></td>
288
+
289
+ <td></td>
290
+
291
+ <td></td>
292
+
293
+ <td></td>
294
+
295
+ <td></td>
296
+
297
+ <td></td>
298
+
299
+ <td></td>
300
+
301
+ </tr>
302
+
303
+ </table>
130
304
 
131
305
  </body>
132
306
 
@@ -134,17 +308,59 @@
134
308
 
135
309
  ```
136
310
 
311
+
312
+
137
313
  ```ctrlLEDJS.js
138
314
 
315
+ /*できてない、HTMLで表を作ってマウスでクリックすると色が永久的につくみたいな感じのがやりたい
316
+
317
+ サイトを少し見て回ったけどわかりずらかったので、教えていただけるとありがたいです
318
+
319
+ */
320
+
321
+ ```
322
+
323
+
324
+
325
+ ```.css
326
+
327
+ table {
328
+
139
- (function(){
329
+ width: 100px;
330
+
140
-
331
+ border: 2px solid black;
332
+
333
+ border-collapse: collapse;
334
+
141
- function changed(led){
335
+ background-color:white;
142
-
143
- window.location.href='/'+led;
144
336
 
145
337
  }
146
338
 
339
+
340
+
341
+ table th{
342
+
343
+ border: 1px solid black;
344
+
147
- });
345
+ }
346
+
347
+ table td {
348
+
349
+ border: 1px solid black;
350
+
351
+ text-align: center;
352
+
353
+ padding: 3px 3px;
354
+
355
+ }
356
+
357
+
358
+
359
+ table td:hover {
360
+
361
+ background-color: rebeccapurple;
362
+
363
+ }
148
364
 
149
365
  ```
150
366
 
@@ -154,40 +370,30 @@
154
370
 
155
371
  ```
156
372
 
157
- *.*.*.* - - [03/Sep/2019 22:11:48] "GET /1 HTTP/1.1" 200 522
373
+ *.*.*.* - - [06/Sep/2019 20:07:55] "GET / HTTP/1.1" 200 2926
158
-
159
- Traceback (most recent call last):
374
+
160
-
161
- File "/usr/lib/python2.7/dist-packages/bottle.py", line 862, in _handle
162
-
163
- return route.call(**args)
164
-
165
- File "/usr/lib/python2.7/dist-packages/bottle.py", line 1740, in wrapper
375
+ *.*.*.* - - [06/Sep/2019 20:07:55] "GET /html/css/StyleSheet1.css HTTP/1.1" 404 769
166
-
167
- rv = callback(*a, **ka)
376
+
168
-
169
- TypeError: seiteki() got an unexpected keyword argument 'file'
170
-
171
- *.*.*.* - - [03/Sep/2019 22:11:51] "GET /static/ctrlLEDJS.js HTTP/1.1" 500 758
377
+ *.*.*.* - - [06/Sep/2019 20:07:55] "GET /html/js/Script2.js HTTP/1.1" 404 757
172
-
378
+
173
- ```
379
+ ```
174
-
380
+
175
- *は自分のパソコンのIPアドレスなので伏せます
381
+ *は自分のスマホのIPアドレスなので伏せます
176
-
177
-
178
-
382
+
179
- 私はctrlLEDJS.jsが返されいないと思ってます
383
+ 一回更新しようとし間違って「クリックすると前に戻ります」してしまったのでがばがばかもしれませんが、ご容赦ください
180
384
 
181
385
 
182
386
 
183
387
  試したこと
184
388
 
185
- このサイトを参考に進めいて途中から全然わからなくなりました(TT)
389
+ このサイトを参考に変えて、わからないところは他サイトでっていう感じです。
186
-
390
+
187
- http://note.kurodigi.com/python-bottle-01/#id303
391
+ https://teratail.com/questions/130896
188
392
 
189
393
 
190
394
 
191
395
  補足情報
192
396
 
193
397
  私はRasberrryPiZeroWを使っていて、開発アプリはPython3(IDLE)とテキストエディターです。
398
+
399
+ まずないと思いますが、ラズパイのせいでできないという感じならどうすればよいか教えていただきたいです。