|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2024 12 13, 18:24. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Mikrovaldikliai » ESP8266 USART
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
|
|
|
ESP8266 USART |
Parašytas: 2022 07 22, 17:47 |
|
|
|
Sveiki,
turiu tokia problemytę ir niekaip nerandu sprendimo. Naudoju ESP8266 ir SIM800L. Šiunčiu AT komandas ir laukiu atsakymo. Gavęs atsakymą ieškau ar jame yra reikalingas man žodis. Pastebėjau, kad perkrovus esp8266 mikrovaldikliuka ir tada nusiuntus komandą į SIM800L gautas atsakyme neranda reikalingo žodžio, tačiau jis ten yra. Antrą kartą išsiuntus tą pačią AT komandą ir gautam atsakyme yra viskas gerai. Atsakyme yra reikalingas žodis ir jį programa randa.
Pridėjau nuotrauką, kokia informacija gaunu. Pirma eilutė yra po mikrovaldiklio perkrovimo. siunčiama komanda į SIM800L "AT+SAPBR=3,1, Contype, GPRS" apačioje skaičius pabrauktas rodo, kurioje vietoje rado atsakymą "OK". Tai po pirmos komandos jis yra -1. O toliau siunčiu tą pačia komandą ir atsakymas toks pa, bet reikalinga žodį randa 28 vietoje. Ir viskas veikia kol vėl neperkraunu Mikrovaldiklio. gal kas nors žinot, kur gali būti problemą. Reikalinga žodį ieškoti naudoju indexOF() funkciją.
Pridedu arduino kodą:
Kodas: |
#include <SoftwareSerial.h>
SoftwareSerial Serial2(14, 12); // RX, TX
int testas=0;
String zinute="";
void setup() {
Serial.begin(115200);
Serial2.begin(9600);
delay(1500);
}
void loop() {
delay(10000);
Serial.println(" --- CONFIG GPRS --- ");
gsm_send_serial("AT+SAPBR=3,1,Contype,GPRS", "OK", 10000);
}
void gsm_send_serial(String command, String atsakymas, int timeout) {
Serial.println("Send ->: " + command);
Serial2.println(command);
zinute="";
long wtimer = millis();
while (wtimer + timeout > millis() && testas==0) {
while (Serial2.available()) {
zinute=Serial2.readString();
Serial.println(zinute.indexOf(atsakymas));
Serial.println("=====================================");
Serial.println(zinute);
Serial.println("=====================================");
if(zinute.indexOf(atsakymas)>=0)
Serial.println("Find word" + atsakymas);
testas=1;
}
}
testas=0;
} |
|
|
_________________ Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku. |
|
|
|
|
|
ESP8266 USART |
Parašytas: 2022 07 22, 20:44 |
|
|
|
Nelabai aisku kur problema? Ar nerandi zodzio visai, ar randi ne ten, kur tikiesi?
Ar pries viska darydamas nusiunti ATE0 komanda? Jei ne, tai modemas tau atkartoja (echo) visa tavo nusiusta komanda plius '\r' ir '\n' simbolius gale. Tiksliai neskaiciavau, bet tai turbut ir bus 28 simboliai?
As arduino nenaudoju, tai ir funkciju nezinau, bet GSM modemo atsakymo paieskoms naudoju C funkcija strstr()
https://www.tutorialspoint.com/c_standard_library/c_function_strstr.htm |
|
|
|
|
|
|
ESP8266 USART |
Parašytas: 2022 07 25, 10:00 |
|
|
|
Socrates rašo: |
Nelabai aisku kur problema? Ar nerandi zodzio visai, ar randi ne ten, kur tikiesi?
Ar pries viska darydamas nusiunti ATE0 komanda? Jei ne, tai modemas tau atkartoja (echo) visa tavo nusiusta komanda plius '\r' ir '\n' simbolius gale. Tiksliai neskaiciavau, bet tai turbut ir bus 28 simboliai?
As arduino nenaudoju, tai ir funkciju nezinau, bet GSM modemo atsakymo paieskoms naudoju C funkcija strstr()
https://www.tutorialspoint.com/c_standard_library/c_function_strstr.htm |
Sunku patikėti, bet ATE0 komanda padėjo |
|
_________________ Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku. |
|
|
|
|
|
ESP8266 USART |
Parašytas: 2022 07 25, 17:54 |
|
|
|
pcwortex rašo: |
Socrates rašo: |
Nelabai aisku kur problema? Ar nerandi zodzio visai, ar randi ne ten, kur tikiesi?
Ar pries viska darydamas nusiunti ATE0 komanda? Jei ne, tai modemas tau atkartoja (echo) visa tavo nusiusta komanda plius '\r' ir '\n' simbolius gale. Tiksliai neskaiciavau, bet tai turbut ir bus 28 simboliai?
As arduino nenaudoju, tai ir funkciju nezinau, bet GSM modemo atsakymo paieskoms naudoju C funkcija strstr()
https://www.tutorialspoint.com/c_standard_library/c_function_strstr.htm |
Sunku patikėti, bet ATE0 komanda padėjo |
Tavo komanda, kuria nusiunti i modema yra 25 simboliu. Modemas atkartoja tau ta pacia atgal, plius prideda <CR> ir <LF>, o tada paraso OK. Tai atsakymo OK pirmas simbolis yra 28-toje vietoje.
Jei pradzioje nusiunti ATE0, tai komandos atkartojima isjungei ir modemas tik atsako OK<CR><LF>.
P.S. Visai sveika zinutes pabaigoje ieskoti netik OK, bet OK<CR><LF>. |
|
|
|
|
|
|
Google paieška forume |
|
|
Naujos temos forume |
|
|
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
|
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
|
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
|
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
|
LEGO
Mänguköök,
mudelautod,
nukuvanker |
|
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
|
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
|
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
|
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
|
GTA 6 Weapons
GTA 6 Characters,
GTA 6 Map,
GTA 6 Vehicles |
|
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
|
|
|