NodeMCU上通过DS18b20采集室温

翻译 2015年07月15日 09:57:44

  NodeMCU 是一块集成了 ESP8266的单片机芯片,很适合在物联网领域的开发,因为有廉价的ESP8266的WIFI模块,因此在未来将会有一个比较广泛的应用。但现在这块板子资料还不够多,毕竟是刚出来的产品,不管从硬件上和软件上都有很大的进步空间。


  DS18B20是一个廉价的功能单一的传感器,在淘宝上的价格大约是4、5元,建议大家买DS18B20模块,这样就不用在面包板上接电阻了。

  下面通过一段LUA程序来显示一下如何来通过DS18b20来获取室内的温度。

pin = 9
ow.setup(pin)
count = 0
repeat
  count = count + 1
  addr = ow.reset_search(pin)
  addr = ow.search(pin)
  tmr.wdclr()
until((addr ~= nil) or (count > 100))
if (addr == nil) then
  print("No more addresses.")
else
  print(addr:byte(1,8))
  crc = ow.crc8(string.sub(addr,1,7))
  if (crc == addr:byte(8)) then
    if ((addr:byte(1) == 0x10) or (addr:byte(1) == 0x28)) then
      print("Device is a DS18S20 family device.")
        repeat
          ow.reset(pin)
          ow.select(pin, addr)
          ow.write(pin, 0x44, 1)
          tmr.delay(1000000)
          present = ow.reset(pin)
          ow.select(pin, addr)
          ow.write(pin,0xBE,1)
          print("P="..present)  
          data = nil
          data = string.char(ow.read(pin))
          for i = 1, 8 do
            data = data .. string.char(ow.read(pin))
          end
          print(data:byte(1,9))
          crc = ow.crc8(string.sub(data,1,8))
          print("CRC="..crc)
          if (crc == data:byte(9)) then
             t = (data:byte(1) + data:byte(2) * 256) * 625
             t1 = t / 10000
             t2 = t % 10000
             print("Temperature= "..t1.."."..t2.." Centigrade")
          end                   
          tmr.wdclr()
        until false
    else
      print("Device family is not recognized.")
    end
  else
    print("CRC is not valid!")
  end
end

arduino + esp8266+ ds18b20 采集温度上传贝壳网

第一次使用esp8266,想把数据上传到物联网平台,无意间发现贝壳物联这个平台,为了加快研发速度,采用arduino平台,但是第一次调试esp8266,吃了好多裤头,运气不佳,现把出现的问题总结一下,...
  • richardgann
  • richardgann
  • 2017年11月29日 11:41
  • 289

【ESP8266】基于ESP8266的MicroPython入门笔记

概述 本文是ESP8266运行MicroPython入门笔记,记录自己在探索MicroPython所见所思的同时,也顺便简单评估该开发方式的优缺点。 开发环境 ESP8266开发板: ES...
  • u012163234
  • u012163234
  • 2017年01月01日 16:36
  • 11345

esp8266利用nodemcu平台开发用lua语言开发

1.esp8266芯片的相关资料 esp8266的官方网站在:http://www.espressif.com/zh-hans nodemcu的官网在:http://nodemcu.com...
  • MENGHUANBEIKE
  • MENGHUANBEIKE
  • 2017年06月20日 18:07
  • 2502

nodemcu 8266修改DS18B20温度传感器分辨率

美国Dallas 半导体公司的数字化温度传感器DS18B20  支持 "一线总线"接口,所以用来测试温度很方便。 连线很简单了,到处都有 用LUA编写 关键是代码 下面是官方的标准代码,照用就是,...
  • silno
  • silno
  • 2017年06月05日 14:52
  • 1005

【记录】DS18B20的应用电路

原文地址:http://blog.chinaunix.net/uid-20251956-id-156588.html 1、DS18B20的应用电路     DS18B20测温系统具有测温系统简单、...
  • jiasike
  • jiasike
  • 2014年12月12日 23:07
  • 6652

mongoose-os读取ds18b20

使用NodeMCU 脚D4(GPIO2),这个脚默认有一个12K的上拉电阻,接淘宝买的ds18b20,可以省略外接一个上拉电阻。 使用timer回调来跳过等待1秒。 后期优化,可以把reset中几...
  • fengyu09
  • fengyu09
  • 2017年12月01日 16:46
  • 90

Stm32-实时采集数据(温度与一氧化碳)并且通过wifi模块(Esp8266)实时传输到电脑

功能:完成温度与一氧化碳的实时采集,并且通过wifi实时传输到电脑端(使用网络助手调试),同时也可以通过串口调试 wifi作为客户端,在电脑端可通过socket方式编写程序接收数据 思...
  • qq_28796345
  • qq_28796345
  • 2017年04月30日 17:47
  • 2076

NodeMCU远程温湿度监控电脑网页显示dht11

基于NodeMCU的DHT11温湿度远程监控 步骤: 1、用NodeMCU设置STATION模式。 2、NodeMCU账号密码连进WiFi。 3、NodeMCU设置为sever服务器,监...
  • haha1fan
  • haha1fan
  • 2017年04月10日 19:28
  • 1338

DS18b20温度传感器的使用

前期准备DS18B20温度传感器用户手册单线接口访问DS18B20的协议如下: 初始化 ROM操作命令 存储器操作命令 处理/数据 初始化 单线总线上的所有处理均从初始化序列开始。初始化序列包括总线主...
  • qq_36278071
  • qq_36278071
  • 2017年09月17日 19:22
  • 295

ESP8266采集SHT10温湿度

ESP8266通过GPIO模拟时序与SHT进行通信,SDA使用GPIO12,SCL使用GPIO13 #define WIFI_LINK_LED_IO_MUX PERIPHS_IO_MUX_MT...
  • luotong86
  • luotong86
  • 2017年05月29日 10:27
  • 807
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NodeMCU上通过DS18b20采集室温
举报原因:
原因补充:

(最多只允许输入30个字)