【IoT毕设】esp8266模块+机智云AIoT+宿舍事故预防系统-Arduino中文社区 - Powered by Discuz! Archiver

机智小子 发表于 2022-7-12 12:43

【IoT毕设】esp8266模块+机智云AIoT+宿舍事故预防系统

摘要:寝室安全对于大学生来说是非常重要的,每当学生离开宿舍时,总会有部分学生担心寝室内用水用电情况,故本文利用机智云esp8266 Wi-Fi模块和嵌入式平台技术,结合各类传感器,设计制作一个宿舍事故预防系统。通过该系统,用户可以机智云平台制作的APP读取寝室用电功率、水流量等数据,同时可利用这个APP远程控制宿舍的用电器开关,从而解决学生对宿舍安全的担忧问题。经过软硬件调试编程开发。
本系统实现了数据采集和上报,手机APP远程查看环境数据和远程控制用电器开关等功能,在提供安全舒适的生活同时,还为广大物联网开发者提供一定的参考价值。
引言
物联网已经出现在人们视线中十几年,自从被提出物联网这一概念之后,受到的关注越来越多。一些器件通过设备与网络连接,从而实现一些功能,这种想法改变了人们对于网络的认知。在这种背景下,各个领域都注入了新的思路来思考与改变,从而在不同程度上推动各个领域的发展。智能家居的出现其实是比物联网的想法出现的时间要早,智能家居到现在已经发展了很多的理论与成果,而且物联网的出现加快了智能家居的发展,智能家居发展非常迅速,从移动端如手机操控到根据环境自动调控,甚至语音控制,直到今天身边经常能听到的人工智能,不得不感叹技术的高速发展。

虽然智能家居这一概念最早国外提出的,但近些年,我国在这方面也是投入较多,当然也取得了一些喜人的成绩,我国许多企业结合本身的性质,在智能家居的概念下迅速发展,其中最有代表性、最令人印象深刻自然是与传统家电深度结合,使得家庭生活更加便利舒适。本文为在智能家居的概念基础上设计了一种基于机智云平台的宿舍事故预防系统。对于机智云平台,这是一个用于物联网开发的云服务平台,为开发者提供了自助式智能硬件开发工具与开放的云端服务。它可以自动生成MCU和移动终端的代码,通过傻瓜化的自助工具、完善的SDK与API服务能力最大限度降低了物联网硬件开发的技术门槛,从而帮助我们更好的完善本系统。

本系统中主控制芯片GD32F103C8T6通过esp8266 Wi-Fi无线通信模块将传感器测量到的宿舍内的一些环境数据发送给基于机智云平台开发的手机APP界面来显示,从而实现远程操作控制,构成一个简易的智能家居系统,从而来达到减少资源浪费及预防宿舍事故的效果,当学生离开宿舍期间,可能忧心的宿舍水电问题,以及电器未断电的情况。主要是采集与寝室安全息息相关的重要数据,其他一些更偏向居住舒适度的环境参数不是本项目的重要研究方向,如有机会,在本系统的未来方向进行完善。
1 系统硬件设计1.1 主控模块GD32F103C8T6
本系统采用的GD32F103C8T6是基于ARM Cortex-M3处理器32位通用微控制器。其存储器的组织用了哈佛结构,预先定义的存储器映射和高达4GB的存储空间,充分保证了系统的灵活性和扩展性。

在功能实现方面,与STM32系列基本一致,故测试时可以先使用比较熟悉的stm32系列进行开发,然后再将功能逐渐移植到GD32系列,使用国产芯片GD32主要是考虑到stm32系列是毕竟不是我国研发,而我国的发展政策注重发展国产化,目前我国的民用电子军用电子设备中采用的大多是进口电子元器件,一旦我们遭到外国的技术封锁,会在芯片设计上受到非常大的打击,因此电子元器件国产化具有特别重要的现实和军事意义,故本文使用国产的GD32系列。

1.2 ESP8266模块
系统采用ESP8266 Wi-Fi模块为乐鑫公司开发的一种物联网专用芯片,其成本低,设计周期短,并且非常适合做小量数据的无线传输,该模块既可以通过串口用AT指令进行控制,也可使用厂家提供的SDK来进行开发。在工作前,该模块需要烧录固件,本系统烧录的是机智云模块的固件,在烧录模块方面,机智云有提供非常详细的方案,如有其它需求也可以根据其提供的指导进行相应的固件烧录。

ESP8266 Wi-Fi模块采用串口与单片机通信,内置TCP/IP协议栈,ESP8266WFi模块有两种工作模式Soft Ap和Airlink两种方式配置入网。Airlink模式通过路由器和英特网相连,属于英特网内通信;Ap模式将ESP8266作为一个热点。本系统采用的是Airlink模式配置入网。

1.3 水流量传感器
本系统采用YF-S201水流量传感器来进行水流量的检测,最低额定工作电压DC4.5 5V-24V,该水流量传感器主要由塑料阀体、水流转子组件和霍尔传感器组成。叶轮内部镶有不锈钢珠,永远耐磨,密封圈采用上,下受力的结构永不漏水,从结构上而言,非常适合长期的水流量检测,且制作该模块使用的所有材料都符合ROHS检测标准。

当有水流通过水流转子组件时,磁性转子开始转动,其转速会随着水流量增加而增加,使得霍尔水流传感器输出相应脉冲信号,其输出的脉冲个数与水流量的大小有关,水流量越大,其单位时间产生的脉冲个数越多。单片机通过统计单位时间内脉冲的个数,从而得到当前水流量的相对值,并通过Wi-Fi模块发送到手机APP的显示界面上。
1.4 用电功率检测模块
本系统采用CL1N交流单相电流模块来采集电流电压等所需要的电参数,通过电流互感器采集电流参数,电压互感器采集电压参数,并由此计算所以需要的参数,其电压测量范围为5V到500V,电流测量范围为0.04A到50A,其频率范围为45HZ~65HZ,由此可得出有功功率,视在功率,无功功率,功率因素等参数,本系统主要通过此模块来采集宿舍内的电流电压参数,从而得到功率参数,通过其串口协议发送到单片机上,同时该模块可为本系统的后续发展测量其他电参数作铺垫。(总体硬件电路如图1所示)https://club.gizwits.com/data/attachment/forum/202207/12/122806w58k5no8vdsq6jv8.jpg.thumb.jpg
图1 硬件电路原理图

2 系统软件设计2.1 机智云AIoT平台应用开发
在注册登录后进入开发者界面,选择创建新产品,并设置产品名称,选择产品分类和技术方案、通信方式、数据传输方式等参数。如图所示,本系统设计的产品分类根据情况选择智能家居的生活小家电的其他类,其产品名称为远程监测控制系统,方案为Wi-Fi/移动网络方案,通信方式为Wi-Fi,数据定长,功耗正常。详情如图2所示。
https://club.gizwits.com/data/attachment/forum/202207/12/122123xoik1g4eg1cjeh4e.jpg.thumb.jpg图2 机智云产品开发界面

接下来便是根据系统所需要的具体情况定义相应的数据点,数据点即设备产品的功能的抽象,用于描述产品功能及其参数。本系统所用的数据点包括只读:表示该数据点非控制,数据只支持从设备上报;可写:表示该数据点可控制。设备端可上报该数据点数据;云端/客户端可对该数据点的数据做出控制。通过这两类数据的设立,达成远程控制宿舍电器的开关,对宿舍具体环境参数的测量上报,从而实现代码总体布局,本系统的具体数据点的设立如图3所示选用了两个可写且数据类型为布尔值的数据点、两个只读且数据类型为数值的数据点来实现对应的功能。
https://club.gizwits.com/data/attachment/forum/202207/12/122134djwkvkcvv01a00vd.jpg.thumb.jpg
图3 数据点设立界面

在MCU开发界面选择相应的硬件平台,并输入机智云平台对应的安全密钥,然后生成代码包,机智云平台会根据自身选择的硬件方案,自动生成MCU开发中必要的代码,加快应用程序开发流程。本次设计按照图4选择生成独立MCU方案,其硬件平台选择stm32F103C8x,后续代码调试完成可移植到相应的GD32F103C8T6模块,使得项目更加顺利的完成。
https://club.gizwits.com/data/attachment/forum/202207/12/122145yev5mzvmzb00emb4.jpg.thumb.jpg
图4 硬件方案生成界面

https://club.gizwits.com/data/attachment/forum/202207/12/122200pmu3usciu3mu0cus.jpg.thumb.jpg图5 手机APP界面

MCU工程弄好后,编译并下载,接下来可以通过机智云平台官网的提供APP测试,进入机智云APP,注册账号登录或者点击跳过,点击添加设备,输入手机连接的路由器的ssid名称和密码,点击下一步,接下来长按KEY2 2S,触发Air Link方式配置入网,此时APP会发出配置包,并提示正在搜索设备,连接好后APP会返回设备列表界面并显示出该设备。在检查单片机联网无问题后,可重新打开机智云生成的代码,进行系统所需对应功能实现的具体代码的编写,单片机联网后手机APP界面如图5所示。//Gizwits协议初始化
https://club.gizwits.com/data/attachment/forum/202207/12/122717tbb11ktpltlpbxeo.jpg.thumb.jpg
2.2 嵌入式平台开发
本文基于机智云平台生成的SDK进行开发。用户程序入口为user_init(),完成应用的初始化功能:I/O口初始化、机智云服务初始化。初始化完成后进入空循环模式,等待连接Wi-Fi并设置按键回调函数,Wi-Fi定时连接中断,传感器定时检测中断。一旦中断到达,CPU跳转到中断服务函数进行中断处理。

用电功率模块通过电压电流互感器测量对应的电参数,根据P=UI计算出对应的电功率,然后通过串口协议发送给单片机。霍尔水流量传感器内部有水流经过时,会产生对应个数的脉冲,我们使用GD32单片机外部触发定时器计数,得到单位时间里霍尔元件产生的脉冲个数,从而计算出对应的水流量,单片机获取到参数后,发送到ESP8266Wi-Fi模块,然后传输到手机APP。

当检测Wi-Fi到连接成功后,设置数据更新定时器。定时检测用电功率和用水量等环境数据,并将检测数据上传至机智云服务器。当初次使用需配置Wi-Fi信息,可长按按键启动一键配置模式,使用手机APP进行配置,配置完成后设备连接Wi-Fi,连接成功后进行数据更新。https://club.gizwits.com/data/attachment/forum/202207/12/122827nls64lzpqep0r800.jpg.thumb.jpg
3 结语
本文基于机智云物联网平台设计开发了宿舍事故预防系统,主要有传感信息的采集,基于Wi-Fi的信号传输。经过调试,能够在通过手机APP查看宿舍内用电功率和水流量的情况,同时还可以远程操控宿舍的电器的开关,当宿舍用电过载时,还可以自动关闭电器,来达到减少资源浪费及预防宿舍事故的目的。

但在与宿舍电器接洽方面不够深入,只能起到开关的作用,不能对电器进行更精细的调节,该系统在后续应与更多的电器进行连接,例如空调,热水器,并与这些较为精密的电器有跟深入的联系,不局限于单纯的开关。同时,环境参数只采取了与安全相关最重要的部分,在接下来的开发中可以加入更多的环境参数,可根据功率传感器模块进行更深入的电参数测量,也可以加入与宿舍环境息息相关的光照、温湿度、空气质量等环境参数。
页: [1]
查看完整版本: 【IoT毕设】esp8266模块+机智云AIoT+宿舍事故预防系统