ESP8266 NodeMCU Interface DSB1820
Real-World Use
Where this is useful?
- Monitoring room or industrial temperature.
- IoT projects (send temperature to cloud like MQTT, Blynk, or ThingSpeak).
- Smart home automation (AC/fan control).
- Data logging for greenhouse or aquarium.
Code of ESP8266 NodeMCU Interface DSB1820
local ow_pin = 1 -- gpio-02
ds18b20.setup(ow_pin)
ds18b20.read(
function(ind,rom,res,temp,tdec,par)
print(ind,
string.format("%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X",
string.match(rom,"(%d+):(%d+):(%d+):(%d+):(%d+):(%d+):(%d+):(%d+)")
),
res,temp,tdec,par
)
print("Temp : "..temp)
end,{});
Explanation
ow_pin = 1: Here you assign NodeMCU pin D1 (which maps to GPIO2) as the One-Wire bus pin for DS18B20.ds18b20.setup(ow_pin): Initializes the DS18B20 library to use that pin for communication.ds18b20.read(callback, {}): Reads temperature data from all connected DS18B20 sensors.- The callback function is triggered for each sensor with these parameters:
ind→ Index of the sensor (if multiple sensors are connected).rom→ Unique 64-bit ROM address of the DS18B20.res→ Resolution setting of the sensor (9 to 12 bits).temp→ Integer part of the measured temperature.tdec→ Decimal part of temperature (precision after decimal point).par→ Parasite power flag (1 if parasite powered, 0 otherwise).
Output of ESP8266 NodeMCU Interface DSB1820
1 28:FF:4C:60:91:16:05:3C 12 26 5 0 Temp : 26