Доброго всем времени суток, други мои!
Одно устройство работает у меня уже лет с пяток: начиналось всё с релюх 220в, потом 24, потом появилась Нана 3.0 и уже с пол-года как собрана на АТ168Р разработанная в СпринтЛайауте и изготовленная в поднебесной плата, но (как говорится) - совершенству предела нет... Вот и ... Стало быть приспичило мне "прикрутить" к этому делу ещё и ВайВай.
Дабы долго не растолковывать: где-что-почём - вот:
По-моему и так ясно, что общение происходит через АТ-команды... Но есть пара вопросов к "не хило рубящим":
1 - почему иной раз btSend приходится нажимать дважды (ибо с первого раза ответ не приходит) как в случае (например) с Get_Data? Ведь 13:07:15-13:07:09=6 секунд: "таймаут" - будь здрав какой и, кстати, тем же таймаутом ранее отправлен "Buzzer2" на что ТСРдрайвер за те же 6 секунд выдал адекватное ОнМессаге. Первая мысля была: а не крякозябры ли (что в мониторе СОМ7) виноваты? Однако её отвергает тот же (параллельно слушающий весь диалог через микроUSB (NodeMCU 0.9)) ESPlorer:
некорректно отображается только кириллица, а СОМ7 - только для отладки: можно забить и в релизе можно высвободтить пару килобайт Нановской флэшки, убрав Сериал.бегин и всё остальное... Может где-то увеличить тайминги? Сделать не
а
Или же организовать такое:
И 2-ой вопрос аппаратный: отпал сам собой: не было GNDы между Наной и НодеМЦУ.
З.Ы. Для особливо: страждущих - прикрепляю дельфийский исходник FTCPdriverа (TCPClientDemo.zip - правда там он в Андрюхиной рубашке); интересующихся (типа: код - в студию) - скетч (ESP_WiFi_connect.zip).
Одно устройство работает у меня уже лет с пяток: начиналось всё с релюх 220в, потом 24, потом появилась Нана 3.0 и уже с пол-года как собрана на АТ168Р разработанная в СпринтЛайауте и изготовленная в поднебесной плата, но (как говорится) - совершенству предела нет... Вот и ... Стало быть приспичило мне "прикрутить" к этому делу ещё и ВайВай.
Дабы долго не растолковывать: где-что-почём - вот:
По-моему и так ясно, что общение происходит через АТ-команды... Но есть пара вопросов к "не хило рубящим":
1 - почему иной раз btSend приходится нажимать дважды (ибо с первого раза ответ не приходит) как в случае (например) с Get_Data? Ведь 13:07:15-13:07:09=6 секунд: "таймаут" - будь здрав какой и, кстати, тем же таймаутом ранее отправлен "Buzzer2" на что ТСРдрайвер за те же 6 секунд выдал адекватное ОнМессаге. Первая мысля была: а не крякозябры ли (что в мониторе СОМ7) виноваты? Однако её отвергает тот же (параллельно слушающий весь диалог через микроUSB (NodeMCU 0.9)) ESPlorer:
Код:
+IPD,0,9:Buzzer1
AT+CIPSEND=0,15
OK
> Buzzer1 - OK!!!
busy s...
Recv 15 bytes
AT+CIPCLOSE=0
busy s...
SEND OK
+IPD,0,9:Buzzer2
AT+CIPSEND=0,24
OK
> Buzzer2 - принято
busy s...
Recv 24 bytes
AT+CIPCLOSE=0
busy s...
SEND OK
+IPD,0,10:Get_Data
+IPD,0,10:Get_Data
AT+CIPSEND=0,25
OK
> Get_Data - принято
busy s...
Recv 25 bytes
AT+CIPCLOSE=0
busy s...
SEND OK
0,CLOSED
C++:
delay(10);
C++:
delay(15);// или
delay(20);
C++:
String sendToClient(String str){
//Description: Function used to send string to tcp client using CIPSEND
String len = "";
len += String(str.length());
while(!readWifiSerialMessage() == "принято") do{
sendToWifi("AT+CIPSEND=0,"+len,responseTime,DEBUG);
delay(10);
len = sendToWifi(str,responseTime,DEBUG);
Serial.println(len);
delay(10);
sendToWifi("AT+CIPCLOSE=0",responseTime,DEBUG);
}
len = readWifiSerialMessage();
return len;
}
З.Ы. Для особливо: страждущих - прикрепляю дельфийский исходник FTCPdriverа (TCPClientDemo.zip - правда там он в Андрюхиной рубашке); интересующихся (типа: код - в студию) - скетч (ESP_WiFi_connect.zip).
Вложения
-
2.8 KB Просмотры: 13
-
9.5 KB Просмотры: 12