Skocz do zawartości

Ardu i SIM800l, ogólna dyskusja...


farmaceuta

Pomocna odpowiedź

43 minuty temu, SOYER napisał:

Ja pytałem o baciki. Muszą/powinny być strojone pod GSM? Czy też, "lepiej żeby były, ale nie ma musu".

Tak raczej powinny...jako że tu szerokość pasma to nawet powyżej GHz to można stwierdzić że wzmocnienie tych anten jest do d...ale za to działają w szerokim paśmie...sam bym zrobił 0orzadne anteny, no ale właśnie..na jakie pasmo? To akurat ciężko stwierdzić...

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

11 minut temu, SOYER napisał:

Jj @ethanak

Co chcesz zrobić z tym sms? Coś wyodrębnić?

Dokładnie tak...SMS może mieć w swojej strukturze ZAPISZ/USUN/PIN...i muszę znalezdz te słowa zanim zacznę wyodrębniać nr tel itd...i właśnie mnie zastanawia czy to jest jeden String(mam nadzieję, bo w przeciwnym razie strasznie mi to życie skomplikuje)

Link do komentarza
Share on other sites

(edytowany)

@SOYER no właśnie też chce użyć tego indexOf bo sprawdza i jednocześnie zwraca mi pozycję, a tylko w ten sposób będę mógł wyodrębnić nr...sprawa by była dużo prostsza gdyby es zawsze miał ta samą długość, ale jako że data i godzina się zmienia to i długość całości też..coś tam już napisałem, tylko sprawdzić zostaje, jak coś to oczywiście wkleje😉 

Co do bufora to ja to robię tak że jeśli coś przyjdzie to sprawdzam czy połączenie czy SMS...jeśli SMS to dopiero sprawdzam czy przyszedł nr do zapisu/usunięcia/czy nr administratora...troszkę zamotane, ale nie wygląda jeszcze źle ten kod😜

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

49 minut temu, farmaceuta napisał:

chce użyć tego indexOf bo sprawdza i jednocześnie zwraca mi pozycję

Nieśmiało chciałbym zauważyć, że strstr zwraca wskaźnik do znalezionego napisu (lub NULL jeśli go nie znajdzie), co może być wygodniejsze.

Przykładowo:

strstr("To jest test SMS-a", "test")

zwróci wskaźnik do napisu "test SMS-a"

Niestety poleganie na strstr (czy indexOf czy co tam) to raczej takie radosne założenie, że w sms-ie jest dokładnie to co chcę. Przykładowo:

strstr("Wszyscy protestujemy przeciwko wyzyskiwaniu na forbocie","test")

zwróci wskaźnik do "testujemy przeciwko wyzyskiwaniu na forbocie", a nie zawsze o to nam chodziło 😉

Warto zapoznać się z funkcją strpbrk... ale o tym zdaje się wspominałem na czacie?

Aha, w ramach nauki odbierania sms-ów warto sprawdzić sobie jak są kodowane polskie ogonki (tudzież ogonki w innych językach) i zapoznać się z UTF-8.

Tyle ode mnie w sprawie szukania czegoś w napisach.

 

  • Lubię! 1
Link do komentarza
Share on other sites

W sumie zależy, zwykły "klasyczny" SMS to 140 bajtów, 160 znaków. 7 bitów na znak. Pewnie dlatego dziwne rzeczy trzeba robić, wysyłając i odczytując SMS Arduinem przez starego Sony Ericssona. Choć tutaj pewnie SIM robi robotę, której samemu nie trzeba robić.

Edytowano przez matsobdev
  • Lubię! 1
Link do komentarza
Share on other sites

Moje wiadomości będą wyglądać tak..

64467447 ZAPISZ
64335676 USUN 
64356755 14553 (jakis pin) 

Więc sądzę że nie będzie tak źle bo tylko na te słowa będę reagował...ja właśnie wolałbym indeks niż wskaźnik bo łatwiej się poruszać po wiadomości, a potem to tylko str.substring() i dalej robię z numerem co chcę...ale sprawdzę @ethanak tego strpbrk

Link do komentarza
Share on other sites

9 minut temu, _LM_ napisał:

A co jeśli będziesz chciał usunąć/zapisać kilka numerów z rzędu? 

Wysyłanie będzie pojedyncze, kod tak napisany że sprawdzam czy es doszedł i dopiero sprawdzam co mam zrobić z jego zawartością..

Link do komentarza
Share on other sites

#include <string.h>
#include <stdio.h>

int main () {
   char str[] = "ZAPISZ:123456789";
   const char s[] = ":";
   char *token;
   
   /* get the first token */
   token = strtok(str, s);
   
   /* walk through other tokens */
   while( token != NULL ) {
      printf( " %s\n", token );
    
      token = strtok(NULL, s);
   }
   
   return(0);
}

Wklej do jakiegoś kompilatora online, to jest chyba to czego szukasz leniu 😉

  • Pomogłeś! 1
Link do komentarza
Share on other sites

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!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.