- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
GPRS无线数传模块编程方法揭示
一、在不同组网方式下的具体设置:
要使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、 结构: 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 "GPRSLong" """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控件的使用.
1、Winsock控件的使用:
Winsock控件对用户来说是不可见的,我们在编写客户端或服务器程序时,通过设置控件的属性并调用其方法即可实现数据的双向交换。
如果创建客户应用程序,就必须知道服务器计算机名或者 IP 地址(RemoteHost 属性),还要知道进行“侦听”的端口(RemotePort 属性),然后调用 Connect 方法。
如果创建服务器应用程序,就应设置一个收听端口(LocalPort 属性)并调用 Listen 方法。当客户计算机需要连接时就会发生 ConnectionRequest 事件。为了完成连接,可调用 ConnectionRequest 事件内的 Accept 方法。
建立连接后,任何一方计算机都可以收发数据。为了发送数据,可调用 SendData 方法。当接收数据时会发生 DataArrival 事件。调用 DataArriva
上一篇:可重构计算技术在汽车电子领域的应用探讨
下一篇:晒出移动终端天线设计技巧