GPRS无线数传模块编程方法 下载本文

GPRS无线数传模块编程方法(VB)

作者:本网编辑 文章来源:MM现代制造 点击数:173 发布时间:2010-08-05 新浪微博 QQ空间 人人网 开心网 更多 一、在不同组网方式下的具体设置:

要使PC机成为数据中心一般用到的有三种方式:(中心采用Intelnet公网连接、中心采用专线接入、拨号上网方式)

不管哪种方式PC机都需要一个固定IP。公网或专线方式的IP为网卡的IP;拨号上网方式的IP为无线Modem的GPRS卡绑定的IP。 1、 公网方式:

因为PC机有了固定的IP,所以在使用的时候,不需要做什么特别的设置就行了,只要将模块的APN名称设为CMNET就行。

2、 专线方式:PC机由网卡可以登录到数据服务器所在的网络内。

具体实现方法:设置PC机的本地连接,(主要是IP地址和网关,网关为数据服务器的网关)设置完成后,可以用Ping命令测试网络是否通。

步骤:点击“开始”—“运行”,在?打开?中输入Ping数据服务器的 IP,(如莱芜力创的数据服务器IP为192.168.0.164,输入Ping 192.168.0.164)回车。模块的APN名称设为 LICHUANG. LW. SD 3、 拨号上网方式:PC机由无线Modem可以登录到数据服务器所在的网络内。 a、 无线Modem(调制解调器)有几种?

一般情况下,我们使用的有两种,一种为USB连接的,一种为串口连接的。 b、 怎样设置可以使无线Modem登录到数据服务器所在的网络? 先将调制解调器正确连接到计算机上。

对调制解调器进行安装:控制面板—添加新硬件—从列表中选择“调制解调器”—选择此调制解调器所使用的端口—在区号中输入?086?,选择音频,拨打外线区号可以不输入。

调制解调器安装完成后,还要诊断一下是否安装正确,安装的调制解调器是否可用。步骤为:控制面板—调制解调器—属性—诊断。

对调制解调器进行配置:控制面板—调制解调器—属性—高级,在额外的初始化命令中, 如果是使用东营的GPRS卡,则在附加设置中输入(“AT+CGDCONT=1,”IP”,”DYSHL.SD””) 如果使用的是力创的GPRS卡,则在附加设置中输入(“AT+CGDCONT=1,”IP”,”LICHUANG.LW.SD””) c、 怎样建立拨号连接?

正确连接调制解调器后,还要建立拨号连接才可以。详细步骤为:

右击?网上邻居?—属性—建立新连接—选择拨号到专用网络—在输入电话号码时输入?*99***1#?,其于情况默认点击?下一步?即可。

d、 拨号上网方式的IP怎样获得?

判断数据中心(无线Modem)的IP,方法有多种: 先拨号连接,待拨号连接成功后,

在任务栏中右击”拨号连接”的图标,选择?状态?,在弹出的画面中选择?信息?,看一下?客户端IP?就行了。 选择开始—运行(输入cmd回车)—输入ipconfig回车,便可以看到拨号连接的IP了。 e、 怎样让无线Modem掉线后自动重拨?

无线Modem在使用的过程中会出现掉线的情况,因为用户不可能总是关注此时的无线Modem是否掉线了,为了使无线Modem不耽误数据传输,可以将其设置成掉线后自动重拨的功能。 具体操作为:

先查找到?拨号连接?(在拨号网络中)—属性—选项

在?拨号选项?中去掉所有的选项,选中?重拨选项?中的断线重拨即可。

在设置时也可以将重拨次数设置的更大一些,比如说10次,不设置也可,用户可根据实际情况来定。 在?重拨选项?中有一项为?挂断前的空闲时间?,我们一般设置为“从不”。如果设置为某个时间,则连接时间到了该值时便出现掉线的状况。 图示为图1: 图1

二、一般控件的编写:

控件实际上就是类的封装,一个类中可以定义自己的结构、属性、方法、事件。 1、 结构: Private Type 结构名 MyName as String '''结构中的参数 MyAge as Integer End Type

2、 属性:

Dim m_GPRSLong As Long

Public Property Let GPRSLong (ByVal NewGPRSLong As Long) '''将表达式的值赋给变量或属性 m_GPRSLong = NewGPRSLong

PropertyChanged \方法是通知属性的值已经发生变化 End Property

Public Property Get GPRSLong() As Long '''读属性值 GPRSLong = m_GPRSLong End Property

3、 方法(函数):

Public Function StartServer(Ip As String, Port As Long) As Boolean '''这种方法用户可以使用 End Function

Private Sub tcpServer_Close(Index As Integer) As Boolean '''这种方法用户不可以使用,控件本身自己使用 End Sub

4、 事件:

Public Event GetUserID(ByVal User_Id As String, ByVal UserDeal_Id As String)

激活事件时用RaiseEvent 语句 RaiseEvent GetUserID(m_Id, Deal_Id)

5、 用户用到的一些常用事件:

UserControl_Resize '当控件第一次显示或状态改变时发生,调节控件大小的。 比如可以在这里面设置一下控件的高度和宽度

UserControl.Height = 525 UserControl.Width = 525

这样在用户使用的时候向窗体中添加该控件时,大小就不可以改变了。

三、GPRS控件的主要属性、方法、事件:

有了前面介绍的一般控件的知识,下面主要针对GPRS的工作原理,介绍一下其控件的编程: 1、 属性:

GPRS控件的主要属性就是IP地址、端口号、接收到的数据长度。 LocalIP 属性 / Localport 属性 / GPRSLong属性 2、 方法:

A、StartServer(Ip As String, Port As Long) 启动服务方法

本方法用于启动GPRS服务,在系统初始化时必须调用本方法来完成GPRS服务的初始化,否则GPRS模块将无法正确登陆网络,进行通讯。 IP参数为服务器Ip地址, 字符串型

Port参数为服务器通讯端口, 长整型,通常为2020端口. 成功返回Ture,失败则返回False。 示例: StartServer(“192.168.0.1”,2020) B、StopServer() 停止服务方法

停止服务方法,用来停止GPRS服务,在系统结束退出时,调用本方法停止GPRS服务。 成功返回Ture,失败则返回False. 示例: StopServer()

C、SendDataGPRS(DtuId As String, CmdData As Variant) 发送数据方法 本方法用来与GPRS模块进行通讯,核心方法,参数比较复杂. DtuID,Gprs模块标识号,用来表明与那块模块进行通讯. CmdData,要传送的数据,变体变量,可接受字符串或者数组类型. 示例: SendDataGPRS(“6900000196”,Cmd) 3、 事件:

A、 GetUserID(ByVal User_Id As String, ByVal UserDeal_Id As String) ??收到GPRS模块的ID号或者是上线的ID的时触发的事件 User_Id 为所有在线GPRS模块ID号所组成的字符串。 UserDeal_Id为所有离线GPRS模块ID号所组成的字符串。

如果下面的GPRS模块上传ID号时,系统会以事件的方式进行接收,用户可以在事件中对ID号做处理,想以什么格式显示ID的信息有用户自己做决定。

B、ReceiveData(ByVal User_Id As String, ByVal User_GetDataASC As Variant, ByVal User_GetDataHEX As Variant) ?? 收到数据时触发的事件

如果下面的设备有数据上传时,就会触发该事件,该事件包括3个参数: User_Id 为 设备的ID号;

User_GetDataASC 为 以ASCII方式显示的数据; User_GetDataHEX 为 以HEX方式显示的数据。

下面的设备在上传数据的时候,会将ID号一块传上来,这样用户能够分辨出是哪个设备传上来的,而且上传数据时,会将ASCII方式的数据和HEX方式的数据一块传上来,用户想用什么数据自己决定。

四、 具体的内部编程思路:

GPRS控件的编写,我们用到的是Winsock控件,所以首先要先了解一下Winsock控件的使用.