BeagleBone Black で simcom 800H セルラー モジュールを使用しています。これは、人気のある simcom 900 と非常によく似ています。simcom モジュールで 2 つの主なことを行いたいと考えています。
- AT コマンドを使用して設定を構成し、メッセージを送受信します
- ppp を使用して、GPRS を介して BBB でインターネット アクセスを有効にします。
明らかな問題は、両方を同時に行うことができないことです。ネットで検索したら以下の記事を見つけました
2 番目のリンクは、ユーザーの 1 人がこのリポジトリのコードを使用した場合に特に役立ちます。
共通のテーマは、n_gsm
モジュールを使用することです。を使用してモジュールをロードしようとしましたが、modprobe n_gsm
失敗しました。ユーザーが言及したように、BBB にもデフォルトで n_gsm モジュールが含まれていないため、n_gsm をモジュールとして追加した新しいカーネルを構築する必要がありました。n_gsm
ただし、をモジュールとして含めることに問題があります。これが私が従った手順です
- このチュートリアルに従い、BBB に適した Linux ヘッダーをダウンロードしました。
次のように、モジュールを Linux LKM (Loadable kernel module) としてコンパイルしようとしました。
ここから n_gsm.c をダウンロードしました
n_gsm.c
ファイルには、私の BBB にないインクルードがいくつか含まれていました。だから私はそれらをダウンロードしました。- メイクファイルを作成しました。私のディレクトリに
n_gsm.c
はMakefile
Makefile
obj-m += n_gsm.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
これ(カーネル モジュールのハロー ワールド) に示すように、別のモジュールを正常に読み込むことができました。また、LKM を作成するために Linux カーネル全体を再コンパイルする必要がある理由もわかりません。
私たちの人々がこのモジュールを正常にロードできたように見えるので、いくつかの明らかなエラーを犯しているように感じます。
これはモジュールをロードする正しい方法ですか、具体的には
n_gsm
. これに関するドキュメント/チュートリアルはあまりありません。これがうまくいかない場合に備えて、この多重化を行うより簡単な方法はありますか? 私は、SMS 用の AT コマンドと GPRS 用の PPP のアイデアが本当に気に入っています (両方の AT コマンドではなく)。
ヒントや提案は本当に役に立ちます!
Edit1 : 私の BBB に関する詳細
- カーネル - Linux ビーグルボーン 3.8.13-bone79
- ディストリビューション - Debian 7.9 (wheezy)
編集2:GSMモジュールに関する詳細を追加
- これは私が使用している GSM ブレイクアウト ボードです。
- このモジュールを使用しており、コマンド マニュアルと多重化アプリケーション ノートをチェックアウトできます。
更新 1
- @Serge のおかげで
n_gsm
、カーネルを再コンパイルせずにモジュールをビルドして追加することができました。ただし、GSM モジュールをマルチプレクサ モードにすることはまだできていません。 AT+CMUX=?
、sim800Hモジュールでエラーを生成しましたAT+CMUX?
。AT+CMUX=
- これが私が行ったデバッグです
- ハードウェア/ソフトウェアで遊んでいて、フローがありません。どのモードでも機能しませんでした。
- TE-TA 固定ローカル レート
AT+IPR
を auto、115200 に設定してもAT+CMUX
エラーが発生する AT+CMUX?
別の sim900 モジュールでテストされ、動作します。
sim800H で動作しない理由は何ですか?