news 2026/6/12 13:40:12

OneWire单总线:玩转DS18B20温度传感器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OneWire单总线:玩转DS18B20温度传感器

今天我们就来特别聊一聊如何用OneWire实现最少的硬件资源连接多个传感器

什么是OneWire?

—— OneWire(单总线)是由Dallas Semiconductor(现Maxim Integrated)开发的通信协议,它只需要一根数据线(加上地线)即可实现双向通信

目前,LuatOS已全面支持OneWire,不仅提供高效易用的API,还准备了单传感器、多传感器两种经典应用模式的实战示例。

一、OneWire核心库

OneWire核心库提供完整的API,兼顾硬件级时序的可配置性与应用层操作的简洁性,显著降低开发门槛。

  • onewire.init(id)
    初始化OneWire总线;

  • onewire.timing(id, is_tick, clk_div, tRSTL, tRSTH, tPDHIGH, tPDLOW, tSLOT, tStart, tLOW1, tRDV, tREC)

    配置OneWire总线时序参数,用于匹配不同的单总线设备;

  • onewire.reset(id, need_ack)

    发送复位脉冲并检测设备是否存在;

  • onewire.bit(id, send1bit)
    硬件单总线发送或接收1bit;

  • onewire.tx(id, data, is_msb, need_reset, need_ack)
    发送数据到OneWire设备;

  • onewire.rx(id, len, cmd, buff, is_msb, need_reset, need_ack)
    硬件单总线读取N字节数据;

  • onewire.debug(id, onoff)
    单总线调试开关;

  • onewire.deinit(id)
    关闭单总线。

二、OneWire应用示例

基于DS18B20温度传感器的OneWire应用参考示例及实操教程,帮助开发者快速上手,实际应用中可结合具体业务需求灵活调整。

  • 单传感器功能模块(GPIO2默认OneWire功能,硬件通道0模式,3秒间隔连续监测);

  • 多传感器功能模块(引脚54/23切换,PWR_KEY按键控制,2秒间隔双路监测)。

以Air780EPM、Air780EHM系列核心板为例:

核心示例代码如下,完整demo详见源码仓库最新文件。

2.1 单传感器模式

核心逻辑:

  • 使用GPIO2默认OneWire功能,硬件通道0模式,无需引脚复用;

  • 完整的CRC8数据校验机制,确保数据可靠性;

  • 设备自动识别和ROM验证,支持设备类型检测;

  • 3秒间隔连续温度监测,实时温度报警功能;

  • zbuff缓冲区优化,提高数据传输效率。

2.2 多传感器模式

核心逻辑:

  • 初始化当前引脚的OneWire总线;

  • 发送SEARCH ROM命令扫描总线上的设备;

  • 读取并验证设备的64位ROM ID(家族码+序列号+CRC);

  • 使用MATCH ROM(0x55)命令选择目标设备;

  • 发送温度转换命令(0x44)并等待完成;

  • 读取温度数据并进行CRC校验;

  • 输出设备ROM ID、温度值、读取成功率。

在实际项目中,建议先用单个传感器调试通过,再扩展为多设备系统。

今天的内容就分享到这里了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/31 0:18:44

Linux 命令:diff3

概述 diff3 命令是三文件差异对比工具,是 diff 命令的扩展,核心作用是同时对比三个文本文件的内容差异,并精准标识出仅在单个文件出现、在两个文件共有、在三个文件都存在的行,还能输出合并冲突标记,是多人协作开发、…

作者头像 李华
网站建设 2026/5/31 15:26:33

基于springboot家政服务上门预约系统

前言 在当今信息化技术迅猛发展的时代背景下,基于Web前端技术搭建的信息服务平台凭借其便捷性与高效性,已赢得社会各界的广泛认可与大力支持。鉴于此,本文聚焦于社区家政服务领域中客户满意度与忠诚度偏低的现状,创新性地采用Vue与…

作者头像 李华
网站建设 2026/5/30 2:39:48

废品回收小程序开发玩法分析(附技术落地要点)

随着“双碳”政策深化与全民环保意识提升,传统废品回收“流程繁琐、激励不足、管控低效”的痛点凸显,废品回收小程序的核心竞争力已从“便捷预约”转向“玩法创新技术赋能”。不同于娱乐类小程序的趣味导向,废品回收小程序玩法设计需立足回收…

作者头像 李华
网站建设 2026/6/6 1:13:58

MATLAB代码《基于多智能体系统一致性算法的电力系统分布式经济调度》 软件环境:MATLAB 内容

MATLAB代码《基于多智能体系统一致性算法的电力系统分布式经济调度》 软件环境:MATLAB 内容:集中式优化方法难以应对未来电网柔性负荷广泛渗透以及电力元件“即插即用”的技术要求。 区别于集中式经济调度,提出一种电力系统分布式经济调度策略。 应用多智能体系统中…

作者头像 李华
网站建设 2026/6/11 4:02:58

python+vue开发的流浪猫救助系统 流浪宠物领养系统-pycharm DJANGO FLASK

文章目录技术栈选择系统功能模块技术实现要点扩展性设计大数据系统开发流程主要运用技术介绍源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!技术栈选择 Python作为后端开发语言,搭配Django或Flask框架提供API接口。…

作者头像 李华
网站建设 2026/6/7 3:23:55

RTSP 直播技术详解

RTSP 直播技术详解 目录 协议概述RTSP 与相关协议的关系RTSP 协议细节会话与媒体控制传输与负载典型直播架构与 RTMP/HLS/WebRTC 对比实践要点与常见问题总结与速查 一、协议概述 1.1 基本定义 RTSP(Real Time Streaming Protocol,实时流协议&#x…

作者头像 李华