ホームページ > バックエンド開発 > Python チュートリアル > Python、Docker、Bluetooth を使用してスマート ヒーター コントローラーを構築する #1

Python、Docker、Bluetooth を使用してスマート ヒーター コントローラーを構築する #1

Patricia Arquette
リリース: 2024-12-31 15:06:18
オリジナル
820 人が閲覧しました

Building a Smart Heater Controller with Python, Docker, and Bluetooth #1

第 1 章: はじめに

スマート ヒーター コントローラーを構築する理由

私は最近、PythonDocker、および Terma MOA Blue ヒーター用の スマート暖房コントローラー を作成することに着手しました。 🎜>Bluetooth 低エネルギー (BLE)

問題

現在、

ホーム アシスタント (HA) とヒーターの間で通信するためのネイティブな方法は ありません

目標

私は、

季節限定賃貸物件のヒーターを次の目的で正確に制御する必要がありました。

  • エネルギー消費の最適化 - 宿泊客がチェックアウト時に温度設定を高くしすぎたり、ヒーターを付けたままにしたりすることを防ぎます。
  • 設定をリモートで管理 - 実際に施設を訪問することなく、高額な光熱費を回避できます。
  • 自動化を有効にする - 将来的には HA と統合して、スケジューリングと監視を改善します。
この投稿は、Raspberry Pi と Docker のセットアップから Bluetooth を直接制御するための Python スクリプトの作成までのプロセスを説明するシリーズの

第 1 章です。


テルマMOAブルーヒーターについて

Terma MOA Blue は、電気ラジエーターやタオルウォーマー用に設計された Bluetooth 対応の発熱体です。

主な機能:

  • 複数のモード:
    • マニュアル(室温)
    • マニュアル (発熱体温度)
    • スケジュールとタイマー
  • 温度制御:
    • 0.1°C ステップ の精度調整をサポートします。
  • Bluetooth 低エネルギー (BLE):
      モバイルアプリまたはカスタム統合を介したリモート制御を可能にします。
これらのヒーターはメーカーのモバイル アプリとシームレスに連携しますが、カスタム

Python/Docker セットアップ に直接統合することで、より柔軟性を高めたいと考えました。


ホーム アシスタント コミュニティに感謝します

BLE を使用してこれらのヒーターに接続するための基礎を築き、洞察を共有したホーム アシスタント コミュニティに大きな拍手を送りたいと思います。

彼らの議論は、

Bluetooth の特性がどのように構造化されているかを明らかにするのに役立ち、このプロジェクトで実装された技術の多くにインスピレーションを与えました。


プロジェクト概要

以下について説明します:

  1. Docker を使用して Raspberry Pi をセットアップします。
  2. BLE を使用してヒーターに接続する Python スクリプト を作成します。
  3. 温度データとヒーターモードのエンコードとデコード。
  4. 簡単にデプロイできるようにアプリを Docker にパッケージ化します。
  5. 複数のヒーターのサポート自動化などの将来の機能を計画しています。

Raspberry Pi のセットアップ

私は、このプロジェクトの中央コントローラーとして Raspberry Pi を使用することにしました。設定方法は次のとおりです:

  1. フラッシュ Raspberry Pi OS: 最新の Raspberry Pi OS イメージをダウンロードしてインストールします。
  2. SSH と Wi-Fi を有効にする: リモート開発を可能にするために、フラッシュ中に SSH アクセスと Wi-Fi 認証情報を構成します。
  3. Docker をインストールします: Docker を使用すると、デプロイとテストが容易になります。

コマンド:

sudo apt update
sudo apt install -y docker.io
sudo usermod -aG docker $USER
ログイン後にコピー
  1. Docker インストールのテスト:
docker --version
docker run hello-world
ログイン後にコピー

これにより、Docker がインストールされ、適切に実行されていることを確認します。


Git とリモート アクセスのセットアップ

コードの更新を簡素化するために、PC からのリモート アクセス用に SSH キーGit をセットアップしました。

主な手順:

  1. SSH キー ペアを生成します。
ssh-keygen -t ed25519 -C "your_email@example.com"
ログイン後にコピー
  1. 公開キーを GitHub に追加します。
  2. リポジトリのクローンを作成します。
git clone git@github.com:<username>/<repo>.git
ログイン後にコピー

リポジトリリンク

完全なソース コードは、私の GitHub リポジトリ:

で確認できます。 ? GitHub - ha-hudsonread-heater-control

お気軽にフォークしたり、改善を提案したり、問題を報告したりしてください!


Bluetoothでヒーターを制御する

Terma MOA Blue ヒーターは Bluetooth Low Energy (BLE) 経由で通信するため、Python の Bleak ライブラリ を使用して接続を処理しました。

これまでに実装された主な機能:

  • 読み取りおよび書き込み温度: UUID ベースの特性を使用します。
  • モード制御:オフ手動 (室温)、および 手動 (発熱体温度) の間で切り替えます。
  • 動的更新: モードに影響を与えずに温度を制御します。

現状と次のステップ

現在、コントローラーは次のことができます:

  • ヒーターに接続します。
  • 現在の温度目標温度を読み取ります。
  • モードの切り替えと温度調整を個別に行います。

次のステップ:

  • 複数のヒーターのサポートを追加します。
  • ホーム アシスタント または同様のプラットフォームとの統合により、自動化 を有効にします。

フォローアロング

第 2 章にご期待ください。ここでは、Python コード について詳しく説明し、BLE エンコードとデコードの仕組みを説明し、Bluetooth 接続のデバッグから得た洞察を共有します。

BLE デバッグについて詳しく知りたい人のために、bluetoothctl を使用した手動ペアリングおよび接続コマンドについても説明します。

GitHub リポジトリ を ⭐️ することを忘れずに、次に追加してほしい機能をコメント欄で教えてください。

以上がPython、Docker、Bluetooth を使用してスマート ヒーター コントローラーを構築する #1の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート