0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)用eVC在ARM9主板上實現(xiàn)短信收發(fā)介紹

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2019-11-15 09:22 ? 次閱讀

利用公共的GSM短信信道(SMS)和GPRS數(shù)據(jù)信道(TCP/IP),實現(xiàn)設(shè)備的遠(yuǎn)程通訊,是英創(chuàng)嵌入式主板的主要應(yīng)用領(lǐng)域之一。在英創(chuàng)的x86嵌入式模塊產(chǎn)品線中,通過與西門子公司的MC39i無線模塊構(gòu)成基本硬件環(huán)境,已提供了完善的GSM短信收發(fā)(包括中文短信)方案和基于GPRS的TCP/IP數(shù)據(jù)通訊方案。在英創(chuàng)ARM9工控主板產(chǎn)品中,通過利用WinCE提供的RAS功能,已實現(xiàn)了基于GPRS、3G信道的TCP/IP通訊,相關(guān)方案的介紹請參考《WinCE下的GPRS應(yīng)用》、《WinCE主板接入3G網(wǎng)絡(luò)的方法》等文章。本文則主要側(cè)重介紹英創(chuàng)ARM9主板與MC39i模塊結(jié)合,通過eVC標(biāo)準(zhǔn)C/C++代碼操作AT指令,實現(xiàn)中英短信收發(fā)功能的方法。

收發(fā)短消息可分三種模式:BLOCK 模式、TEXT 模式和PDU 模式。BLOCK 模式現(xiàn)在用的很少了;TEXT 模式則只能發(fā)送ASCII 碼,它不能發(fā)送中文的UNICODE碼;而PDU 模式編碼較為復(fù)雜,它需要編寫專門的函數(shù)來將文本轉(zhuǎn)換為PDU格式,但PDU模式被所有手機(jī)支持,可以使用任何字符集,它也是手機(jī)默認(rèn)的編碼方式。英創(chuàng)公司提供的解決方案中,正是選用的PDU 模式。

用PDU模式收發(fā)短消息可以使用三種編碼: 7-bit 編碼、8-bit 編碼和UCS2 編碼。7-bit 編碼用于發(fā)送普通的ASCII字符;8-bit 編碼通常用于發(fā)送數(shù)據(jù)消息,如圖片或鈴聲等;UCS2 編碼用于發(fā)送Unicode字符,當(dāng)然也可以發(fā)送ASCII字符。由于英創(chuàng)的解決方案要實現(xiàn)中文短消息或者ASCII字符的發(fā)送,所以選擇用UCS2 編碼,即中文Unicode碼,這可以適應(yīng)發(fā)中文和ASCII字符的需要。PDU 串除了包含所發(fā)送的消息本身外,還包含很多其它參數(shù)信息,如服務(wù)中心號碼、目標(biāo)號碼和編碼方式等。

PDU編碼與解碼比較復(fù)雜,本文不做介紹。使用英創(chuàng)公司給出的SMS類,可以在不了解PDU編碼格式的情況下,輕松完成短信收發(fā)編程。下面詳細(xì)介紹SMS類的主要成員函數(shù)和使用方法。

為了方便程序開發(fā),定義SM_PARAM結(jié)構(gòu)體如下:

typedef struct {

char SCA[16]; // 短消息服務(wù)中心號碼(SMSC地址)

char TPA[16]; // 目標(biāo)號碼或回復(fù)號碼(TP-DA或TP-RA)

char TP_PID; // 用戶信息協(xié)議標(biāo)識(TP-PID)

char TP_DCS; // 用戶信息編碼方式(TP-DCS)

char TP_SCTS[16]; // 服務(wù)時間戳字符串(TP_SCTS), 接收時用到

char TP_UD[160]; // 接收到的短信內(nèi)容

TCHAR TP_UDS[160]; // 要發(fā)送的短信內(nèi)容

} SM_PARAM;

變量SCA為短消息服務(wù)中心號碼(SMSC地址),例如成都移動的短消息服務(wù)中心號碼為:8613800280500,注意,短消息服務(wù)中心號碼應(yīng)該包括86。

變量TPA為要發(fā)送的號碼和收到短信時對方的手機(jī)號碼,例如:8613880851364。

變量PID為協(xié)議標(biāo)識,00表示普通GSM 類型,點到點方式。

變量DCS為用戶信息編碼方式:00表示7-bit編碼;08表示UCS2 編碼;04:表示8-bit 編碼。

變量SCTS為收到的短信的時間戳字符串。

變量UDS為要發(fā)送短信的內(nèi)容,最大容量是140字節(jié),所以在UCS2 編碼方式下,可發(fā)送短消息的最大字符數(shù)是70 個變量UD為接收到的短信內(nèi)容。

在發(fā)短信之前,只需要填充SM_PARAM結(jié)構(gòu)體,然后調(diào)用SMS_SendPDUMessage函數(shù)就可以發(fā)短信了。調(diào)用SMS_ReadShortMessage,就可以把短信信息讀到SM_PARAM結(jié)構(gòu)體中。SMS類的主要函數(shù)如下:

// 函數(shù)名稱: SMS_Init

// 描 述: SMS 模塊初始化函數(shù)

// 輸入?yún)?shù): LPCTSTR Port : 串口號, 如 ‘COM1:’

// int BaudRate : 串口波特率, 如 115200

// DWORD UserParam: 用戶傳遞到該類中的參數(shù)

// 輸出參數(shù): 無

// 返 回: TRUE: 成功 FALSE: 失敗

BOOL CSMS:: SMS_Init(LPCTSTR Port, int BaudRate, DWORD UserParam)

// 發(fā)送PDU編碼短消息

// 輸入: pSrc - 源PDU參數(shù)指針

// 返回: TRUE: 成功 FALSE: 失敗

BOOL CSMS::SMS_SendPDUMessage(SM_PARAM* pSrc)

// 函數(shù)名稱: SMS_ReadShortMessage

// 描 述: 讀取短信內(nèi)容

// 輸入?yún)?shù): DWORD num : 短信序號

// 輸出參數(shù): SM_PARAM * SmGetMsg : 短信信息

// 返 回: TRUE: 成功 FALSE: 失敗

BOOL CSMS::SMS_ReadShortMessage(DWORD num, SM_PARAM * SmGetMsg)

// 函數(shù)名稱: SMS_DeleteShortMsg

// 描 述: 刪除短信

// 輸入?yún)?shù): 無

// 輸出參數(shù): DWORD num : 短信序號

// 返 回: TRUE: 成功 FALSE: 失敗

BOOL CSMS::SMS_DeleteShortMsg(DWORD num)

注意,在使用英創(chuàng)評估底板上的MC39i時,要先對先對MC39I上電,然后在調(diào)用初始化函數(shù)。下面以向13880851364號碼發(fā)送“英創(chuàng)hello!”為例,說明SMS_SendPDUMessage函數(shù)的使用方法。

1、對MC39I上電,并初始化:

SM_PARAM SmsInfo;

CSMS m_SMS;

GPRS_PowerOn( ); // MC39I上電

Sleep( 3000 ); // 等3秒鐘

m_SMS.SMS_Init(_T(‘COM3:’), 115200, (DWORD)this);

// MC39I接EM9000的com3口

2、填充pdu結(jié)構(gòu)體:

SmsInfo.SCA=‘8613800280500’

SmsInfo .TPA=‘8613880851364’

SmsInfo.TP_PID=0; // 00 協(xié)議標(biāo)識(TP-PID) 是普通GSM類型,點到點方式

SmsInfo.TP_DCS=GSM_UCS2; // 使用UCS2編碼方式

SmsInfo .TP_UDS=_T(‘英創(chuàng)hello!’);

3、調(diào)用SMS_SendPDUMessage函數(shù),發(fā)短信息:

m_SMS.SMS_SendPDUMessage(&SmsInfo);

在讀取短信時可以設(shè)置一個定時器,在響應(yīng)TIMER事件的函數(shù)中調(diào)用SMS_ReadShortMessage函數(shù),就可以及時得到含有短信信息的結(jié)構(gòu)體。

CString strTelCode, strMsg;

Bool ret = m_SMS.SMS_ReadShortMessage(1, &ReadMsg); // 讀取第 1 條短信

if (ret == TRUE)

{

strTelCode=ReadMsg.TPA; // 得到對方手機(jī)號碼

strMsg=ReadMsg.TP_UD; // 得到短信內(nèi)容

m_SMS.SMS_DeleteShortMsg(1); // 刪除短信

}

以上給出來使用英創(chuàng)提供的SMS類發(fā)短信與讀短信的方法,英創(chuàng)客戶可以在開發(fā)光盤中找到源碼,也可以和我們聯(lián)系得到源碼。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6084

    瀏覽量

    35154
收藏 人收藏

    評論

    相關(guān)推薦

    如何利用創(chuàng)ARM9嵌入式主板快速構(gòu)建雙CAN接口的方案

    創(chuàng)提供的系列ARM9嵌入式主板,除EM9160嵌入式主板外,所有的ARM9
    的頭像 發(fā)表于 10-08 11:37 ?3986次閱讀
    如何利用<b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>ARM9</b>嵌入式<b class='flag-5'>主板</b>快速構(gòu)建雙CAN接口的方案

    創(chuàng)ARM9工控主板應(yīng)用程序自動加載實現(xiàn)

    創(chuàng)ARM9工控主板有兩種工作模式:調(diào)試模式和運行模式。調(diào)試模式是指開機(jī)以后系統(tǒng)處于調(diào)試狀態(tài),此時用戶可以通過eVC的遠(yuǎn)程調(diào)試工具或微軟的A
    的頭像 發(fā)表于 10-08 17:13 ?1721次閱讀

    創(chuàng)信息技術(shù)VS2005調(diào)試ARM9核心板簡介

    C++(簡稱EVC)作為該平臺的標(biāo)準(zhǔn)開發(fā)工具,EVC和標(biāo)準(zhǔn)PC平臺VC的開發(fā)界面基本完全一致,因此對于工程師來說,
    的頭像 發(fā)表于 10-31 15:03 ?1830次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>VS2005調(diào)試<b class='flag-5'>ARM9</b>核心板簡介

    創(chuàng)信息技術(shù)解決eVC安裝出現(xiàn)“Virtual PC不穩(wěn)定”的解決之道

    創(chuàng)ARM9系列嵌入式主板采用了正版Windows CE操作系統(tǒng),推薦客戶使用eVC進(jìn)行開發(fā)。eVC
    的頭像 發(fā)表于 11-03 09:31 ?1242次閱讀

    創(chuàng)信息技術(shù)ARM9工控主板內(nèi)嵌AD概述

    創(chuàng)公司推出的ARM9 嵌入式工控主板產(chǎn)品系列,均預(yù)裝了正版WinCE5.0 操作系統(tǒng)。
    的頭像 發(fā)表于 11-04 09:43 ?2587次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>ARM9</b>工控<b class='flag-5'>主板</b>內(nèi)嵌AD概述

    創(chuàng)信息技術(shù)ARM9工控板遠(yuǎn)程監(jiān)控領(lǐng)域的應(yīng)用

    創(chuàng)ARM9工控主板的數(shù)據(jù)采集功能通常采用板的GPIO實現(xiàn)數(shù)字輸入輸出、通過精簡ISA總線擴(kuò)展
    的頭像 發(fā)表于 11-12 10:04 ?1716次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>ARM9</b>工控板<b class='flag-5'>在</b>遠(yuǎn)程監(jiān)控領(lǐng)域的應(yīng)用

    創(chuàng)信息技術(shù)ARM9工控板串口設(shè)備的COM組件應(yīng)用

    創(chuàng)公司的ARM9工控主板產(chǎn)品均預(yù)裝了Windows CE5.0操作系統(tǒng),支持包括EVC、C#、VB、LabView等多種開發(fā)工具。
    的頭像 發(fā)表于 11-05 10:07 ?1722次閱讀

    創(chuàng)信息技術(shù)ARM9主板運行案例解析

    創(chuàng)今年(2009年)的市場活動中,為了讓客戶更好地完成產(chǎn)品應(yīng)用開發(fā),創(chuàng)向第一次購買
    的頭像 發(fā)表于 11-12 10:20 ?1380次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>ARM9</b><b class='flag-5'>主板</b><b class='flag-5'>上</b>運行案例解析

    創(chuàng)信息技術(shù)ARM9工控主板遠(yuǎn)程操作自動更新介紹

    庫EM_FTPClient.LIB,客戶利用這個庫可以方便的編寫出適合自己應(yīng)用的FTP客戶端應(yīng)用程序,ARM9工控主板支持?jǐn)帱c續(xù)傳的FTP文件傳送》一文中對各庫函數(shù)做了詳細(xì)介紹。本
    的頭像 發(fā)表于 11-13 09:26 ?1325次閱讀

    創(chuàng)信息技術(shù)ARM9工控板遠(yuǎn)程抓拍圖像應(yīng)用介紹

    創(chuàng)ARM9工控主板功能齊全、體積小巧、性能穩(wěn)定、超低價格的嵌入式主板產(chǎn)品。主板硬件完全按工業(yè)級
    的頭像 發(fā)表于 11-13 09:41 ?1927次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>ARM9</b>工控板遠(yuǎn)程抓拍圖像應(yīng)用<b class='flag-5'>介紹</b>

    創(chuàng)信息技術(shù)工控主板EM9360的GPIO介紹

    的WinCE驅(qū)動程序,支持應(yīng)用程序通過WinCE相應(yīng)的API函數(shù)來操作各路網(wǎng)絡(luò)接口。此外EM9360還與創(chuàng)公司其他ARM9主板一樣,帶有精簡ISA擴(kuò)展總線以及12位通
    的頭像 發(fā)表于 11-14 09:34 ?2357次閱讀

    創(chuàng)信息技術(shù)工控主板的復(fù)位管理介紹

     創(chuàng)公司的工控主板是基于ARM9 CPU、預(yù)裝正版WinCE的嵌入式主板產(chǎn)品。作為嵌入式應(yīng)用,系統(tǒng)的可靠啟動是其可靠性的重要組成部分。本文
    的頭像 發(fā)表于 11-14 10:03 ?1607次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>工控<b class='flag-5'>主板</b>的復(fù)位管理<b class='flag-5'>介紹</b>

    創(chuàng)信息技術(shù)ARM9工控主板擴(kuò)展矩陣鍵盤的方法

    鍵盤輸入,僅需要一些數(shù)字鍵或功能鍵(比如方向鍵),此時可通過外擴(kuò)矩陣鍵盤來實現(xiàn)。 1、矩陣鍵盤擴(kuò)展硬件電路 創(chuàng)ARM9工控主板可通過GPI
    的頭像 發(fā)表于 01-14 11:05 ?1594次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>ARM9</b>工控<b class='flag-5'>主板</b>擴(kuò)展矩陣鍵盤的方法

    創(chuàng)信息技術(shù)ARM9主板進(jìn)行連接調(diào)試的兩種方法

    我們提供給用戶的《使用VS2005連接和調(diào)試創(chuàng)ARM9嵌入式模塊》一文中,我們分別以EM9000
    的頭像 發(fā)表于 01-14 11:29 ?1395次閱讀

    創(chuàng)信息技術(shù)ARM9工控主板的SMS短信息應(yīng)用介紹

    的應(yīng)用越來越廣泛,其中主要以GPRS數(shù)據(jù)通訊及SMS短信息方式為主。GPRS數(shù)據(jù)通訊是以TCP/IP方式進(jìn)行通訊,GPRS模塊發(fā)送SMS短信,是通過串口發(fā)送AT指令來實現(xiàn)。
    的頭像 發(fā)表于 01-14 11:45 ?1309次閱讀