嵌入式linux gprs,在嵌入式Linux下GPRS上网方案[zt]
在嵌入式Linux下GPRS上网方案[zt]
硬/软件环境
基于S3C2410的嵌入式系统,COM1连接PC,COM2连接SIM300 GPRS模块。该系统运行在Linux 2.6.14操作系统下,使用ppp套件通过SIM300进行PPP拨号。
让Linux内核支持PPP
进入Linux内核目录,执行#make menuconfigNetwork Device Support à PPP (point-to-point protocol) support [*] PPP multilink support PPP support for async serial ports PPP support for sync tty ports SLIP (serial line) support [*] CSLIP compressed headers
ppp套件安装
Ø 下载ppp: ×最新版本为2.4.4Ø 将ppp-2.4.4.tar.gz解压至目录×这里默认ppp源码目录为$(PPP) #tar zxvf ppp-2.4.4.tar.gzØ 然后交叉编译ppp: #cd $(PPP)#./configure#make CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc ×这里指定交叉编译器Ø 将ppp套件安装至嵌入式系统中:×这里默认可执行文件在嵌入式系统下的目录为$(EMB_BIN)#cp $(PPP)/chat/chat $(EMB_BIN)#cp $(PPP)/pppd/pppd $(EMB_BIN)#cp $(PPP)/pppdump/pppdump $(EMB_BIN)#cp $(PPP)/pppstats/pppstats $(EMB_BIN) ×这里默认嵌入式系统的etc目录为$(EMB_ETC) #mkdir $(EMB_ETC)/ppp #cp $(PPP)/etc.ppp/* $(EMB_ETC)/ppp
ppp套件配置
$(EMB_BIN)/dial-on.sh (GPRS启动脚本)
#!/bin/sh #define dial_on functiondial_on(){ #test if pppd is running pppd_stat=`ifconfig|grep ppp|wc -l|cut -b 7-7` if [ $pppd_stat -gt 0 ] then echo "ppp connection's already started." else #close ethernet interface ifconfig eth0 down #ppp start pppd modem /dev/ttyS1 57600 nocrtscts lock connect "chat -v -f /etc/ppp/gprs-connect" user "" noauth debug defaultroute # pppd配置说明: # ttyS1:连接GPRS模块SIM300的串口 # 57600:GPRS的拨号速率 # nocrtscts:无流控 # lock:锁定设备 # connect “chat –v –f /etc/ppp/gprs-connect”:GPRS连接脚本文件 # user “”:用户名,这里是无 # noauth:无需认证 # debug:输出调试信息 # defaultroute:此拨号连接作为默认路由 echo "ppp is starting..." fi} #dial on gprsdial_on #wait for ppp's initsleep 5 pppd_stat=`ifconfig|grep ppp|wc -l|cut -b 7-7`if [ $pppd_stat -eq 0 ]then echo "trying 2nd time to call ppp" dial_on sleep 5fi pppd_stat=`ifconfig|grep ppp|wc -l|cut -b 7-7`if [ $pppd_stat -eq 0 ]then echo "pppd error!" echo "please check pppd's config files"fi #open ethernet interfaceifconfig eth0 up #end
$(EMB_BIN)/dial-off.sh (关闭GPRS连接脚本)
#!/bin/sh #get pppd's pidpid=`pidof pppd` #if pppd process is runningif [ -n $pid ]then #kill pppd kill $pid #open the ethernet interface ifconfig eth0 up echo "ppp connection is closed."else echo "ppp connection isn't existed."fi #end
$(EMB_ETC)/ppp/gprs-connect (GPRS连接配置文件)
#GPRS连接超时设置TIMEOUT 60#若MODEM遇到BUSY、ERROR、NO CARRIER等信息时,停止拨号ABORT "BUSY"ABORT "ERROR"ABORT "NO CARRIER"#外送“AT”指令'' AT#当得到“OK”回应时,外送AT+CGDCONT=1,"IP","CMNET"命令"OK" "AT+CGDCONT=1,\042IP\042,\042CMNET\042"#当得到“OK”回应时,外送ATDT*99***1#命令"OK" "ATDT*99***1#"#当得到“CONNECT”回应时,拨号结束,程序退出"CONNECT"
$(EMB_ETC)/ppp/pap-secrets (GPRS认证配置文件)
# Secrets for authentication using PAP# client server secret IP addresses'' * '' *
说明
(1) 还需要在$(EMB_ETC)/ppp目录下创建指向$(EMB_ETC)/resolv.conf的链接,用于指定PPP连接的DNS。(2) 在ppp连接时,需要关闭eth连接。在脚本中已经设置好了,首先关闭eth连接,然后进行ppp连接,在ppp连接完成时,再开启eth连接。(3) 最好在系统中开启syslogd进程,这样在/var/log/messages文件中会记录GPRS进行拨号的DEBUG信息,便于调试。(4) 运行拨号脚本后,可以使用#ifconfig查看PPP连接信息。
©著作权归作者所有:来自51CTO博客作者3444542的原创作品,如需转载,请注明出处,否则将追究法律责任
嵌入式linux gprs,在嵌入式Linux下GPRS上网方案[zt]相关推荐
- gsm基于linux程序,基于嵌入式Linux下GSM模块的短信收发系统设计
摘要:移动通信中的短消息业务以其方便.可靠和价廉得到了广泛应用,本文在嵌入式Linux系统中,通过西门子MC35模块,实现了短信收发系统,该系统采用PDU短信模式,能支持中文短信.程序设计采用异步事件 ...
- linux下的嵌入式开发技能(嵌入式工程师必备)
嵌入式Linux开发从下到上分为:嵌入式硬件开发.嵌入式驱动开发.嵌入式系统开发.嵌入式软件开发. 一.嵌入式硬件开发:熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力.熟 ...
- linux下GPRS模块的应用程序
---------------------------------------------------------------------------------------------------- ...
- linux 下GPRS模块使用sim900打电话发短信
--------------------------------------------- 主机操作系统:Centos 6.7 开发板平台: FL2440 Linux内核版本: linux-3.0 ...
- 嵌入式linux在windows,在Windows下启动Linux-嵌入式系统-与非网
在Windows me下: 首先: 启动Windows me,假定光驱为g:,Linux安装在/dev/hda3,将Linux安装光盘放入光驱,在窗口DOS提示符下运行以下几条命令(注意内核文件vml ...
- 嵌入式系统开发学习步骤(Linux高级编程学习顺序)
2019独角兽企业重金招聘Python工程师标准>>> 嵌入式系统开发学习步骤(Linux高级编程学习顺序) 1.Linux 基础 安装Linux操作系统 Linux文件系统 Lin ...
- linux gprs连接服务器,Linux和GPRS的数据通讯系统应用介绍
0 引 言本文引用地址:http://www.eepw.com.cn/article/154771.htm 随着我国电网的不断扩大,输电线路越来越多.越来越复杂,给线路运检人员日常维护和检修造成了一定 ...
- 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...
注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...
- Linux 之八 完整嵌入式 Linux 环境、(交叉)编译工具链、CPU 体系架构、嵌入式系统构建工具
最近,工作重心要从裸机开发转移到嵌入式 Linux 系统开发,由于之前对嵌入式 Linux 环境并不是很了解,因此,第一步就是需要了解如何搭建一个完整的嵌入式 Linux 环境.现在将学习心得记录 ...
最新文章
- 公司内部将多国语言key转换成中文javaScript
- Face Alignment at 3000 FPS via Regressing Local Binary Features(CVPR2014)读后感(first pass)
- html框架集 target
- 如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段
- 2021年宣城市高考成绩查询,宣城高考成绩查询入口
- 关于mysql的论文,大家给点建议
- arm linux 中文输入法,ARM 安装中文输入法
- android串口wifi模块,一文深度了解串口WiFi模块的应用场景
- 微信公众号实现消息模板的推送
- a 标签 jq js 打开新页面跳转
- 【数据攻略】 假设检验 | 统计功效 | 最小样本量
- ajax批量上传数据,Ajax上传数据和上传文件(三种方式)
- 上网认证页面html,如何设置网页认证上网
- Java中使用Protocol Buffer
- 6岁女孩出口之乎者也 用《论语》典故批评妈妈
- A*算法求解迷宫问题(算法讲解与证明、python实现与可视化)
- Pycharm中,pyqt5.11.1的Qt assistant显示
- Socket编程面试问题
- 软件生命周期管理系统ALM配置说明(二)
- 高中计算机类教师资格证,高中教师资格证计算机专业考什么
热门文章
- linux下qt打印功能如何实现,QT实现操控打印机打印图片
- OV7670摄像头的相关参数及时序分析
- 分布式数据库架构及企业实践(基于Mycat中间件)——1
- printf 日常使用指南
- 自媒体运营工具有哪些?分享自媒体必备的几款运营工具!
- MIPI C-PHY/D-PHY/ UFS/ SDIO/eMMC/DP/eDP/DDR5/LPDDR5/I3C/PCIE/Automotive Ethernet/Serdes......测试方案
- 为什么win7 flash player安装不了怎么办
- 论文阅读,GAN 生成对抗网络 2014 Goodfellow原文阅读笔记
- 关闭Java11中即将移除Nashorn引擎的警告Warning: Nashorn engine is planned to be removed from a future JDK release
- 银河计算机网络,python学习笔记