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

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

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

3天內不再提示

英創信息技術嵌入式Linux中同時實現GPRS和SMS短信收發

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-14 11:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著移動通訊技術的發展普及,GPRS無線通訊和SMS短信收發越來越多地應用到工業領域的遠程數據通訊中。GPSR主要是進行的數據通訊,SMS則是AT指令的操作模式,在不少的無線通訊模塊,比如西門子的MC39i、華為的GTM900,模塊一旦處于GPRS數據通訊狀態,則無法再進行AT指令的操作,從而難以同時實現SMS短信數據收發的功能。解決這個問題方法之一是在軟件上實現多路轉換協議,這種方式通過軟件協議的方式將一個物理口虛擬為多個口,從而將GPRS通訊和SMS通訊分開,這種模式程序往往比較復雜,在嵌入式的應用中比較難以實現。方法之二就是直接在硬件物理口上將GPRS和SMS通訊分開,西門子提供的MC37i無線模塊本身就自帶有兩個物理串口,可以支持分別進行GPRS和SMS通訊的操作。本文將結合英利公司提供的ARM9 Linux主板EM9160和ETA300 GPRS擴展單元(GPRS無線模塊為MC37i),著重介紹如何同時實現GPSR通訊和SMS短信收發的應用。

硬件組成

英利公司的嵌入式Linux主板EM9160共有6個異步串口,在Linux環境中為“/dev/ttyS1”-“/dev/ttyS6”。ETA300是包括MC37i模塊的外掛式GPRS通訊單元,可直接通過帶線與英利EM9160開發評估底板相連,如下圖所示。其中GPRS通訊占用EM9160的 “/dev/ttyS1” (或稱COM2) 口,SMS通訊占用EM9160的“/dev/ttyS4”( 或稱COM5 ) 口,連接方式如下圖所示。

MC37i電源管理

通過ETA300 GPRS擴展單元可實現對MC37i的電源管理,MC37i的電源管理是通過兩路GPIO:GPIO8和GPIO9來實現,分別對應GPRS _STB、GPRS_AUX管腳信號。在程序上操作GPIO8、GPIO9實現對MC37i的上電、關電操作。以下為提供的對MC37i電源管理的操作函數:

// 功能描述:該函數通過對EM9160的GPRS_STB和GPRS_AUX兩個管腳信號的操作,實現對GPRS模塊的電源管理。
// 輸入參數 OpMode: 電源管理功能索引號,有效索引號包括:
OpMode = 1: 對GPRS模塊進行上電操作,并把執行該操作后電 源狀態返回;
OpMode = 2: 對GPRS模塊進行強制關電,并把執行該操作后電源狀態返回;
OpMode = 3: 讀取GPRS模塊當前的電源狀態。
// 輸出參數 pResult: 用于存儲讀取的電源狀態信息。
*pResult = 0: 表示GPRS模塊的電源已關閉;
*pResult = 1: 表示GPRS模塊的電源已加載成功;
int GPRS_PM( int fd, int OpMode, int* pResult )

嵌入式Linux中的GPRS撥號

嵌入式Linux ppp GPRS撥號程序pppd和相關的腳本文件,均已經缺省包含在EM9160板卡的根文件系統中。

嵌入式Linux主板EM9160環境下進行GPRS撥號時,首先調用函數GPRS_PM(…)使MC37i上電成功,然后再啟動pppd進程進行GPRS撥號。

printf('GPRS Power On\n');
GPRS_PM(fd, 1, &GPRS_State);
// MC37i模塊上電登錄到移動網絡等待時間
for( i1=0; i1<8; i1++ )
{
sleep( 1 );
printf( '.\n' );
}
system( 'pppd call pppd-connect-script' );

掛斷直接可調用ppp-off腳本:

system( '/etc/ppp/ppp-off' );

嵌入式Linux中的SMS短信收發

SMS短信收發的核心通訊模式為串口通訊,應用程序上也是采用的C++編程方式,利用英利公司網站技術天地欄目中《嵌入式Linux串口通訊的C++設計》一文中介紹的CSerial類,在CSerial基礎上派生了一個針對于SMS收發應用的class SMS,該派生類 class SMS 中重新實現了虛函數PackagePro(…) 接收數據處理函數,以滿足SMS收發的應用需求。

在sms.h中定義了短信的數據結構:

struct SMS_DATA
{
unsigned char PhoneNum[16]; // 對端電話號碼
struct Date d; // 日期:年月日
struct Time t; // 時間:時分秒
int DatLen; // 數據長度
unsigned char DBuf[168]; // 短信數據內容
};

對于SMS短信收發可調用的類函數包括有:

// 按照指定的參數打開短信Modem端口,并創建短信接收線程
int OpenPort( int PortNo, int baudrate, char databits, char stopbits, char parity );
// 關閉短信Modem端口并釋放相關資源
int ClosePort( );
// 發送AT指令初始化短信Modem
int InitSMSModem( );
// 發送短信
int SendMessage( struct SMS_DATA* pSMS );

在該例程中短信接收的處理放在函數PackagePro(…)中實現的,用戶可以根據實際情況加以調整。SMS短信收發的實現代碼均在sms.cpp下,由于是CSerial的派生類,其接收的主要流程可參見英利公司網站技術天地欄目中《嵌入式Linux串口通訊的C++設計》一文中相關介紹,這里不再贅述。

在class SMS中實現了支持中文短信的發送,所以短信發送的模式均采用PDU模式。對于中文字符,在短信發送時還需要轉換為unicode碼,程序代碼中已經實現了中文內碼到unicode 碼的自動轉換,客戶在測試該程序時,需要注意的是要將unicode 的相關轉換文件表COPY到/mn/nandflash:gsm0338.bin gb2312.bin unicode.bin。

本文中所介紹的例程僅僅適用于英利EM9160嵌入式主板,均有源碼提供。感興趣的客戶可以發郵件到公司技術支持郵箱 support@emlinix.com索取相關代碼。

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

    關注

    87

    文章

    11508

    瀏覽量

    213599
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6100

    瀏覽量

    36269
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    怎么結合嵌入式Linux,和FPGA三個方向達到一個均衡發展?

    嵌入式領域,不少人都懷揣著讓嵌入式Linux 和 FPGA 三個方向實現均衡發展的夢想,然而實踐卻面臨諸多挑戰。就像備受矚目的全棧工程
    的頭像 發表于 06-25 10:08 ?304次閱讀
    怎么結合<b class='flag-5'>嵌入式</b>,<b class='flag-5'>Linux</b>,和FPGA三個方向達到一個均衡發展?

    Linux嵌入式和單片機嵌入式的區別?

    Linux嵌入式與單片機嵌入式在多個方面存在顯著的區別,以下是詳細的比較和歸納: 一、基本概念 1. Linux嵌入式: 定義:將
    發表于 06-20 09:46

    嵌入式系統的代碼優化與壓縮技術

    在當今數字化時代,嵌入式系統廣泛應用于各個領域,從智能家居設備到工業控制系統,從汽車電子到可穿戴設備,它們無處不在。而在嵌入式系統開發,代碼優化與壓縮技術至關重要,直接影響著系統的性
    發表于 02-26 15:00

    嵌入式工程師都在找的【Linux內核調試技術】建議收藏!

    嵌入式系統的開發Linux內核調試是一個至關重要的環節。 隨著處理器技術的不斷進步和嵌入式領域的蓬勃發展,掌握有效的內核調試
    發表于 11-28 15:37

    什么是嵌入式?一文讀懂嵌入式主板

    在現代科技浪潮嵌入式技術已成為支撐各種智能設備和系統運行的核心力量。那么,究竟什么是嵌入式嵌入式系統,顧名思義,是將計算機的硬件和軟件
    的頭像 發表于 10-16 10:14 ?2577次閱讀

    嵌入式linux開發的基本步驟有哪些?

    嵌入式Linux開發是一個復雜的過程,涉及到硬件選擇、操作系統移植、驅動開發、應用程序開發等多個方面。以下是嵌入式Linux開發的基本步驟,以及每個步驟的說明。 硬件選擇 在開始
    的頭像 發表于 09-02 09:11 ?1222次閱讀

    嵌入式linux開發板怎么操作

    嵌入式Linux開發板是一種基于Linux操作系統的嵌入式系統開發平臺。它通常包括一個處理器、內存、存儲器、輸入/輸出接口等硬件組件,以及一個基于L
    的頭像 發表于 09-02 09:09 ?784次閱讀

    嵌入式linux開發板芯片的工作原理

    嵌入式Linux開發板是一種基于Linux操作系統的嵌入式系統開發平臺,它廣泛應用于工業控制、智能家居、智能交通、醫療設備等領域。 嵌入式
    的頭像 發表于 09-02 09:07 ?804次閱讀

    飛凌嵌入式技術創新日(深圳站)圓滿落幕

    2024年8月26日下午,飛凌嵌入式技術創新日深圳站在深圳威尼斯迪格酒店盛大舉行,此次活動匯聚了近200位嵌入式技術領域的專家和企業代表,
    的頭像 發表于 08-30 15:42 ?599次閱讀
    飛凌<b class='flag-5'>嵌入式</b><b class='flag-5'>技術</b>創新日(深圳站)圓滿落幕

    飛凌嵌入式技術創新日(深圳站)精彩回顧

    2024年8月26日下午,飛凌嵌入式技術創新日深圳站在深圳威尼斯迪格酒店盛大舉行,此次活動匯聚了近200位嵌入式技術領域的專家和企業代表,
    發表于 08-28 09:06

    學習hypervisor嵌入式產品安全設計

    第一部分(第1~2章)介紹Hypervisor基礎,涵蓋虛擬化技術實現、主流的嵌入式Hypervisor產品,以及基于分離內核的嵌入式Hypervisor等內容。第二部分(第3~12
    發表于 08-25 09:11

    嵌入式機電一體化系統設計與實現》讀后感

    的應用。曾教授詳細講解了如何為嵌入式系統構建Linux環境,以及在Linux中進行程序設計的方法和技巧。通過這些內容,我不僅掌握了Linux嵌入式
    發表于 08-21 08:45

    專家力薦|《嵌入式系統原理與開發——基于RISC-V和Linux系統》新書發售

    當前,嵌入式系統已成為智能設備的核心之一,RISC-V+Linux的開源力量為嵌入式系統注入強大的創新動力。作為中國RISC-V軟硬件生態領導者,賽昉科技與業界專家合作推出《嵌入式系統
    的頭像 發表于 07-24 08:20 ?1092次閱讀
    專家力薦|《<b class='flag-5'>嵌入式</b>系統原理與開發——基于RISC-V和<b class='flag-5'>Linux</b>系統》新書發售

    機器視覺在嵌入式的應用

    機器視覺在嵌入式系統的應用是一個廣泛而深入的話題,涉及到許多不同的領域和技術。 機器視覺在嵌入式系統的應用 1. 引言 機器視覺是一種模
    的頭像 發表于 07-16 10:30 ?961次閱讀

    嵌入式熱門領域有哪些?

    通過物聯網連接各種物理設備和傳感器,促使它們之間實現信息的交換和數據的共享。從智能家居到智能城市,物聯網的應用不斷擴展,為嵌入式系統工程師帶來了廣泛的就業機會和發展前景。 自動駕駛 自動駕駛
    發表于 07-16 09:23
    主站蜘蛛池模板: 亚洲综合欧美日本另类激情 | 性色免费视频 | 怡红院国产 | 特级毛片aaaaaa蜜桃 | 国产一区二区播放 | 久久思re热9一区二区三区 | 孩交精品xxxx视频视频 | 亚洲精品蜜桃久久久久久 | 美女被免费视频的网站 | 在线看黄网 | 天天看片天天干 | 最新丁香六月 | 黄h网站| 欧美精品四虎在线观看 | 久久黄色精品视频 | 一区二区视频在线 | 伊人久久亚洲综合天堂 | 十三以下岁女子毛片免费播放 | 色视频国产 | 黄色小视频免费 | 亚洲宅男天堂a在线 | 中文天堂在线观看 | 亚洲一二三区在线观看 | 一级做a免费视频 | 亚洲精品久久久久久婷婷 | 色综合久久综合 | 海棠高h粗暴调教双性男男 韩国韩宝贝2020vip福利视频 | 四虎影院观看视频在线观看 | 亚洲精品综合网在线8050影院 | 久久免费手机视频 | 亚洲黄页网站 | 国产欧美一级片 | 啪啪伊人网| 二级片在线 | 国产精品不卡片视频免费观看 | 宅男噜噜噜66 | 欧美美女一区二区三区 | www.九色视频| 久久黄色精品视频 | 青青热久久国产久精品秒播 | 欧美色综合高清免费 |