SIM800LベースのSMSコントローラー

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRSは、Arduinoと互換性のあるクワッドバンドGSM / GPRSモジュールです。このモジュールは、GSM(通話とSMS)およびGPRSの機能を実装するために使用されます。このモジュールの利点は、5Vの電圧を備えたTTLインターフェイスです。これにより、Arduinoまたは5V電源を備えた他のシステムに直接接続できます。市場に出回っているほとんどのGSM / GPRSモジュールはレギュレーター接続またはレベル変換を必要としますが、SIM800L V.2 GSM / GPRSでは追加のインターフェースレベル変換回路は必要ありません。
SIM800L V.2 GSM / GPRSを使用したプロジェクトの例を次に示します。プロジェクトの意味は、SMSコントローラーを使用してスイッチを制御することです。ラマやファンなど、家の中のほとんどの家電製品を簡単にオン/オフにできます。

SIM800L V.2 GSM / GPRSモジュールの特性


以下は、SIM800L V.2 GSM / GPRSモジュールのすべての技術仕様です。
  • Arduinoと互換性のある3.3Vおよび5Vマイクロコントローラーと互換性のあるTTLシリアルインターフェイス。
  • SIM800LモジュールにはTTLシリアルインターフェイスがあります。
  • アンテナプラグ
  • ネットワークサポート:850/900/1800/1900 MHzの4つの帯域で、バッテリー消費を大幅に削減しながら、通話、SMS、およびデータ転送を行うことができます。
  • VDD TTL UARTインターフェース。51MCU、ARM、MSP430などのMCUを直接接続できます。 TTL電圧を一致させるために使用されるVDDプラグ。
  • モデル:SIMCOM SIM800L
  • 動作電圧:3.7Vから5Vまで。
  • 寸法:40mm x 28mm x 3mm
  • GPRSマルチスロットクラス12/10
  • GPRSバッチサービスクラスB
  • GSMフェーズ2/2 +に対応
  • クラス4(2ワット@ 850/900 MHz)
  • クラス1(1ワット@ 1800/1900 MHz)

必要な材料


あなたが必要になります:


1. SIM800L V.2 GSM / GPRSモジュール。
2. Arduino Uno。
3. 4チャネル5ボルトリレーモジュール。
4.ワイヤー-ジャンパー。
5.電源5V。
(購入するストアへのアクティブなリンク)

組み立てと構成


すべてのコンポーネントを接続したら、プログラムを作成し、それをArduinoにダウンロードします。ただし、最初にGPRSライブラリをインストールする必要があります。これはダウンロードできます。
gprs.zip 28.02 Kb(ダウンロード:509)

Arduinoのプログラムコード


SIM800L、4チャンネルリレーモジュール、およびArduinoをコンピューターに接続したら、以下のコードを入力して完了です。
#include #include #define TIMEOUT 5000 #define ACTIVE LOW #define OFF HIGH byte Relay = {A0、A1、A2、A3};バイトStatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = false;文字列replyNumber = "089510863958"; GPRS gprs; void setup(){for(int i = 0; i >>自動読み取りSMS "); gprs.preInit(); delay(1000); while(0!= gprs.init()){delay(1000); Serial .print( "init errorrn");} //メッセージをモードASCIIに管理if(0!= gprs.sendCmdAndWaitForResp( "AT + CMGF = 1rn"、 "OK"、TIMEOUT)){ERROR( "ERROR:CNMI") ; return;} //受信SMSを読むif(0!= gprs.sendCmdAndWaitForResp( "AT + CNMI = 1,2,0,0,0rn"、 "OK"、TIMEOUT)){ERROR( "ERROR:CNMI") ; return;} int pjg = replyNumber.length()+ 1; buffNumberpjg; replyNumber.toCharArray(buffNumber、pjg); Serial.print( "番号に返信を送信=>"); Serial.println(buffNumber); Serial.println ( "初期化完了"); Serial.println( "==================================== ========================))} void loop(){//(int i = 0; i 0)の状態のリレーのON / OFFの変更{if(nextLineIsMessage){Serial.println(lastLine); // ================================== ================================リレーコントローラーの機能//リレー1コントローラーif(lastLine.indexOf( "Relay 1 ON ")> = 0){StatRelay0 = AKTIF; Serial.print( "Reply ==== >>>>"); Serial.println( "Relay 1 Status Active"); gprs.sendSMS(buffNumber、「Relay 1 Status Active」); } else if(lastLine.indexOf( "Relay 1 OFF")> = 0){StatRelay0 = MATI; Serial.print( "Reply ==== >>>>"); Serial.println( "Relay 1 Status Off"); gprs.sendSMS(buffNumber、「Relay 1 Status Off」); } //リレー2コントローラーif(lastLine.indexOf( "Relay 2 ON")> = 0){StatRelay1 = AKTIF; Serial.print( "Reply ==== >>>>"); Serial.println( "Relay 2 Status Active"); gprs.sendSMS(buffNumber、「Relay 2 Status Active」); } else if(lastLine.indexOf( "Relay 2 OFF")> = 0){StatRelay1 = MATI; Serial.print( "Reply ==== >>>>"); Serial.println( "Relay 2 Status Off"); gprs.sendSMS(buffNumber、「Relay 2 Status Off」); } //リレー3コントローラーif(lastLine.indexOf( "Relay 3 ON")> = 0){StatRelay2 = AKTIF; Serial.print( "Reply ==== >>>>"); Serial.println( "Relay 3 Status Active"); gprs.sendSMS(buffNumber、「Relay 3 Status Active」); } else if(lastLine.indexOf( "Relay 3 OFF")> = 0){StatRelay2 = MATI; Serial.print( "Reply ==== >>>>"); Serial.println( "Relay 3 Status Off"); gprs.sendSMS(buffNumber、「Relay 3 Status Off」); } //リレー4コントローラーif(lastLine.indexOf( "Relay 4 ON")> = 0){StatRelay3 = AKTIF; Serial.print( "Reply ==== >>>>"); Serial.println( "Relay 4 Status Active"); gprs.sendSMS(buffNumber、「Relay 1 Status Active」); } else if(lastLine.indexOf( "Relay 4 OFF")> = 0){StatRelay3 = MATI; Serial.print( "Reply ==== >>>>"); Serial.println( "Relay 4 Status Off"); gprs.sendSMS(buffNumber、「Relay 4 Status Off」); } nextLineIsMessage = false; } // ================================================ ====================}} //読み取りの次の行の文字配列をクリア(int i = 0; i <sizeof(currentLine); ++ i) {currentLinei =(char)0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

デバイスチェック


このツールは、特定の文字シーケンスを使用してSMSをSIM800Lに送信することで機能します。たとえば、リレー1を有効にするには「Relay 1 ON」コマンドを使用し、オフにするには「Relay 1 OFF」コマンドを使用します。残りのリレーには、操作する各リレーのシリアル番号を除いて、ほぼ同じコマンドがあります。メッセージを自動的に送信した後、SIM800は各SIMカードのステータスメッセージの形式で応答を送信します。

ビデオの組み立て、構成、およびデバイスの検証



英語のオリジナル記事

Pin
Send
Share
Send

ビデオを見る: Arduino with: SIM800L GPRS GSM Module sending an SMS (かもしれません 2024).