私はSIM800Lのための外部ライブラリを使用していない、MSP430G2553マイクロコントローラと、テキサス・インスツルメントのLaunchpadでSIM800L moduleを使用しています。SIM800L空白SMSの問題
問題文: シンプルなテキストメッセージ(テキストモードのSMS)が送信され、携帯電話で空白のメッセージとして受信されます。
SIM詳細:
1. SIM 1:所在地:インド。オペレーター:AirTel、4G互換のSIMカード。
2. SIM 2:所在地:インド。オペレーター:Tata Docomo、3G対応のSIMカード。
私はすでに知っていること:ファームウェアで
- UARTドライバを試験し、作業している、非ポーリング、割り込み駆動。
- ATコマンドの応答を読み取る代わりに、ブロック時間の遅延が追加されていません。私は応答を読んで、肯定的な承認が受け取られた場合にのみ進めます。ほとんどのコマンドでは
<CR><LF>OK<CR><LF>
です。 - Tx-Rxピンで送受信されるデータビットをオシロスコープで確認しました。電圧レベルを含め、すべてが予想どおりに見えます。
私が読んだもの:非公式情報源SIM800Lが唯一の2G互換性があること(もちろんフォーラム)を介し
いくつかの憶測。
(ウィキペディアより浅い読み取り)私は、テキストのエンコーディングが(+ CSMP AT)ATコマンド適し/関連でどのように扱われるかを理解するためのGSM 3.38とGSM 3.40、およびData Coding Scheme sectionを読んでいます。 SIM800Lモジュールは非常に広く使用されているとArduinoのためのものを含む
様々なフォーラム。 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
答え最初の1では、彼のために働いているように見えた、それはdidnの私のために働く。
は、私が何をしようとしている:
を私はDocklightシリアル端末のインスタンスと同じモジュールを使用していました。 Docklightから送信されたSMSは携帯電話で受信され、空白ではなく予想どおりに表示されます。
モジュールをLaunchpadハードウェアと統合する前の0日目に、SIM800Lからの予想される応答の正確なコピーを使用してファームウェアの状態マシン全体をテストしました。
SIMカードの両方の結果は、いくつかの初期設定を除いて同じですが、SMS関連のタスクを開始する前に、両方の設定で一般的な設定を読み込みます。私が使用
典型的な値は以下のとおりです。17、167、0、0(I 17を試してみました、167、0、0、ない運):
- は
- CSMPオフエコー。 SIM 1からデフォルトは17,11,0,246であり、それはSIM 2から17、255、0、0
- CSCSある:シリアルポートの "IRA"
失敗組合せ:(SIM 1 SIM2)
- CSMP:17,11,2 0,246 | CSCS: "IRA" - 空のSMSを送信
- CSMP:17,11,0246 | CSCS: "GSM" - ブランクSMSを送信
- CSMP:17,11,0,246 | CSCS: "HEX" - シリアルポート上
成功の組み合わせ空白のSMSを送信:(SIM 1、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」
は正直に言うと、私は私が(悪いSIM800Lユーザーガイドに記載されている)これらの組み合わせを変更するものを反映するものフィールド研究前に、これらの組み合わせと勘を果たしました。
私はここで何が不足しているのでしょうか?私はそれがRTFM(Read The Fat Manual)の問題であると考えています。