日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 通信技術(shù) > 通信模塊
[導讀]   SIM900A是一個比較實用的GPRS模塊,進行簡單的配置就可以進行用于數(shù)據(jù)傳輸,配置使用AT指令進行交互,用GPRS遠程傳輸數(shù)據(jù)時,有兩種方式,一種是正常的模式,沒法送一次要發(fā)送0x1a來

  SIM900A是一個比較實用的GPRS模塊,進行簡單的配置就可以進行用于數(shù)據(jù)傳輸,配置使用AT指令進行交互,用GPRS遠程傳輸數(shù)據(jù)時,有兩種方式,一種是正常的模式,沒法送一次要發(fā)送0x1a來開啟數(shù)據(jù)發(fā)送,另一種方式透傳模式,設置好了之后,可以一直往模塊來發(fā)送數(shù)據(jù),模塊會自動將緩沖區(qū)中的數(shù)據(jù)發(fā)送出去,但最后還要發(fā)送+++來退出透傳數(shù)據(jù)模式,回到正常模式。

  SIM900A模塊主要特點:SMT封裝:易于客戶生產(chǎn)加工;尺寸?。?24*24*3mm;功耗低:待機模式電流低于18mA、sleep模式低于2mA;供電范圍寬:3.2~4.8V;支持頻段:GSM/GPRS 900/1800MHz;語音編碼:支持半速率、全速率、增強型速率;支持回聲抑制算法,可以基于不同客戶設備通過AT命令調(diào)節(jié)回音抑制消除。

  基于SIM900A-GPRS模塊的遠程文件傳輸實例

  第一種方式

  sim900a模塊上面有電源引腳,串口引腳,上位機通過串口和模塊進行交互,最簡單的是用一塊usb轉(zhuǎn)串口的USB TTL來和上位機的usb端口連接,該模塊支持移動和聯(lián)通sim卡。測試是在linux環(huán)境下進行的,可以使用命令ls /dev/ttyUSB* 來查看模塊是否正常掛載,掛載的話一般顯示有ttyUSB0,發(fā)現(xiàn)在Linux下串口工具不如window下怎么好用,直接用程序來控制讀寫更加方面。

  在linux下,設備會被當成文件處理,可以像讀寫文件一樣方便的與設備交互。使用之前最好只用“AT+CSQ”和“AT+COPS”來查詢信號的質(zhì)量和運營商等信息。如果sim卡識別不出,則無法進行下一步。普通模式配置很簡單:

  char c, str[BUFFSIZE];

  memset(str, 0, sizeof(str));

  strcpy(str, “AT+CLPORT=”TCP“,”4000“ ”);

  i = write(fd, str, strlen(str));

  printf(“str= %s ”, str);

  sleep(1);

  memset(str, 0, sizeof(str));

  strcpy(str, “AT+CIPSTART=”TCP“,”115.28.6.76“,”4000“ ”);//連接遠程服務器

  i = write(fd, str, strlen(str));

  printf(“str= %s ”, str);

  sleep(1);

  發(fā)送過程可以按照普通的文件方式:

  while((file_block_length=fread(buff,sizeof(char),BUFFSIZE,fs))》0)

  {

  printf(“file_block_length:%d ”, file_block_length);

  memset(str, 0, sizeof(str));

  strcpy(str, “AT+CIPSEND ”);

  i = write(fd, str, strlen(str));

  sleep(1);

  i = write(fd, buff, strlen(buff));

  sleep(1);

  i = write(fd, &ctemp, sizeof(ctemp));//啟動發(fā)送標志,ox1a

  sleep(1);

  memset(buff,0,BUFFSIZE);

  }

  這種方式比較機械,而且每一次發(fā)送的最大的字節(jié)大概不能超過1300字節(jié),串口速率為115200,發(fā)送的速率還是很慢的,程序中加延時是保證指令執(zhí)行完,實際上要不了這么長時間,使用usleep()函數(shù)可以使用更短的時間延時。

  第二種方式

  這種方式相比較前一種方式,主要的改進是可以一種往串口寫數(shù)據(jù),模塊會自動發(fā)送緩沖區(qū)中的數(shù)據(jù),但是缺點是剛開始的配置方式有點長,設置好了之后可以直接應用,這種方式測試的時候不是很穩(wěn)定,從數(shù)據(jù)傳輸模式跳回命令模式時,可能失效。

  配置的過程如下:

  char c, str[BUFFSIZE];

  //透傳模式配置過程

  memset(str, 0, sizeof(str));

  strcpy(str, “AT+IFC=2,2 ”); //

  i = write(fd, str, strlen(str));

  printf(“str= %s ”, str);

  memset(str, 0, sizeof(str));

  strcpy(str, “AT+CIPMODE=1 ”); //

  i = write(fd, str, strlen(str));

  printf(“str= %s ”, str);

  memset(str, 0, sizeof(str));

  strcpy(str, “AT+CSTT=”CMNET“ ”);

  i = write(fd, str, strlen(str));

  printf(“str= %s ”, str);

  memset(str, 0, sizeof(str));

  strcpy(str, “AT+CIICR ”);

  i = write(fd, str, strlen(str));

  printf(“str= %s ”, str);

  memset(str, 0, sizeof(str));

  strcpy(str, “AT+CIFSR ”);

  i = write(fd, str, strlen(str));

  printf(“str= %s ”, str);

  memset(str, 0, sizeof(str));

  strcpy(str, “AT+CIPSTART=”TCP“,”115.28.6.76“,”4000“ ”);

  i = write(fd, str, strlen(str));

  printf(“str= %s ”, str);

  //省略發(fā)送數(shù)據(jù)部分

  sleep(2);

  memset(str, 0, sizeof(str));

  strcpy(str, “+++”);

  i = write(fd, str, strlen(str));《/span》//從透傳模式回到命令模式

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉