最新情報
GRBLをESP32で無線 (Bluetooth) 化
CNCのGRBL基板、パソコンと有線接続なので、これを無線化にチャレンジ。
現行システムは、GRBLマイコンのATMEGA328Pからのシリアル信号を
秋月電子さんのAE-FT231Xを介してパソコンにUSB接続しています。
「ESP32-Devkit」でBluetoothのシリアル通信ができるそうなので、トライしてみます。
ブレッドボードでテスト。
ATMEGA328Pは「5V」、ESP32-Devkitは「3.3V」
注意点はここくらいでしょう。
いろいろネットで調べていると、ESP32でBluetooth経由の通信を試みている
nWorldさんのホームページがありました。
nWorld: ESP32のBluetoothでSPPを使ってみた (firtel.blogspot.com)
有難く、コピー 参考にさせていただきました。
シリアル1で受信したものをBluetoothで飛ばし
Bluetoothで受信したものをシリアル1に吐き出すだけです。
nWorldが「RN-42」ライクなLED表示にしてくれているので
そのまま利用させていただいております。
//———————————————
// 2022/10/07 Ver 1.00
// ESP32 Blutooth <———-> UART(TTL)
// ESP32Devkit 26pin RX —– Tx
// ESP32Devkit 27pin Tx —– Rx
//
// Daiyu Kano
//———————————————
#include <Arduino.h>
#include “BluetoothSerial.h”
#include “Ticker.h”
BluetoothSerial SerialBT;
Ticker ticker;
#define BUILTIN_LED 23 // BluetoothインジケーターLED
//———————————————
void ledBlink() {
volatile static int led = HIGH;
digitalWrite(BUILTIN_LED, led);
led = !led;
}
//———————————————
void callbackBT(esp_spp_cb_event_t event, esp_spp_cb_param_t *param) {
if (event == ESP_SPP_SRV_OPEN_EVT) {
//接続後LEDを点滅→点灯
ticker.detach();
digitalWrite(BUILTIN_LED,HIGH);
}else if (event == ESP_SPP_CLOSE_EVT) {
//切断後LEDを点滅させる
ticker.attach(0.5, ledBlink);
}
}
//———————————————
void setup() {
pinMode(BUILTIN_LED, OUTPUT); //BluetoothインジケーターLED
Serial.begin(115200);
Serial1.begin(115200, SERIAL_8N1, 26, 27); // 26pin=Rx 27pin=Tx
//BluetoothのMACアドレス取得?
uint8_t macBT[6];
esp_read_mac(macBT, ESP_MAC_BT);
//BluetoothのMACアドレスの下4桁を使用して固有のデバイス名作成
char btname[17];
sprintf(btname,”ESP32-GRBL-%02X%02X”,macBT[4],macBT[5]);
//Bluetoothのcallback関数設定
SerialBT.register_callback(callbackBT);
//先ほど作成したデバイス名でBluetooth開始
if(SerialBT.begin(btname)){
//Bluetoothが開始できたらLED点滅開始(接続待ち)
ticker.attach(0.5, ledBlink);
}
}
void loop() {
if (Serial1.available()) { // シリアル1 から来たデータを
char ch=Serial1.read(); // シリアル0(USB) と
Serial.write(ch); // Bluetooth へ
SerialBT.write(ch);
}
if (SerialBT.available()) { // Bluetooth から来たデータを
char ch=SerialBT.read(); // シリアル0(USB) と
Serial1.write(ch); // シリアル1 へ
Serial.write(ch);
}
}
回路図は、こんな感じ。
なんの工夫もありません。
基板に実装し、取り付けました。
ノートパソコンはもちろんの事、スマホからでも操作ができるで便利です。
加納大裕
-
- 2024.09.19
- 薪ストーブ、新城軽トラ市「49番ブース」、出店します。
-
- 2024.01.20
- 薪ストーブ出展 新城消防祭
-
- 2023.11.28
- SDGsへの貢献:薪ストーブ
-
- 2023.11.01
- 薪ストーブ今週末のイベント
-
- 2023.11.01
- 薪ストーブ納品 南信州うるぎ高原 風の森