モチベーション

  • M5 Stackとかで電子工作を楽しむ
  • 座りっぱなしを防止するアラートシステム + Grafanaでデータを可視化する

ピンアウト:

RJ45端子とESP32の接続ピンは以下の通りです:

RJ45ピン名前ESP32ピン
8+5VVIN
7GNDGND
6TXTX2 (GPIO17)
5RXRX2 (GPIO16)
4PIN 20D23 (GPIO23)
3不明
2SWIM
1RES

コマンド:

デスクを操作するためには、以下のコマンドを制御ボックスに送信します。例えば、デスクを上昇させるには「Up」コマンドを送信します。

コマンド名コマンドの開始長さ種類ペイロードチェックサム
Wake Up9b060200 006c a1
Up9b060201 00fc a0
Down9b060202 000c a0

このように、デスクの制御パネルにはシリアル通信でコマンドを送信する形になります。 このプロジェクトを実行するために最低限必要なものは以下の通りです:

1. FlexiSpot(LoctekMotion)デスク

  • まず、LoctekMotionまたはFlexiSpotの電動スタンディングデスクが必要です。これには、制御パネルにRJ45ポートが付いている必要があります。

2. ESP32 ボード

  • ESP32は、デスクの制御をHome Assistantなどのスマートホームシステムに接続するための主要なモジュールです。
  • ESP32を使ってデスクの高さを制御するための設定ファイル(office-desk-esp32.yaml)が提供されています。

3. RJ45 ケーブル & 変換アダプタ

  • デスクの制御パネルにあるRJ45ポートをESP32に接続するためのケーブルが必要です。
  • もしRJ45ポートを直接ESP32に接続できない場合は、RJ45 to RS232アダプタが役立ちます。これを使用して、RJ45ポートとESP32を接続します。

4. Home Assistant

  • ESP32を使ってデスクを制御するためには、Home Assistantなどのスマートホームシステムが役立ちます。これをセットアップし、ESP32モジュールと連携させることが基本的な流れです。

5. 電源供給

  • ESP32には電源が必要です。通常、USB経由で供給できますが、デスクの制御パネルに5V(VDD)を供給するピンもあるため、電源の接続に関する計画を立てる必要があります。

6. ソフトウェア・ファームウェア

  • ESPHome: ESP32を設定するために、ESPHomeを使用します。ESPHomeをインストールし、office-desk-esp32.yamlを使ってESP32をプログラムします。
  • 必要な設定(例えば、ボードの種類やGPIOピンの設定)を行うための基本的な知識が求められます。

7. ピン配置の理解

  • デスクの制御パネルとESP32を接続するために、RJ45のピン配置を理解しておく必要があります。ピン配置表に基づいて、ESP32のどのGPIOピンに接続するかを決めます。

8. 基本的なハードウェアの取り扱いスキル

  • ジャンパーワイヤーやはんだ付け(必要に応じて)など、電子機器の取り扱いに自信があることが望ましいです。

9. コマンドの理解

  • もし自分でコマンドを発行してデスクを操作する場合、コマンドのリスト(例えば、“Up”や”Down”など)を理解し、実行できるようにする必要があります。

補足情報:

  • 制御パネルの種類による差異: あなたが使用しているFlexiSpot(LoctekMotion)のデスクのモデルによって、RJ45のピン配置が異なる場合があります。ドキュメントに記載されている制御パネルのピン配置を確認し、それに合った接続を行うことが重要です。
  • リスク管理: 電子機器を扱うため、作業中に誤って機器を壊さないように十分に注意する必要があります。特に、デスクの制御に関する部品を変更する際には、注意深く作業を進めてください。

これらを揃えた後、手順に従って接続を行い、ESPHomeやHome Assistantを使ってデスクの操作をスマート化することができます。