日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql与sim900a_sim900a的应用,基于SIM900A-GPRS模块的远程文件传输实例

發布時間:2023/12/2 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql与sim900a_sim900a的应用,基于SIM900A-GPRS模块的远程文件传输实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

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

第一種方式

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

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

char c, str[BUFFSIZE];

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

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

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

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

sleep(1);

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

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

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

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

sleep(1);

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

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

{

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

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

strcpy(str, “AT+CIPSEND\r\n”);

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

sleep(1);

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

sleep(1);

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

sleep(1);

memset(buff,0,BUFFSIZE);

}

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

第二種方式

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

配置的過程如下:

char c, str[BUFFSIZE];

//透傳模式配置過程

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

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

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

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

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

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

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

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

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

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

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

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

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

strcpy(str, “AT+CIICR\r\n”);

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

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

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

strcpy(str, “AT+CIFSR\r\n”);

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

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

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

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

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

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

//省略發送數據部分

sleep(2);

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

strcpy(str, “+++”);

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

總結

以上是生活随笔為你收集整理的mysql与sim900a_sim900a的应用,基于SIM900A-GPRS模块的远程文件传输实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。