už pár dní se neúspěšně pokouším rozchodit komunikaci mezi esp32 a arduino UNO s BLE modulem AT-09 skrze Bluetooth Low Energy.
Hlavním cílem mého snažení je připojit se z arduina k esp a odeslat hodnoty.
V esp32 mám software z této stránky http://navody.arduino-shop.cz/navody-k- ... y-ble.html a jeho spojení s mobilem funguje bezvadně. Pokud ale chci namísto mobilu připojit arduino, tak komunikace někde vázne.
Arduino (modul přestane blikat) i esp (začne odesílat data) signalizují, že jsou spojeny, ale ani jeden nepřijímá data od toho druhého.
V arduinu mam tento kod:
Kód: Vybrat vše
/*Posilani AT prikazu do BLE skrze seriovou linku. AT+HELP*/
#include <SoftwareSerial.h>
#define RX 2
#define TX 3
#define pinLED 13
#define STATEPIN 8
SoftwareSerial bluetooth(TX, RX); //premapovani seriove komunikace s BT na jine piny
long start = millis();
void setup()
{
Serial.begin(9600);
Serial.println("Test AT prikazu pro BLE");
bluetooth.begin(9600);
bluetooth.println("Arduino zapnuto, BT test");
pinMode(pinLED, OUTPUT);
pinMode(STATEPIN, INPUT);
}
void loop()
{
if (bluetooth.available() > 0) //vycitani prijatych zprav
{
char text = bluetooth.read();
Serial.print(text);
}
byte state = false;
long ted = millis();
if ((ted - start) > 10000)
{
start = millis();
while (!digitalRead(STATEPIN)) // zkontroluje stav pripojeni a odesle danou hodnotu
{
Serial.println("Nepripojeno");
bluetooth.print("AT+CONA30AEA4250606\r\n"); //prikaz pro pripojeni k MAC adrese
delay(100);
}
Serial.println("hotovo");
if (!state)
bluetooth.print("A");
else
bluetooth.print("B");
state = ~state;
digitalWrite(pinLED, HIGH);
delay(200);
digitalWrite(pinLED, LOW);
}
}