Example Code for Arduino - Obtain Temperature & Humidity
This example introduces how data transmission works over WiFi in local area network. Users can learn how to access the IP address under the LAN to obtain the SHT30 temperature and humidity sensor status in another place.
Hardware Preparation
- FireBeetle 2 ESP32-C6 (SKU: DFR1075) * 1
- USB Type-C Cable (Included with the board) * 1
Software Preparation
- Download Arduino IDE: Click to download Arduino IDE
- Download and install the SHT3x Library. (About how to install the library?)
Connection Diagram

Other Preparation Work
-
Connect to WiFi "FireBeetle ESP32", password: 12345678
-
Access website http://192.168.4.1/GET to get the temperature & humidity information in local area network.
-
Refresh the temp & humi webpage to get the latest sensor data.
Sample Code
/*
Connect SHT30 to ESP32, get temperature & humidity via LAN
*/
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiAP.h>
#include <DFRobot_SHT3x.h>
//Select 0x45 when ADR is connected to VDD; select 0x44 when ADR goes to GND
//Default to 0x45, unnecessary to connect RST(reset pin)
DFRobot_SHT3x sht3x(&Wire,/*address=*/0x45,/*RST=*/4);
//Comment out the codes above when using SPI, and run the codes below
//DFRobot_SHT3x sht3x;
// Set WIFI name and password
const char *ssid = "FireBeetle ESP32";//WIFI Name
const char *password = "12345678";//Password
WiFiServer server(80);//Port 80 is the default web server port
//Display the last sensor feedback status
void setup() {
//pinMode(myLED, OUTPUT);
Serial.begin(115200);
Serial.println();
Serial.println("Configuring access point...");
//Delete password if you want an open network
WiFi.softAP(ssid, password);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
server.begin();
Serial.println("Server started");
//Init sensor
while (sht3x.begin() != 0) {
Serial.println("Failed to Initialize the chip, please confirm the wire connection");
delay(1000);
}
Serial.print("Chip serial number");
Serial.println(sht3x.readSerialNumber());
if(!sht3x.softReset()){
Serial.println("Failed to Initialize the chip....");
}
}
void loop() {
WiFiClient client = server.available(); // Detect waiting for connection
if (client) { // Connection detecting
Serial.println("New Client.");
String currentLine = ""; // Create a String variable to store data
while (client.connected()) { // Loop when keep connecting
if (client.available()) { // Detect is there is data on the connection
char c = client.read(); // Read the received data
//Serial.write(c); // Print on serial monitor
if (c == '\n') { // If an newline character is read
//Clear cached content
if (currentLine.length() == 0) {
client.print(" ");
break;
} else { // Clear cached data in variable if there is one newline character
currentLine = "";
}
} else if (c != '\r') { // If characters except Carriage Return is obtained
currentLine += c; // Add the obtained character to end of the variable
}
// Check if /GET is obtained at the end
if (currentLine.endsWith("/GET")) {
//Read temperature and humidity
float temp = sht3x.getTemperatureC();
float humi = sht3x.getHumidityRH();
//Print on webpage
client.print("temp (C): "); client.println(temp);
client.print("humi (%RH): "); client.println(humi);
}
}
}
// disconnect
client.stop();
Serial.println("Client Disconnected.");
}
}
Result
You can access the website through a mobile phone, computer, etc. to obtain the temperature and humidity under the LAN.

Other Supplementary Information
Member function
-
WiFi.softAP(ssid, password)
-
Description: Similar to opening the hotspot with the set WIFI account
-
Parameter:
-
ssid: WIFI name
-
password: WIFI password
-
-
-
WiFi.softAPIP()
- Description: WIFI IP address
Was this article helpful?
