我們的gprs撥號上網已經做好了,當初做這個東西的時候對面這方面的東西一點也不懂,好在網上很多前輩有自己的經驗介紹,少走了不少冤枉路。現在我也把自己gprs撥號上網的東西總結下,如有錯誤請大家及時給我糾正。
網上大部分的gprs案例都是華為gtm900模組的,我們的撥號用的是中興的me3000模組,模組對撥號程式是沒有影響的。乙個可以撥號上去另乙個也可以撥。
我先介紹下我參考主要資料:http://blog.chinaunix.net/u3/90973/showart_1998886.html部落格,我用的pppd撥號,我本身是要移植到達文西平台上面的,本人移植過程中沒有遇到什麼問題,感覺移植很是方便。其他的我也沒有怎麼試。我推薦大家使用這個撥號。
我建議大家實現gprs撥號的不要一開始就在網上拷貝幾個指令碼直接執行,有可能一下你就成功了,這是有可能的。但是你還是不知道gprs到底是怎麼實現撥號的,建議大家先去看看撥號的原理和各個階段分別實現什麼功能,好好的閱讀你的撥號模組的說明文件,這對撥號成功後上網功能的實現是很有幫助的。
當你對撥號原理和模組的使用方法了解以後就可以開始實現撥號了。
我建議你分兩步走,第一步可以在windows環境下實現這個撥號這個功能。這裡主要難點是使用gprs模組在xp上面新建乙個為模組撥號的modem。至於方法你可以在網上找一下,這個功能我實現,但是具體的步驟我不記得了,如果實現成功了電腦的鏈結速度就會顯示171.2k,過程不難。這個過程可以讓你了解gprs撥號的過程和一些at命令。
第二階段可以在linux下面撥號了,我使用的pppd撥號主要是以下幾個指令碼:第乙個是撥號引數配置檔案,其中最重的兩個引數埠名稱和波特率。我把我的引數配置檔案貼出來:
#/etc/ppp/peers/gprs
# this is pppd script for china mobile, used huawei gtm900-b gprs module
# usage: root>pppd call gprs
/dev/ttyusb0//埠名稱
9600//波特率
nocrtscts//無流控制
mtu 2000//最大傳送位元組數
mru 2000//最大接收位元組數
modem
#noauth
debug
nodetach
#hide-password
usepeerdns
noipdefault
defaultroute
user "cmnet"//我撥號用的是中國移動,聯通也是這個名字
0.0.0.0:0.0.0.0
ipcp-accept-local
ipcp-accept-remote
#lcp-echo-failure 12
#lcp-echo-interval 0
#noccp
#novj
#novjccomp
#persist
connect '/usr/sbin/chat -s -v -f /etc/ppp/gprs-connect-chat'
#connect '/bin/chat -v -s -f /etc/ppp/gprs-connect-chat'//這裡是撥號的時候呼叫乙個驗證指令碼,賬號加密用的
#disconnect '/bin/chat -v -f /etc/ppp/gprs-disconnect-chat'
我的校驗文字上是gprs-connect-chat的具體內容是:
#/etc/ppp/gprs-connect-chat
# chat script for china mobile, used zte me3000 gprs module.
timeout 15
abort "delayed"
abort "busy"
abort "error"
abort "no dialtone"
abort "no carrier"
timeout 40
'' /rat
ok at*tsimins?
ok at+zstr=2
ok at+cpas
ok at+csq
ok at+cops?
ok at+creg?
ok ats0=0
ok ate0v1
#ok at+cgdcont=1,"ip","uninet"
#ok at+cgdcont=1,"ip","uninet"
ok at+cgdcont=1,"ip","cmnet"
#ok atdt#777
ok atdt*99***1#
connect ''
引數檔案配置好之後,介紹下撥號程式指令碼檔案,gprs_dialup.sh
#!/bin/sh
dns1=" "
dns2=" "
cd /etc/ppp/peers
pppd call gprs&//通過pppd撥號呼叫gprs引數配置檔案,利用模組進行撥號,下面程式是為了gprs程式可用了寫的,簡言之就是僅僅完成撥號,我們的撥號依然是乙個玩具,不能給別人用
echo "pppd ok"
sleep 12
echo "sleep ok"
cp -rf /etc/ppp/resolv.conf /etc/
sed -n '1p' /etc/resolv.conf > /etc/ppp/primarydns
sed -n '2p' /etc/resolv.conf > /etc/ppp/seconddns
dns1=`cut -f 2 -d ' ' /etc/ppp/primarydns`
dns2=`cut -f 2 -d ' ' /etc/ppp/seconddns`
echo $dns1
echo $dns2
resolv.conf這個檔案是撥號成功後記錄網路服務提供商的dns的網域名稱伺服器的ip的,這個檔案時非常重要的。因為以後的撥號軟體的健壯性是靠它來實現的。
這樣應該就可以進行撥號了,如果有什麼問題,可以看下是不是以下原因:sim卡有無,gprs服務是否開通,模組的波特率是否配置正確,埠名稱是否正確等等。
順便說一下聯通和移動的撥號所用的撥號指令碼和撥號的配置檔案時完全相同的。不要奇怪,這是因為聯通原來是cdma網路,後來聯通重組將自己的cdma網路劃分給了電信,自己加入了gprs網路,如果你撥號成果你就會發現移動和聯通的dns伺服器ip位址是相同的。
Linux下Apache Python環境搭建
一.環境說明 1.系統環境 centos release 5.4 final 2.軟體版本 apache 2.2.3 python 2.6.6 mod python 3.3.1 二.安裝apache 安裝過程略。2.如果使用系統自帶的apache,則需要檢視系統是否安裝httpd devel包。操作...
Linux環境下FTP環境搭建
目錄 一 安裝 ftp 服務 二 檢視當前 ftp 服務狀態 三 通過 service 的方式來 啟動 檢視 停止和重啟 ftp服務 四 通過指令碼的方式來 啟動 檢視 停止和重啟 ftp服務 root localhost data rpm q vsftpd 檢查ftp服務是否安裝,如果沒有安裝則安...
Linux操作環境下配置MMIX環境
mmix用途 高德納寫的 計算機程式設計藝術 使用 mmixal 來編寫 解釋演算法。環境 ubuntu 桌面版18.04。1,建立mmix資料夾並切入該資料夾中 mkdir mmix cd mmix wget3,解壓 tar xf mmix.tar.gz4,安裝 make doc make all...