利用Proteus仿真基于stm32的智能家居并上传至阿里云

这篇具有很好参考价值的文章主要介绍了利用Proteus仿真基于stm32的智能家居并上传至阿里云。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学校组织了为期两周的实训,疫情原因只能线上,学习的是stm32,本来利用32制作智能家居并上传阿里云网上的教程很多的,但是仿真并上云暂未发现,这也是我本次实训感觉学到的东西。
实现的东西其实很简单,就是温湿度,光照传感器,然后测得的数据在LCD屏显示并实时上传至阿里云。
接下来我将简要介绍一下本次实验的操作流程,一些个人认为没必要再解释的操作就不写了,就当做一次学习记录。
另外,本次使用的仿真软件版本为proteus8.9,使用其他版本可能出现未知的问题。这里附上仿真软件下载链接
一、proteus电路图
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
二、仿真效果图
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
三、LCD显示文字与图标
仿真用到是ILI9341——LCD,分辨率为240x320,采用SPI接口协议,颜色格式为RGB256—16位真彩色,我们利用封装好的函数来在LCD显示文字与图标。这里要要用到两个取模软件,分别是汉字取模与图片取模。
首先需要将要显示的文字取模,取模得到的结果存放在工程里的font.h文件里。
1.汉字取模
打开文字取模软件并设置选项
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
复制取模的16进制代码,放在font.h文件里的const typFNT_GB16 tfont16[]里,和前面的格式保持一致,这里要注意const typFNT_GB16 tfont16[]里的文字取模只能出现一次,不能重复取模
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
然后使用函数

x:在LCD屏上的x坐标
y:在LCD屏上的y坐标
fc:字体颜色
bc:背景颜色
str:提前在font.h里已经取模了的你想输出的文字
size:字高、字宽,取模是取得是16X16,这里就填16
mode:0-no overlying,1-overlying,01没有太大差别

Show_Str(u16 x, u16 y, u16 fc, u16 bc, u8 *str, u8 size, u8 mode)
2.图片取模
因为本次仿真使用的是stm32f103r6,其闪存只有32k,所以在对图片取模时就要求图片的分辨率不能太高。
首先选择一张图片,用电脑的画图打开,然后更改图片的分辨率为50x70,如果图片为非jpg格式需要另存为jpg格式。
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
打开图片取模软件,打开准备好的图片,并设置好参数,保存为.c文件。
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云如图,生成了一个数组,数组长度为7000,因为芯片的闪存较小,这里我多次验证最大应该不能超过7200。
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
将生成的.c文件加入到我们的过程中,在main.c里需要外部声明才能调用。

extern const unsigned char gImage_girl[7000];

利用函数

参数:x0 开始位置,y0开始位置  ,high高度,width 宽度 ,bmp 图片数据数组
Paint_Bmp(int x0, int y0, int width, int high, const unsigned char bmp[])

输出图片。
四、仿真连接阿里云配置
在我们的仿真图里,我们并没有用到实际的4g/5g模块或者WIFI模块,在仿真图里也不容易添加,所以我们添加了仿真串口COMPIM,其连接的是stm32的串口二,进行我们数据的转发。模拟上云的原理是,当我们的温湿度还有光照传感器得到数据后一方面会发送到虚拟串口显示,一方面我们也可以利用通讯转发软件将数据通过串口2发送到通讯转发软件,再由通讯转发软件发送到阿里云,利用我们电脑的网络来实现与阿里云的连接。这其中通过串口2发送数据到通讯转发软件需要用到虚拟COM口,我用的是VPSD,添加虚拟COM1和COM2,Proteus中的仿真串口使用COM1,则通讯转发软件用到COM2。
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
串口的波特率等要设置一致。
登录阿里云,在物联网平台新建自己的产品与设备
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
在创建的产品中添加设备,完成后查看产品的三元组(ProductKeyDeviceNameDeviceSecret),然后新建文本文档将三元组暂时保存
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
再查看设备的MQTT参数并将mqttHostUrlport保存到上面新建的文本,之后穿串口的转发需要用到
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
新建物模型
在产品中,点击“功能定义”,“编辑草稿”,“添加自定义功能”,添加“温度”,这里要注意标识符,物模型的标识符一定要和代码里写的标识符保持一致,否则数据无法发送到云端。

proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
步长个人理解表示数据变化时是每次零点几的变化还是每次整数整数的变化,或者说是一个反应数据准确程度的吧。新建物模型后选择发布上线。
之后可以看到产品的Topic列表里的物模型通信Topic里有了属性上报Topic,这两个订阅和发布Topic在实际上云中会用到,但本次的仿真上云不需要。
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
至此阿里云的配置结束。
打开通讯转发软件,设置IP为我们之前保存的mqttHostUrl,端口为port,于是在收到串口2的数据以后便会转发到目的IP地,也会是我们阿里云的产品。
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
利用已经封装好的阿里云连接文件,在Ali.h添加自己的三元组
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
五、模拟上云
运行Proteus,并提前打开通讯转发软件的COM2,当仿真的虚拟串口输出“start connecting”,通讯转发软件连接IP。
当收到由网络发来的数据时,表示一次数据传输到云成功
proteus 物联网,stm32,proteus,proteus,stm32,智能家居,阿里云
连接IP的时机可能对于连接的成功有影响,因为是仿真连接时并不稳定,可能会自己突然中断,多尝试连接几次即可。

END
本人水平有限,以上叙述可能会有出错还望大佬赐教!!

相关的代码和软件都放在这里了
https://gitee.com/hree-2002/smart_home文章来源地址https://www.toymoban.com/news/detail-859231.html

到了这里,关于利用Proteus仿真基于stm32的智能家居并上传至阿里云的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【STM32】基于stm32的阿里云智能家居

    智能家居是一种通过物联网将家里的各种电器设备连接在一起,并由中心控制器统一管理的信息系统。系统的核心是各类家居信息的采集与处理。阿里云能够提供云端的数据存储和分析功能,可以作为智能家居中心控制器的重要平台。 本文主要研究了基于阿里云的智能家居信

    2024年02月13日
    浏览(277)
  • STM32--基于STM32的智能家居设计与实现

    本文详细介绍基于STM32F103C8T6的智能家居设计与实现,详细设计资料见文末链接 一、功能模块介绍 智能家居系统系统图如下所示,主要包括温湿度传感器、OLED液晶显示,WIFI物联网模块、人体红外预警模块、烟雾传感器模块、蜂鸣器模块 (1)温湿度传感器 温湿度传感器选用

    2024年02月08日
    浏览(72)
  • stm32项目(8)——基于stm32的智能家居设计

    目录 一.功能设计 二.演示视频 三.硬件选择 1.单片机 2.红外遥控 3.红外探测模块 4.光敏电阻模块 5.温湿度检测模块 6.风扇模块 7.舵机 8.WIFI模块 9.LED和蜂鸣器 10.火焰传感器 11.气体传感器 四.程序设计 1.连线方式 2.注意事项 3.主程序代码 五.课题意义 本次设计的目标是想实现如

    2024年02月13日
    浏览(95)
  • 基于STM32的WIFI智能家居系统

    一、原理图 系统采用STM32F103C8T6单片机,搭配MQ系列传感器、DHT11温湿度传感器、光照强度传感器来采集室内的环境信息,利用STM32对信息进行加工处理,结合步进电机、LED、蜂鸣器、继电器对室内的电器进行模拟。使用ESP8266作为物联网媒介,手机端采用机智云平台。 1.原理图

    2024年02月16日
    浏览(47)
  • STM32项目--基于STM32的办公室安保(智能家居)系统设计

    设计一套基于STM32的办公室安防系统,系统内部包括门禁系统、灾害报警系统、人脸识别系统和交互中心四个子系统。 门禁系统:主要实现对门禁卡的存储和读取并识别已存储卡片的信息并控制开门,如读取卡片为未存储卡片则报警。 灾害探测:系统本项目简单化使用了温湿

    2024年02月05日
    浏览(73)
  • STM32毕业设计——基于STM32+MQTT+WiFi技术的智能家居系统设计与实现(毕业论文+程序源码)——智能家居系统

    大家好,今天给大家介绍基于STM32+MQTT+WiFi技术的智能家居系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦 文章目录: 智能家居技术

    2024年02月10日
    浏览(76)
  • 基于STM32单片机的智能家居毕设

    1、硬件清单 序号 名称 型号/作用 数量 1 STM32单片机 正点原子精英板(STM32F103ZET6) 1 2 温湿度传感器 DHT11 1 3 光敏传感器 3针制光敏传感器模块 1 4 空气质量传感器 MQ135 1 5 人体红外传感器 微型人体红外感应模块 1 6 语音识别模块/播报模块 LD3320/JQ8900 MP3(可插SD/TF卡) 1 7 喇叭

    2024年02月03日
    浏览(92)
  • 基于STM32的智能家居控制器设计与实现

    一、项目背景 1.1 智能家居的发展与需求 随着科技的不断进步,智能家居成为现代生活中的一个热门领域。智能家居通过将传感器、执行器、网络和人机交互等技术融合在一起,实现了家居设备的智能化控制和管理。这为人们带来了更便捷、舒适和安全的居住环境。智能家居

    2024年02月09日
    浏览(53)
  • 基于STM32智能家居控制系统软件设计及实现

    智能家居控制系统的软件设计主要使用Keil uVision5进行STM32主烧录程序的编写,主程序完成的功能主要为接收并判断语音识别模块传过来的信息,然后根据满足条件的不同进行对应的操作。例如,当语音模块传过来的信息为“打开电视”时,STM32单片将使给8550一个低电平,这样

    2024年02月02日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包