farmaceuta 31 stycznia Autor tematu Udostępnij 31 stycznia 14 minut temu, SOYER napisał: @farmaceuta że to nie Twój program nie widzi dzwonienia, tylko, że sim nie informuje Twojego programu o tym ,że ktoś dzwoni. Jeśli chodzi o SMS to jeszcze bym zrozumiał że coś "uciekło" i mam błędne info, bo SMS nie zapisuje więc mam tylko jedną szansę odczytania go bezpośrednio na serialu, no ale dzwonienie wysyła cykliczny komunikat więc powinno "wkoncu" złapać...no ale sprawdzę jeszcze jedna rzecz.... Cytuj Link do komentarza Share on other sites More sharing options...
SOYER 31 stycznia Udostępnij 31 stycznia 1 minutę temu, farmaceuta napisał: więc powinno "wkoncu" złapać.. oj @ethanak to by Cię za takie pisanie programu pewnie "pochwalił". Cytuj Link do komentarza Share on other sites More sharing options...
SOYER 31 stycznia Udostępnij 31 stycznia 2 minuty temu, farmaceuta napisał: no ale sprawdzę jeszcze jedna rzecz.... wklej do szkicu linijki wypisujące na serial monitorze wszystko co wysyła sim i zadzwoń na moduł. Nic więcej nie musisz robić na razie 1 Cytuj Link do komentarza Share on other sites More sharing options...
SOYER 2 lutego Udostępnij 2 lutego @farmaceuta zrobiłeś te testy? Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
farmaceuta 2 lutego Autor tematu Udostępnij 2 lutego Dnia 31.01.2023 o 20:31, SOYER napisał: wklej do szkicu linijki wypisujące na serial monitorze wszystko co wysyła sim i zadzwoń na moduł. Nic więcej nie musisz robić na razie Tak..zrobiłem to i działa na sprawnych płytkach...ale po jakimś czasie zaczynają Arduina świrować i nie da się już nic wgrać ani odczytać z SIM... Cytuj Link do komentarza Share on other sites More sharing options...
SOYER 2 lutego Udostępnij 2 lutego Czyli to nie tak, że simy się wieszały i nic nie wysyłały, jednak to nie była ich wina? Teraz to arduino świrują, a jak to się objawia? Cytuj Link do komentarza Share on other sites More sharing options...
_LM_ 2 lutego Udostępnij 2 lutego (edytowany) @SOYER https://forbot.pl/forum/topic/22479-stk500_getsync-attempt-not-in-sync/?do=getNewComment Edytowano 2 lutego przez _LM_ Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta 2 lutego Autor tematu Udostępnij 2 lutego 46 minut temu, SOYER napisał: Czyli to nie tak, że simy się wieszały i nic nie wysyłały, jednak to nie była ich wina? No wychodzi na to że nie...tak jakby po jakiś czasie pracy na uart sprzętowym z SIM, Ardu zaczyna świrować... Cytuj Link do komentarza Share on other sites More sharing options...
SOYER 3 lutego Udostępnij 3 lutego (edytowany) @farmaceuta wstaw tu Twój szkic, który masz wgrany. Niech koledzy na niego popatrzą, szczególnie pod kątem tego co robisz z tym co wysyła sim. Wklej. Edytowano 3 lutego przez SOYER Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta 3 lutego Autor tematu Udostępnij 3 lutego (edytowany) void wjazdSIM() { uint32_t numer_adm = 0; uint32_t numer = 0; uint32_t admin = 0; String nr_adminS = ""; bool flaga = 0; while (Serial.available()) { delay(10); dane1 = Serial.readString(); // Serial.println(dane1); } if (dane1.indexOf("+CMT") != -1) { //czy odebrano sms nr_adminS = dane1.substring(12, 21); numer_adm = atol(nr_adminS.c_str()); if (numer_adm == baza_nr[0]) { flaga = 1; } else { flaga = 0; } } if (dane1.indexOf(haslo) != -1) { //zapisanie nr administratora numer = nr(haslo, 10, 1); eeprom_write_dword(&epr_nr[0], numer); baza_nr[0] = numer; wyslij_sms("ZAPISANO NR ADMINISTRATORA"); } if (dane1.indexOf("ZAPISZ") != -1 && flaga == 1) { //zapisanie nr do bazy numer = nr("ZAPISZ", 10, 1); for (int x = 1; x < ILOSC_NR; x++) { if (baza_nr[x] == numer) { return; } } for (int x = 1; x < ILOSC_NR; x++) { if (baza_nr[x] == 0) { eeprom_write_dword(&epr_nr[x], numer ); baza_nr[x] = numer; wyslij_sms("ZAPISANO NUMER"); break; } } flaga = 0; } if (dane1.indexOf("USUN") != -1 && flaga == 1) { //usuniecie nr z bazy numer = nr("USUN", 10, 1); for (int x = 1; x < ILOSC_NR; x++) { if (baza_nr[x] == numer) { eeprom_write_dword(&epr_nr[x], 0); baza_nr[x] = 0; wyslij_sms("USUNIETO NUMER"); break; } } flaga = 0; } if (dane1.indexOf("+CLIP") != -1) { //sprawdzenie czy dzwoni numerS = dane1.substring( 21, 30); numer = atol(numerS.c_str()); for (int x = 0; x < ILOSC_NR; x++) { if (baza_nr[x] == numer) { wjazd_flaga = 1; digitalWrite(pin_brama, LOW); delay(1000); digitalWrite(pin_brama, HIGH); Serial.println("ATH"); delay(100); return; } } } if (dane1.indexOf("+CREG") != -1) { //sprawdzenie czy jest polaczenie if (dane1.indexOf("1") == -1 && dane1.indexOf("5") == -1) { Serial.println("AT+CFUN=0"); delay(2000); Serial.println("AT+CFUN=1"); } } if (millis() - czas_sygnal > 60000UL) { //sprawdzanie polaczenia co 60s czas_sygnal = millis(); Serial.println("AT+CREG?"); delay(10); } } uint32_t nr(String str, int a, int b) { //funkcja zwracajaca liczbe/nr indeks = dane1.indexOf(str); numerS = dane1.substring(indeks - a, indeks - b); return atol(numerS.c_str()); } void wyslij_sms(String str) { //wysylanie sms String nr = (String)baza_nr[0]; Serial.println("AT+CMGS=\"+48" + nr + "\""); Serial.println(str); delay(2000); Serial.write(26); } void wyjazdSIM() { String numerSS = ""; uint32_t numerr = 0; while (simWYJAZD.available()) { delay(10); dane2 = simWYJAZD.readString(); // Serial.println(dane2); } if (dane2.indexOf("+CLIP") != -1) { numerSS = dane2.substring(21, 30); numerr = atol(numerSS.c_str()); for (int x = 0; x < ILOSC_NR; x++) { if (baza_nr[x] == numerr) { wyjazd_flaga = 1; digitalWrite(pin_brama, LOW); delay(1000); digitalWrite(pin_brama, HIGH); simWYJAZD.println("ATH"); delay(100); return; } } } if (dane2.indexOf("+CREG") != -1) { if (dane2.indexOf("1") == -1 && dane2.indexOf("5") == -1) { simWYJAZD.println("AT+CFUN=0"); delay(2000); simWYJAZD.println("AT+CFUN=1"); } } if (millis() - czas_sygnal2 > 60000UL) { czas_sygnal2 = millis(); simWYJAZD.println("AT+CREG?"); delay(10); } } W kodzie nie ma nic nadzwyczajnego...jak coś przyjdzie to zapisuje do Stringa, a później sprawdzam w if'ach czy znalazłem dana fraze...jeśli tak to zapisuje/kasuje dany nr lub reaguje na dzwonienie...i tyle... Edytowano 3 lutego przez farmaceuta Cytuj Link do komentarza Share on other sites More sharing options...
ethanak 3 lutego Udostępnij 3 lutego 1 godzinę temu, farmaceuta napisał: jak coś przyjdzie to zapisuje do Stringa, a później sprawdzam w if'ach A jak nic nie przyjdzie to sprawdzasz co przyszło poprzednio... Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta 3 lutego Autor tematu Udostępnij 3 lutego (edytowany) 3 godziny temu, ethanak napisał: A jak nic nie przyjdzie to sprawdzasz co przyszło poprzednio... Ok sprawdzę zaraz...chociaż to już mnie nie martwi, a to że dwa pro mini już chyba dokończyły żywota, a Uno już kilka razy zdechło, a mam tylko Uno jeszcze na chodzie, jak padnie to dupa...😕 (ESP za cholerę nie podłącze) Edytowano 3 lutego przez farmaceuta Cytuj Link do komentarza Share on other sites More sharing options...
_LM_ 3 lutego Udostępnij 3 lutego (edytowany) Skoro tak Ci padają te arduina to trzeba wpierw znaleźć przyczynę a nie liczyć na to że się jakoś uda, być może z modułu przedostają się jakieś szpilki napięciowe i to je uszkadza - w co wątpię ale też nie da się określić co jak jest połączone jak nie chcesz podać dokumentacji. Nie bez powodu pisałem żebyś te moduły przetestował na zwykłych przejściówkach i podawał polecenia z ręki. Dałoby Ci to pogląd na to jak sterować tymi modułami i co one i kiedy zwracają. No ale jak ktoś jest uparty to nic nie wskóramy I nie ględź że tu czy tu opisujesz to jak masz połączone, to jest forum techniczne i tobie powinno zależeć na tym aby ułatwić nam udzielenie pomocy. Edytowano 3 lutego przez _LM_ Cytuj Link do komentarza Share on other sites More sharing options...
SOYER 3 lutego Udostępnij 3 lutego (edytowany) 25 minut temu, farmaceuta napisał: Ok sprawdzę zaraz...chociaż to już mnie nie martwi, a to że dwa pro mini już chyba dokończyły żywota, a Uno już kilka razy zdechło, a mam tylko Uno jeszcze na chodzie, jak padnie to dupa...😕 (ESP za cholerę nie podłącze) @farmaceuta powinno Cię martwić to co napisał @ethanak, rozumiesz co on napisał? Jeśli coś przyszło z sim to zapisujesz do swojego Stringa. Jednak jeśli nie przyszło to i tak robisz którąś z akcji zawartą w funkcji, bo w swoim sstringu z odczytu masz pozapisywane dane z poprzednich akcji. Jesli odpalisz funkcję wjazdSIM() program i tak wykonuje jakieś działanie, niezależnie od tego czy coś przyszło z sim czy nie przyszło. Więc jeśli masz funkcję wjazdSIM() w pętli głównej, to nie dziwota, że muli Ci albo arduino albo sim, a ty myślisz, że sie wieszają... Niech szanowni koledzy mnie poprawią jeśli się mylę. Edytowano 3 lutego przez SOYER Cytuj Link do komentarza Share on other sites More sharing options...
SOYER 3 lutego Udostępnij 3 lutego Wklej cały szkic kolego mój sympatyczny😁. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!