Używam SIM800L module z Launchpad Texas Instrument, z mikrokontrolerem MSP430G2553, nie korzystam z zewnętrznej biblioteki dla SIM800L.SIM800L Pusty problem SMS
komunikat Problem: Prosty wiadomości tekstowych (SMS z trybu tekstowego) jest wysyłane, odbierane jako pustej wiadomości na telefon komórkowy.
szczegóły SIM:
1. SIM 1: Lokalizacja: Indie. Operator: AirTel, karta SIM zgodna z 4G.
2. SIM 2: Lokalizacja: Indie. Operator: Tata Docomo, karta SIM zgodna z 3G.
Co już wiem:
- UART Kierowcy w oprogramowaniu są testowane i działa, nie odpytywanie, przerwania jazdy.
- Nie dodano opóźnień czasowych w celu zastąpienia odpowiedzi poleceń AT. Przeczytałem odpowiedź i kontynuuję, jeśli otrzymałem pozytywne potwierdzenie,
<CR><LF>OK<CR><LF>
dla większości poleceń. - Potwierdziłem bity danych transmitowane i odbierane na pinach Tx-Rx za pomocą oscyloskopu. Wszystko wydaje się zgodne z oczekiwaniami, w tym poziomy napięcia.
co czytałem:
Niektóre spekulacje poprzez nieoficjalnych źródeł (oczywiście forów), które SIM800L jest tylko 2G kompatybilne.
(Shallow czytanie z wikipedii) Przeczytałem poprzez GSM 3.38 i GSM 3.40 oraz Data Coding Scheme section dla zrozumienia, jak kodowanie tekstu jest traktowane nadaje/odpowiednie polecenia AT (AT + CSMP).
Różne fora, w tym te do Arduino, z których moduły SIM800L są bardzo popularne.
Notki na Stackoverflow:
- Recieving Blank SMS SIM800 using AT Commands and Python on Raspberry Pi 2
- How to send SMS with GSM module SIM800 and Arduino Uno?
- Sending GSM Character Set in SMS with SIM800L Module
Odpowiedź w pierwszym wydawało się, że pracował dla niego, że nie zrobił Działają dla mnie.
co ja próbowałem:
Użyłem tego samego modułu z instancją terminal szeregowy Docklight. Wiadomości SMS wysłane z Docklight są odbierane na moim telefonie komórkowym i wyświetlane w oczekiwany sposób, a nie puste.
W dniu 0, przed integracją modułu ze sprzętem Launchpad, przetestowałem ogólny stan oprogramowania sprzętowego z dokładną kopią oczekiwanych odpowiedzi od SIM800L.
Wyniki dla obu kart SIM są takie same, z wyjątkiem niektórych początkowych konfiguracji, ale ładuję typowy zestaw konfiguracji w obu z nich, zanim zainicjuję jakiekolwiek zadanie związane z SMS-em.
Typowe wartości, które używam są:
- Echo Off
- CSMP: 17, 167, 0, 0 (próbowałem 17, 167, 0, 0, ale bez powodzenia) . Domyślnym z karty SIM 1 jest 17,11,0,246, i że z SIM 2 jest 17, 255, 0, 0.
- CSCS: "IRA"
Nieudane połączenia na porcie szeregowym (SIM 1 i SIM 2)
- CSMP: 17, 11, 0, 246 | CSCS: "IRA" - wysyła pusty SMS
- CSMP: 17, 11, 0, 246 | CSCS: "GSM" - wysyła pusty SMS
- CSMP: 17, 11, 0, 246 | CSCS: "HEX" - Wysyła pustego SMS
Udane kombinacje na porcie szeregowym: (SIM 1 oraz SIM 2)
- CSMP: 17, 167, 0, 0 | CSCS: "IRA"
- CSMP: 17, 167, 0, 8 | CSCS: "IRA"
- CSMP: 17, 11, 0, 0 | CSCS: "GSM"
- CSMP: 17, 167, 0, 0 | CSCS: "GSM"
- CSMP: 17, 167, 0, 8 | CSCS: „GSM”
Szczerze mówiąc, grałem przeczucie z tych kombinacji przed uczyłem co pole odzwierciedla to, co zmienić te kombinacje (które są słabo udokumentowane w podręczniku użytkownika SIM800L).
Każdy pomysł, czego może mi brakować tutaj? Jestem otwarty na to, że uważam, że jest to raczej kwestia RTFM (Read The Fat Manual).