嵌入式智能家居系统网关设计

发布时间:2010-11-29 阅读量:2222 来源: 发布人:

【中心议题】

  • 研究设计了一种基于ARM处理器S3C44B0uCOS的无线家庭网关的软硬件系统
  • 通过浏览网页并进行相关操作实现对家电的远程控制

【解决方案】

  • 硬件上使用CC2500射频模块,在家庭内部实现自组织无线通信
  • uCOS上成功移植lwip网络协议栈

随着社会信息化和家庭网络化的飞速发展,越来越多的家庭开始追求远程控制家电的高质量生活,家庭网关是整个家庭网络的核心,主要实现Internet接入、远程控制,以及实现协议转换连接家庭内部异构网络的功能。目前基于PC方案的家庭网关不仅成本高,而且要求计算机一直处于开机可通信的状态,因此,对于普通用户,家庭网关应采用廉价的嵌入式CPU,但若采用8位或16位单片机,由于速度慢且资源有限,不能实现复杂的控制,效果不理想。

因此,S3C44B0作为硬件平台,家庭内部通过CC2500射频自组织无线网络,通过移植嵌入式操作系统uCOS和嵌入式TCPIP嵌入式栈lwip,并开发相应驱动程序和网络通信程序,通过浏览网页并进行相关操作实现对家电的远程控制。

1 系统硬件结构

1.1 系统硬件整体结构

采用S3C44B0作为主芯片,以太网卡控制器采用流行的RTL8019,通过SPI接口的CC2500射频芯片与家庭无线自组织网络进行射频通信,网关完成从外网的TCPIP协议到内网的自组织网络协议的相互转换。系统硬件结构如图1所示,图中, 1, 2,n均为无线节点。

 

1. 2 CC2500芯片

CC2500是一种低成本真正单片的2. 4 GHz收发器,S3C44B0采用四线制的SPI通信,硬件连接非常简单。CC2500提供64 B的先进先出FIFO硬堆栈,GDO0引脚在有数据到来和发送数据时会有电平变化,于是将它与S3C44B0的外部中断引脚连接,来产生外部中断。CPU收到中断信号后就可以通过SPI去读CC2500的接收FIFO,完成无线数据的接收。当要发送无线数据时,将要发送的数据通过SPI口写到CC2500的发送FIFO,并通过SPI口向CC2500发送一个发送命令,这时CC2500便完成无线数据的发送。

1.3 以太网卡芯片

系统使用了RTL8019AS 10M ISA网卡芯片接入以太网。RTL8019AS是一款性价比很高的网卡芯片:NE2000兼容,软件移植性好;接口简单,不用转换芯片,PCI-ISA; S3C44B0RTL8019的电路设计相对来说比较简单,只需要连接数据线、地址选通和中断等信号线。

2 系统软件设计

2.1 软件的整体结构

该设计采用流行的免费开源嵌入式实时操作系统uCOS和嵌入式TCPIP协议栈lwip作为应用程序开发和运行平台。嵌入式无线网关接收浏览器客户端的请求信息,对协议进行转换,把这些控制信息加工成无线自组网络的数据帧格式,然后通过CC2500射频模块把控制信息通过自组织网络传递到目标家电,完成对家电的远程控制。家电状态变化时会把状态信息通过自组织网络反馈到网关,如当浏览器客户端请求查询咖啡机状态时,网关把状态信息传递给浏览器客户端。

网关上运行两个任务,一个是HTTP网络通信任务,它用来与外网通信,其软件流程图如图2所示;另一个是无线射频收发任务,其软件流程图如图3所示,它负责与内部自组织网络通信。

 

2.2 操作系统的移植

在嵌入式平台的构建中,操作系统移植是关键的一步。该设计用ADS1. 2集成开发环境在ARM7上移植uCOS操作系统。根据uCOS的内部结构处理器的细节,只需要修改与硬件相关的3个文件OS_CPU.HOS_CPU. COS_CPU.ASM,来实现与处理器相关数据类型的处理,如中断处理、堆栈处理、任务调度和异常处理等。

2.3 嵌入式TCP/IP协议lwipuCOS上的实现

2. 3. 1 操作系统抽象层

操作系统抽象层的实现是改写sys_arch. c, uCOS平台上实现信号量邮箱的相关操作,具体实现步骤如下:

(1)void sys_init(void)。初始化sys_arch层。

(2)sys_sem_t sys_sem_new(u8_t count)。建立并返回一个新的信号量。

(3)void sys_sem_free(sys_sem_t sem)。释放信号量。

(4)void sys_sem_signal(sys_sem_st sem)。发送一个信号。

 

(5)U32 sys_arch_sem_wait(sys_sem_t sem,u32_t timeout)。等待指定的信号并阻塞。

邮箱相关操作参照上述信号量的实现方法。

2. 3. 2 硬件抽象层

硬件抽象层的实现是改写etherneti.f c文件,具体实现步骤如下:

(1)ethernetif_init()。初始化底层函数。

(2)low_level_output()。链路层发送函数。

(3)low_level_init()。网卡初始化函数。

(4)EMACinit()。网卡初始化的实际完成者。

(5)ethernetif_input()。实现接收进程。

(6)low_level_input()。得到一整帧数据[3]

2. 4 嵌入式W eb的实现

Web服务器首先创建一个基于TCPSocke,t然后绑定自己的IP和端口到这个Socke,t监听

80端口,阻塞式接受连接,当接收浏览器请求时,对其进行分析,通过GET请求若没有从客户端传来参数,则调用http_sever()函数,取得设备的当前参数值显示给客户端浏览器,用户可以通过界面设置家电的新参数,发回给Web服务器。具体的实现过程为:网页采用HTML格式存放在数组中,当浏览器请求网关时,网关处理这个请求然后把HTML格式的数组发送到浏览器,于是浏览器开始解析这段HTML并生成一个页面,这个页面上含有浏览器所有允许的操作。

2.5 网关协议转换过程

无线自组织网络的帧格式如图4所示。

0xAA0x55是无线自组织网络的帧头,源地址标识数据帧的源头,目的地址标识数据帧的去向,无线节点收到数据帧后对数据帧中的目的地址信息进行校验,若是目的地址即为此无线节点地址,则接收该数据帧并处理,否则转发该无线数据帧。CRC采用数据帧所有字节相加取低八位的方式。

 

网关的最大功能之一是进行协议转换,无线网关连接的是两种不同的异构网络,对外是互联网,对内是无线自组织网络。要想用浏览网页并进行相关操作的方式控制家电,则需要将这些控制信息的帧转换成无线自组织网络的帧格式,同样,要想家电的状态能通过网页显示给用户,则需要把无线帧格式转换成IP帧格式。这就是网关的协议转换功能。

3 系统调试

3.1 动态刷新的实现

由于HTTP协议是一个浏览器发送请求服务器才响应的协议,这样当人们需要实时显示家电的状态时就是难点了,因为需要浏览器去主动请求,服务器才被动响应。笔者采取的做法是:当客户端需要实时显示家电的状态时,就发送一个参数到网关,网关判断这个参数后通过lwip协议发送一段Java代码给浏览器,这段Java代码的功能就是让浏览器每隔1 s就主动请求一次网关,于是浏览器与网关之间建立了一个Socket套接字,它们就可以通过这个套接字进行通信了,例如,当网关有咖啡机的新状态时就会把此状态发送给浏览器,至此状态刷新问题得以解决。

3.2 多个浏览器同时操控同一设备的问题

如何处理同一时刻有多个远程客户端要求控制同一家电的情况,显然此时不能赋给每个客户端控制的权限,因为这样的话对家电的控制就会出现混乱。对于这种情况,笔者采用两种方式来处理:一是在客户端部分设置观看和操作两种权限,对只有观看权限的用户,不允许对家电操作;二是在ARM,对同一时刻有多个具有操作权限的远程客户端要求控制同一家电的情况,采取先访问权限最高的原则,只赋给最先连接上的用户可操作的权限,其他用户只给观看的权限,防止操作上的冲突。

4 结论

笔者给出了一个基于ARM处理器S3C44B0XuCOS的无线家电网关的软硬件设计。硬件上引入了CC2500射频模块,符合信息家电的发展趋势,还可以随时随地通过浏览网页并进行相关操作的方式对家电进行远程控制,该网关结构简单,造价低廉,已在广东亿龙家电信息平台试用。

相关资讯
国产感烟探测器MCU破局:BA45F25343/53/63如何实现精度与成本双赢?

在消防安全需求升级与物联网技术融合的背景下,Holtek(盛群半导体)推出BA45F25343/53/63系列MCU,以双通道感烟AFE(模拟前端)为核心,结合高度集成的电源管理与智能算法,实现感烟探测器在精度、成本、可靠性三大维度的突破性提升。该系列通过内置双通道LED驱动、5V/9V多电压输出及失效报警功能,不仅解决了传统方案外围电路复杂、误报率高(行业平均>2%)的痛点,更以国产替代能力打破海外厂商(如ADI、Microchip)在高端消防芯片市场的垄断,成为智能消防终端、工业安全监测等场景的行业标杆。随着智慧城市与安规政策驱动,BA45F系列有望在百亿级消防物联网市场中占据核心地位。

能效与体积的双重革命:解码Microchip新一代电源模块的六大核心优势

在边缘计算与工业自动化高速发展的当下,电源管理技术正面临高密度集成与能耗优化的双重挑战。Microchip推出的MCPF1412高效全集成12A电源模块,以行业领先的5.8mm³超小封装、95%以上能效转换率及智能化数字接口,直击设备小型化与能源损耗的核心痛点。本文从技术解析、性能突围、国产替代路径及市场前景多维度切入,深度剖析该模块如何通过创新的LDA封装与PMBus®兼容设计,在工业控制、数据中心及新能源领域重构电源管理标准,为国产替代与全球竞争提供关键技术启示。

16nm工艺硬核突围 易灵思车载FPGA技术图谱深度解析

在第二十一届上海国际车展的智能驾驶技术专区,易灵思(展位2BC104)首次公开展示其钛金系列FPGA完整技术生态,两款基于16nm FinFET工艺的旗舰产品Ti60/Ti180,配合全栈式开发平台,构建起覆盖智能座舱、自动驾驶域控制器、车载传感三大核心场景的解决方案。

颠覆性技术突破!英特尔18A工艺斩获四大客户,台积电2nm制程迎来劲敌

全球半导体制造格局迎来关键变量。根据产业链最新消息,英特尔的Intel 18A制程节点已获得英伟达、博通、IBM等多家行业巨头的代工订单,首批验证芯片反馈积极。这意味着在台积电主导的先进制程领域,美国本土终于出现具备竞争力的替代方案。

“舱驾一体”时代来临:深度解析天玑C-X1如何挑战高通霸主地位

在2025年上海国际车展上,联发科技(MediaTek)以天玑汽车旗舰座舱平台C-X1与联接平台MT2739的发布,正式吹响了“AI定义座舱”的号角。作为全球首款基于3nm制程的车规级芯片,C-X1凭借双AI引擎架构、NVIDIA Blackwell GPU集成及400TOPS的端侧AI算力,不仅突破了传统车载芯片的算力天花板,更通过云端-端侧一致性开发生态,实现了低延迟语音交互、实时旅程规划等生成式AI功能的规模化落地。而MT2739作为5G-Advanced技术的标杆性产品,率先支持3GPP R18协议及卫星通信技术,解决了复杂场景下的网络稳定性难题。这两大平台的协同,标志着MediaTek在智能汽车领域完成了从芯片性能到生态整合的全链条布局,直面高通8155等竞品的市场优势,并加速国产替代进程。随着智能座舱渗透率预计在2025年突破60%,MediaTek正以技术革新重塑行业格局,推动中国汽车芯片从“跟随”迈向“引领”的跨越式发展。