teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

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

2018/05/11 13:18

投稿

CyPris
CyPris

スコア11

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
- uint8_t AD_value=analogRead(0);
95
+
31
- int ad=analogRead(0);
96
+
32
- int a = analogRead(0);
97
+
33
- a = map(a,0,4095,0,255);
34
- Serial.print("uint8型:");
35
- Serial.println(AD_value);
36
98
  delay(1000);
37
- Serial.print("map:");
99
+ if(client.connected()==true)
38
- Serial.println(a);
39
- delay(1000);
100
+ {
40
- Serial.print("analogReadの値:");
101
+ client.write((uint8_t*)&value,sizeof(int));
41
- Serial.println(ad);
42
- delay(1000);
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