M5NanoC6、WebServerのサンプルを改造して温度の表示。(MCP9700)(3.1.1)





x 過去ログを見よ!!
x 3.1.1
x なぜか、なんかいか「ツール」-「シリアルモニター」を開くと成功する

目的
最小限の小改造で温度をWeb表示
温度センサーは、秋月で売っているMCP9700
500mV引いてあげれば温度になる




SSIDとパスワードは、修正する事


```c++

const char *ssid = "ご自宅のSSID";
const char *password = "ご自宅のパスワード";

```


ローカルドメインを使用する


```

http://esp32.local/

```

![Screenshot from 2025-01-10 12-59-32_original.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/840352/47594926-85bd-9631-9396-2a49df692acd.jpeg)


![Screenshot from 2025-01-10 13-00-38_original.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/840352/6d4cf68d-a867-6500-5cb6-68a9231f47f1.jpeg)



![image_original (26).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/840352/93449f48-463e-da11-6263-c4d1814ebd50.jpeg)


![image_original (27).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/840352/b27fb2c3-7686-f8ee-1aa8-e6cf026b3880.jpeg)


プログラム


```c++



//WebServer_mcp9700_d2_M5NanoC6_1


//ヘッダー
#include <WiFi.h>
#include <NetworkClient.h>
#include <WebServer.h>
#include <ESPmDNS.h>


//定義
const char *ssid = "ご自宅のSSID";
const char *password = "ご自宅のパスワード";

WebServer server(80);


void handleRoot() {

  //↓処理を開始

  static uint32_t msg_count = 0;

  //                       0123456789012345678901
  static char data[256] = "temperature = __._ #__";

  int temperature = analogRead(1) - 500; // x10
  //Serial.println(temperature); //debug

  data[14+3] = '0' + temperature % 10;
  temperature = temperature / 10;
  data[14+2] = '.';
  data[14+1] = '0' + temperature % 10;
  temperature = temperature / 10;
  data[14+0] = '0' + temperature;

  data[20] = '0' + (msg_count % 100)/10;
  data[21] = '0' + (msg_count % 100)%10;

  msg_count++;

  //↑処理が終了

  //転送
  server.send(200, "text/plain", data);

}


void handleNotFound() {

  String message = "File Not Found\n\n";
  message += "URI: ";
  message += server.uri();
  message += "\nMethod: ";
  message += (server.method() == HTTP_GET) ? "GET" : "POST";
  message += "\nArguments: ";
  message += server.args();
  message += "\n";
  for (uint8_t i = 0; i < server.args(); i++) {
    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
  }
  server.send(404, "text/plain", message);

}


//初期化
void setup(void) {

  //WiFiの初期化
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  //シリアルの初期化
  Serial.begin(9600);
  Serial.println("");
  //シリアルの待ちが0.5*9
  //delay(3000);//決め打ちなので、おかしかったら調整してね! wifiの待ち0.5*6
  for (int i = 0; i < (9 + 6); i++) {
    delay(500); //接続待ち
    Serial.print(".");
  }//for

  //ローカルドメインネームサーバーの設定
  MDNS.begin("esp32"); delay(2000);//決め打ちなので、おかしかったら調整してね!

  //接続情報の表示
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  Serial.println("MDNS responder started");

  //割り込みに登録↓ start
  server.on("/", handleRoot);

  server.on("/inline", []() {
    server.send(200, "text/plain", "this works as well");
  });

  server.onNotFound(handleNotFound);
  //割り込みに登録↑ end

  server.begin(); //webサービスの初期化
  Serial.println("HTTP server started");

}//setup


//メインループ
void loop(void) {
  server.handleClient();
  delay(2);  //allow the cpu to switch to other tasks
}//loop




```