本帖最后由 云天 于 2024-12-25 15:55 编辑
【项目背景】 随着科技的快速发展,物联网(IoT)技术已经渗透到我们生活的方方面面,从智能家居到智慧城市,物联网技术的应用正在不断扩展。在这种背景下,智慧相册项目应运而生,旨在通过物联网技术,将传统的相册功能与现代的智能设备相结合,为用户带来全新的互动体验。 【项目设计】 智慧相册项目的核心目标是利用行空板和App Inventor 2平台,创建一个能够实时接收、展示和存储照片的智能系统。该系统将通过手机应用程序与物联网平台Easy IOT的结合,实现照片的即时传输和展示,同时通过蓝牙技术与音箱的连接,提供音频反馈,增强用户体验。 【项目特点】 实时照片传输:用户可以通过手机应用程序调用摄像头拍照,并将照片转换为Base64编码,通过MQTT协议发送至行空板。这种编码方式确保了数据传输的安全性和兼容性。 物联网平台集成:通过Easy IOT平台,实现设备间的通信和数据交换,使得行空板能够接收来自手机的照片,并进行本地存储和展示。 轮播展示:行空板接收到照片后,将自动保存并在屏幕上轮播展示,用户可以随时查看最新的照片。 音频反馈:通过蓝牙连接音箱,行空板在接收照片或删除照片时,会播放相应的提示语,如“接收到照片”或“照片已删除”,提供直观的听觉反馈。 照片管理:用户可以通过行空板的A键删除当前显示的照片,实现照片的即时管理。 数据记录与恢复:所有接收和删除的照片信息将被记录在列表和文本文档中,确保下次开机时能够恢复到上次的状态,保持用户体验的连续性。 用户交互:智慧相册项目提供了一个直观的用户界面,用户可以通过简单的操作实现照片的拍摄、传输、展示和管理。
智慧相册项目不仅提升了照片分享和展示的便捷性,还通过物联网技术增强了用户体验,使得照片的存储和分享变得更加智能和个性化。随着技术的不断进步,智慧相册项目有望成为家庭和个人生活中不可或缺的一部分。 【项目硬件】 【行空板程序】 行空板程序使用Mind+软件的Python模式图形化编程。 涉及到Wi-Fi连接、MQTT通信、文件操作和音频播放等功能。下面是对程序主要部分的简要说明: Wi-Fi连接:程序开始时,尝试连接到名为“xxx”密码为“********”的Wi-Fi网络。 MQTT初始化:连接成功后,初始化MQTT客户端,设置为保持连接。 变量初始化:定义了一些变量,如"num"用于存储图片序号,"listnum"用于存储图片列表,"imgdata"用于存储图片数据等。 文件操作:程序中涉及到对文件的读写操作,如读取"PicNum.txt"文件获取图片数量,以及将图片数据写入"PicNum.txt"。 MQTT订阅与发布:程序订阅了"+/xkb/Log"主题,用于接收MQTT消息。当接收到消息时,会根据消息内容执行不同的操作,如播放音频文件、更新图片列表等。 音频播放:程序中包含了播放音频文件的逻辑,如播放“欢迎使用行空板”xkb.mp3。 图片处理:程序能够接收图片数据,将其转换为Base64编码,然后存储到文件中。 按键事件:程序中还包含了按键事件的处理,如当按下A键时,会执行删除当前显示图片的操作。 循环与条件判断:程序中使用了大量的循环和条件判断来控制程序的流程,如检查Wi-Fi连接状态、MQTT连接状态等。
【手机APP程序】
利用App Inventor 2平台编写手机APP程序。
1、界面设计
2、程序设计
手机应用程序,用于与行空板进行交互,实现智慧相册的功能。以下是程序主要部分的简要说明: 初始化和MQTT连接:屏幕初始化后,程序会尝试连接到MQTT服务器。连接成功后,设置屏幕标题为“物联网连接成功”。 MQTT订阅和发布:程序订阅了主题Z286402Ng,用于接收行空板发送的消息。当接收到消息时,会根据消息内容执行不同的操作,如更新屏幕标题或显示调试信息。 拍照功能:当“拍照”按钮被点击时,程序会调用相机拍照。拍照完成后,将图片设置为图像框的图片,并获取图片文件路径。 图片选择功能:当“选择”按钮被点击时,程序会显示文件选择对话框,允许用户从设备中选择图片。选择图片后,将其设置为图像框的图片,并获取图片文件路径。 图片发送功能:当“发送”按钮被点击时,程序会将图像框中的图片转换为Base64编码,并通过MQTT发布到主题z4ksQL6j。 错误处理:如果MQTT连接出错,程序会输出错误信息和错误码。 文件选择和发送:文件选择完成后,程序会将选择的文件路径输出调试信息,并设置图像框的图片。 声音播放:当MQTT消息发送成功后,程序会播放一个“发送”声音文件send.mp3。
【演示视频】
|