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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/299379.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC之跨域请求

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 SpringMVC之跨域请求 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是同源策略…

SpringMVC:整合 SSM 下篇

文章目录 SpringMVC - 05整合 SSM 下篇一、设计页面1. 首页:index.jsp2. 展示书页面:showBooks.jsp3. 增加书页面:addBook.jsp4. 修改书页面:updateBook.jsp5. 总结 二、控制层1. 查询全部书2. 增加书3. 修改书4. 删除书5. 搜索书…

css的定位

为什么需要定位? 场景: 某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子当我们滚动窗口的时候,盒子是固定屏幕某个位置的。 这二个需求,使用标准流和浮动的方式是无法实现的或者是不容易实现,所以…

Upload-Labs-Linux

题目 1.打开靶机 随便上传一个图片&#xff0c;查看get请求发现/upload/XXX.jpg 2.创建一个脚本文件 命名为flag.php.jpg,并上传 脚本文件内容&#xff1a; <?php eval($_POST[1234])?> 3上传后复制文件get请求的链接并打开蚁剑 连接密码为123 双击链接 4&#xff…

Win10电脑卡顿不流畅的解决方法

在Win10电脑操作过程中&#xff0c;用户反映电脑运作卡顿不流畅&#xff0c;非常影响自己的操作效率&#xff0c;想知道有什么方法能够解决卡顿的问题&#xff1f;下面小编给大家分享三种简单且有效的解决方法&#xff0c;从而提升Win10电脑的运作速度&#xff0c;运作更顺畅&a…

Linux 与 Shell

Linux系统的四部分&#xff1a;Linux系统的核心是内核。内核主要负责四种功能&#xff1a; 系统内存管理 操作系统内核的主要功能之一&#xff1a;内存管理。&#xff08;物理内存 虚拟内存&#xff09;内核通过硬盘上称为交换空间&#xff08;swap space&#xff09;的存储区…

微机原理与接口技术——8254定时器/计时器

文章目录 一、 掌握8254定时器/计数器的基本结构1、控制寄存器2、计数器&#xff08;16位&#xff09;3、8254端口地址 二、8254的工作方式方式2——分频器方式3——方波发生器工作方式比较 三、例题四、8254在PC机上应用五、8254初始化编程例子BCD码计数二进制计数 一、 掌握8…

等级保护的基本要求(一)

目录 等级保护的标准定位 其他标准的关系 标准适用范围 标准编写思路 描述模型 基于安全保护能力 能力目标 第一级安全保护能力 第二级安全保护能力 第三级安全保护能力 第四级安全保护能力 描述模型-管理要求特点 描述模型-覆盖范围特点 等级保护的标准…

redis哨兵+redis主从复制(在虚拟机centos的docker下)

1.安装docker Docker安装(CentOS)简单使用-CSDN博客 2.redis主从复制 redis主从复制(在虚拟机centos的docker下)-CSDN博客 3.编辑3个redis配置 cd /etc mkdir redis-sentinel cd redis-sentinel/ wget http://download.redis.io/redis-stable/sentinel.confcp sentinel.co…

【前端查漏补缺】每日10题 2023-12-25

1. 实现lodash _get方法 _.get 是 Lodash 库中的一个方法&#xff0c;用于按照给定的路径从对象中获取值。它是一种安全的方式&#xff0c;可以避免在获取嵌套属性时出现的空指针错误。 _.get 方法的语法如下&#xff1a; _.get(object, path, [defaultValue])参数说明&…

Day70力扣打卡

打卡记录 收集足够苹果的最小花园周长&#xff08;找规律 二分&#xff09; 链接 class Solution:def minimumPerimeter(self, neededApples: int) -> int:l, r 1, 10 ** 5while l < r:mid (l r) >> 1if 2 * (2 * (mid ** 3) 3 * (mid ** 2) mid) > nee…

Matlab/Simulink的一些功能用法笔记(3)

01--引言 最近加入到一个项目组&#xff0c;有一些测试需要去支持&#xff0c;通过了解原先团队的测试方法后&#xff0c;自己作了如下改善&#xff0c;大大提高了工作效率。这也许就是软件开发的意义吧&#xff0c;能够去除一些重复的机械的人工操作并且结果还非常不可靠。 …