基于MQTT服务的校园智能灯杆系统的设计与实现

基于MQTT服务的校园智能灯杆系统的设计与实现

(本科毕设项目,所使用的工具基本都是我现学的)

  • 项目完成的主要功能:
    在实现现有灯杆功能(照明,视频监控)的基础上,增加智能灯控、环境数据采集、电子信息显示牌和一键紧急求救等功能。树莓派终端通过MQTT协议进行数据传输,将数据实时展示到网页端,实现网页端远程实时监控和控制路灯状态。
  •  
  • 项目来源:老师的课题,让我读研之前跟进一下,毕设做了这个项目,算是课题的精简版吧,一点点皮毛
  • 主控:树莓派3B+
  • 传感器设备:温湿度传感器-DHT11、OLED显示屏、轻触式按键开关、摄像头-Raspberry Pi Camera Modulev2
  • 功能实现:
  1. MQTT服务器:EMQ官方集成版(https://www.emqx.cn/products/broker
  2. MQTT客户端:树莓派终端使用paho-python-mqtt官方库、网页终端使用paho-JavaScript-mqtt官方库(https://github.com/eclipse?q=mqtt
  3. 摄像头驱动:MJPG-streamer(参考:https://blog.csdn.net/wuli_dear_wang/article/details/84628771
  4. OLED显示屏:淘的树莓派专用的,带有教程(也可以买个IIC的便宜的,网上教程一大堆)
  5. 树莓派系统:Raspberry Pi OS(Raspbian)(https://shumeipai.nxez.com/download#os
  6. WEB服务器:flask框架(本项目只是简单实现了web服务器,只是用来传递网页和静态文件了,并没有用来提供其他数据服务,网页端获取到静态文件之后服务器就没用了)
  1. 树莓派终端
  2. web服务器
  3. mqtt服务器

项目总结:

  • 这个项目涉及到的东西基本上之前都没有接触过:树莓派第一次用、第一次搭建web服务器、第一次写JavaScript代码........
  • 其实,现在想想,也没什么东西,只是第一次接触比较陌生罢了
  • 这次项目大多是参考别人的案例来实现的,正所谓:实现功能就是调用API嘛
  • 也算是摸索着前进吧,多经历些项目慢慢就找到套路了

总结下来的经验/教训:

  1. 做项目期间效率很低,做事不专心,老是去捯饬其他事情,项目周期拖延的很长--开始一个项目,就全心全意的去做,尽快干掉它!专心去做,项目进行的很快的
  2. 不要惧怕英文,要知道计算机都是老外发明的,学习计算机怎么离得了英文,英文技术文档并没有那么难,也就是一些专有名词而已,语法很简单的,拿着翻译软件,四级没过的我也是读得懂的!
  3. 做项目的时候不要过于专注而忘了站起来走走!真的有几天,一坐就是一整天,腰疼了跪在凳子上编码,太过头了,身体是革命的本钱!
  4. 站在巨人的肩膀上,冲冲冲!

 

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着家电设备的智能化,家电设备能够通过传感器感知周边环境,能够提供更加优良的用户体验。与此同时,随着互联网的浪潮以及智能手机性能以及体验的不断发展,智能手机已成成为人们连接网络的主流终端。而物联网的不断发展,家电设备可以接入到网络中,这样智能手机可以随时通过网络查看设备状态、发送控制命令。目前市场上的手机控软件都是和智能设备一对一绑定,若有多个设备就需要多个手机应用软件进行管理。若能设计一种能够整合不同设备信息,并由一款应用软件进行统一管理的系统,将极大提高用户的使用体验,使得智能家居越来越普遍。 在这种需求的驱动下,本文设计实现了一套基于 MQTT 推送协议的通用智能家居管理系统,解决硬件设备和信息上的异构性,提供一款可以显示并控制多种设备的手机应用软件。该系统包括基于树莓派系统的网关、基于 Openwrt 系统系统服务端和iOS 智能手机作为控制端,整合多种家电设备的控制于一体,提供通用化的管理系统平台。 本系统通过在系统服务端与家电设备之间添加网关设备以连接不同通信方式的家电设备,将设备信息规格化通过 Wifi 通信上传到系统服务端,以此解决硬件上的异构性。在信息整合上采用元编程的方式解决信息上的异构性,对设备和设备属性进行分类抽象,极大提高了系统整合不同设备以及设备属性上的扩展性。同时抽象化的设备和设备属性显为手机端界面示的统一化提供了数据基础,能够将数据直接映射iOS系统 UIKit 的显示控件上,让手机端在界面设计时,可以通过预先设定映射匹配方式,快速添加新设备新属性,无需再通过代码添加。通过这种在硬件以及信息管理上的通用方案,本系统能够建立起一个可以适用于大部分家电管理的平台。在信息共享以及传输上,本系统采用 MQTT 推送协议作为通信方式,由于本系统中多数设备都属于嵌入式设备,设备的计算资源十分有限,而 MQTT 推送协议对系统 CPU 以及内存资源的低占用率正适用于本系统。 最后本文对系统的各个模块特别是手机端模块进行了黑盒测试,验证系统的可行性以及可靠性。同时,也对采用 MQTT 推送协议的通信方案和采用 HTTP 长连接方案进行性能上的测试和对比,包括内存占用、CPU 占用率和能耗等三个方面。结果显示MQTT 推送协议方案在三个方面都占有优势,达到了设计要求。
MQTT是一种基于发布/订阅模式的轻量级消息传递协议,它可以为智能家具系统提供高效的通信机制。智能家具系统可以通过MQTT服务器连接到互联网,并使用MQTT协议进行通信。 智能家具系统设计需要考虑以下几个方面: 1.硬件设计 智能家具系统需要具备传感器、执行器和控制器,其中控制器可以通过MQTT进行连接和控制。 2.网络连接和通信协议 MQTT协议是智能家具系统的首选通信协议,可以通过局域网、3G/4G或云平台进行连接。MQTT协议使用主题结构进行消息传递,需要对主题进行合理的设计和管理。 3.数据存储和分析 智能家具系统需要存储和分析数据,以便于提供更好的服务,减少能源消耗,提高设备寿命等。数据存储可以通过云平台实现,数据分析可以通过机器学习等方法来实现。 4.用户界面和交互方式 智能家具系统需要提供友好的用户界面和交互方式,以方便用户进行控制和监测。可以通过手机App或网页来实现控制和监测功能。 智能家具系统实现的关键点: 1.设备间通信 设备间的通信需要通过MQTT协议实现,需要对主题进行统一管理和命名。消息传递需要保证可靠性和一致性,以避免误操作和数据丢失。 2.数据处理和分析 智能家具系统需要统一管理和处理数据,提供数据可视化和分析功能,以便于用户更好的了解设备状态和使用情况,以及进行优化和调整。 3.用户界面和交互方式 智能家具系统需要提供友好的用户界面和交互方式,以简化用户操作和提高用户体验。用户界面需要简洁、明了,交互方式需要直观、方便。 智能家具系统实现可以提供更好的智能服务和设备控制,可以提高生活的舒适度和便利性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值