ダイソーのリモコンシャッターをESP32で通信するためのヘルパー関数
BlueShutHackerのリポジトリとインストール
の記事で行った、ダイソーのリモコンシャッターをESP32で通信するためのロジックを、ライブラリ化してみましたのでご紹介いたします。その名も「BlueShutHacker」です!
リポジトリ
BlueShutHackerは、下記リポジトリでMITライセンスで公開中です。
https://github.com/aragig/BlueShutHacker
ライブラリのインストール
リポジトリからzipファイルなどでダウンロードしていただき、SharedBlueShutHacker.h
とSharedBlueShutHacker.cpp
ファイルをプロジェクト内に適宜配置してください。
PlatformIOをお使いの方でしたら、platformio.ini
に次のように記述することで自動インストールできます。
[env]
lib_deps = https://github.com/aragig/BlueShutHacker.git
BlueShutHackerの使い方と解説
#include <Arduino.h>
#include "BLEDevice.h"
#include "BlueShutHacker.h"
#define LED_PIN 13
;
BlueShutHacker blueShutHacker
void updateLedState(boolean state) {
.println("updateLedState");
Serial(LED_PIN, state ? HIGH : LOW);
digitalWrite}
void onButtonClick(boolean state) {
(state);
updateLedState}
void setup() {
.begin(115200);
Serial(LED_PIN, OUTPUT);
pinMode(LED_PIN, LOW);
digitalWrite
.begin(onButtonClick);
blueShutHacker}
void loop() {
.handler();
blueShutHacker(10); // 高負荷防止
delay}
スキャンする時間の設定
コンストラクタに引数を渡すことで、スキャンする時間の設定ができます。次のコードでは60秒スキャン時間を設けています。
(60); BlueShutHacker blueShutHacker
コールバック関数の登録
setup
内の次のコードで、ボタン押下時のコールバックイベントを登録します。
.begin(onButtonClick); blueShutHacker
コールバックされる際に、ボタンの状態をstate
で返します。iOS
と
android
ボタンの判別はありませんので、どちらのボタンが押されてもstate=true
になります。また、ボタンを離した瞬間にstate=false
が発生するようになってます。
void onButtonClick(boolean state) {
(state);
updateLedState}
関連記事
- ESP32(Arduino)で擬似マルチスレッド可能な「PollingTimer」ライブラリ開発のリリースノート
- ダイソーのBluetoothリモコンシャッターをESP32でハックする
- DS18B20の使い方|Arduino・ESP32・Raspberry Pi
- ESP32でLチカするまでの設定
- 【Raspberry Pi】はじめてのI2C設定