在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Arduino和GPRS將數據發送到SparkFun服務器

科技觀察員 ? 來源:circuitdigest ? 作者:薩達姆 ? 2023-01-25 15:45 ? 次閱讀

今天我們在這里有一個有趣的項目,我們將 使用Arduino和GPRS將數據發送到SparkFun服務器 。這是一個基于物聯網的項目,我們將使用 GPRS, 存在于 GSM 模塊 SIM900A 板上, 將一些數據發送到互聯網上的網絡服務.

在這個項目中,我們將簡單地使用4x4字母數字鍵盤輸入一些文本,并使用Arduino和GPRS將其發送到SparkFun網站,從那里您可以通過互聯網從任何地方看到這些數據。在這里,我們還附加了一個16x2 LCD以在本地查看數據。這種數據發送技術在物聯網項目中非常有用,您希望從世界任何地方監控事物,例如監控溫度和濕度,監控車輛位置,監控心跳監控空氣污染水平等。

所需組件:

  1. 阿杜伊諾
  2. GSM模塊SIM900A
  3. 16x2 液晶顯示器
  4. 4x4 矩陣鍵盤
  5. 面包板或印刷電路板
  6. 連接跳線
  7. 電源 12v
  8. SIM卡

在GSM模塊中使用GPRS:

在這里,我們使用帶有SIM卡的普通GSM模塊進行GPRS連接。在這個項目中,GPRS負責將數據發送到Sparkfun服務器。以前我們做過很多項目,使用 Wi-Fi 模塊 ESP8266 通過互聯網將數據發送到不同的服務器。但這次我們使用了GPRS。

GPRS代表通用分組無線電服務,它是一種基于分組的無線通信服務,其數據速率為56-114kbps,并提供與互聯網的連接。

對于GPRS,我們不需要購買任何特殊的模塊或硬件,因為GSM已經內置了GPRS設施。

GSM模塊-SIM900A

現在為了使用GPRS將數據發送到服務器,首先我們需要初始化GSM模塊。

初始化 GSM 的命令:

AT :- this command is used to check whether GSM module is responding or not.

AT+CPIN? :- this command is used to check whether SIM card is inserted in GSM Module or not.
ATE0 :- is used for disabling echo

ATE1 :- is used for enabling echo

用于初始化 GPRS 互聯網連接的命令:

AT+CIPSHUT :- to close TCP Port Explicitly means disconnect connection if any

AT+CGATT? :- Checking SIM card has internet connection or not

AT+CSTT = "APN","userName","Pass" :- connect to internet

(ex; AT+CSTT="airtelgprs.com","","")

AT+CIICR :- bring up with the wireless network. Checking SIM card has data pack or balance

AT+CIFSR :- get IP (sometimes without this command GSM do not work so use this command)

AT+CIPSTART = ”TCP”,”SERVER IP”,”PORT” :- is used for creating TCP connection with the server that we provide in place of SERVER IP

AT+CIPSEND :- this command is used for sending data to the server. After input, this command server asks for data.

輸入數據后,我們將 26 發送到服務器。如果一切正常,則數據將成功發布到服務器, SparkFun服務器以通過或失敗字符串進行響應

sparkfun 記錄使用 GPRS GSM 和 arduino 發送的數據

使用GPRS GSM和arduino將數據發送到Sparkfun

工作說明:

從GSM模塊的GPRS發送數據的過程很容易。在這個項目中,我們將通過使用鍵盤鍵入來向服務器發送一些字符串或單詞。LCD上將出現相同的字符串或單詞,然后按D/OK將輸入字符串發送到服務器。在這里,我們創建了一個字母數字鍵盤,用于將字符或數值輸入Arduino或LCD。C/clear被編程為退格鍵。

使用GPRS GSM和arduino框圖將數據發送到網絡服務器

使用GPRS GSM和arduino將數據發送到網絡服務器

字母數字是一種使用相同的 4x4 矩陣 Kepad 鍵盤輸入數字和字母的方法。在這里,我們為Arduino編寫了相同的4x4鍵盤以接受字母表。檢查文章末尾的完整代碼。

4x4 鍵盤矩陣4x4 字母數字鍵盤

電路說明:

為了 將數據發送到SparkFun Server ,我們需要將鍵盤和GSM模塊連接到Arduino。在這個項目中,我們使用Arduino從鍵盤獲取輸入字符串,并將命令發送到GSM / GPRS模塊。GSM/GPRS用于與互聯網通信,以便將數據發送到Sparkfun服務器。GSM模塊的Rx和Tx引腳分別與Arduino的引腳D3和D2直接連接(Arduino和GSM的接地必須相互連接)。16x2 LCD 用于顯示輸入字符串以及顯示歡迎消息和數據發送狀態。此 16x2 LCD 的引腳(即 Rs、en、d4、d5、d6 和 d7)分別與 Arduino 的引腳編號 14、15、16、17、18 和 19 連接。4x4鍵盤用于Arduino的輸入字符串,其行引腳R1,R2,R3,R4直接鏈接到Arduino的引腳編號11,10,9,8,鍵盤C1,C2,C3的Colum引腳與Arduino的引腳編號7,6,5,4鏈接。

在這里,我們還將GSM Tx引腳連接到Arduino的Tx,以通過串行監視器獲取響應數據。

使用GPRS GSM和Arduino電路圖將數據發送到網絡服務器

編程說明:

這個項目的編程部分對于初學者來說有點復雜,但通過做一點練習和注意,你可以理解它。在此代碼中,我們使用鍵盤庫來連接用于輸入數字的簡單鍵盤。對于輸入字母表,我們使用相同的庫和鍵盤,但使用了另一個功能來使其成為字母數字鍵盤。意味著我們已經使每個鍵都具有多功能性,并且只需使用 10 個鍵即可輸入所有字符和整數。

如果我們按鍵 2 (ABC2),它將顯示“A”,如果我們再次按下它,那么它將用“B”替換“A”,如果我們再次按下它,那么它將在 LCD 中的同一位置顯示“C”。如果我們在按下某個鍵后等待一段時間,光標將自動移動到LCD中的下一個位置。現在我們可以輸入下一個字符或數字。相同的過程應用于其他鍵。它的工作原理與舊手機中的鍵盤相同。

下面我們包含了 Keypad.h 庫并為鍵定義數組矩陣:

#include                // keypad library for interfacing keypad
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
int x=0;
int y=0;
int n=0;
int minValue=0;
int maxValue=0;
char keyPress=0;
int keyPressTime=100;
String msg="";

char hexaKeys[ROWS][COLS] = 
{
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {11, 10, 9, 8}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {7, 6, 5, 4}; //connect to the column pinouts of the keypad

給定的 void getkey 函數用于輸入字母表

void getkey(int minValue, int maxValue, char keyPress)
{
   int ch=minValue;
   int pressed=1;
   char key=keyPress;
   lcd.noBlink();
   for(int i=0;iif(key==keyPress)
      {
         lcd.setCursor(x,y);
         lcd.print(alpha[ch]);
         ch++;
         if(ch>maxValue)
         ch=minValue;
         i=0;   
      }
      ....
      .....

下面的 void initGSM( ) 和 void initGPRS() 函數用于初始化 GSM 模塊和 GPRS

void initGSM()
{
  connectGSM("AT","OK");
  connectGSM("ATE1","OK");
  connectGSM("AT+CPIN?","READY");
}
void initGPRS()
{
  connectGSM("AT+CIPSHUT","OK");
  connectGSM("AT+CGATT=1","OK");
  connectGSM("AT+CSTT=\"airtelgprs.com\\",\"\\",\"\\"","OK");
  connectGSM("AT+CIICR","OK");
  delay(1000);
  Serial1.println("AT+CIFSR");
  delay(1000);
}

下面的部分代碼用于創建 URL 并通過 URL 將數據發送到服務器。

else if(key == 'D')
    {
      lcd.clear();
      lcd.noBlink();
      lcd.print("Sending Data");
      lcd.setCursor(0,1);
      lcd.print("To Server");
      url="GET /input/";
      url+=publicKey;
      url+="?private_key=";
      url+=pvtKey;
      url+="&log=";
      url+=msg;
      url+=" HTTP/1.0\\r\\n\\r\\n";
      String svr=Start+","+ip+","+port;
      delay(1000);
      connectGSM(svr,"CONNECT");
      delay(1000);
      int len = url.length();
      String str="";
      str=SendCmd+len;
      sendToServer(str);

因此,這就是我們如何通過GPRS在SparkFun服務器上發送任何數據,以便從世界任何地方進行監控。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9295

    瀏覽量

    85857
  • GPRS
    +關注

    關注

    21

    文章

    984

    瀏覽量

    129566
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187591
收藏 人收藏

    評論

    相關推薦

    ESP與UNO連接,無法數據發送到遠程服務器是哪里的問題?

    我在使用 ESP01 向遠程服務器發送 get 請求時遇到問題。 我 ESP 與 UNO 連接,一切正常。我將其連接到我的本地網絡等。但是我無法
    發表于 07-15 06:43

    串口無法通過GSM發送數據服務器

    GSM模塊數據發送到服務器現在的情況是上面的一個串口可以發送數據到上位機下面的一個串口通過測試
    發表于 08-25 09:18

    請問SIM900a模塊怎么數據打包通過GPRS發送到TCP服務器

    例如我要發送一個字符串到TCP服務器,sim900a內嵌TCP/IP協議,在這里已經數據打包好了是吧?那通過GPRS
    發表于 02-15 06:36

    請問GPRS把采集數據發送到PC端那IP使用的是IPV4嗎?

    GPRS采集數據發送到PC端(學校局域網),IP使用的是IPV4還是外網IP?花生殼綁定的是哪個?我使用的模塊 UDP下提示發送成功,但是
    發表于 02-25 06:35

    如何stm32的數據通過WiFi發送到yeelink服務器上?

    stm32的數據通過WiFi發送到yeelink服務器上,所以想請教一下,如果走通這一個數據流?可以參考一些什么樣的資料呢?該從哪里看起呢?
    發表于 06-10 21:47

    如何串行數據存儲到數組以發送到服務器

    我試圖串行數據存儲到一個數組,然后所有數組轉換為一個字符串,然后將其發送到服務器。但我不斷收到“非類類型”錯誤我正在排隊的神一次響應一個
    發表于 02-22 08:38

    如何文件內容從Arduino無線發送到計算機?

    ,因此它可以處理傳感數據。兩個設備都連接到一個公共路由。 目標。我需要的是一種文件內容從 Arduino 無線
    發表于 05-04 06:47

    如何.txt 大文件發送到HTTP服務器

    我在 SPIFFS 閃存中創建了多個 .txt 文件系統。但是如何 .txt 大文件發送到 HTTP 服務器,可以通過 ESP8266 12F SPIFFS 1MB 文件
    發表于 05-19 09:00

    個人計算大量數據發送到并存儲在云計算的大型服務器中?

    從個人計算向云計算的轉移已經大量數據發送到并存儲在大型服務器場中,這些服務器場主要由Google、Amazon、Microsoft和IBM
    的頭像 發表于 09-02 17:44 ?3422次閱讀

    如何設置Arduino IoT消息發送到云板顯示

    該項目向您展示如何設置 Arduino IoT 消息發送到云板顯示(LCD)。
    的頭像 發表于 05-06 15:58 ?2308次閱讀
    如何設置<b class='flag-5'>Arduino</b> IoT<b class='flag-5'>將</b>消息<b class='flag-5'>發送到</b>云板顯示<b class='flag-5'>器</b>

    數據是怎么樣保證準確的從客戶端發送到服務器

    你有想過嗎,在計算機網絡當中,數據是怎么樣保證準確的從客戶端發送到服務器端的?中間涉及到了哪些理論?
    的頭像 發表于 07-01 10:09 ?2134次閱讀

    Arduino傳感數據發送到MySQL服務器

    電子發燒友網站提供《Arduino傳感數據發送到MySQL服務器.zip》資料免費下載
    發表于 10-27 10:13 ?3次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>將</b>傳感<b class='flag-5'>器</b><b class='flag-5'>數據</b><b class='flag-5'>發送到</b>MySQL<b class='flag-5'>服務器</b>

    Arduino通過串行將溫度發送到網絡

    電子發燒友網站提供《Arduino通過串行將溫度發送到網絡.zip》資料免費下載
    發表于 11-23 09:15 ?0次下載
    <b class='flag-5'>Arduino</b>通過串行將溫度<b class='flag-5'>發送到</b>網絡

    使用ESP 01DHT11測量的溫度和濕度數據發送到服務器

    電子發燒友網站提供《使用ESP 01DHT11測量的溫度和濕度數據發送到服務器.zip》資料免費下載
    發表于 01-03 11:12 ?0次下載
    使用ESP 01<b class='flag-5'>將</b>DHT11測量的溫度和濕度<b class='flag-5'>數據</b><b class='flag-5'>發送到</b><b class='flag-5'>服務器</b>

    數據發送到云端開源硬件

    電子發燒友網站提供《數據發送到云端開源硬件.zip》資料免費下載
    發表于 01-31 14:25 ?0次下載
    <b class='flag-5'>將</b><b class='flag-5'>數據</b><b class='flag-5'>發送到</b>云端開源硬件
    主站蜘蛛池模板: 亚洲免费色图 | 女人精69xxxxxx | 天天插狠狠干 | 福利久久 | 亚洲视频欧美视频 | 操熟逼 | 日韩欧美一区二区三区视频 | 免费国产不卡午夜福在线 | 精品国产麻豆免费人成网站 | 啪啪大片 | 亚洲精品美女久久久久网站 | 日韩精品一区二区在线观看 | 日本不卡一区视频 | 欧美网色| 亚洲成在人线中文字幕 | 国产国产人免费人成免费视频 | 夜夜爱夜夜做夜夜爽 | 欧美成人猛男性色生活 | 午夜免费视频观看在线播放 | 欧美黄色免费大片 | 久久99热精品免费观看k影院 | 东北美女野外bbwbbw免费 | 色综合久久五月 | 日本美女黄视频 | 日本片巨大的乳456线观看 | 男女无遮挡一进一出性视频 | sao虎在线精品永久 se94se欧美 | 美女网站色在线观看 | 视频免费在线 | 日本免费黄色录像 | 午夜久久久久久 | 99久免费精品视频在线观看2 | 国产一级aa大片毛片 | 欧洲一卡二卡乱码新区 | 天天干天天操天天 | 韩国三级无遮挡床戏视频 | 国产欧美另类第一页 | japanese色系国产在线高清 | 老汉色视频 | 亚州人成网在线播放 | 成人午夜网址 |