![見出し画像](https://assets.st-note.com/production/uploads/images/111147276/rectangle_large_type_2_7639d4c7bb44e51abefba5f8f7e54411.png?width=1200)
ESP32をTWSNMPシリーズのセンサーにするために温度センサーの読み取りとWifi接続の練習
今朝は3時に起きました。
昨日から始めたESP32+Arudino IDEの開発が楽しくなってきたからです。
昨日の夜寝る前にWifiの使い方などをチュートリアルのドキュメントを読んで予習しました。それが夢にまででてきて早くおきました。
まずは、温度センサーをつけてみました。Raspberry Pi Pico Wのようにボードに搭載された温度センサーは廃止になって使えないようなのでチュートリアルにあるThermistorを使うようにしてみました。LEDの点滅のソースコードも残して
#define PIN_ANALOG_IN 4
#define PIN_LED 2
void setup() {
Serial.begin(115200);
pinMode(PIN_LED, OUTPUT);
}
void loop() {
int adcValue = analogRead(PIN_ANALOG_IN); //read ADC pin
double voltage = (float)adcValue / 4095.0 * 3.3; // calculate voltage
double Rt = 10 * voltage / (3.3 - voltage); //calculate resistance value of thermistor
double tempK = 1 / (1 / (273.15 + 25) + log(Rt / 10) / 3950.0); //calculate temperature (Kelvin)
double tempC = tempK - 273.15; //calculate temperature (Celsius)
Serial.printf("ADC value : %d,\tVoltage : %.2fV, \tTemperature : %.2fC\n", adcValue, voltage, tempC);
digitalWrite(PIN_LED, HIGH);
delay(1000);
digitalWrite(PIN_LED, LOW);
delay(1000);
}
のような感じにすると、
![](https://assets.st-note.com/img/1689708714867-qPawosMMIe.png?width=1200)
のようにシリアルモニターに表示されました。
次は、Wifiへの接続です。これもチュートリアルの通りに書いて簡単に動作しました。
#include <WiFi.h>
const char *ssid_AP = "SSID";
const char *password_AP = "パスワード";
#define PIN_ANALOG_IN 4
#define PIN_LED 2
void setup() {
Serial.begin(115200);
pinMode(PIN_LED, OUTPUT);
delay(2000);
Serial.println("Setup start");
WiFi.begin(ssid_AP, password_AP);
Serial.println(String("Connecting to ")+ssid_AP);
while (WiFi.status() != WL_CONNECTED){
digitalWrite(PIN_LED, HIGH);
delay(250);
digitalWrite(PIN_LED, LOW);
delay(250);
Serial.print(".");
}
Serial.println("\nConnected, IP address: ");
Serial.println(WiFi.localIP());
Serial.println("Setup End");
}
この後、UDPでsyslogを送信する処理と、NTPで時計をあわせる処理を書けば完成しそうです。
micropythonよりC言語のほうが好きです。{}でとじているほうが安心できるのだと思います。この前作ったRaspberry Pi Pico WのソフトもArudino IDEに移植しようかと思います。
早く始めすぎたので疲れてきました。続きは今晩予習して明日のお楽しみにします。
明日に続く
いいなと思ったら応援しよう!
![twsnmp](https://assets.st-note.com/production/uploads/images/14333815/profile_ee1accba5615957e5029db85d57fdb0a.jpg?width=600&crop=1:1,smart)