0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术ARM9工控板利用COM组件远程设置网络过程

英创信息技术 来源:英创信息技术 作者:佚名 2019-11-05 09:46 次阅读

为了满足客户多网络的需求,英创公司推出了有3个网络接口嵌入式主板——EM9360。 由于EM9360没有标准的WinCE界面,给更改网络的ip地址带来困难。本演示示例是通过英创嵌入式主板的WebServer功能来完成ip地址的配置。 其实现的原理是通过ASP网页提交给服务器需要更改的ip地址内容,在服务器端,通过调用COM组件,完成ip地址的配置。通过本示例,你可以加深对COM组件的理解。

EM9360可以通过一下三种方法来完成ip地址的配置:

1、通过更改WinCE的注册表

对注册表的访问,可以更改ip地址,但是,需要重新启动开发板才能使设置的ip地址生效。注册表的修改可以利用远程调试工具中的Remote Registry Editor来进行,这部分的详细介绍可以参见英创公司网站“技术天地”栏目中英创9260系列嵌入式主板调试使用方法简介。该方法一般是在产品开发时,技术开发人员使用。

2、参考C程序SetIPParms 示例程序来进行IP参数的设置

该程序主要是提供了一个利用NetIP_API静态库修改网卡参数的示例。通过API函数GetNetWorkAdapterInfo(…)获取网络参数, SetNetWorkAdapterInfo(…)来设置网络参数并自动绑定网络适配器,无需重启开发板,就能使设置的网络生效。该程序主要提供给用C语言进行应用程序开发技术人员参考,同时也可以作为一个独立的小工具程序,在telnet环境下启动运行,通过命令行参数进行网络参数的设置。命令行的格式如下:

SetIPParms 网卡名 IP地址 子网掩码 默认网关

如设置网络2口DM9K21的参数:

SetIPParms DM9k21 192.168.202.170 255.255.255.0 192.168.202.8

为了适应客户灵活修改程序,我们在开发光盘中提供了SetIPParms的源码。

3、利用COM组件通过ASP动态网页设置

由于NetIP_API静态库主要是面向C开发环境下使用,对于采用其它开发工具,如C#Labview等就不能直接使用,因而需要一种更为通用而简便的方法来对网络参数进行配置。这里采用的方法是将NetIP_API静态库封装成一个标准的COM组件,来支持各种开发平台的调用,本文主要介绍的是ASP动态网页对COM组件的调用。这种方法只需通过IE浏览器访问即可实现对网络参数的设置,因而特别适合用于工程现场的设备配置。本文的以下部分主要介绍了COM组件的生产以及调用方法。

1、建立COM组件

1、新建EVC工程,选择WCE ATL COM AppWizard,工程名字为Scripting。

2、选择支持MFC。

3、通过ATL向导添加接口 Insert-》New ATL Objcet…,在该对话框中选择Simple Object项添加一个COM对象,点击Next按钮来设置对象名和属性。

对象名Names选项卡中主要包括两类输入信息C++信息和COM信息。在这里,我们输入名字COM_NetIP_API,其它信息会自动生成。

在Attributes选项卡中,我们要设置COM对象的底层特征。由于在CE中,目前只支持Free模型,所以,必须选中这一项。其它选项意义请参考相应的书籍。

4、为COM_NetIP_API对象添加接口方法。选中ICOM_NetIP_API接口,右击,在弹出的快捷菜单中选择Add Method…项,为COM_NetIP_API对象添加接口方法。

5、为接口添加方法的对话框界面,只需在Method Name输入框中输入ChangParms,在Parameters输入框中输入 [in]VARIANT AdapterName,[in] VARIANT AdaptersParameter,[in] VARIANT AdaptersParameterVal, [out, retval] long * pVal然后点击OK按钮,即可添加一个COM_NetIP_API方法。这里,要注意参数的数据类型,选择VARIANT类型,可以根据输入的参数类型,灵活处理参数数据。在写COM组件时,可以把参变量设置为VARIANT类型,这样,可以根据参数变量的类型进行不同的处理。下面介绍一下两个重要的类型转换 。

// VARIANT转换为CString类型

CComVariant v_1( v1 ); // V1是参变量VARIANT类型

v_1.ChangeType( VT_BSTR ); // 转换为BSTR字符串

CString keyName(v_1.bstrVal); // 转化为CString

// char 转换为VARIANT pVal为VARIANT指针变量

char buf[100];

CString str;

str=buf;

pVal-》vt = VT_BSTR; // 指定pVal的类型为BSTR

pVal-》bstrVal = str.AllocSysString();// str转换为BSTR

6、添加了ChangParms方法后,就要添ChangParms方法实现代码了。在ClassView选项卡中,双击ChangParms,就可以在代码窗口添加实现代码了。具体代码见EVC工程源码。

7、把NETIP_API.lib和NETIP_API.h拷贝到当前工程目录下,在Projecting-》Setting-》link标签,增加netip_api.lib,在ChangIP.cpp包含头文件NETIP_API.h。

8、以同样的方法,添加ReadIP接口方法。详见源码。

2、注册COM组件

COM组件编写并编译为DLL文件,只有向系统注册此组件后,其它语言才能够调用。注册的方法有两种。

1、用telnet登陆开发板,用regsvr32 SetIPParms.dll注册

2、在程序中注册。具体方法请参考例程一Regdll 工程源码

3、在ASP中调用COM组件

以VBScript为例,调用COM组件对象,完成对文件的操作。

1、创建SetIPParms对象,并读出现有ip地址的信息

set ipObj=CreateObject(‘SetIPParms.COM_NetIP_API’) // 创建ChangIP对象

emIPAddress=ipObj.ReadParms(‘DM9K21’,‘IPAddress’) // 读ip地址第一个参数为网卡编号名DM9K21或者DM9K31,第二个参数为:IPAddress、DHCP、SubnetMask、DefaultGateway

ipObj.ChangIP ‘DM9K21’,‘DHCP’,emDHCP // 更改ip配置信息,前两个参数和前面的定义相同,第三个参数,为“Enable”或者“Disable”

2、详细网页代码请参考ASP源文件。

4、综合测试

至此,我们完成了COM组件的编写和VBScript调用组件。我们提供了综合例程,如图9所示,通过网页配置网络参数,具体步骤如下:

1、把regsvr32 .exe 和SetIPParms.dll拷贝到Nandflash的根目录下

2、telnet登陆嵌入式主板,执行regsvr32 SetIPParms.dll注册

3、把ASP文件夹下的所有文件拷贝到 \nandflash\www目录下

4、在浏览器中输入 嵌入式主板的ip地址/nand/SetIPParms.asp就可以看到配置网页。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6084

    浏览量

    35164
收藏 人收藏

    评论

    相关推荐

    ARM9工控主板应用程序自动加载实现

    ARM9工控主板有两种工作模式:调试模式和运行模式。调试模式是指开机以后系统处于调试状态,此时用户可以通过eVC的远程调试工具或微软的A
    的头像 发表于 10-08 17:13 1727次阅读

    信息技术VS2005调试ARM9核心简介

    公司自2007年开始陆续推出一系列以ARM9 CPU为核心的嵌入式主板(如EM9000、EM9260),这些高性能的工控主板不仅具有高端的硬件性能和丰富的硬件接口,而且还采用了Mi
    的头像 发表于 10-31 15:03 1836次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>VS2005调试<b class='flag-5'>ARM9</b>核心<b class='flag-5'>板</b>简介

    信息技术ARM9工控主板WinCE应用程序远程控制应用

    公司推出的ARM9嵌入式工控主板产品系列,均预装了正版的WinCE5.0操作系统。微软的WINCE实时多任务操作系统是嵌入式领域的主流操作系统之一,它包括了以TCP/IP为特色的完
    的头像 发表于 11-04 09:28 1705次阅读

    信息技术ARM9工控主板内嵌AD概述

    公司推出的ARM9 嵌入式工控主板产品系列,均预装了正版WinCE5.0 操作系统。
    的头像 发表于 11-04 09:43 2591次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>ARM9</b><b class='flag-5'>工控</b>主板内嵌AD概述

    信息技术ARM9工控远程监控领域的应用

    ARM9工控主板的数据采集功能通常采用上的GPIO实现数字输入输出、通过精简ISA总线扩展相应的AD或DA实现模拟数据的输入输出。在
    的头像 发表于 11-12 10:04 1720次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>ARM9</b><b class='flag-5'>工控</b><b class='flag-5'>板</b>在<b class='flag-5'>远程</b>监控领域的应用

    信息技术ARM9工控串口设备的COM组件应用

    公司的ARM9工控主板产品均预装了Windows CE5.0操作系统,支持包括EVC、C#、VB、LabView等多种开发工具。
    的头像 发表于 11-05 10:07 1728次阅读

    信息技术C#使用COM组件接口操作精简ISA总线浅谈

    ARM9工控主板的数据采集功能通常采用上的GPIO实现数字输入输出、通过精简ISA总线扩展相应的外部控制电路(如控制继电器或AD或DA
    的头像 发表于 11-12 10:24 1566次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>C#使用<b class='flag-5'>COM</b><b class='flag-5'>组件</b>接口操作精简ISA总线浅谈

    信息技术CAN接口COM组件在C#语言领域应用

     ARM9工控主板的一个很大的特色就是提供了标准的CAN总线通讯接口,客户可以方便地在工业现场、汽车、船舶等等领域进行CAN通信应用。由于
    的头像 发表于 11-12 10:34 2397次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>CAN接口<b class='flag-5'>COM</b><b class='flag-5'>组件</b>在C#语言领域应用

    信息技术ARM9工控主板远程操作自动更新介绍

    库EM_FTPClient.LIB,客户利用这个库可以方便的编写出适合自己应用的FTP客户端应用程序,在《ARM9工控主板支持断点续传的FTP文件传送》一文中对各库函数做了详细介绍。本文介绍的更新方案就是
    的头像 发表于 11-13 09:26 1329次阅读

    信息技术ARM9工控远程抓拍图像应用介绍

    ARM9工控主板功能齐全、体积小巧、性能稳定、超低价格的嵌入式主板产品。主板硬件完全按工业级标准设计,CPU采用了32位工业级ARM9
    的头像 发表于 11-13 09:41 1932次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>ARM9</b><b class='flag-5'>工控</b><b class='flag-5'>板</b><b class='flag-5'>远程</b>抓拍图像应用介绍

    信息技术C#使用COM组件接口进行串口操作介绍

    ARM9工控主板均提供了多个串口供客户进行通讯控制使用,包括标准的RS232和TTL电平的COM接口(经过简单的电平转换即可成为标准的R
    的头像 发表于 11-14 09:37 2244次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>C#使用<b class='flag-5'>COM</b><b class='flag-5'>组件</b>接口进行串口操作介绍

    信息技术EM9000工控主板的版本信息管理概述

    EM9000是公司极具特色的一款ARM9工控主板。经过长时间的完善,现系统已完全稳定。
    的头像 发表于 11-17 11:23 1684次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>EM9000<b class='flag-5'>工控</b>主板的版本<b class='flag-5'>信息</b>管理概述

    信息技术ARM9工控主板扩展矩阵键盘的方法

    公司ARM9系列工控主板预装正版WinCE操作系统,板载了丰富的通讯接口,GPIO,存储器等资源,支持TFT LCD显示及触摸,支持标准USB键盘,鼠标输入。在实际使用中,客户如果
    的头像 发表于 01-14 11:05 1598次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>ARM9</b><b class='flag-5'>工控</b>主板扩展矩阵键盘的方法

    信息技术ARM9工控主板的SMS短信息应用介绍

    的应用越来越广泛,其中主要以GPRS数据通讯及SMS短信息方式为主。GPRS数据通讯是以TCP/IP方式进行通讯,GPRS模块发送SMS短信,是通过串口发送AT指令来实现。 公司基于ARM
    的头像 发表于 01-14 11:45 1315次阅读

    信息技术工控主板网络变压器连接方法

    在上一篇介绍主板网络变压器连接方法的文章中(《工控主板
    的头像 发表于 01-14 14:09 3588次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>工控</b>主板<b class='flag-5'>网络</b>变压器连接方法