前提・実現したいこと
ESP32とPCをBluetooth通信し、javascriptからESP32をPCのGPIOピンのように制御したいです。
私が試している手法とは別の手法を用いて解決できるなら、そちらを教えていただきたいです。
手順としては、次の2つのwebサイトを参考にしました。
1.node.jsとjohnny-fiveを使って、JavaScriptでarduinoを操作してみる - LIFULL Creators Blog
2.JavaScriptエンジニアへのIoTのすすめ:Node.jsとArduinoでスマートデバイスのプロトタイプをしてみよう _ HTML5Experts.jp
ESP32にArduino IDEを用いてスケッチ例の「Standard Firmata」を書き込み、johnny-fiveを用いてjavascriptで制御しようと考えています。
現在、Arduino IDEにESP32の開発環境を作り、LチカのスケッチをESP32に書き込み、動作確認済みです。
発生している問題・エラーメッセージ
ESP32にStandard Firmataをコンパイルしようとすると次のようなエラーが出てコンパイルができません。
C:\Program Files (x86)\Arduino\libraries\Servo\src/Servo.h:73:2: error: #error "This library only supports boards with an AVR, SAM, SAMD, NRF52 or STM32F4 processor." #error "This library only supports boards with an AVR, SAM, SAMD, NRF52 or STM32F4 processor." ^ In file included from C:\Program Files (x86)\Arduino\libraries\Firmata/Firmata.h:17:0, from C:\Program Files (x86)\Arduino\libraries\Firmata\examples\StandardFirmata\StandardFirmata.ino:28: C:\Program Files (x86)\Arduino\libraries\Firmata/Boards.h:770:2: error: #error "Please edit Boards.h with a hardware abstraction for this board" #error "Please edit Boards.h with a hardware abstraction for this board"
Servo.hとBoards.hがESP32に対応していないと出てきます。
試したこと
①このエラーについて調査したところ、こちらのIssueにてESP32とStandardFirmataについて書き込みがありました。
Add ESP32 to board defs · Issue #315 · firmata_arduino · GitHub.html
StandardFirmataを使う代わりに、ConfigurableFirmataを使ってコンパイルを行ったのですが、同様にエラーが出てコンパイルすることができません。
② johnny-fiveを用いて制御する方法として、StandardFirmata以外に「ble-io」を用いる方法があることを見つけました。
GitHub - monteslu_ble-io_ IO client class for generic GPIO services and characteristics over Bluetooth Low Energy.html
この手法のesp32.inoスケッチは、Servo.hの代わりにESP32_Servo.hをライブラリに入れてサーボのエラーを解決し、コンパイルすることができました。
しかし、web上にサンプルが少なく、どのように使用すればよいのかわかりません。
補足情報(FW/ツールのバージョンなど)
Arduino IDEのバージョンは1.8.5を使用しています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。