Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Atmega8] [BASCOM] Moduł GSM ze sterowaniem SMS

xury 27 Wrz 2009 13:19 53150 94
  • #1 27 Wrz 2009 13:19
    xury
    Poziom 39  

    Chciałem przedstawić mój pierwszy projekt w BASCOMie.
    Jest to moduł komunikacji mikrokontrolera z telefonem komórkowym poprzez sprzętowy UART.
    [Atmega8] [BASCOM] Moduł GSM ze sterowaniem SMS
    W projekcie wykorzystałem uC Atmega8 i telefon SE T300.
    Wykorzystałem ten model, bo akurat taki miałem i okazało się, że przypadkiem ten model ma pewną zaletę.
    Mianowicie posiada opcję przekierowywania odebranego SMS bezpośrednio do mikrokontrolera po ustawieniu AT+CNMI=3,3,0,0,0
    Dzięki temu nie zapełnia się pamięć w telefonie, oraz ułatwiony jest odczyt.
    Cały projekt elektroniki wykonałem na płytce uniwersalnej.
    W moim przypadku jest ten moduł GSM podłączony do centrali alarmowej Rokonet Prosys40, ale można go wykorzystać do innych celów.
    Działanie układu jest następujące:
    Głównym zadaniem po uruchomieniu jest monitorowanie stanu końcówki PD4 ustawionej jako wejście.
    Jeśli na końcówce pojawi się stan niski to mikrokontroler poprzez UART zadzwoni na mój numer telefonu i po 20 sekundach rozłączy się.
    Po tym wyśle jeszcze SMS do mnie i opcjonalnie na inny numer telefonu.
    Kolejną funkcją jaką spełnia jest zdalene uzbrajanie i rozbrajanie czuwania centrali poprzez SMS, a także innego urządzenia.
    Po otrzymaniu SMS o konkretnej treści i TYLKO Z ZAPROGRAMOWANEGO NUMERU mikrokontroler ustawia odpowiednie końcówki.
    Następnie wysyła SMS potwierdzający wykonanie polecenia.
    Elementy wykonawcze zależą już od konstruktora, mogą to być tranzystory, przekaźniki, lub bezpośrednie podłączenie końcówek do centrali (jak w moim przypadku).
    Mikrokontroler kontroluje także stan naładowania baterii telefonu i kiedy jest rozładowana załącza ladowanie.
    Po naładowaniu baterii ładowanie jest odłączane i telefon pracuje ze swojej baterii. Mozna oczywiście na stale zasilać telefon z układu.
    Mikrokontroler pracuje na zewnętrznym kwarcu 8 MHz. Prędkość transmisji ustawiona jest na 9600 baudów.
    Włączony jest system przerwań. Wykorzystywane jest przerwanie z Timera1 dla kontroli stanu baterii.
    Przerwania także muszą być włączone z powodu wykorzystywania bufora transmisji szeregowej.
    Układ działa już około miesiąca bez żadnych problemów.
    Program w całości napisany w BASCOMie i jest stale modyfikowany (na początku miał za zadanie tylo zadzwonić)
    Treści wysyłanych SMS umieściłem w EEPROM, są to dane w postaci PDU. Program nie przetwarza PDU na tekst tylko dokonuje porównań "na żywo" w tym trybie.
    Oczywiście każdy kto chce wykorzystać własne treści musi sobie spreparować własne PDU, a także pozamieniać te treśći w instrukcji SELECT CASE.
    Instrukcje rozpoznające treść SMS są zamieszczone w funkcji "Czytaj_sms" właśnie w instrukcji wyboru Select Case.
    Jak już pisałem sterowanie poprzez SMS jest możliwe tylko z jednego numeru telefonu zapisanego w programie. SMS z innego numeru jest ignorowany.
    To tyle co do samego programu jak i całego urządzenia. Jako, że jest to mój pierwszy projekt w BASCOM, nie jest zbyt zoptymalizowany.
    Z pewnością da się coś jeszcze poprawić. Z chęcią przyjmę wszystkie sugestie i krytykę od bardziej zaawansowanych, oraz nowe pomysły.
    Do prac z trybem PDU wykorzystałem program PDUspy.
    Przypominam że ramki PDU w programie należy przystosować do siebie.
    [Atmega8] [BASCOM] Moduł GSM ze sterowaniem SMS

    1 29
  • CControls
  • #2 19 Paź 2009 08:47
    ireksl
    Poziom 2  

    Tego szukałem.Jeżeli to możliwe proszę o opis złącza w telefonie T300.

    1
  • CControls
  • #4 21 Paź 2009 12:12
    ireksl
    Poziom 2  

    Myślę ,że należy rozbudować układ ładowania akumulatora. Maksymalne napięcie ładowania akumulatorów litowo-jonowych wynosi 4,25 V. Spadek napięcia na diodzie D2 może mieć zakres 0,5 do 0,7 V co może być niewystarczające.

    Dodano po 2 [godziny] 49 [minuty]:

    Rezystor R3 dałbym pomiędzy wyjściem TxD a diodą Zenera.

    Dodano po 18 [minuty]:

    Należy podłączyć równolegle do przekaźnika diodę impulsową która zabezpieczy tranzystor Q2.

    1
  • #5 21 Paź 2009 22:02
    xury
    Poziom 39  

    Co do ładowania to ładowarka od SE ma 5V więc nie ma potrzeby bo tutaj jest 4,5 V. Myślę że kontrola ładowania w telefonie jeszcze obniża napięcie.
    Rezystor na schemacie omyłkowo dałem nie z tej strony. W układzie podpięty jest tak jak napisałeś.
    Zabezpieczenie tranzystora - tak należało by dać. Poprawię schemat w wolnej chwili. Dzięki za Twoje uwagi ireksl.
    Obecnie staram się napisać "new core" dla tego układu. Odczyt UART będzie w przerwaniu, wejścia alarmowe też. Problem mam tylko z tym, aby odczytane odpowiedzi na komendy AT trafiały w odpowiednie miejsce w programie.
    Jednocześnie zmniejszam zapotrzebowanie na ramkę i stosy. Ma ktoś może pomysł jak po odebraniu danych z UART w przerwaniu zrobić by dane trafiały w to jedno odpowiednie miejsce ? Chcę to zrobić na jednej zmiennej używanej do buforowania i jednocześnie w programie. Na dwóch zminnych to nie problem, ale to za dużo RAMu. Bo jedna zmienna musi mieć około 80 bajtów.

    1
  • #6 31 Paź 2009 17:25
    ATPAW
    Poziom 20  

    Z tego co widzę to dioda DZ1 jest w złym miejscu.
    Musisz zabezpieczyć telefon a nie linię procesora.
    W twoim rozwiązaniu nadwyrężasz linię portu.

    Zresztą widzę że już kolega pisał że to błąd na schemacie, to i pewnie to samo z brakiem masy na procku .

    Pozdrawiam,

    atpaw

    1
  • #7 27 Lis 2009 23:15
    xury
    Poziom 39  

    Napisałem wersję "new core" dla tego projektu.
    Niestety zajmuje 82 procent flasha w Atmega8
    Dlatego w załączniku jest skompilowane archiwum.
    W przyszłości planuję napisanie programu, który w łatwy sposób pozwalałby edytować dane w EEPROM, czyli zmieniać treść SMS i numery telefonów.

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #8 26 Gru 2009 10:21
    Cyrus
    Poziom 15  

    Projekt mi się podoba, chyba sobie taki zrobię. Mam akurat ericssona T28s, powinno na tym też podziałać.
    Mógłby ktoś wrzucić schemat płytki drukowanej?
    Z góry dzięki ;)

    0
  • #9 26 Gru 2009 15:31
    xury
    Poziom 39  

    Niestety schematu płytki nie mam, bo robiłem na uniwersalnej. Nie za bardzo znam się na "dizajnie". Ale mogę wrzucić schemat w Eagle, a każdy może sobie zrobić PCB samemu.

    0
  • #10 26 Gru 2009 15:42
    Cyrus
    Poziom 15  

    Spoko, jakoś to zmontuję :-)
    przekaźnik 12V ma być?

    0
  • #11 26 Gru 2009 16:07
    xury
    Poziom 39  

    Elementy wykonawcze mogą być rożne. Myślę też że program jest w miarę dobrze opisany i nie będzie problemu z ewentualnym dostosowaniem go pod własne potrzeby, z podstawową znajomością BASCOMa. W łatwy sposób możemy dodać więcej wejść i wyjść, a także dolożyć więcej SMS.
    Ja zastosowałem przekaźnik tylko do kontroli ładowania telefonu. Zasilany z 5V. Ale przeróbka na 12 V to nie problem.
    Oczywiście wejścia i wyjścia też można rozbudować o przekaźniki, transoptory itp.
    W wolnym czasie po świętach, może zrobię kontrolę działania na Watchdogu wraz z wykrywaniem nagłych resetów, lub nagłego wyłączenia telefonu.
    U mnie ten układ działa dobrze, niestety telefon nie wytrzymał -17 stopni,
    a Atmega wytrzymała. Tzn telefon jest nadal sprawny, ale nie chce się ładować w taką temperaturę.
    Poprawiłem mały błąd w nowym kodzie.
    Należy też zwrócić uwagę, że w nowym kodzie są wykorzystane inne piny wejściowe niż na pierwszym schemacie.

    0
  • Pomocny post
    #12 26 Gru 2009 18:33
    Fredy
    Poziom 27  

    Sugeruje dać pomiędzy instrukcjami:

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    opóznienie chociażby 20ms

    0
  • #13 26 Gru 2009 19:45
    xury
    Poziom 39  

    Racja. Już poprawiłem. Jeśli ktoś ma jakieś inne sugestie lub pomysły to niech pisze.

    0
  • Pomocny post
    #14 23 Lut 2010 16:22
    WOBI
    Poziom 19  

    proponuje zamiast

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    wstawić

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    a wtedy juz całkowicie bedzie działać numer z eepromu, wiec zmiana numeru tylko w Eepromie i program uniwersalny.

    i jeszcze mała poprawka drugiego telefomu smsa

    zamiast
    Kod: vb
    Zaloguj się, aby zobaczyć kod


    nie wiem po co (info= 26) jak zmienna info jest juz wyliczona, wpisanie 26 powoduje błąd i nie wysłanie smsa do drugiego telefonu

    to juz działa na drugim numerze telefonu prawidłowo:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #15 24 Lut 2010 00:18
    xury
    Poziom 39  

    Racja.

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    to mi umknęło. We wcześniejszej wersji było przypisywane na sztywno. Ta linia powinna być usunięta.
    To samo z numerem telefonu, zaraz poprawię.

    Dzięki za wskazanie błędów. Może jakieś inne pomysły ?

    0
  • #16 24 Lut 2010 11:08
    WOBI
    Poziom 19  

    Przeglądam jeszcze program i proponuje też zmienić deklaracje portów wejściowych by program można było uniwersalnie dostosować do procesora i dowolności zmian portów(nożek) w projekcie, no i wyklucza to dodatkowo błędy które można popełnic przy wpisywaniu do programu kolejnych dzialań na portach procka.(ciagle trzeba pamietać jaka to noge uzyłem do przekaznika a jaką do Led, itp, łatwo o pomyłke wiem cos o tym ;) ).

    zamiast

    Code:
    Config Pind.2 = Input                                       'wejscie alarmu 
    
    Config Pind.3 = Input                                       'stan uzbr/rozbr
    Config Pind.4 = Output                                      'sygnalizacja prawidłowej inicjalizacji
    Config Pind.5 = Output                                      'Led
    Config Pinc.0 = Input                                       'opcja SMS na drugi numer
    Config Pinc.3 = Output                                      'Ładowarka
    'potrzebna będzie jeszcze konfiguracja wyjść sterowanych SMSami
    Config Pind.7 = Output                                      'rozbrojenie/uzbrojenie
    Config Pinb.0 = Output                                      'załączenie urządzenia
    Config Pinb.1 = Output                                      'wyłączenie urządzenia

    Set Portd.2                                                 'wejście alarmu
    Set Portd.3                                                 'wejście stanu uzbrojenia/rozbrojenia
    Set Portd.4                                                 'sygnalizacja prawidłowej inicjalizacji
    Set Portd.5                                                 'wskaźnik dzwonienia i wysyłania SMS




    Set Portc.0                                                 'zwora określająca sms do Beaty
    Reset Portc.3                                               'Uaktywnienie ładowarki
    'wyjścia sterujące przez SMS
    Set Portd.7                                                 'rozbrojenie/uzbrojenie po nadejściu SMS
    Set Portb.0
    Set Portb.1


    proponuje

    Code:


    Wej_Alarm Alias Pind.2     ' tak konfigurujemy wejscia
     Set Portd.2    ' tu wlaczamy lub nie rezystor podciagajacy dla wejscia zaleznie od potrzeb
      Config Wej_Alarm = Input                                       'wejscie alarmu

    Stan_Uzb Alias Pind.3
     Set Portd.3   '  rezystor podciagajacy
      Config Stan_Uzb = Input                                       'stan uzbr/rozbr

     ' itd dla pozostalych wejsc
    '--------------------------------------------------------------------------

     Sygnaliz Alias Portd.4     '  a tak kofigurujemy wyjscia LEDy, przekazniki itp
      Config Sygnaliz = Output                                      'sygnalizacja prawidłowej inicjalizacji

    Led Alias Portd.5   
    Config Led = Output                                      'Led

     ' idt dla dalszych wyjsc



    później tylko wystarczy używać nazw

    Code:

      ' dla wyjsc tu Led

     Set Led        ' jedynka na nodze tu gasi Led
     Reset Led    ' zero na nodze tu zapala Led

      'dla wejsc tu wejscie alarmowe

     If Stan_Uzb = 0 Then



    Prawda że teraz większa czytelność programu ;)

    Znalazłem jeszcze mały błąd polegający na tym że jak przyjdzie sms od obcego telefonu to na koncu procedury nie kasujesz bufora serial i caly program juz nic nie odbiera i zwiecha, próbowałem to u siebie.

    powinno być tak:

    Code:
      End Select 
    

      Else
      Ignoracja = 0
    End If
    Info = 0
    Ttemp = ""
    Todczyt = ""

     Clear Serialin ' tego brakowalo
      Ignoracja = 0' i tego

    End Sub
    '----------------------------Wysyłanie SMS--------------------------------------


    i jeszcze jak ktoś bedzie dzwonił na numer modułu (nawet przypadkowo), a w tym czasie wystapi alarm to trzeba wstawić przed wysłaniem ATD komendę ATH i zwłokę

    Code:
             
    
              Print "ATH" ; Chr(13) ;                           'rozłączenie dzwonienia
              Waitms 200

              Readeeprom Ttemp , Telefon1
              Print "ATD+" ; Ttemp ; ";" ; Chr(13) ;
                                                                  'dzwonienie pod numer
              Reset Portd.5                                     'sygnalizacja komunikacji
              Wait 20                                           'czekaj 20 sekund
              Print "ATH" ; Chr(13) ;                           'rozłączenie dzwonienia
              Waitms 200
              Print "AT" ; Chr(13) ;
              Todczyt = ""
              Clear Serialin
              Waitms 100


    A tak małe pytanie. Do czego używasz czasu i tajmera? Ja bym to wyciął bo zbedne jest, no chyba że planujesz używać go lub podłączyć LCD i np. wyświetlać.

    0
  • #17 24 Lut 2010 22:44
    xury
    Poziom 39  

    Timer1 używam do odmierzania czasu po to by, ładować baterię telefonu. Aliasy mogę wstawić, choć ja nie przepadam za nimi.

    0
  • Pomocny post
    #18 04 Mar 2010 10:59
    WOBI
    Poziom 19  

    znalazłem jeszcze dwie zmienne które nie są potrzebne:
    Jj nie jest używana, a zmienne L, M, można zastąpić I1, J1 które są właśnie do tego zdeklarowane. Proponuje:


    Code:
    Dim I As Byte                                               'zmienne do kodowania/dekodowania PDU 
    
    Dim J As Byte
    Dim I1 As Byte
    Dim J1 As Byte
    Dim K As Byte
    Dim K1 As Byte
    Dim K2 As Byte
    Dim K3 As Byte
    Dim K4 As Byte
    Dim Jj As Byte
    Dim X As String * 2
    Dim X1 As String * 2
    Dim L As Byte
    Dim M As Byte
    Dim Septetlen As Byte                                       'długość septetu


    zmienic na:

    Code:
    Dim I As Byte                                               'zmienne do kodowania/dekodowania PDU 
    
    Dim J As Byte
    Dim I1 As Byte
    Dim J1 As Byte
    Dim K As Byte
    Dim K1 As Byte
    Dim K2 As Byte
    Dim K3 As Byte
    Dim K4 As Byte
    Dim X As String * 2
    Dim X1 As String * 2
    Dim Septetlen As Byte                                       'długość septetu


    i zmienic procedury na:

    Code:
    '---------------Kodowanie tekstu SMS do PDU------------------------------------- 
    
    Sub Kodowanie_pdu(p As String)
    Local Y As String * 55

    Y = ""
    Ilosc = Len(p)
    I = 0                                                       'ustawienie początkowe odczytu danych
    J = 1                                                       'to samo dla drugiego batu
    Do
       I1 = I + 1
       J1 = J + 1
       X = Mid(p , I1 , 1)                                       'odczyt bajtu
       X1 = Mid(p , J1 , 1)                                      'odczyt kolejnego znaku
       K1 = X
       K2 = X1
       K = I Mod 8                                              'reszta z dzielenia pierwszego bajtu
       Shift K1 , Right , K                                     'przesuwanie w prawo o resztę z dzielenia bajtu I
       K = 7 - K
       Shift K2 , Left , K
       K1 = K1 + K2
       Y = Y + Hex(k1)                                          'budowanie stringa z wartościami septetów
       Incr I
       Incr J
       If K = 1 Then
         Incr J
         Incr I
       End If
    Loop Until I >= Ilosc
    P = Y
    End Sub


    i

    Code:
    '------------------------------Dekodowanie PDU---------------------------------- 
    

     I = 0
     J = 1
     I1 = 1
     J1 = 3
      Ilosc = Ilosc / 2

    Do
       X = Mid(rozkaz , I1 , 2)
       X1 = Mid(rozkaz , J1 , 2)
       K1 = Hexval(x)
       K2 = Hexval(x1)

       K = I Mod 7
       K3 = K1

       If K = 0 Then K1 = K1 And 127
       If K = 1 Then K1 = K1 And 63
       If K = 2 Then K1 = K1 And 31
       If K = 3 Then K1 = K1 And 15
       If K = 4 Then K1 = K1 And 7
       If K = 5 Then K1 = K1 And 3
       If K = 6 Then K1 = K1 And 1

       Shift K1 , Left , K

       K = 7 - K
       Shift K3 , Right , K

        If K = 7 Then

         Ttemp = Ttemp + Chr(k1)
        Else
         K1 = K1 + K4
         Ttemp = Ttemp + Chr(k1)

        End If

        If K = 1 Then

         Ttemp = Ttemp + Chr(k3)
         K3 = 0
        End If
       K4 = K3

        I1 = I1 + 2
        J1 = J1 + 2
        Incr I 

    Loop Until I >= Ilosc

    0
  • #19 09 Mar 2010 23:17
    gamgee1
    Poziom 11  

    Po co jest ta dioda zenera? Niech mnie ktoś uświadomi.
    I jak dobrałeś szybkość transmisji?

    0
  • #20 10 Mar 2010 09:36
    WOBI
    Poziom 19  

    Dioda zenera obniża napięcie z 5V do 3,3V na porcie TX procesora który zasilany jest z 5V a telefon (jego wewnętrzne układy) są zasilane napięciem 3,3V,więc trzeba dopasować(obniżyć napiecie do właśnie 3,3V) poziomy napieć na tym połączenu między prockiem a telefonem by nie uszkodził się telefon (jego elektronika). Najczęsciej objawia się to tym (jeśli podasz na telefon 5V do TX i RX) że telefon nie komunikuje się, brak reakcji na przesyłane komendy, telefon się zawiesza, przestaje działać lub w najgorszym przypadku uszkadza sie jego elektronika (upalasz uklad scalony w telefonie). Tylko że na tym schemacie dioda powinna być od strony telefonu, czyli port procesora => opornik => dioda zenera => telefon złącze. Takie połączenie jest prawidłowe. W połączeniu jak na schemacie dioda zenera podłączona do portu procesora też działa, ale obciąża port procesora (płyną za duże prądy gdy jest stan wysoki H (5V). Jeśli chodzi o prędkość to jej się nie dobiera, telefony lub moduły GSM komunikują się ze standartowymi prędkościami po porcie szeregowym. Są to zazwyczaj standardowo 19200b lub 9600b (czasami 38400b, niektóre modemy/telefony pozwalają na zmianę tej predkości komendą AT) i jedną z tych predkości deklarujesz na początku programu.

    0
  • #21 11 Mar 2010 22:37
    adambehnke
    Poziom 24  

    Widzę że koledzy XURY i WOBI dobrze znają komunikację pomiędzy uC a telefonem i dlatego zapytam :

    Czytałem ten temat i bardzo zainteresowała mnie możliwość bezpośredniego podłączenia telefonu pod uart procesora i wysyłanie komend bezpośrednio poprzez polecenie

    Code:
     Print
    . Oczywiście mam tylko pod reką nokię 6670 i zapewne nic z nią nie zdziałam. Zatem jaki telefon (najańszy) musiałbym zakupić (model/marka) aby spiąć go z atmegą. Chodzi mi o to aby móc poprzez mikrokontroler odbierać i nadawać sms-y.

    Ewentualnie jeśli znacie jakieś dobre stronki z opisanymi komendami AT pod wskazany model to byłbym bardzo wdzięczny za wskazanie.

    0
  • #22 12 Mar 2010 00:25
    WOBI
    Poziom 19  

    Polecam Siemensa z serii S35, C35, ME45,SL45, C25, S25, są tanie i łatwo się je programuje, koszt około 10 do 35zl lub za darmo jak masz kogoś kto ma zbędny w szufladzie. Ja używam ME45 i S25. Możesz rozważyć kupno modułu GSM do wlutowania ale tu już koszt 80zł np. typ GR47. Przesyłam materiały dla edukacji o komendach AT.

    [Atmega8] [BASCOM] Moduł GSM ze sterowaniem SMS

    0
  • #23 12 Mar 2010 22:18
    rsikon
    Poziom 26  

    A jak kolega WOBI radzi sobie z załączaniem siemensa? Jak mu np. bat. sie rozładuje.

    0
  • #25 14 Mar 2010 21:39
    PiotrEtenM500
    Poziom 19  

    adambehnke


    To czy M50 ma wyprowadzenie RS232 nie powiem, ale poradzę z innej strony zająć się modemami OEM. Zabawa z telefonami zwłaszcza tak zabytkowymi jakS35, C35, ME45, SL45, C25, S25 to jak powrót do przeszłości. Zwłaszcza jak chcesz bawić się w odbieranie i wysyłanie SMS'ów. Wymienione wyżej antyki robią to w trybie PDU, który wymaga translacji znaków co już odeszło do lamusa. Obecnie każdy moduł GSM posiada tryb Tekstowy co ułatwia życie. Do tego moduły są małe pozwalają na pełną kontrole nad wszelkimi funkcjami, posiadając taki moduł np bardzo popularny SIMCOM, lub HTC zbudujesz własny telefon z 3,5” wyświetlaczem, wszelkie sterowniki i wzbogacisz o własny moduł Wav ;) Moduły OEM pozwalają Tobie na kontrolę nad organizacją oszczędzania energii zasilania i wielu innych funkcji specjalnych. Wiec jesli zaczynasz edukację GSM zainwestuj od razu w OEM a nie w telefony. Komendy AT masz zawarte w dokumentacji ogólnie dostępnej dla modułu, czego nie znajdziesz w przypadku telefonów bo producentowi nie zależy by takie dokumentacje publikować.

    np w Bascomie komendy AT wyglądają tak:

    inicjacja połaczenia:

    Print "ATD602900;"

    rozłączenie

    Print "ATH"

    odczyt sms'a np z pozycji 16 na karcie

    Print "AT+CMGR=16"

    wysłanie sms'a

    Print "AT+CMGS=" ; Chr(34) ; "+48600222222" ; Chr(34) ; ",145"
    Waitms 300
    Print "Tu wpisujesz tekst SMS'a" ; Chr(26)

    to takie drobne podpowiedzi ;)

    0
  • #27 15 Mar 2010 13:37
    xury
    Poziom 39  

    Nadaje sie niemal kazdy telefon, ktory posiada modem. Mozna te uzywac Nokii, lecz starsze modele komunikujá sie tylko we wlasnym standarcie Mbus lub Fbus.
    Ja mialem akurat SE i podoba mi sie w nich latwosc zalaczania, co w przypadku niektorych modeli Siemensa jest problematyczne. Wazne te jest dopasowanie napiec do LVTTL.
    I jeszcze wazna sprawa - testowana tej zimy.
    Telefon SE T300 nie jest odporny na minus 30 stopni Celsjusza.

    0
  • #28 23 Mar 2010 18:52
    adambehnke
    Poziom 24  

    Mam pytanko. Zaczynam projektować płytkę pod połączenie atmega128 poprzez Max232 do siemensa M50. Bawiłem się wczoraj już połączeniami poprzez terminal i działa nieźle. Podłączyłem siemensa dla testu poprzez Max232 do pc. Jest jedno ale. Jeśli mam otwarty port com to czasami w momencie kiedy chcę zadzwonić na ten telefon to centrala informuje że abonent jest niedostępny. Jeśli zamknę Com-a to wszystko gra. Dodatkowo telefon lubi "świrować" i szuka co jakis czas sieć jeśli mam go podpięte pod com-a. Jak wstawiłem w szereg po jednym rezystorze 1,8k na linii RXD i TXD to się prawie uspokoiło.

    Proszę o jakieś sugestie odnośnie tego jak elektrycznie miało by wyglądać połączenie między procesorem a telefonem. Ładowanie telefonu oraz włączanie i wyłączanie mam już "rozgryzione".

    0
  • #29 23 Mar 2010 22:04
    xury
    Poziom 39  

    Musisz przystosować do poziomu ttl 3,3 V.
    U mnie pomógł rezystor 300Ohm i dioda zenera.

    0
  • #30 23 Mar 2010 22:16
    rsikon
    Poziom 26  

    [adambehnke] Jak włączasz telefon?

    0