質問編集履歴

1

いきなりAD変換の値を送るのではなく、まず4バイトの整数を送ってみました。

2018/05/11 13:18

投稿

CyPris
CyPris

スコア11

test CHANGED
File without changes
test CHANGED
@@ -46,45 +46,163 @@
46
46
 
47
47
  ```arduino
48
48
 
49
+ /*server側*/
50
+
51
+ #include<WiFi.h>
52
+
53
+ const char *ssid="ESP32-WiFi"; //SSID
54
+
55
+ const char *pass="esp32wifi"; //パスワード
56
+
57
+ const IPAddress ip(192,168,0,9); //サーバーのIPアドレス
58
+
59
+ const IPAddress subnet(255,255,255,0); //サブネットマスク
60
+
61
+ WiFiServer server(80);
62
+
63
+ void setup()
64
+
65
+ {
66
+
67
+ Serial.begin(9600);
68
+
69
+
70
+
71
+ WiFi.softAP(ssid,pass); //SSIDとパスの設定
72
+
73
+ delay(100); //接続失敗防止
74
+
75
+ WiFi.softAPConfig(ip,ip,subnet); //IPアドレス、ゲートウェイ、サブネットマスクの設定
76
+
77
+ IPAddress myIP = WiFi.softAPIP(); //WiFi.softAPIP()でWiFi起動
78
+
79
+ server.begin(); //サーバーを起動(htmlを表示させるため)
80
+
81
+ Serial.println();
82
+
83
+ /*各種情報を表示*/
84
+
85
+ Serial.println("WiFi connected");
86
+
87
+ Serial.print("SSID:");
88
+
89
+ Serial.println(ssid);
90
+
91
+ Serial.print("AP IP address:");
92
+
93
+ Serial.println(myIP);
94
+
95
+ Serial.println("Server start!");
96
+
97
+ }
98
+
99
+
100
+
101
+ uint8_t value;
102
+
103
+
104
+
105
+ void loop()
106
+
107
+ {
108
+
109
+ //接続したクライアントの情報を得る。
110
+
111
+ WiFiClient client = server.available();
112
+
113
+ if(client){
114
+
115
+ Serial.println("new client");
116
+
117
+ while(client.connected()){
118
+
119
+ if(client.available()){
120
+
121
+
122
+
123
+ value=client.read();
124
+
125
+ Serial.println(value,sizeof(int));
126
+
127
+ delay(1000);
128
+
129
+ }
130
+
131
+ }
132
+
133
+
134
+
135
+ }
136
+
137
+
138
+
139
+ }
140
+
141
+ -------------------------------------------------------------------------
142
+
143
+ /*クライアント側*/
144
+
145
+ #include<WiFi.h>
146
+
147
+ const char *ssid="ESP32-WiFi"; //サーバーのSSID
148
+
149
+ const char *pass="esp32wifi"; //サーバーのパスワード
150
+
151
+ static WiFiClient client; //WiFiClient型でclientと宣言
152
+
153
+
154
+
49
155
  void setup() {
50
156
 
51
- pinMode(0,INPUT);
52
-
53
157
  Serial.begin(9600);
54
158
 
159
+ WiFi.begin(ssid,pass); //サーバーに接続
160
+
161
+ Serial.printf("\n");
162
+
163
+ while(WiFi.status()!=WL_CONNECTED)
164
+
165
+ {
166
+
167
+ Serial.print(".");
168
+
169
+ delay(1000);
170
+
55
- }
171
+ }
172
+
173
+ Serial.printf("\n");
174
+
175
+ Serial.println("WiFi Connected");
176
+
177
+ IPAddress ip(192,168,0,9); //サーバーのIPアドレス
178
+
179
+ client.connect(ip,80); //IPアドレスとポート番号を指定して接続
180
+
181
+ }
182
+
183
+ //試しに4バイトの値を送信
184
+
185
+ int value=35454;
56
186
 
57
187
  void loop() {
58
188
 
59
- uint8_t AD_value=analogRead(0);
189
+
60
-
61
- int ad=analogRead(0);
190
+
62
-
63
- int a = analogRead(0);
191
+
64
-
65
- a = map(a,0,4095,0,255);
192
+
66
-
67
- Serial.print("uint8型:");
193
+
68
-
69
- Serial.println(AD_value);
70
194
 
71
195
  delay(1000);
72
196
 
73
- Serial.print("map:");
197
+ if(client.connected()==true)
74
-
75
- Serial.println(a);
198
+
76
-
77
- delay(1000);
199
+ {
78
-
200
+
79
- Serial.print("analogReadの値:");
201
+ client.write((uint8_t*)&value,sizeof(int));
80
-
81
- Serial.println(ad);
202
+
82
-
83
- delay(1000);
84
-
85
- }
203
+ }
204
+
86
-
205
+ }
87
-
88
206
 
89
207
  ```
90
208
 
@@ -92,14 +210,46 @@
92
210
 
93
211
  ### 試したこと
94
212
 
95
-
96
-
97
- ここ問題に対してしたことを記載してください
213
+ いきなりAD変換の値を送信せずまず4バイトの整数を送信してみました。
98
214
 
99
215
 
100
216
 
101
217
  ### 補足情報(FW/ツールのバージョンなど)
102
218
 
103
-
104
-
105
- ここにより詳細な情報記載してください
219
+ 4バイトの整数送信してみた結果を追加しました
220
+
221
+ /*シリアルモニタの出力*/
222
+
223
+ WiFi connected
224
+
225
+ SSID:ESP32-WiFi
226
+
227
+ AP IP address:192.168.0.9
228
+
229
+ Server start!
230
+
231
+ new client
232
+
233
+ 1332
234
+
235
+ 2022
236
+
237
+ 0
238
+
239
+ 0
240
+
241
+ 1332
242
+
243
+ 2022
244
+
245
+ 0
246
+
247
+ 0
248
+
249
+ 1332
250
+
251
+ 2022
252
+
253
+ 0
254
+
255
+ 0