3G设备拨号
2011-07-04 21:58
134 查看
3G设备拨号
手持设备的3G拨号功能可以分2部分来实现
1 UI界面
这个可以用一个状态栏插件的形式和用户交互.
2 后台就调用wvdial 进行拨号。
实例如下
定义一个继承自STATUSBAR_TYPE_ITEM的type
私有结构如下:
typedef struct
{
osso_context_t * osso; /* osso */
GtkWidget * icon; /* icon in button */
GtkWidget * button; /* button in StatusBar */
char * cfgFile;
char * title;
GtkWidget * wnd;
void * data;
}JoderSBDialerPrivate;
在实例初试化函数中,对上面的这个私有结构进行初试化
data 指向下面的结构体
typedef struct
{
int vendor_count;
char * vendor[MAX_VENDOR];
char * cmdDial[MAX_VENDOR];
char * cmdChkSim[MAX_VENDOR];
char * cmdState[MAX_VENDOR];
char * cmdSignal[MAX_VENDOR];
char * cmdDisconnect[MAX_VENDOR];
int simState[MAX_VENDOR];
int state[MAX_VENDOR];
int ss[MAX_VENDOR]; //signal strength
sem_t lock[MAX_VENDOR];
}FlorDial;
从下面配置文件中读取相关信息填入FlorDial结构中
[evdo1]
dial=jsd-dial start evdo1
disconnect=jsd-dial stop evdo1
state=jsd-get-pid evdo1
signal=jsd-get-signal evdo1
chksim=jsd-chk-sim evdo1
[evdo2]
dial=jsd-dial start evdo2
disconnect=jsd-dial stop evdo2
state=jsd-get-pid evdo2
signal=jsd-get-signal evdo2
chksim=jsd-chk-sim evdo2~
分别有拨号,断开,状态,信号,检测卡的操作
添加一个点击事件
g_signal_connect(jsd->button, "clicked", G_CALLBACK(jsd_dlg_show), jsd);
在这个事件回调函数中弹出一个交互窗口,供用户来选择
在这些脚本中可以调用wvdial来进行拨号
配置文件
[Dialer evdo1]
Modem = /dev/ttyUSB0
ISDN = off
Modem Type = USB Modem
Baud = 115200
Init = ATX0
Phone = #777
Dial Prefix =
Dial Attempts = 1
Dial Command = ATDT
Ask Password = off
Password = CARD
Username = CARD
Auto Reconnect = on
Abort on Busy = off
Carrier Check = no
Check DefRoute = on
Abort on No Dialtone = on
Stupid Mode = on
Idle Seconds = 0
Auto DNS = on
[Dialer evdo2]
Modem = /dev/ttyUSB4
ISDN = off
Modem Type = USB Modem
Baud = 115200
Init = ATX0
Phone = #777
Dial Prefix =
Dial Attempts = 1
Dial Command = ATDT
Ask Password = off
Password = CARD
Username = CARD
Auto Reconnect = on
Abort on Busy = off
Carrier Check = no
Check DefRoute = on
Abort on No Dialtone = on
Stupid Mode = on
Idle Seconds = 0
Auto DNS = on
手持设备的3G拨号功能可以分2部分来实现
1 UI界面
这个可以用一个状态栏插件的形式和用户交互.
2 后台就调用wvdial 进行拨号。
实例如下
定义一个继承自STATUSBAR_TYPE_ITEM的type
私有结构如下:
typedef struct
{
osso_context_t * osso; /* osso */
GtkWidget * icon; /* icon in button */
GtkWidget * button; /* button in StatusBar */
char * cfgFile;
char * title;
GtkWidget * wnd;
void * data;
}JoderSBDialerPrivate;
在实例初试化函数中,对上面的这个私有结构进行初试化
data 指向下面的结构体
typedef struct
{
int vendor_count;
char * vendor[MAX_VENDOR];
char * cmdDial[MAX_VENDOR];
char * cmdChkSim[MAX_VENDOR];
char * cmdState[MAX_VENDOR];
char * cmdSignal[MAX_VENDOR];
char * cmdDisconnect[MAX_VENDOR];
int simState[MAX_VENDOR];
int state[MAX_VENDOR];
int ss[MAX_VENDOR]; //signal strength
sem_t lock[MAX_VENDOR];
}FlorDial;
从下面配置文件中读取相关信息填入FlorDial结构中
[evdo1]
dial=jsd-dial start evdo1
disconnect=jsd-dial stop evdo1
state=jsd-get-pid evdo1
signal=jsd-get-signal evdo1
chksim=jsd-chk-sim evdo1
[evdo2]
dial=jsd-dial start evdo2
disconnect=jsd-dial stop evdo2
state=jsd-get-pid evdo2
signal=jsd-get-signal evdo2
chksim=jsd-chk-sim evdo2~
分别有拨号,断开,状态,信号,检测卡的操作
添加一个点击事件
g_signal_connect(jsd->button, "clicked", G_CALLBACK(jsd_dlg_show), jsd);
在这个事件回调函数中弹出一个交互窗口,供用户来选择
在这些脚本中可以调用wvdial来进行拨号
配置文件
[Dialer evdo1]
Modem = /dev/ttyUSB0
ISDN = off
Modem Type = USB Modem
Baud = 115200
Init = ATX0
Phone = #777
Dial Prefix =
Dial Attempts = 1
Dial Command = ATDT
Ask Password = off
Password = CARD
Username = CARD
Auto Reconnect = on
Abort on Busy = off
Carrier Check = no
Check DefRoute = on
Abort on No Dialtone = on
Stupid Mode = on
Idle Seconds = 0
Auto DNS = on
[Dialer evdo2]
Modem = /dev/ttyUSB4
ISDN = off
Modem Type = USB Modem
Baud = 115200
Init = ATX0
Phone = #777
Dial Prefix =
Dial Attempts = 1
Dial Command = ATDT
Ask Password = off
Password = CARD
Username = CARD
Auto Reconnect = on
Abort on Busy = off
Carrier Check = no
Check DefRoute = on
Abort on No Dialtone = on
Stupid Mode = on
Idle Seconds = 0
Auto DNS = on
相关文章推荐
- pppd拨号3G设备
- pppd拨号3G设备
- 使用pppoeconf拨号后,Network Manager显示设备未托管的解决办法
- fl2440-3G拨号上网
- 关于在iOS设备上探测WIFI,3G,GPRS使用情况的细节
- CDMA2000 3G Chat 拨号
- 3G前夜WiMAX激流暗涌 设备商在观望中跟进
- iOS开发 - 如何获取设备的总容量和可用容量 网络运营商 3g/wifi判断 手机型号
- 有关移动设备3G网站制作的细节
- OpenWrt BarrierBreaker 14.07-rc3: 3G自动拨号配置
- linux下使用3G拨号上网
- 电信光纤宽带网络不使用光猫设备拨号的设置
- Android——4.2 - 3G移植之路之 reference-ril .pppd 拨号上网 (三)
- android下调试3G之自动拨号
- 使用pppoeconf拨号后,Network Manager显示设备未托管的解决办法
- 去除android2.1移动设备3G图标
- CDMA2000 3G Chat 拨号
- linux下3G拨号上网
- 研究大华3G设备接入自主视频开发平台
- iOS用来获取设备上的网络状态(2G,3G,WIFI...)