CN106060901B - 嵌入式无线网络系统及其接入无线网络的方法 - Google Patents
嵌入式无线网络系统及其接入无线网络的方法 Download PDFInfo
- Publication number
- CN106060901B CN106060901B CN201610327173.3A CN201610327173A CN106060901B CN 106060901 B CN106060901 B CN 106060901B CN 201610327173 A CN201610327173 A CN 201610327173A CN 106060901 B CN106060901 B CN 106060901B
- Authority
- CN
- China
- Prior art keywords
- wireless network
- network card
- middleware
- protocol stack
- embedded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/20—Selecting an access point
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了嵌入式无线网络系统接入无线网络的方法,所述方法包括步骤:加载无线网卡驱动以驱动无线网卡;在所述无线网卡驱动加载后,运行无线网卡管理程序以通过无线网卡连接到热点;加载LWIP协议栈从路由器获取IP地址,以接入无线网络。本发明还提供了一种嵌入式无线网络系统。本发明通过改变加载无线网卡驱动的消息响应机制以及使用LWIP协议栈取代传统TCP/IP协议栈的方法在嵌入式实时操作系统中实现了无线网络减少内存使用量的目的,减小了硬件体积和成本,降低无线网络对嵌入式硬件的要求。
Description
技术领域
本发明涉及无线网络技术领域,具体涉及嵌入式无线网络系统及其接入无线网络的方法。
背景技术
嵌入式实时操作系统因其强大的实时性与稳定性在移动设备、信息家电、工业控制等领域得到了广泛的应用。在低端嵌入式设备中,硬件资源的多少受体积和成本的限制,而现有的无线网络技术对嵌入式实时操作系统的硬件资源要求较高。在接入无线网络时,传统的嵌入式无线网络系统消耗了较多的ROM和RAM资源,当嵌入式实时操作系统移植至资源有限的硬件时,其接入无线网络的功能将受到硬件限制。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供嵌入式无线网络系统及其接入无线网络的方法,克服传统的嵌入式无线网络系统实现无线网络时消耗过多ROM和RAM资源的缺陷。
本发明解决其问题所采用的技术方案是:
一方面,本发明提供了嵌入式无线网络系统,包括加载无线网卡驱动模块、运行无线网卡管理程序模块和加载LWIP协议栈模块。
所述加载无线网卡驱动模块用于加载无线网卡驱动以驱动无线网卡;
所述运行无线网卡管理程序模块用于在所述无线网卡驱动加载后,运行无线网卡管理程序以通过无线网卡连接到热点;
所述加载LWIP协议栈模块用于加载LWIP协议栈从路由器获取IP地址,以接入无线网络。
进一步,所述嵌入式无线网络系统通过嵌入式实时操作系统的应用层、中间件和驱动层来实现。
进一步,所述应用层发送多个消息时,所述应用层通过优先级不同的中断向所述中间件发出不同消息的请求,所述中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息。
进一步,加载LWIP协议栈模块工作时,所述中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数。
进一步,所述中间件通过所述系统服务函数调用预存储的LWIP协议栈源码,从而运行LWIP协议栈,启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数,LWIP协议栈通过底层接口函数与无线网卡交换数据,以从路由器获取IP地址。
另一方面,本发明还提供了嵌入式无线网络系统接入无线网络的方法,包括步骤:
加载无线网卡驱动以驱动无线网卡;
在所述无线网卡驱动加载后,运行无线网卡管理程序以通过无线网卡连接到热点;
加载LWIP协议栈从路由器获取IP地址,以接入无线网络。
进一步,所述嵌入式无线网络系统通过嵌入式实时操作系统的应用层、中间件和驱动层来实现。
进一步,所述应用层发送多个消息时,所述应用层通过优先级不同的中断向所述中间件发出不同消息的请求,所述中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息。
进一步,加载LWIP协议栈从路由器获取IP地址的具体步骤包括:
所述中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数;
所述中间件通过所述系统服务函数调用预存储的LWIP协议栈源码;
运行LWIP协议栈;
启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数;
LWIP协议栈通过所述底层接口函数与无线网卡交换数据,以从路由器获取IP地址。
本发明提供了嵌入式无线网络系统及其接入无线网络的方法,通过优先级不同的中断发送不同消息的请求,并按照优先级高低的顺序响应中断,调用中断处理函数处理消息的方式,省略了用于存储多个消息的消息队列和处理复杂消息的状态机,减少了内存使用量;同时,在嵌入式无线网络系统中使用了LWIP协议栈,该LWIP协议栈具有代码量少,内存使用量少的特点,本发明通过使用LWIP协议栈取代传统TCP/IP协议栈,实现了减少内存使用量的目的,在嵌入式实时操作系统中,降低嵌入式无线网络系统对硬件的要求,从而减小了硬件体积和成本。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明一实施方式的嵌入式无线网络系统的功能模块图;
图2是本发明一实施方式的嵌入式无线网络系统接入无线网络的方法的流程图。
具体实施方式
现结合附图,对本发明的较佳实施例作详细说明。
图1示出了本发明一实施方式的嵌入式无线网络系统的功能模块图。在本实施方式中,嵌入式无线网络系统是指在确定的时间内完成系统功能的、基于优先级抢占式调度的实时操作系统,比较常见的如uC/OS、uC/OS-II、uC/OS-III、eCos,但不包括Linux。在本实施方式中,嵌入式无线网络系统11包括加载网卡驱动模块101,运行无线网卡管理程序模块103和加载LWIP协议栈模块105。所述嵌入式无线网络系统11通过嵌入式实时操作系统的应用层、中间件、驱动层来实现。
加载无线网卡驱动模块101用于加载无线网卡驱动以驱动无线网卡;为嵌入式实时操作系统加载无线网卡驱动模块101工作时,当用户使用嵌入式无线网络系统11进行无线网络连接时,中间件处理应用层发出的加载无线网卡驱动的消息,命令驱动层驱动无线网卡,驱动层接收命令后加载无线网卡驱动,初始化无线网卡接口参数,完成驱动无线网卡的任务。
相比较而言,为了实现丰富的功能,如实现有线网络连接、实现U盘读写或者通过HDMI接口播放影片等功能,应用层的多个消息需要缓冲与排队,所以一般的嵌入式操作系统(如Linux)的中间件采用消息队列机制处理应用层的消息,中间件接收应用层的消息,并把所有消息按照优先级放进消息队列进行存储,再由状态机根据消息的类别进行处理。由于无需实现丰富的功能,本发明的嵌入式无线网络系统11在实现无线网络连接时,为了节省内存,嵌入式实时操作系统的中间件并未如一般嵌入式系统的中间件有消息队列机制,而是采用直接处理应用层的消息而不放入消息队列的方式,当应用层同时发送多个消息时,应用层通过优先级不同的中断向中间件发出不同消息的请求,中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息。在接入无线网络时,应用层加载无线网卡驱动的消息作为优先级高的中断向中间件发送请求,中间件响应中断,调用该中断的完成驱动无线网卡任务的中断处理函数,等待驱动层完成驱动无线网卡后,中间件才响应优先级低的中断。
运行无线网卡管理程序模块103用于在所述无线网卡驱动加载后,为嵌入式实时操作系统运行无线网卡管理程序以通过无线网卡连接到热点。为嵌入式实时操作系统运行无线网卡管理程序模块103时,中间件在后台运行无线网卡管理程序,运行无线网卡驱动,驱动无线网卡扫描热点,向无线网卡发送执行认证制定命令,接收无线网卡的WPA命令返回值后,获得热点列表。用户选择热点列表中需要连接的热点后,无线网卡管理程序管理热点连接。在本实施方式中,无线网卡管理程序管理热点连接的步骤为:在连接热点时询问用户密码,在用户输入密码后,无线网卡管理程序向无线网卡加密发送用户密码;无线网卡向路由器校验用户密码,若用户密码与路由器预设密码相同则热点连接成功,否则重新执行连接热点的步骤。
加载LWIP协议栈模块用于为嵌入式实时操作系统加载LWIP协议栈从路由器获取IP地址,以接入无线网络。为嵌入式实时操作系统加载LWIP协议栈模块工作时,中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数,包括信号量、邮箱、线程和超时等系统服务。中间件通过系统服务函数调用预存储的LWIP协议栈源码,从而运行LWIP协议栈,再启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数。LWIP协议栈通过底层接口函数与无线网卡交换数据,以从路由器获取IP地址。在本实施方式中,嵌入式实时操作系统对无线网卡的接口寄存器进行配置,实现无线网卡与LWIP协议栈之间的数据传递。在本实施方式中,与无线网卡交换数据的方法可以是LWIP协议栈注册读写以太网数据的函数给无线网卡,获得MAC地址,再通过DHCP Client获得路由器分配的IP地址;当无线网卡与路由器的连接断开时,无线网卡管理程序侦测不到数据包,无线网卡管理程序通知LWIP协议栈停止与无线网卡交换数据。在本实施方式中,无线网卡与路由器的连接断开的情况可以是路由器出现意外断电的情况,也可以是路由器损坏的情况。
图2示出了本发明一实施方式的嵌入式无线网络系统接入无线网络的方法的流程图。该方法由图1所示的一实施方式的嵌入式无线网络系统11来运行。在本实施方式中,嵌入式实时操作系统是指在确定的时间内完成系统功能的、中断可抢占型实时操作系统,比较常见的如uC/OS、uC/OS-II、uC/OS-III,但不包括Linux。在本实施方式中,嵌入式无线网络系统11包括加载网卡驱动模块101,运行无线网卡管理程序模块103和加载LWIP协议栈模块105。所述嵌入式无线网络系统11通过嵌入式实时操作系统的应用层、中间件、驱动层来实现。
在步骤S102中,加载无线网卡驱动模块101加载无线网卡驱动。当用户使用嵌入式无线网络系统11进行无线网络连接时,中间件处理应用层发出的加载无线网卡驱动的消息,命令驱动层驱动无线网卡,驱动层接收命令后加载无线网卡驱动,初始化无线网卡接口参数,完成驱动无线网卡的任务。
相比较而言,为了实现丰富的功能,如实现有线网络连接、实现U盘读写或者通过HDMI接口播放影片等功能,应用层的多个消息需要缓冲与排队,所以一般的嵌入式操作系统(如Linux)的中间件采用消息队列机制处理应用层的消息,中间件接收应用层的消息,并把所有消息按照优先级放进消息队列进行存储,再由状态机根据消息的类别进行处理。由于无需实现丰富的功能,本发明的嵌入式无线网络系统11在实现无线网络连接时,为了节省内存,嵌入式实时操作系统的中间件并未如一般嵌入式系统的中间件有消息队列机制,而是采用直接处理应用层的消息而不放入消息队列的方式,当应用层同时发送多个消息时,应用层通过优先级不同的中断向中间件发出不同消息的请求,中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息。在接入无线网络时,应用层加载无线网卡驱动的消息作为优先级高的中断向中间件发送请求,中间件响应中断,调用该中断的完成驱动无线网卡任务的中断处理函数,等待驱动层完成驱动无线网卡后,中间件才响应优先级低的中断。
在步骤S104中,运行无线网卡管理程序模块103运行无线网卡管理程序。,运行无线网卡管理程序模块103在后台运行无线网卡管理程序,运行无线网卡驱动,驱动无线网卡扫描热点,向无线网卡发送执行认证制定命令,接收无线网卡的WPA命令返回值后,获得热点列表。用户选择热点列表中需要连接的热点后,无线网卡管理程序管理热点连接。在本实施方式中,无线网卡管理程序管理热点连接的步骤为:在连接热点时询问用户密码,在用户输入密码后,无线网卡管理程序向无线网卡加密发送用户密码;无线网卡向路由器校验用户密码,若用户密码与路由器预设密码相同则热点连接成功,否则重新执行连接热点的步骤。
在步骤S106中,加载LWIP协议栈模块105加载LWIP协议栈。LWIP协议栈具有代码量少,内存使用量少的特点。加载LWIP协议栈从路由器获取IP地址的步骤具体包括:
加载LWIP协议栈模块105通过中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数,包括信号量、邮箱、线程和超时等系统服务;
中间件通过系统服务函数调用预存储的LWIP协议栈源码;
运行LWIP协议栈;
启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数;
LWIP协议栈通过底层接口函数与无线网卡交换数据,以从路由器获取IP地址。
在本实施方式中,嵌入式实时操作系统对无线网卡的接口寄存器进行配置,实现无线网卡与LWIP协议栈之间的数据传递。在本实施方式中,与无线网卡交换数据的方法可以是LWIP协议栈注册读写以太网数据的函数给无线网卡,获得MAC地址,再通过DHCPClient获得路由器分配的IP地址;当无线网卡与路由器的连接断开时,无线网卡管理程序侦测不到数据包,无线网卡管理程序通知LWIP协议栈停止与无线网卡交换数据。在本实施方式中,无线网卡与路由器的连接断开的情况可以是路由器出现意外断电的情况,也可以是路由器损坏的情况。
综上所述,本发明一实施方式提供了嵌入式无线网络系统及其接入无线网络的方法,通过直接处理应用层发送的加载无线网卡驱动模块的消息,省略了用于存储消息的消息队列,减少了接入无线网络的ROM使用量;同时,在嵌入式实时操作系统环境中使用了LWIP协议栈,替代复杂的TCP/IP协议栈,减少了代码量和RAM使用量,实现了减少内存使用量的目的,使用本发明一实施方式提供的嵌入式无线网络系统及其接入无线网络的方法,在嵌入式实时操作系统环境中,可降低嵌入式无线网络系统对硬件的要求,从而减小了硬件体积和成本。
应当理解的是,以上实施例仅用以说明本发明的技术方案,而非对其限制,对本领域技术人员来说,可以对上述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而所有这些修改和替换,都应属于本发明所附权利要求的保护范围。
Claims (7)
1.一种嵌入式无线网络系统,适用于非Linux系统,其特征在于,包括:
加载无线网卡驱动模块,用于加载无线网卡驱动以驱动无线网卡;中间件采用代替放入消息队列的机制直接处理应用层的消息;所述应用层发送多个消息时,所述应用层通过优先级不同的中断向所述中间件发出不同消息的请求,所述中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息;在接入无线网络时,所述应用层加载无线网卡驱动的消息作为优先级高的中断向中间件发送请求,所述中间件响应于应用层发出的加载无线网卡驱动的消息,直接命令加载无线网卡驱动以驱动无线网卡;所述直接命令加载无线网卡的方式为调用完成驱动无线网卡任务的中断处理函数;
运行无线网卡管理程序模块,用于在加载所述无线网卡驱动后,运行无线网卡管理程序以通过无线网卡连接到热点;及
加载LWIP协议栈模块,用于加载LWIP协议栈从路由器获取IP地址,以接入无线网络。
2.根据权利要求1所述的嵌入式无线网络系统通过嵌入式实时操作系统的应用层、中间件和驱动层来实现。
3.根据权利要求1所述的嵌入式无线网络系统,其特征在于,加载LWIP协议栈模块工作时,所述中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数。
4.根据权利要求3所述的嵌入式无线网络系统,其特征在于,所述中间件通过所述系统服务函数调用预存储的LWIP协议栈源码后,运行LWIP协议栈,启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数,LWIP协议栈通过所述底层接口函数与无线网卡交换数据,以从路由器获取IP地址。
5.一种嵌入式无线网络系统接入无线网络的方法,适用于非Linux系统,其特征在于,包括步骤:
中间件采用代替放入消息队列的机制直接处理应用层的消息;所述应用层发送多个消息时,所述应用层通过优先级不同的中断向所述中间件发出不同消息的请求,所述中间件按照优先级高低的顺序响应中断,调用中断处理函数处理消息;在接入无线网络时,所述应用层加载无线网卡驱动的消息作为优先级高的中断向中间件发送请求,所述中间件响应于应用层发出的加载无线网卡驱动的消息,直接命令加载无线网卡驱动以驱动无线网卡;所述直接命令加载无线网卡的方式为调用完成驱动无线网卡任务的中断处理函数;
在加载所述无线网卡驱动后,运行无线网卡管理程序以通过无线网卡连接到热点;及
加载LWIP协议栈从路由器获取IP地址,以接入无线网络。
6.根据权利要求5所述的嵌入式无线网络系统接入无线网络的方法,其特征在于,通过嵌入式实时操作系统的应用层、中间件和驱动层来实现。
7.根据权利要求5所述的嵌入式无线网络系统接入无线网络的方法,其特征在于,所述加载LWIP协议栈从路由器获取IP地址的步骤具体包括:
所述中间件启动嵌入式实时操作系统为运行LWIP协议栈所提供的系统服务函数;
所述中间件通过所述系统服务函数调用预存储的LWIP协议栈源码;
运行LWIP协议栈;
启用嵌入式实时操作系统为运行LWIP协议栈所提供的底层接口函数;
LWIP协议栈通过所述底层接口函数与无线网卡交换数据,以从路由器获取IP地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610327173.3A CN106060901B (zh) | 2016-05-17 | 2016-05-17 | 嵌入式无线网络系统及其接入无线网络的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610327173.3A CN106060901B (zh) | 2016-05-17 | 2016-05-17 | 嵌入式无线网络系统及其接入无线网络的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106060901A CN106060901A (zh) | 2016-10-26 |
CN106060901B true CN106060901B (zh) | 2020-03-31 |
Family
ID=57177075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610327173.3A Active CN106060901B (zh) | 2016-05-17 | 2016-05-17 | 嵌入式无线网络系统及其接入无线网络的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106060901B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278195B (zh) * | 2019-05-23 | 2020-12-11 | 视联动力信息技术股份有限公司 | 一种基于视联网的数据传输方法和装置 |
CN114710513B (zh) * | 2022-03-30 | 2024-03-08 | 广州导远电子科技有限公司 | 一种网络数据的处理系统及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8478974B2 (en) * | 2010-06-23 | 2013-07-02 | Assured Information Security, Inc. | Method and system for reducing an impact of malware during a booting sequence |
CN102694774A (zh) * | 2011-03-23 | 2012-09-26 | 北京天地互连信息技术有限公司 | IPv6微型协议栈设计方法 |
CN102710474A (zh) * | 2012-05-25 | 2012-10-03 | 山西联华伟业科技有限公司 | 基于lwip兼容光口和电口的以太网接入设备 |
CN103853586B (zh) * | 2014-03-05 | 2017-02-08 | 中南大学 | 一种在uefi层实现无线网卡驱动的方法 |
CN103973416A (zh) * | 2014-05-15 | 2014-08-06 | 无锡信捷电气股份有限公司 | 一种基于改进型LwIP的多嵌入式视觉系统以太网防拥塞方法 |
CN104159244A (zh) * | 2014-08-05 | 2014-11-19 | 王强 | 一种便携式无线网络探测取证系统 |
-
2016
- 2016-05-17 CN CN201610327173.3A patent/CN106060901B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106060901A (zh) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160080483A1 (en) | Method for setting gateway device identity, and management gateway device | |
CN110572817B (zh) | 一种通信方法及电子设备 | |
CN110022608B (zh) | 一种信息处理方法、装置及设备 | |
US8788663B1 (en) | Managing resource dependent workflows | |
CN101610593B (zh) | 接入点、接入控制器以及接入点选择接入控制器的方法 | |
US10791166B2 (en) | Method and device for processing persistent connection establishment request | |
US20090271517A1 (en) | Method and apparatus for wireless device reconnection handling | |
CN102571996B (zh) | Ip地址分配方法、装置以及网络系统 | |
KR20140012988A (ko) | 그룹 오너 재협상 기능을 가진 피어-투-피어 그룹 | |
EP2701456A1 (en) | Wireless broadband data card supporting accessing network in 3g and wi-fi manners | |
WO2019062722A1 (zh) | 基于微服务架构的报文处理方法、装置和bras | |
CN107071793B (zh) | WiFi设备的配网方法及相关设备 | |
US9736878B2 (en) | NFC radio frequency communication control method, apparatus, and system | |
CN107682460B (zh) | 一种分布式存储集群数据通信方法及系统 | |
CN106060901B (zh) | 嵌入式无线网络系统及其接入无线网络的方法 | |
CN103905257A (zh) | 常在线应用自适应设置心跳时间的方法与装置、手机终端 | |
CN104486816A (zh) | Wifi终端设备在多接入点中的快速自动扫描方法 | |
US9319492B2 (en) | Method and an apparatus for controlling messages between host and controller | |
CN110784939B (zh) | 数据通信方法、装置及系统 | |
EP2840855B1 (en) | Network connection method and system | |
KR20210026619A (ko) | 전자 장치 및 이의 동작 방법 | |
CN110321203B (zh) | 后台进程假死处理方法及客户端 | |
CN103607662A (zh) | 一种智能电视设备中的通信协议控制方法和装置 | |
CN102185881A (zh) | 家庭数字设备无线多协议空间共享式存储管理器及方法 | |
US20120239827A1 (en) | Communication Device Based on USB Interface and Method for Implementing Service Configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |