<progress id="jlsnq"><code id="jlsnq"></code></progress>

<strong id="jlsnq"><del id="jlsnq"></del></strong>
    <mark id="jlsnq"></mark>

    <legend id="jlsnq"><table id="jlsnq"></table></legend>
    <small id="jlsnq"></small>
  • <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

      <strong id="jlsnq"></strong>

      24小時聯系電話:18217114652、13661815404

      中文

      您當前的位置:
      首頁>
      電子資訊>
      技術專題>
      使用手機和GSM模塊隨...

      技術專題

      使用手機和GSM模塊隨時隨地控制您的家用電器


      使用手機和GSM模塊隨時隨地控制您的家用電器

      關于GSM模塊

      我們將在這里使用的GSM模塊是SIM800L。與其他GSM模塊相比,它緊湊且高效。當您想使用Arduino在蜂窩網絡上工作時,可以使用這種類型的模塊。SIM800L支持850/900/1800 / 1900MH四頻。通過使用此模塊,您可以輕松地傳輸語音,發送SMS以及訪問Internet。
      當您使用3.8-4.2伏電源為模塊供電時,板上的LED將開始閃爍。如果閃爍速度非???,則表示SIM卡未注冊到任何網絡。如果指示燈緩慢閃爍,則表明SIM已成功登錄到網絡。請確保您的電源至少為2A,因為此模塊會消耗大量功率。 

      SIM800L的引腳圖

      SIM800L的功能

      輸入電壓:3.8-4.2V

      工作電流:2A

      工作溫度:-4085攝氏度

      四頻850/900/1800 / 1900MHz

      GPRS類別12:最大 85.6 kbps(下行/上行)

      接口:使用AT命令的UART

      SIM卡類型:MicroSIM

      該項目所需的組件

      Arduino UNO

      SIM800L模塊

      4.2V鋰離子電池

      5V繼電器模塊

      器具

      項目工作

      我們將使用手機向GSM模塊發送消息。該消息將包含一個字母。假設您有一臺設備,那么我們將有一個字母來打開設備,并有一個字母來關閉設備。讓我們假設我們正在發送一個字母“ a”來打開設備,并發送一個字母“ b”來關閉設備。您的設備通過繼電器連接到Arduino板。Arduino

      將持續監控來自GSM模塊的數據。如果GSM模塊接收到包含字母“ a”的消息,那么Arduino將通過向中繼模塊發送信號來打開設備的電源。如果GSM模塊接收到包含字母“ b”的消息,那么Arduino將通過向中繼模塊發送信號來關閉設備。

      框圖

      家庭自動化電路圖

      重要說明:在將代碼上傳到Arduino UNO板上之前,請確保已斷開GSM模塊的RXTX線的連接。將代碼上傳到Arduino UNO板上后,將GSM模塊的RXRX線連接到Arduino UNO板上。

      int appliance1=2;

      char gsmData;

      void setup() {

        // put your setup code here, to run once:

      Serial.begin(115200);

      delay(25000);

      pinMode(appliance1,OUTPUT);

      Serial.print("AT+CMGF=1\r");

      delay(100);

      Serial.print("AT+CNMI=2,2,0,0,0\r");

      delay(100);

      digitalWrite(appliance1,HIGH);

      }

      void loop() {

        // put your main code here, to run repeatedly:

       if(Serial.available()>0)

       {

        gsmData=Serial.read();

        if(gsmData=='a')

        {

          digitalWrite(appliance1,LOW);

        }

        else if(gsmData=='b')

        {

          digitalWrite(appliance1,HIGH);

      }

       }

       Serial.print("AT+CMGD=1,4");

      }

      代碼的工作

      int appliance1=2;

      char gsmData;

      創建一個名為Appliance1的變量,以在您已連接繼電器信號引腳的位置存儲引腳號。另外,創建另一個名為gsmData的變量,以存儲ArduinoGSM模塊接收的數據。

      void setup() {

        // put your setup code here, to run once:

      Serial.begin(115200);

      delay(25000);

      pinMode(appliance1,OUTPUT);

      void setup()中,首先將GSM的波特率設置為115200。然后設置較大的延遲,以使GSM模塊成功登錄到網絡。然后將繼電器的信號引腳設置為輸入,因為Arduino將使用該引腳向繼電器發送信號。

      Serial.print("AT+CMGF=1\r");

      delay(100);

      Serial.print("AT+CNMI=2,2,0,0,0\r");

      delay(100);

      使用AT + CMGF = 1命令,以文本形式設置SMS模式。然后給出100毫秒的延遲。之后,使用AT + CNMI = 2,2,0,0,0命令,將SMS的內容發送到串行端口。

      digitalWrite(appliance1,HIGH);

      將邏輯高電平發送到繼電器模塊的信號引腳,以首先將其關閉。

      void loop() {

        // put your main code here, to run repeatedly:

       if(Serial.available()>0)

       {

        gsmData=Serial.read();

      void loop()中,首先使用available()命令檢查串行通訊是否可用。之后,將來自GSM模塊的數據存儲到變量gsmData中。

      if(gsmData=='a')

        {

          digitalWrite(appliance1,LOW);

        }

        else if(gsmData=='b')

      {

          digitalWrite(appliance1,HIGH);

        }

       }

      使用if else-if語句檢查GSM數據。如果數據等于“ a”,則打開繼電器模塊。如果數據等于“ b”,則關閉繼電器模塊。

      Serial.print("AT+CMGD=1,4");

      請輸入搜索關鍵字

      確定
      色鲁99热99re超碰精品_91精品一区二区三区无码吞精_亚洲国产欧洲综合997久久_一级a性色生活片久久无
      <progress id="jlsnq"><code id="jlsnq"></code></progress>

      <strong id="jlsnq"><del id="jlsnq"></del></strong>
        <mark id="jlsnq"></mark>

      <legend id="jlsnq"><table id="jlsnq"></table></legend>
      <small id="jlsnq"></small>
    1. <ruby id="jlsnq"><table id="jlsnq"></table></ruby>

        <strong id="jlsnq"></strong>