基于物联网和OpenCV的小型猫犬智能宠物小屋的设计.docx
《基于物联网和OpenCV的小型猫犬智能宠物小屋的设计.docx》由会员分享,可在线阅读,更多相关《基于物联网和OpenCV的小型猫犬智能宠物小屋的设计.docx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于物联网和OpenCV的小型猫犬智能宠物小屋的设计摘要在现代社会,随着科学与技术的飞速变化和进步,我们的日常生活也呈现出了科技化、现代化的色彩。尽管社会在进步,但是在当下社会中,从古至今人们之间最重要的交流却一点点的淡化。也是伴随着当下社会的巨大压力,很多人把饲养宠物作为自己消遣和排解压力的形式和办法。这也导致宠物行业的产品如雨后春笋般的增长了起来。其中,宠物智能小屋的发展存在单一性,比如只能喂食等等。并且没有考虑到宠物的领地意识,造成宠物之间以及对幼儿可能形成的伤害。所以研究一款具有多种功能的专属的智能宠物小屋是具有发展前景的。本文主要介绍了一种基于物联网和OpenCV的小型猫犬智能宠物小
2、屋的设计与实现。目的是集合主流宠物小屋的功能,并考虑到宠物领地意识,打造一个拥有多种功能且专属的智能宠物小屋。主要的功能有喂食、以及通过风扇和加热毯对小屋环境进行调节。专属性通过OpenCV识别来判定是宠物猫或者宠物狗,并作出开关门的动作。整个系统以STM32f407vet6和树莓派4B作为控制核心。检测模块由BME280传感器和ov5647传感器构成,通过舵机和继电器来实现对环境调节,喂食,开关门功能的实现。由OpenCV+Python进行图片识别,但是为了提高准确度由百度AI接口进行二次识别。使用微信小程序作为移动UI端进行数据的查看和硬件的控制。关键词:微信小程序;STM32;树莓派;O
3、penCV;智能宠物小屋ABSTRACTIn modern society, with the rapid change and progress of science and technology, our daily life also presents the color of technology and modernization. Although the society is progressing, but in the current society, the most important communication between people from ancient t
4、imes to now is a little diluted. It is also accompanied by the tremendous pressure of contemporary society. Many people regard raising pets as a way to relax themselves and relieve their stress. This has also led to the rapid growth of products in the pet industry. Among them, the development of pet
5、 smart house is unitary, such as feeding only. And it doesnt take into account the territorial awareness of pets. Therefore, the research on an exclusive intelligent pet house with multiple functions has a bright future.This paper mainly introduces the design and implementation of a small cat and do
6、g intelligent pet house based on the Internet of things and OpenCV. The purpose is to integrate the functions of the mainstream pet house, and take into account the sense of pet territory, to build a multi-functional and exclusive intelligent pet house. The main functions are feeding and adjusting t
7、he environment of the cabin through fans and heating blankets. The specificity is identified by OpenCV to determine whether it is a pet cat or dog, and the action of opening and closing the door is made. Stm32f407vet6 and raspberry pie 4b are the control cores of the whole system. The detection modu
8、le is composed of bme280 sensor and ov5647 sensor. It can adjust the environment, feed, open and close the door by steering gear and relay. Opencv + Python is used for image recognition, but in order to improve the accuracy, baidu AI interface is used for secondary recognition. Use wechat applet as
9、mobile UI to view data and control hardware.Key Words:wechat applet;STM32;raspberry pie;OpenCV;Smart Pet Hut 摘要IABSTRACTII第一章 绪论11.1 选题的背景和意义11.2 国内外研究现状分析11.3 本文主要研究内容2第二章 智能宠物小屋总体架构和相关技术概述32.1 总体架构32.2 控制器42.2.1 STM32F407VET6和树莓派4B微控制器概述52.2.2 STM32F407VET6资源52.2.3 树莓派4B资源62.3 微信小程序62.3.1 微信小程序的结构
10、62.3.2 微信小程序结构62.4 OpenCV82.4.1图像灰度化82.4.2图像压缩92.5 本章小结9第三章 智能宠物小屋的硬件设计101.1 硬件总体架构101.2 采集数据传感器模块101.2.1 ov5647图像传感器101.2.2 BME280传感器111.3 继电器模块121.4 本章小结12第四章 智能宠物小屋软件设计134.1 软件总体设计流程134.2 传感器软件的设计134.2.1 BME280传感器软件设计144.2.2 ov5647传感器软件设计144.3 树莓派网络以及与STM32连接软件设计154.4 微信小程序端软件设计164.5 服务器处理的软件设计18
11、4.6 树莓派中OpenCV软件设计194.6.1 级联分类器的训练194.6.2 图片检测程序的实现214.7本章小结22第五章 智能宠物小屋的测试235.1 实验平台235.2 测试235.2.1 微信小程序和图像识别测试235.2.2 传感器数据的传输与发送测试255.3 本章小结26第六章 总结与展望276.1 总结276.2 工作展望27参考文献29致谢31V第一章 绪论1.1 选题的背景和意义现如今当代社会更加呈现出现代化、科技化,科学技术是社会飞速发展塑造的产物,但是随着社会的进步发展人与人之间沟通却日渐疏远了,当代社会有越来越多的人会选择饲养宠物的方式来排解现代社会给我们带来的
12、巨大压力,当上班族下班回到家看到自己的宠物开心的向你跑来,一切烦恼都会抛之脑后;因为宠物可以让主人在快节奏工作生活的今天,更好的放松压力、带来欢笑;饲养宠物与宠物互动已经成为忙碌工作生活的重要调节减压方式,如今,各种各样的宠物已经融入我们的生活,成为我们生活的一部分。宠物数量的逐年增加,主人为了宠物可以得到更加舒适的环境,为宠物购买各式各样的生活用品,使得的宠物用品也层出不穷。依据中国产业信息网颁布的2020-2026年中国宠物用品及服务行业市场运行潜力及营销渠道分析报告,从报告可以看出目前宠物经济呈现出了急速发展的趋向,而且急速发展的宠物经济随着宠物行业的发展、兴盛,依然初步形成了一个产业链
13、,在宠物用品中宠物家居所占比重是比较大的一部分,宠物饲养者在购买宠物用品时宠物家居的购买是一个占比较大的购买方向,并且伴随着社会的科技化,宠物饲养者趋于年轻化,智能宠物家居的需求量也是相当大的。由于猫是天生具有领地意识的动物。所有的猫,包括家猫都有自己的地盘1。而对于狗来说,狗也有明显的领地习性2。对于幼儿在不经意间进入宠物家居即宠物领地时造成的安全隐患,以及在宠物饲养者外出时宠物食物投喂,宠物小屋环境中温度调节都是需要解决的问题。1.2 国内外研究现状分析在1999年,由位处美国的MIT(麻省理工学院)在提出物联网(IOT)的概念之后,其经历了迅速的发展,在各行各业如工业,农业,家庭等方面都
14、有了广泛且大量的应用 ,物联网应用发展的重要方向之一就是家庭物联网。而在国外就有人提出将宠物智能家居依托于整个人类家庭的智能家居来建设。如NamKyung Lee等人(2014)提出了基于物联网的智能家居系统中的宠物护理服务3,目的是通过以智能家居为基础实现对宠物居住的智能化。但是通过梳理分析,这些系统部署周期较长且需要依托整个智能家居总体作为依托来建设宠物小屋,故其成本较高,而其普及性却较低。目前,在国内的研究大多是基于某一具体方面对宠物家居进行讨论开发,孙博等人(2016)提出了一种远程科学喂养宠物的系统4。邵彦达等人(2017)提出了借助于智能家居,来轻松喂养家中的宠物5。刘惠惠(201
15、8)也提出了在宠物用品中的智能喂食器。通过智能喂食器,便于用户远程喂食等操作6。它们都是在单一的喂食方面对宠物家居提出了建设的观点。而王丹雪(2014)提出的宠物的短期寄养的服务平台,由寄养人自己在平台寻找有资质的宠物饲养者进行宠物托管7。以及杨莹(2014)提出的基于智能化设备和智能化家居的宠物托管服务平台,在宠物饲养者出差等情况下宠物无人照看时可通过这个平台对宠物提供个性化的寄养8。也只是在宠物饲养者短暂离家后宠物寄养方面的讨论与研究,但如果拥有一个智能化的宠物小屋,将这些单一的功能聚集起来,那将为宠物饲养者带来极大的方便。1.3 本文主要研究内容针对现有的智能宠物小屋的研究和分析,本文基
16、于OpenCV,微信小程序、结合B/S架构对数据进行处理展示并可通过移动端对硬件进行控制,硬件采用树莓派和STM32微控制核心。第二章 智能宠物小屋总体架构和相关技术概述2.1 总体架构在此次设计中,以STM32和树莓派作为控制核心,以温湿度传感器和ov5647传感器、继电器等作为基础外部设备。结合嵌入式,无线传输,基础图像处理以及微信小程序等技术,设计实现了基于物联网和OpenCV的智能宠物小屋。通过环境传感器对环境(主要是对温湿度)数据的采集,将结果发送至主控芯片STM32,再通过串口将数据发送给主控制器树莓派,再发送至服务器,最终将数据显示在微信小程序端。通过ov5647传感器,对物体进
17、行图像采集,再使用Python结合OpenCV对图像进行预处理并进行初步识别。采用基于harr特征进行猫脸识别9。若识别成功打开小屋的门,识别失败则将图片传输至百度AI接口进行二次识别。由于百度很早就提出了“ALL IN人工智能战略” 10,所以其能提高图片检测的准确度。将最终结果传回主控制器树莓派,判断是否开启小屋的门。在移动端(微信小程序)可以设置温湿度阈值,通过加热毯和风扇来对宠物小屋环境进行自动调节。也可进行喂食操作,不仅能通过自动识别来决定开启小屋的门,也可在移动端直接开启小屋的门。在本文的设计方案中能够分为两部分,硬件设计的部分和软件设计的部分。其中硬件组成部分主要有STM32开发
18、板、树莓派4B开发板、温湿度传感器、摄像头、金属舵机、继电器、SD存储卡,软件组成部分主要有移动端微信小程序,服务器处理、Python+OpenCV以及摄像头驱动等。系统的总体架构如图2-1。图2-1 系统总体架构2.2 控制器在本次设计中采用的控制器是STM32F407VET6微控制器和树莓派4B微控制器。其外观分别如图2-2和图2-3。 图2-2 STM32F407VET6微控制器图2-3 树莓派4B微控制器2.2.1 STM32F407VET6和树莓派4B微控制器概述STM32F407VET6是由ST(意法半导体)公司研发制作的一款低功耗,高性能,低价格的微控制器,定时器、AD、DA、复
19、位、电源管理、时钟等资源都集与于其内部。这些资源对本次设计提供了极大的助力,其所拥有的82个I/O口恰如其分的适应本次设计的外设要求。由于STM32F407VET6所提供的强悍的时钟系统和32位处理器,所以在本次设计的中能够快速且富有效率的完成数据的获取,计算以及传输工作。树莓派4B是由“Raspberry Pi 基金会”这个注册于英国的慈善组织开发的。是一款微型电脑且其基于ARM。其具有开放性极高的特点,可运行Linux系统,在物联网开发中广泛运用。其具有USB Type-C电源接口、64位4核处理器、CSI摄像头接口,板载无线网络,对本次设计中图片的采集以及Python+OpenCV程序处
20、理的运行提供了相当大的助力。Python程序在windows下完成,运行在树莓派的linux系统下11。2.2.2 STM32F407VET6资源STM32F407VET6芯片富含丰富的内部资源,重点是以下几个方面。1. 内核:超高性能ARM Cortex-M4(32位),时钟频率高达168MHZ,并且支持DSP指令以及FPU(浮点运算)。2. 存储器容量:1024K FLASH, 192K SRAM。3. I/O口:100个引脚,82个I/O口,支持JTAG以及SWD两种调试方式。4. 时钟、复位以及电源管理:支持1.83.6V电源和IO电压,可用上电复位,掉电复位和可编程的电压监控,时钟含
21、有426M的外部高速晶振,16MHz的高速RC振荡器。5. 低功耗:拥有待机、睡眠及停止三种低功耗模式。6. 通信接口:拥有17个通信接口,包含6个串口、3个SPI接口、1个SDIO、3个I2C接口、2个CAN2.0、2个USB OTG。7. 定时器:拥有17个定时器,含有10个通用定时器、2个基本定时器、1个系统定时器、2个看门狗定时器。8. AD和DA:存在3个12位AD以及2个12位DA。2.2.3 树莓派4B资源1. 内核:采用ARM Cortex-A72 1.5GHz(四核)。2. 数字接口:包含DSI(显示屏)以及CSI(摄像头)。3. 网络接口:含有WiFi、蓝牙和以太网接口,可
22、满足各种网络需求。4. 外设:拥有高达40pin的GPIO。5. 操作系统:支持很多的操作系统。2.3 微信小程序在本次设计中采用微信小程序作为移动端让用户和硬件交互。2.3.1 微信小程序的结构在小程序中我们知道主要有不同类型的文件总共4种,分别为:(1)以.json作为后缀的一个JSON配置文件,其仅仅是一种数据格式,并不是编程的语言,在小程序中,JSON作为一个静态配置存在。(2)以.wxml作为后缀的是一个WXML的模板文件,是由标签以及属性等构成的(和HTML相似)。(3)以.wxss作为后缀的叫做WXSS样式文件,能够通过它控制上述所说WXML的样式(和CSS相似)。(4) 以.j
23、s作为后缀的是一个JS脚本的逻辑文件,其功能就是用来和用户做交互的,它处理用户的操作。值得注意的是在小程序中并没有DOM和BOM这样的概念。在微信小程序中,前三者属于渲染层,js文件属于逻辑层。2.3.2 微信小程序结构1. 宿主环境对比于网页开发,微信小程序只有微信的客户端这一种运行环境,而在小程序开发制作的一个过程中我们又需要接触和面向的是主流的手机OS即Android以及苹果公司独有的IOS,还有就是小程序开发工具。而小程序在这三种环境中的运行机制也是有较大的区别的,如表2-1。表2-1微信小程序三大宿主环境区别宿主环境逻辑层渲染层IOSJavaScriptCoreWKWebviewAn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 联网 OpenCV 小型 智能 宠物 小屋 设计
限制150内