第 1 章:入门
为什么要构建智能加热器控制器?
我最近开始使用Python、Docker和Terma MOA Blue加热器创建一个智能加热控制器 🎜>低功耗蓝牙 (BLE)。
问题
目前没有本地方式在家庭助理(HA)和我的加热器之间进行通信。
目标
我需要精确控制我的季节性租赁房产的加热器,以便:
- 优化能源消耗—防止客人在退房时将温度设置得太高或打开加热器。
- 远程管理设置—无需亲自访问房产即可避免昂贵的取暖费。
- 启用自动化—将来与 HA 集成,以实现更好的调度和监控。
第一章,我将引导您完成整个过程 - 从设置 Raspberry Pi 和 Docker 到编写用于直接蓝牙控制的 Python 脚本。
关于 Terma MOA 蓝色加热器
Terma MOA Blue 是一款支持蓝牙的加热元件,专为电散热器和毛巾加热器而设计。
主要特点:
- 多种模式:
- 手动(室温)
- 手册(加热元件温度)
- 时间表和计时器
- 温度控制:
- 支持
- 0.1°C 步长的精确调节。
- 低功耗蓝牙 (BLE):
- 允许通过移动应用程序或自定义集成进行远程控制。
Python/Docker 设置中来获得更大的灵活性。
特别感谢家庭助理社区
我要大力赞扬家庭助理社区,他们奠定了基础并分享了有关使用
BLE 连接这些加热器的见解。
他们的讨论有助于阐明蓝牙特性的结构,并启发了该项目中实施的许多技术。
项目概况
我们将介绍:
- 使用 Docker 设置 Raspberry Pi。
- 使用BLE编写Python脚本连接到加热器。
- 编码和解码温度数据和加热器模式。
- 将应用程序打包在Docker中以方便部署。
- 规划未来的功能,例如多加热器支持和自动化。
设置树莓派
我决定使用Raspberry Pi作为该项目的中央控制器。我的设置方法如下:
- Flash Raspberry Pi 操作系统: 下载并安装最新的 Raspberry Pi 操作系统映像。
- 启用 SSH 和 Wi-Fi: 在刷新期间配置 SSH 访问和 Wi-Fi 凭据以启用远程开发。
- 安装 Docker: Docker 使部署和测试变得更加容易。
命令:
sudo apt update sudo apt install -y docker.io sudo usermod -aG docker $USER
- 测试 Docker 安装:
docker --version docker run hello-world
这将验证 Docker 是否已安装并正常运行。
设置 Git 和远程访问
为了简化代码更新,我设置了 SSH 密钥 和 Git 以从我的电脑进行远程访问。
关键步骤:
- 生成 SSH 密钥对:
ssh-keygen -t ed25519 -C "your_email@example.com"
- 将公钥添加到 GitHub。
- 克隆存储库:
git clone git@github.com:<username>/<repo>.git </repo></username>
存储库链接
您可以在我的GitHub 存储库中查看完整的源代码:
? GitHub - ha-hudsonread-heater-control
随意分叉它、提出改进建议或报告任何问题!
通过蓝牙控制加热器
Terma MOA Blue 加热器通过 低功耗蓝牙 (BLE) 进行通信,因此我使用 Python 中的 Bleak 库 来处理连接。
迄今为止实现的主要功能:
- 读写温度:使用基于UUID的特征。
- 模式控制:在关闭、手动(室温)和手动(加热元件温度)之间切换。
- 动态更新:控制温度而不影响模式。
当前状态和后续步骤
现在,控制器可以:
- 连接到加热器。
- 读取当前温度和目标温度。
- 独立切换模式和调节温度。
后续步骤:
- 添加对多个加热器的支持。
- 通过与家庭助理或类似平台集成启用自动化。
跟随
请继续关注第 2 章,我将深入研究 Python 代码,解释 BLE 编码和解码的工作原理,并分享调试蓝牙连接的见解。
我们还将为有兴趣深入了解 BLE 调试的任何人介绍使用 bluetoothctl 的手动配对和连接命令。
别忘了 ⭐️ GitHub 存储库,并在评论中告诉我您接下来希望看到添加哪些功能!
以上是使用 Python、Docker 和蓝牙构建智能加热器控制器 #1的详细内容。更多信息请关注PHP中文网其他相关文章!

本教程演示如何使用Python处理Zipf定律这一统计概念,并展示Python在处理该定律时读取和排序大型文本文件的效率。 您可能想知道Zipf分布这个术语是什么意思。要理解这个术语,我们首先需要定义Zipf定律。别担心,我会尽量简化说明。 Zipf定律 Zipf定律简单来说就是:在一个大型自然语言语料库中,最频繁出现的词的出现频率大约是第二频繁词的两倍,是第三频繁词的三倍,是第四频繁词的四倍,以此类推。 让我们来看一个例子。如果您查看美国英语的Brown语料库,您会注意到最频繁出现的词是“th

本文解释了如何使用美丽的汤库来解析html。 它详细介绍了常见方法,例如find(),find_all(),select()和get_text(),以用于数据提取,处理不同的HTML结构和错误以及替代方案(SEL)

处理嘈杂的图像是一个常见的问题,尤其是手机或低分辨率摄像头照片。 本教程使用OpenCV探索Python中的图像过滤技术来解决此问题。 图像过滤:功能强大的工具 图像过滤器

PDF 文件因其跨平台兼容性而广受欢迎,内容和布局在不同操作系统、阅读设备和软件上保持一致。然而,与 Python 处理纯文本文件不同,PDF 文件是二进制文件,结构更复杂,包含字体、颜色和图像等元素。 幸运的是,借助 Python 的外部模块,处理 PDF 文件并非难事。本文将使用 PyPDF2 模块演示如何打开 PDF 文件、打印页面和提取文本。关于 PDF 文件的创建和编辑,请参考我的另一篇教程。 准备工作 核心在于使用外部模块 PyPDF2。首先,使用 pip 安装它: pip 是 P

本教程演示了如何利用Redis缓存以提高Python应用程序的性能,特别是在Django框架内。 我们将介绍REDIS安装,Django配置和性能比较,以突出显示BENE

本文比较了Tensorflow和Pytorch的深度学习。 它详细介绍了所涉及的步骤:数据准备,模型构建,培训,评估和部署。 框架之间的关键差异,特别是关于计算刻度的

本教程演示了在Python 3中创建自定义管道数据结构,利用类和操作员超载以增强功能。 管道的灵活性在于它能够将一系列函数应用于数据集的能力,GE

Python是数据科学和处理的最爱,为高性能计算提供了丰富的生态系统。但是,Python中的并行编程提出了独特的挑战。本教程探讨了这些挑战,重点是全球解释


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境