基于物联网的智能家居控制系统设计与实现毕业论文
2021-06-25 01:05:10
摘 要
本文主要介绍了一种基于Contiki系统使用6Lowpan通信协议的物联网智能家居控制系统的解决方案。利用CC2538做数据包发射前级与节点使用串口通信,STM32f103做传感器节点,linux设备作为网络终端实现反馈和人机交互。在实物系统中,终端能够反馈节点光强感测信息以及依据监测光强来自动控制灯光亮度。
作者的主要研究工作如下:
1、设计并实现了具有光强感测以及控制LED灯的嵌入式节点。节点采用STM32f103嵌入式系统,搭载了ucosIII操作系统,其中运行着两个主要进程,其中一个主要进程定时的采集信息并通过发送端前级向服务器发射采集数据,另一个一个进程主要是处理接受到数据,提取其中的PWM占空比设置值进行相应的设置,以此来控制外部的LED灯光亮度;
2、设计并实现了兼容IPV6协议通信的服务端和客户端数据包发射前级。在实物系统中的方案里,使用Cortex-M3内核的射频芯片CC2538为系统前级,使局域网中的各个节点与核心节点相连。不同于一般的wifi下局域网的单跳星型拓补结,6lowpan是一种符合IEEE 802.15.4标准可以实现搭建网状拓补结构mesh网络的协议。多跳网络降低了节点之间的空间分布要求,并且具有分布式网络的冗余机制和重新路由功能,对于大范围分布的传感器具有很好的支持。方案中采用发送端前级和节点分开设计的方案,节点和发送前级采用串口通信,使得以后的设计方案能够很方便的将各种嵌入式设备改装设计成6lowpan网络中的节点,具有很好的拓展性;
3、设计并实现在linux环境下系统的上位机软件。服务端使用的是安装了linux环境的PC,使用python这一简单便捷且功能强大的编程语言来编写一个能够记录并控制节点数据的系统上位机,通过对下部节点传送上来的节点信息,对节点进行相对应的控制。在其中创建了双线程,分别负责数据的接收和处理,接受节点传输的光强数据,并且根据这个数据来发送对应的控制字。线程之间采用线程事件机制来进行同步运作。
关键词:智能家居;物联网;802.15.4;6Lowpan;python
Abstract
This paper puts forward a set of solution for Internet of things Intelligent Home Control System based on Contiki system using 6Lowpan communication protocols. Use CC2538 as packet transmission pre-stage, which connects with nodes in serial communication. employ STM32f103 as sensor nodes and Linux device as network terminal to obtain feedback and achieve human-computer interaction. In the physical system, the terminal can show the feedback intensity sensing information as well as automatic control according to the monitoring intensity light brightness.
The author's research work is as follows:
1 Designed and implemented the Light intensity sensor and the embedded node control LED lights. Nodes is STM32f103 embedded systems with a ucosIII operating systems, which runs two main process, one of the main process of timing acquisition information and the transmission data by level before sending to the server, and another one process is mainly processing received data, extract the PWM duty cycle set values for the corresponding Settings, in order to control the external LED lights brightness;
2 Design and implemented compatible with IPV6 communications server/client packet level before launch.Apply CC2538 system with the Cortex-M3 core chip as pre-stage, so that each node in the LAN is connected to core nodes. Unlike single-hop star topology knot in the normal LAN under wifi environment, 6lowpan as a protocol, is able to use IEEE 802.15.4 to build mesh network of mesh topology. The Multi-hop network reduces the spatial distribution requirement between nodes, and possesses redundancy mechanism and re-routing function as the distributed network does, offering strong support for a wide range of distributed sensor. This paper adopts the scheme that transmission pre-stage and node are designed separately in serial communication, so that a variety of embedded devices can be easily designed to be nodes in the 6lowpan network, which has good scalability;
3 Designed and implemented a upper machine software which is in the Linux environment system . PC server is in the Linux environment, the simple convenient and powerful using the python programming language to write a system to record and control node data PC, through to the lower nodes of node information transmission, to control the corresponding node.Create the double thread, respectively responsible for receiving and processing of data, accept node transmission light intensity data, and according to the data is sent to the corresponding control word.Between threads using thread event mechanism for synchronous operation.
Keywords: Smart home;The Internet of things;802.15.4;6lowpan;python
目 录
第1章 绪论 1
1.1课题研究的背景及目的、意义 1
1.2国内外研究现状 1
1.3本文的主要研究内容及组织结构 2
第2章 灯光自动控制系统的总体方案设计 3
2.1 设计方案选择 3
2.1.1 有线无线 3
2.1.2 无线方案6Lowpan与zigbee标准 3
2.2 系统方案概述 4
2.3 本章小结 5
第3章 灯光自动控制系统的硬件及网络模型设计 6
3.1 MCU选型以及最小系统 6
3.1.1数据包收发前级CC2538 系统 6
3.1.2控制节点stm32f103 系统 6
3.2 IEEE802.15.4及6Lowpan模型 7
3.2.1网络层协议IPV6 7
3.2.2兼容层6Lowpan协议 7
3.2.3 802.15.4数据链路层标准 8
3.3 本章小结 9
第4章 灯光自动控制系统的软件设计 10
4.1 Contiki3.0操作系统与数据包收发前级系统 10
4.1.1Contiki操作系统 10
4.1.2 收发前级客户端 12
4.1.3 收发前级服务端 13
4.1.4 数据包收发协议栈介绍 14
4.2 ucosIII操作系统与节点控制系统 16
4.2.1 ucosIII操作系统 16
4.2.2 节点控制系统 17
4.3 LINUX环境下的上位机服务端 18
4.3.1 Python语言简介 18
4.3.2 上位机控制流程 18
4.4 本章小结 21
第5章 灯光自动控制系统的实现与调试 22
5.1 数据包收发部分仿真 22
5.2 节点及上位机实物联合测试 23
5.3 系统测试结果分析 24
第6章 总结与展望 25
6.1 总结 25
6.2 展望 26
参考文献 27
致 谢 28
第1章 绪论
1.1课题研究的背景及目的、意义
智能家居最早的概念早在1984年的美国就已经出现[1],在科学技术发展了近30多年的现在,硬件和软件上的技术早已日新月异,计算机技术,晶体管发展,数字技术,网络通信技术等相应学科的发展对无线物联网[2]智能家居(smart home)[3,4]等相关概念也能够更好的实现,一些曾在科幻作品中的有关人类未来生活家居的设想也正在逐步的实现。智能家居的出现也是为了更好的为人类居家生活提供服务。本课题的研究目的就是研究相关资料并且制作出一个小型的物联网自动控制系统,以此来实践和探究智能家居这一概念在实际中的可行性以及未来发展的展望。
1.2国内外研究现状
自从国外提出智能家居的概念到现在已经过了许久,并且从国外的发展来看,随着半导体技术的发展以及计算机学科的进步,越来越多的通信协议和技术也被运用其中。在1998年3月,微软,英特尔,惠普及IBM和日本的一些公司制定了“家用无线网络标准”——HomeRF。而在1998年,很快的蓝牙技术被作为提供一种短距离、低成本的无线传输应用技术提出。在接下来的21世纪,伴随着半导体技术,信息通信技术的发展,越来越多的通信方式被应用其中,例如 x-10技术。
再看国内发展,虽然我国的信息化产业总体起步比国外略晚,但近几年的飞速发展也使得掌握的技术水平紧跟着国外的步伐,从市场上也能找到许多的成熟产品。在1999年,中国电力科学院便研制了45Mbps的电力线高速通信产品[5],在沈阳进行了实验。2002年,北方工业大学运用单片机控制电话手法芯片MT8880和语音芯片ISD4004,研制了一种基于公共电话网的智能家居系统,实现电话远程控制家电、语音提示、留言和智能报警等功能[6],以及近几年的物联网IOT体系[7,8]等等