質問編集履歴
1
いきなりAD変換の値を送るのではなく、まず4バイトの整数を送ってみました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,32 +22,107 @@
|
|
22
22
|
### 該当のソースコード
|
23
23
|
|
24
24
|
```arduino
|
25
|
+
/*server側*/
|
26
|
+
#include<WiFi.h>
|
27
|
+
const char *ssid="ESP32-WiFi"; //SSID
|
28
|
+
const char *pass="esp32wifi"; //パスワード
|
29
|
+
const IPAddress ip(192,168,0,9); //サーバーのIPアドレス
|
30
|
+
const IPAddress subnet(255,255,255,0); //サブネットマスク
|
31
|
+
WiFiServer server(80);
|
32
|
+
void setup()
|
33
|
+
{
|
34
|
+
Serial.begin(9600);
|
35
|
+
|
36
|
+
WiFi.softAP(ssid,pass); //SSIDとパスの設定
|
37
|
+
delay(100); //接続失敗防止
|
38
|
+
WiFi.softAPConfig(ip,ip,subnet); //IPアドレス、ゲートウェイ、サブネットマスクの設定
|
39
|
+
IPAddress myIP = WiFi.softAPIP(); //WiFi.softAPIP()でWiFi起動
|
40
|
+
server.begin(); //サーバーを起動(htmlを表示させるため)
|
41
|
+
Serial.println();
|
42
|
+
/*各種情報を表示*/
|
43
|
+
Serial.println("WiFi connected");
|
44
|
+
Serial.print("SSID:");
|
45
|
+
Serial.println(ssid);
|
46
|
+
Serial.print("AP IP address:");
|
47
|
+
Serial.println(myIP);
|
48
|
+
Serial.println("Server start!");
|
49
|
+
}
|
50
|
+
|
51
|
+
uint8_t value;
|
52
|
+
|
53
|
+
void loop()
|
54
|
+
{
|
55
|
+
//接続したクライアントの情報を得る。
|
56
|
+
WiFiClient client = server.available();
|
57
|
+
if(client){
|
58
|
+
Serial.println("new client");
|
59
|
+
while(client.connected()){
|
60
|
+
if(client.available()){
|
61
|
+
|
62
|
+
value=client.read();
|
63
|
+
Serial.println(value,sizeof(int));
|
64
|
+
delay(1000);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
}
|
69
|
+
|
70
|
+
}
|
71
|
+
-------------------------------------------------------------------------
|
72
|
+
/*クライアント側*/
|
73
|
+
#include<WiFi.h>
|
74
|
+
const char *ssid="ESP32-WiFi"; //サーバーのSSID
|
75
|
+
const char *pass="esp32wifi"; //サーバーのパスワード
|
76
|
+
static WiFiClient client; //WiFiClient型でclientと宣言
|
77
|
+
|
25
78
|
void setup() {
|
26
|
-
pinMode(0,INPUT);
|
27
79
|
Serial.begin(9600);
|
80
|
+
WiFi.begin(ssid,pass); //サーバーに接続
|
81
|
+
Serial.printf("\n");
|
82
|
+
while(WiFi.status()!=WL_CONNECTED)
|
83
|
+
{
|
84
|
+
Serial.print(".");
|
85
|
+
delay(1000);
|
86
|
+
}
|
87
|
+
Serial.printf("\n");
|
88
|
+
Serial.println("WiFi Connected");
|
89
|
+
IPAddress ip(192,168,0,9); //サーバーのIPアドレス
|
90
|
+
client.connect(ip,80); //IPアドレスとポート番号を指定して接続
|
28
91
|
}
|
92
|
+
//試しに4バイトの値を送信
|
93
|
+
int value=35454;
|
29
94
|
void loop() {
|
30
|
-
|
95
|
+
|
31
|
-
|
96
|
+
|
32
|
-
|
97
|
+
|
33
|
-
a = map(a,0,4095,0,255);
|
34
|
-
Serial.print("uint8型:");
|
35
|
-
Serial.println(AD_value);
|
36
98
|
delay(1000);
|
37
|
-
|
99
|
+
if(client.connected()==true)
|
38
|
-
Serial.println(a);
|
39
|
-
|
100
|
+
{
|
40
|
-
|
101
|
+
client.write((uint8_t*)&value,sizeof(int));
|
41
|
-
Serial.println(ad);
|
42
|
-
|
102
|
+
}
|
43
103
|
}
|
44
|
-
|
45
104
|
```
|
46
105
|
|
47
106
|
### 試したこと
|
107
|
+
いきなりAD変換の値を送信せずにまず4バイトの整数を送信してみました。
|
48
108
|
|
49
|
-
ここに問題に対して試したことを記載してください。
|
50
|
-
|
51
109
|
### 補足情報(FW/ツールのバージョンなど)
|
52
|
-
|
53
|
-
|
110
|
+
4バイトの整数を送信してみた結果を追加しました。
|
111
|
+
/*シリアルモニタの出力*/
|
112
|
+
WiFi connected
|
113
|
+
SSID:ESP32-WiFi
|
114
|
+
AP IP address:192.168.0.9
|
115
|
+
Server start!
|
116
|
+
new client
|
117
|
+
1332
|
118
|
+
2022
|
119
|
+
0
|
120
|
+
0
|
121
|
+
1332
|
122
|
+
2022
|
123
|
+
0
|
124
|
+
0
|
125
|
+
1332
|
126
|
+
2022
|
127
|
+
0
|
128
|
+
0
|