Также не работает предложенный способ отправки данных по BT.
Использовал свой способ добытый ранее на просторах интернета и доработанный - кому надо пользуйтесь (в виджете использована команда
PHP код:
<led:on>|<led:off>
"
PHP код:
#include <string.h>
char command[10];
char data[10];
int Butt; //статус конпки нажата/отпущена
int ButtS=0; //статус была ли уже нажата ил отпущена кнопка
void setup() {
pinMode(7, INPUT); //кнопка на 7 пине
Serial1.begin(9600);
pinMode(13, OUTPUT);
digitalWrite(13,HIGH);
}
void loop() {
Butt=digitalRead(7);
//при нажатиикнопки:
if (Butt==1&ButtS==0) {
Serial1.print("<time:");
Serial1.print(millis());
Serial1.print(">\n");
ButtS=1;}
//При отпускании кнопки:
if (Butt==0&ButtS==1) {
Serial1.print("<click:");
Serial1.print(digitalRead(7));
Serial1.println(">");
ButtS=0;
}
//******************** читаем передачу в сериал1
int i=0;
char buffer[100];
//если есть данные - читаем
if(Serial1.available()){
delay(100);
//загоняем прочитанное в буфер
while( Serial1.available() && i< 99) {
buffer[i++] = Serial1.read();
}
//закрываем массив
buffer[i++]='\0';
}
//если буфер наполнен
if(i>0){
//разбераем его на части отделенные двоеточием
sscanf(buffer, "<%[^:]:%[^>]", &command, &data);
//выполняем команды
if (strcmp(command, "led")==0 & strcmp(data, "on")==0) {Serial1.println("<ON>"); digitalWrite(13, HIGH);}
if (strcmp(command, "led")==0 & strcmp(data, "off")==0) {Serial1.println("<OFF>"); digitalWrite(13, LOW);}
//пишем какую команду получили
Serial1.print("<");
Serial1.print(command);
Serial1.print(":");
Serial1.print(data);
Serial1.println(">");
command [0] = '\0';
data [0] = '\0';
}
//***************** закончили читать передачу в сериал 1
}