Circuits4you.com

GSMの変復調装置、電話は高いデータ転送速度よりもむしろ結合性を必要とする埋め込まれた、マイクロ制御回路ベースの適用に安価、長距離、無線通信チャネ 産業冷却装置のような機械類、フリーザー、HVAC、監視および自動販売機、車サービス、警報システム、セキュリティシステム、リモート-コントロール等。 GSMの変復調装置に接続されることから寄与できます。

このチュートリアルでは、ATコマンドを使用してAVRを使用してGSMモデムを制御する方法について説明します。 モデムとホストの間のインターフェイスは、AT-Commandsと呼ばれるテキストプロトコルです。 これらの命令はGSMの変復調装置の組み立て、電話をかけること、テキストメッセージ等を可能にします。 この特定の適用はRS232関係を使用してAVR Atmega8およびSIM300のSIM900モジュールを接続する。 ほとんどのGSMの変復調装置に命令で同じがあります。

目次

•GSMモデムの種類
•GSMモデムを選択する際に考慮すべきポイント
•GSMモデムへのインターフェイス。
•ATコマンドセットの実装。•PDU文字列の圧縮および解凍。
•SMS送信、送受信する方法。

タイプのGSMの変復調装置

多くのGSMの変復調装置が市場Simcom SIM300、SIM900およびQuectel M10で利用できますあります。 GSMの変復調装置を選ぶ間考慮するべき特徴

ポイントの検討を許可します

これらはSIM300、SIM900およびSIM900Aである市場で利用できるかもしれないGSMの変復調装置があります、Quectel M10は大いに信頼でき、少し高価です。 SIM300は、今では絶対になってきている古いモデムです。

  1. 電源要件
  2. 使用可能なインターフェイスUART(TTL)またはRS232
  3. サイズ
  4. 価格
  5. オーディオインターフェイス(MIC/SPK)

電源の条件

ほとんどのGSMの変復調装置は作動するように4.2Vを要求し、5Vおよび3.3Vと互換性がありますある変復調装置はあなたのマイクロ制御回路条件によって3.3V.でまた利用できます正しい変復調装置を選んで下さい。 GSMの変復調装置はSMSを送り、呼出しをしている間そしてネットワークで登録の間に現在を要求します。 常に2アンペアの電源を使用してください。 ほとんどの新しい人々は正しい電源を選ぶことの間違いを作りますこれによりSMSを送っている間問題か変復調装置の調整を引き起こします。

利用可能なインターフェイスUART(TTL)またはRS232

AVR Atmega8を使用しているので、TTL UARTインターフェイスを好みます。 ほとんどのGSMの変復調装置にRS232およびUART(TTL)インターフェイスがあります。

少数のGSMの変復調装置はUSBインターフェイスとPCの使用USBインターフェイスとGSMの変復調装置をインターフェイスさせているとき、また来ます。 それは連続コンバーターへのUSBの必要性を除去し、少数の変復調装置は外部電源のそう必要性動力を与えられるUSBではない。

サイズ、価格

各モデムのサイズおよび価格は、外付け部品の製造元の使用によって異なります。

オーディオインターフェイス(MIC/SPK)

オーディオインターフェイスは呼出しをするのにGSMの変復調装置を使用するか、またはIVRSシステムを作るためのDTMFのデコーダーと

GSMの変復調装置インターフェイス

私達がGSMの変復調装置とAtmega8を接続する前にさまざまなGSMの変復調装置を見ることを許可します。 これらすべてのGSMの変復調装置にそこのGPRSの機能がです別のGPRSの変復調装置の必要性ありません。このQuectel M10GSMモデムに見られるように、TTL(Rx、Tx)接続にはアクセスできません。

Quectel M10
QUECTEL M10

SIM300は絶対的な市場でこれを得ることはできません。 それは電源を作るのにLM317線形調整装置を使用します最もよい結果のためのDC-DCのコンバーターか切換え調整装置を持っていることはよいです。

SIM300変復調装置
SIM300変復調装置

私達はこのGSMの変復調装置を使用しようとしています。 それはTTL Rx、Tx出力を持っています。 マイクロ制御回路が付いているGSMの変復調装置のインターフェイスはちょうどこれらのRx、マイクロ制御回路UARTが付いているTxラインを接続しています。

SIM900A GSMの変復調装置
SIM900A GSMの変復調装置

Atmega8のGSMの変復調装置の関係

GSMの変復調装置インターフェイス
GSMの変復調装置インターフェイス

セットアップと制御にgsmモデムで使用されるプロトコルは、atコマンドセットに基づいています。 GSMの変復調装置の特定の命令はGSMの変復調装置によってのような提供されるサービスに合わせられる:テキストメッセージ、ある特定の電話番号を呼 このチュートリアルの主な目的は、テキストメッセージの送受信方法を示すことであるため、AT-Commandセットのサブセットのみを実装する必要があります。 欧州電気通信規格協会(ETSI)GSM07.05は、GSM互換モデムのATコマンドインタフェースを定義しています。 このチュートリアルでは、いくつかの選択されたコマンドが選択され、このセクションで簡単に紹介されています。 このコマンドのサブセットは、モデムがSMSメッセージを送受信できるようにします。

このコマンドは、GSMモデムをPCのCOMポートのいずれかに接続することで試すことができます。 GSMの変復調装置に命令で与えるのに超ターミナルか連続末端ソフトウェアを使用して下さい。

コマンド 説明
でシリアルインタフェースおよびGSMの変復調装置が働いているかどうか確認して下さい。
ATE0 エコーをオフにし、シリアルラインのトラフィックを減らします。
AT+CMTI 新しい着信SMSを表示します。
AT+CPMS SMSメモリの選択。
AT+CMGF SMS文字列形式、それらがどのように圧縮されているか。
AT+CMGR 指定されたメモリ位置から新しいメッセージを読み込みます。
AT+CMGS 特定の受信者にメッセージを送信します。
AT+CMGD メッセージを削除します。

Status(AT)

“AT”コマンドは、互換性のあるモデムが接続されており、シリアルインタフェースが正常に動作しているかどうかをテストするために使用されるステー

コマンド:”AT”
応答:”OK”
接続され、動作中
応答: “エラー”
シリアル回線OKモデムエラー

Echo off(ATE0)

“ATE0″コマンドを使用して通信を設定します。 デフォルトでは、GSMモデムは、受信したコマンドを確認応答でエコーバックするように設定されています。

エコーをオフにすると、”ATE0″、”AT”を実行するとモデムが”OK”と答えていたでしょう。 Echo offコマンドは、シリアル回線のトラフィックを削減します。 “ATE1″コマンドはエコーを再度有効にします。

ATE0

コントローラとのシリアル通信を簡素化するために、常にエコーを”ATE0″オフにしてください。

AT+CMGF SMSメッセージ形式を選択

“AT+CMGF”コマンドは、SMSメッセージの入出力形式を設定するために使用されます。 2つのモードがあります:

•PDUモード:SMSを読み、送ることは特別な符号化されたフォーマットで行われます。

•テキストモード:SMSの読み取りと送信はプレーンテキストで行われます。

簡単にするために常にテキストモードに設定します

AT+CMGF=1

0はPDUモード、1はテキストモードです。

メッセージの読み取り(AT+CMGR)

“AT+CMGR”コマンドは、指定されたメモリ位置からメッセージを読み取るために使用されます。 “AT+CMGR”を実行すると、選択されたメモリからメッセージatが返されます。

たとえば、場所1からの読み取り

AT+CMGR=1

メモリへのメッセージの書き込み(AT+CMGW)

このコマンドを使用すると、SMSメッセージを送信できます。

AT+CMGW=1//メッセージを場所1に書き込みます

ストレージ(AT+CMSS)からSMSメッセージを送信します

保存されたsmsを送信します。

AT+CMSS=1//場所1からSMSを送信する

AVRマイクロコントローラコードを使用してSMSを送信する

main()サブルーチンでシリアルを初期化し、sendSMS()を呼び出してSMSを送信する

void sendSMS(){ senddata("AT+CMGD=1"); USART_Transmit(13); USART_Transmit(10); delay_ms(1000); senddata("AT+CMGF=1"); USART_Transmit(13); USART_Transmit(10); delay_ms(1000); senddata("AT+CMGW="); USART_Transmit(34); senddata("+919812345678"); //Enter Your Mobile number USART_Transmit(34); USART_Transmit(13); USART_Transmit(10); delay_ms(1000); senddata("Alert: Fire Detected"); USART_Transmit(13); USART_Transmit(10); delay_ms(1000); USART_Transmit(26); //Cntrl+Z delay_ms(1000); delay_ms(1000); senddata("AT+CMSS=1"); USART_Transmit(13); USART_Transmit(10); delay_ms(1000);}void delay_ms(unsigned int de){unsigned int rr,rr1; for (rr=0;rr<de;rr++) { for(rr1=0;rr1<30;rr1++) //395 { asm("nop"); } }}void USART_Transmit(char data ){ UDR = data; /* Wait for empty transmit buffer */ while ( !( UCSRA & (1<<UDRE)) ) ; /* Put data into buffer, sends the data */}void senddata(char string){ int len,count; len = strlen(string); for (count=0;count<len;count++) { USART_Transmit(string); }}void USART_Init(){/* Set baud rate */ UBRRH = 0x00; //12, 9600 Baud At 1MHz UBRRL =12; //Set double speed enabled UCSRA |= (1<<U2X);/* Enable receiver and transmitter */ UCSRB = (1<<RXEN)|(1<<TXEN);/* Set frame format: 8data, 2stop bit */ UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);//Set interrupt on RX// UCSRB |= (1<<RXCIE);}

Arduinoを使用してSMSを送信する

void setup() { Serial.begin(9600);}void loop() { sendSMS(); //Send SMS delay(5000); //Wait for few seconds}void sendSMS(){ Serial.println("AT+CMGD=1"); //Delete privious sent SMS delay(1000); Serial.println("AT+CMGF=1"); //Set SMS configuration delay(1000); Serial.print("AT+CMGW="); //Write New SMS Serial.write(34); //Double quotes ASCII Code Serial.print("+9198--------"); //Enter Your Mobile number Serial.write(34); Serial.println(); //Send Crrige return delay(1000); Serial.println("Your message here"); //SMS Message to be sent delay(1000); Serial.write(26); //Cntrl+Z character code delay(1000); delay(1000); Serial.println("AT+CMSS=1"); //Send SMS from memory location 1 delay(4000);}

GSMの変復調装置が付いている簡単なシリアル-インタフェースが付いているarduinoおよびavrのマイクロ制御回路を使用して。

コメントを残す

メールアドレスが公開されることはありません。