Wi-Fi、蓝牙、ZigBee等多类型无线连接方式的安全物联网网关设计

本文主要是介绍Wi-Fi、蓝牙、ZigBee等多类型无线连接方式的安全物联网网关设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随着物联网和云计算技术的飞速发展.物联网终端的数量越来越多,终端的连接方式也更趋多样化,比如 Wi-Fi蓝牙和 ZigBee 等。现有的物联网网关大多仅支持一种或者几种终端的接人方式。无法满足终端异构性的需求。同时,现有的物联网网关与终端设备之间普遍采用明文传输的模式无法满足安全需求较高的应用。

1、物联网网关系统整体设计

Wi-Fi、蓝牙、ZigBee

物联网网关系统整体结构包括物联网网关模拟Wi-Fi终端模拟蓝牙终端和模拟 ZigBee 终端.

物联网网关主要包括最小系统Wi-Fi、蓝牙模块、ZigBee模块可以同时支持 Wi-Fi 终端蓝牙终端和 ZigBee 终端的接人。Wi-Fi 终端蓝牙终端和ZigBee 终端可以分别向网关上传明态或密态数据.并且能够收到网关返回的响应。

2、物联网网关设计

2.1物联网网关功能需求分析

物联网网关设备为了满足不同类型终端的连接请求.需要能够同时支持多种类型终端的接入。另外,终端采集的某些信息需要安全地上传到物联网网关.因此网关需要同时支持明态和密态数据的接收并向终端返回响应。基于以上分析,物联网网关的功能应该包括:

(1)支持多种类型的无线接入方式。现有的短距离无线通信技术主要包括 Wi-Fi 蓝牙和ZigBee 技术。因此,为了满足终端异构性接人的需求,网关需要同时支持 Wi-Fi 蓝牙和 ZigBee等不同类型的接人请求

(2)支持明密态切换。为了满足某些终端数据安全上传的需求,终端数据需要加密后再上传到网关,网关解密后获取数据,然后向终端返回响应。

基于上述功能需求,本文设计了同时支持Wi-Fi 蓝牙和 ZigBee 终端接人的网关设备终端可以向网关发送明态数据或者经SM4 算法加密后的密文数据.网关收到数据后.向终端返回响应。

2.2网关的硬件设计

物联网网关

为了提高网关的整体性能.设计中采用了四核 Corle-A9 1.6GHz 处理器Wi-Fi 和蓝牙模块采用板载RTL8723U,通过串口外接 ZigBee 模块ZA2530-2591。

微处理器模块的主要作用是连接主板与RTL8723U 模块ZA2530-2591 模块同时进行数据处理。为了满足性价比高和方便的要求.我们采用了三星Exynos4412 四核 Corle-A9 1.6GHz处理器。Corlex-A9 处理器其有性能强功耗低等特点.同时支持灵活设计和扩展功能。

无线通信模块包括 Wi-Fi/蓝牙模块 ZigBee模块。三星Exynos4412开发板板载 RTL8723U该芯片是针对 Wi-Fi 和蓝牙技术推出的集成解决方案其内部集成了Reallek 8723BUWi-Fi模块和 Reallek 8723BU 蓝牙模块,并且预留接口可供软件设计部分直接调用。

ZigBee模块以ZA2530-259集成芯片为核心,通过串口供软件设计部分调用。该模块基于高性能、低功耗的 2.4GHZ 射频收发芯片CC2530和大功率低噪声射频前端芯片CC2591,具有易使用、全透明 稳定性强等特点能实现超低功耗超远距离超大规模的 ZigBee无线传感网络组网功能3.6V_5.0V 电源分别提供 ZigBee 模块Wi-Fi/蓝牙模块和主控模块使用。硬件看门狗模块在设定时间内复位程序使其进入正常工作状态存储器模块主要用来存储终端节点和网关之间交互的数据信息

2.3网关的软件设计

软件设计部分主要包括 Wi-Fi 终端蓝牙终端和 ZigBee 终端连接网关,终端向网关上传明态或密态数据以及网关向终端返回响应等步骤。以下将分别介绍 Wi-Fi 通信、蓝牙通信和ZigBee 通信

Wi-Fi 通信主要采用 Sockel 和TCP/IP 协议实现数据传输。TCP/IP 协议是一种可靠的网络协议,通过在通信两端各建立一个 Socket,从而在通信双方之间形成虚拟的网络链路。一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路来进行通信。Java 语言对TCP 网络通信提供了良好的封装,可以令 Socket 对象代表两的通信端口,并通过 Sockel 产生 I/O 流进行网络通信。

出处:北京电子科技学院学报

原标题:一种支持多类型无线连接方式的安全物联网网关设计

作者:胡荣磊 陈雷 王乐背 丁安邦 何楚策

参考资料

https://www.hooketech.com/wifi-bluetooth-zigbee.html

这篇关于Wi-Fi、蓝牙、ZigBee等多类型无线连接方式的安全物联网网关设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/538807

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

Mybatis的分页实现方式

《Mybatis的分页实现方式》MyBatis的分页实现方式主要有以下几种,每种方式适用于不同的场景,且在性能、灵活性和代码侵入性上有所差异,对Mybatis的分页实现方式感兴趣的朋友一起看看吧... 目录​1. 原生 SQL 分页(物理分页)​​2. RowBounds 分页(逻辑分页)​​3. Page

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.