質問編集履歴
4
試したことの追記
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -184,4 +184,109 @@ | |
| 184 184 |  | 
| 185 185 | 
             
            ```
         | 
| 186 186 | 
             
            WIFIにはつながったが、何らかの形でデータを送信することができでいない?と考えます。
         | 
| 187 | 
            +
            ご教授いただいた、esp32にwebserverを立てる方法をトライしてみました。
         | 
| 188 | 
            +
            参考url
         | 
| 189 | 
            +
            https://qiita.com/northVil/items/f5cfee1cfd38ece59bb5
         | 
| 190 | 
            +
             | 
| 191 | 
            +
            ```
         | 
| 192 | 
            +
            #include <WiFi.h>
         | 
| 193 | 
            +
            #include <WebServer.h>
         | 
| 194 | 
            +
             | 
| 195 | 
            +
            const char *ssid = "Buffalo-A-aaaa";        //  WifiのSSID
         | 
| 196 | 
            +
            const char *pass = "abcdefghijklm";    //  Wifiのパスワード
         | 
| 197 | 
            +
            WebServer Server(80);         //  ポート番号(HTTP)
         | 
| 198 | 
            +
            int Counter = 0;                     //  カウンタ
         | 
| 199 | 
            +
             | 
| 200 | 
            +
            void SendMessage() {
         | 
| 201 | 
            +
              //  レスポンス文字列の生成('\n' は改行; '\' は行継続)
         | 
| 202 | 
            +
              Counter++;
         | 
| 203 | 
            +
              Serial.println("SendMessage");
         | 
| 204 | 
            +
              String message = "\
         | 
| 205 | 
            +
            <html lang=\"ja\">\n\
         | 
| 206 | 
            +
            <meta charset=\"utf-8\">\n\
         | 
| 207 | 
            +
            <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\
         | 
| 208 | 
            +
            <head>\n\
         | 
| 209 | 
            +
              <title>HTML</title>\n\
         | 
| 210 | 
            +
            </head>\n\
         | 
| 211 | 
            +
            <body style=\"font-family: sans-serif; background-color: #008080;\" >\n\
         | 
| 212 | 
            +
              <h1>North Vilによるウェブサーバー</h1>\n\
         | 
| 213 | 
            +
              <h3>あなたはこのサーバの "
         | 
| 214 | 
            +
                               + String(Counter)
         | 
| 215 | 
            +
                               + "人目のお客さまです!</h3>\n\
         | 
| 216 | 
            +
            </body>\n\
         | 
| 217 | 
            +
            </html>\n";
         | 
| 218 | 
            +
             | 
| 219 | 
            +
              String celebrate = "\
         | 
| 220 | 
            +
            <html lang=\"ja\">\n\
         | 
| 221 | 
            +
            <meta charset=\"utf-8\">\n\
         | 
| 222 | 
            +
            <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\
         | 
| 223 | 
            +
            <head>\n\
         | 
| 224 | 
            +
              <title>HTML</title>\n\
         | 
| 225 | 
            +
            </head>\n\
         | 
| 226 | 
            +
            <body style=\"font-family: sans-serif; background-color: #008080;\" >\n\
         | 
| 227 | 
            +
              <h1>North Vilによるウェブサーバー</h1>\n\
         | 
| 228 | 
            +
              <h2>あなたはこのサーバの記念すべき "
         | 
| 229 | 
            +
                                 + String(Counter)
         | 
| 230 | 
            +
                                 + "人目のお客さまです!!!!!</h2>\n\
         | 
| 231 | 
            +
            </body>\n\
         | 
| 232 | 
            +
            </html>\n";
         | 
| 233 | 
            +
             | 
| 234 | 
            +
              //  クライアントにレスポンスを返す
         | 
| 235 | 
            +
              if (Counter % 10 != 0) {
         | 
| 236 | 
            +
                Server.send(200, "text/html", message);
         | 
| 237 | 
            +
              } else {
         | 
| 238 | 
            +
                Server.send(200, "text/html", celebrate);
         | 
| 239 | 
            +
              }
         | 
| 240 | 
            +
            }
         | 
| 241 | 
            +
             | 
| 242 | 
            +
             | 
| 243 | 
            +
            void SendNotFound() {
         | 
| 244 | 
            +
              Serial.println("SendNotFound");
         | 
| 245 | 
            +
              Server.send(404, "text/plain", "404 not found...");
         | 
| 246 | 
            +
            }
         | 
| 247 | 
            +
             | 
| 248 | 
            +
            //  メインプログラム
         | 
| 249 | 
            +
            void setup() {
         | 
| 250 | 
            +
              //  シリアルモニタ(動作ログ)
         | 
| 251 | 
            +
              Serial.begin(115200);               //  ESP 標準の通信速度 115200
         | 
| 187 | 
            -
             | 
| 252 | 
            +
              delay(100);                         
         | 
| 253 | 
            +
              Serial.println("\n*** Starting ***");
         | 
| 254 | 
            +
              //  無線 LAN に接続
         | 
| 255 | 
            +
              WiFi.mode(WIFI_STA);
         | 
| 256 | 
            +
              WiFi.begin(ssid, pass);             
         | 
| 257 | 
            +
              Serial.println("Connecting...");
         | 
| 258 | 
            +
              while (WiFi.status() != WL_CONNECTED) {
         | 
| 259 | 
            +
                delay(1000);
         | 
| 260 | 
            +
                if (WiFi.status() == WL_CONNECT_FAILED) {
         | 
| 261 | 
            +
                  Serial.println("Can't connect");
         | 
| 262 | 
            +
                }
         | 
| 263 | 
            +
              }
         | 
| 264 | 
            +
              Serial.println("Connected");
         | 
| 265 | 
            +
              Serial.println(WiFi.localIP());     //  ESP 自身の IP アドレスをログ出力
         | 
| 266 | 
            +
              //  ウェブサーバの設定
         | 
| 267 | 
            +
              Server.on("/", SendMessage);         //  ルートアクセス時の応答
         | 
| 268 | 
            +
              Server.onNotFound(SendNotFound);  //  不正アクセス時の応答
         | 
| 269 | 
            +
              Server.begin();                     //  ウェブサーバ開始
         | 
| 270 | 
            +
            }
         | 
| 271 | 
            +
            void loop() {
         | 
| 272 | 
            +
              Server.handleClient();
         | 
| 273 | 
            +
            }
         | 
| 274 | 
            +
             | 
| 275 | 
            +
            ```
         | 
| 276 | 
            +
            シリアルモニタ
         | 
| 277 | 
            +
            ```
         | 
| 278 | 
            +
            *** Starting ***
         | 
| 279 | 
            +
            Connecting...
         | 
| 280 | 
            +
            Connected
         | 
| 281 | 
            +
            192.168.65.21
         | 
| 282 | 
            +
            SendMessage
         | 
| 283 | 
            +
             | 
| 284 | 
            +
            ```
         | 
| 285 | 
            +
            webserverは立ち上がりました。
         | 
| 286 | 
            +
            ただ3回に1回程度しかつながらず、ERR_CONNECTION_TIMED_OUTになります。
         | 
| 287 | 
            +
            wifiの接続は非常に悪いということが分かりました。
         | 
| 288 | 
            +
            ping結果
         | 
| 289 | 
            +
            192.168.65.** の ping 統計:
         | 
| 290 | 
            +
                パケット数: 送信 = 142、受信 = 13、損失 = 129 (90% の損失)、
         | 
| 291 | 
            +
            ラウンド トリップの概算時間 (ミリ秒):
         | 
| 292 | 
            +
                最小 = 54ms、最大 = 174ms、平均 = 104ms
         | 
3
コードの修正、試したことの追記
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -77,7 +77,8 @@ | |
| 77 77 | 
             
              Serial.println(host);
         | 
| 78 78 |  | 
| 79 79 | 
             
              // Use WiFiClient class to create TCP connections
         | 
| 80 | 
            -
               | 
| 80 | 
            +
              WiFiClient client;
         | 
| 81 | 
            +
              const int httpPort = 80;
         | 
| 81 82 | 
             
              if (!client.connect(host, httpPort)) {
         | 
| 82 83 | 
             
                Serial.println("connection failed");
         | 
| 83 84 | 
             
                return;
         | 
| @@ -113,7 +114,7 @@ | |
| 113 114 | 
             
            }
         | 
| 114 115 | 
             
            ```
         | 
| 115 116 | 
             
            ### 試したこと
         | 
| 116 | 
            -
             | 
| 117 | 
            +
            ```
         | 
| 117 118 | 
             
            PINGでのWI-FI確認
         | 
| 118 119 |  | 
| 119 120 | 
             
            192.168.** に ping を送信しています 32 バイトのデータ:
         | 
| @@ -126,6 +127,61 @@ | |
| 126 127 | 
             
                パケット数: 送信 = 4、受信 = 2、損失 = 2 (50% の損失)、
         | 
| 127 128 | 
             
            ラウンド トリップの概算時間 (ミリ秒):
         | 
| 128 129 | 
             
                最小 = 43ms、最大 = 145ms、平均 = 94ms
         | 
| 130 | 
            +
            ```
         | 
| 131 | 
            +
            ```Aruduino
         | 
| 132 | 
            +
            回答にてお教えいただいた方法にてトライ
         | 
| 133 | 
            +
            #include <WiFi.h>
         | 
| 134 | 
            +
            #include <HTTPClient.h>
         | 
| 135 | 
            +
            // 自分の環境に合わせて適宜変更
         | 
| 129 136 |  | 
| 137 | 
            +
            const char* ssid     = "*"; //Your SSID
         | 
| 138 | 
            +
            const char* password = "*"; //Your Password
         | 
| 139 | 
            +
            const String maker_Event = "ESP32";   // Maker Webhooks
         | 
| 140 | 
            +
            const String maker_Key = "*";  // Maker Webhooks
         | 
| 141 | 
            +
            // 環境設定ここまで
         | 
| 142 | 
            +
            String url = "https://maker.ifttt.com/trigger/" + maker_Event + "/with/key/" + maker_Key;
         | 
| 143 | 
            +
            HTTPClient http;
         | 
| 144 | 
            +
            void setup() {
         | 
| 145 | 
            +
                Serial.begin(115200);
         | 
| 146 | 
            +
                WiFi.begin(ssid, password);
         | 
| 147 | 
            +
                Serial.print("connecting to WiFi.");
         | 
| 148 | 
            +
                while (WiFi.status() != WL_CONNECTED) {
         | 
| 149 | 
            +
                    delay(100);
         | 
| 150 | 
            +
                    Serial.print(".");
         | 
| 151 | 
            +
                }
         | 
| 152 | 
            +
                Serial.println("Connected!!");
         | 
| 153 | 
            +
                http.begin(url);
         | 
| 154 | 
            +
                pinMode(4, INPUT_PULLUP);  // 4ピンをスイッチ検出に使う
         | 
| 155 | 
            +
                Serial.println("Waiting...");
         | 
| 156 | 
            +
            }
         | 
| 157 | 
            +
            void loop() {
         | 
| 158 | 
            +
                if (digitalRead(4) == LOW) {  // ピンとGNDとの間に繋いだスイッチがONになったら...
         | 
| 159 | 
            +
                    Serial.println("press!");
         | 
| 160 | 
            +
                    http.addHeader("Content-Type", "application/json");
         | 
| 161 | 
            +
                    String val = "{\"value1\":\"123\",\"value2\":\"abc\",\"value3\":\"あいう\"}";
         | 
| 162 | 
            +
                    int http_code = http.POST(val);
         | 
| 163 | 
            +
                    if (!(http_code > 0)) {
         | 
| 164 | 
            +
                        Serial.println("request failed!! try again");
         | 
| 165 | 
            +
                    } else {
         | 
| 166 | 
            +
                        Serial.println("Send to IFTTT");
         | 
| 167 | 
            +
                    }
         | 
| 168 | 
            +
                    unsigned long counter = millis();
         | 
| 169 | 
            +
                    while (millis() - counter < 10000)
         | 
| 170 | 
            +
                        ;  // 一度反応したら10秒休み
         | 
| 171 | 
            +
                    Serial.println("Waiting...");
         | 
| 172 | 
            +
                }
         | 
| 173 | 
            +
            }
         | 
| 174 | 
            +
             | 
| 175 | 
            +
             | 
| 176 | 
            +
            ```
         | 
| 177 | 
            +
            ```
         | 
| 178 | 
            +
            ....Connected!!
         | 
| 179 | 
            +
            Waiting...
         | 
| 180 | 
            +
            press!
         | 
| 181 | 
            +
            -1(http code エラー値)
         | 
| 182 | 
            +
            request failed!! try again
         | 
| 183 | 
            +
            Waiting...
         | 
| 184 | 
            +
             | 
| 185 | 
            +
            ```
         | 
| 130 | 
            -
             | 
| 186 | 
            +
            WIFIにはつながったが、何らかの形でデータを送信することができでいない?と考えます。
         | 
| 131 | 
            -
             | 
| 187 | 
            +
            ご教授お願い致します。
         | 
2
題名の修正
    
        title	
    CHANGED
    
    | @@ -1,1 +1,1 @@ | |
| 1 | 
            -
            ESP32を用いたデータ送信ができない
         | 
| 1 | 
            +
            ESP32を用いたWI-FIでのデータ送信ができない
         | 
    
        body	
    CHANGED
    
    | 
            File without changes
         | 
1
ソースコードが枠外にでていたため修正
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -31,7 +31,7 @@ | |
| 31 31 |  | 
| 32 32 | 
             
            ```Aruduino IDE
         | 
| 33 33 | 
             
            ソースコード
         | 
| 34 | 
            -
             | 
| 34 | 
            +
             | 
| 35 35 | 
             
            #include <WiFi.h>
         | 
| 36 36 |  | 
| 37 37 | 
             
            const char* ssid     = "SSID"; //Your SSID
         | 
| @@ -111,7 +111,7 @@ | |
| 111 111 | 
             
              Serial.println();
         | 
| 112 112 | 
             
              Serial.println("closing connection");
         | 
| 113 113 | 
             
            }
         | 
| 114 | 
            -
             | 
| 114 | 
            +
            ```
         | 
| 115 115 | 
             
            ### 試したこと
         | 
| 116 116 |  | 
| 117 117 | 
             
            PINGでのWI-FI確認
         |