物联网实战--入门篇之(二)环境准备

目录

一、硬件清单

二、开发工具

三、嵌入式环境搭建

四、硬件连接(断电操作)

五、服务器搭建

六、Qt开发环境搭建


一、硬件清单

        巧妇难为无米之炊,要想学习制作这么一个净化器需要购买必要的硬件设备,以下是清单,根据链接自行采购,总价也就60 RMB左右,不会很高。

        1、风扇

        链接: https://item.taobao.com/item.htm?_u=spfmfmg2f62&id=688559122412&spm=a1z09.2.0.0.26e62e8dFThgok

        2、STM32F103C8T6

        链接: https://item.taobao.com/item.htm?_u=spfmfmg08f4&id=663983682507&spm=a1z09.2.0.0.26e62e8dFThgok

3、温湿度SHT30

        链接: https://item.taobao.com/item.htm?_u=spfmfmg8de1&id=583558119116&spm=a1z09.2.0.0.26e62e8dFThgok

4、WIFI模块  ESP8266

        链接: https://item.taobao.com/item.htm?_u=spfmfmg2a5b&id=522564863938&spm=a1z09.2.0.0.26e62e8dFThgok

5、PM2.5传感器

        链接:https://item.taobao.com/item.htm?_u=spfmfmgeafe&id=760967723083&skuId=5413558986505&spm=a1z09.2.0.0.26e62e8dFThgok

        这里还需要买个对接线,

        链接:

https://item.taobao.com/item.htm?_u=spfmfmge6f2&id=565553410961&spm=a1z09.2.0.0.26e62e8dFThgok&skuId=4871996293949

         由于PM2.5传感器是5V电平的,STM32是3.3V电平的,所以为了安全,需要在PM2.5 的TX引脚和STM32的RX引脚之间串联一个100R左右的电阻。

链接:

https://item.taobao.com/item.htm?id=522575162845&spm=a1z10.3-c-s.w4002-24706531953.28.67c16a4bY0KeSi

6、线材

杜邦线:

https://item.taobao.com/item.htm?id=558182761958&spm=a1z10.3-c-s.w4002-24706531953.29.37186a4bWNMYlG&skuId=4867289172025

USB线:

https://item.taobao.com/item.htm?id=541526751745&spm=a1z10.5-c-s.w4002-24706531925.19.14867861X8Yu5t&skuId=4872016465299

        这里的采购清单只是个参考,都在同一家店,方便购买,如果大家有各自的采购渠道,可以对照参数自行采购。

二、开发工具

        另外就是嵌入式的开发工具了,有基础的同学应该都具备,这里再列一下清单。

        1、烧写器:我自己一般采用JLink烧写器,STM32用STLink也行,建议不要用串口烧写,有时候需要调试什么的用专门的烧写器会比较方便。还是建议用JLink一步到位。

        2、USB转TTL串口线:这个主要是为了方便调试,把调试信息打印出来,在开发过程中很重要,特别像 WIFI模块这种需要处理返回信息的开发,串口调试很方便。

        3、万用表:有就备着,没有暂时也没什么大用处,主要是接线接好后测一下电源有没有短接,免得炸机了。

        4、电烙铁:有就备着,PM2.5接线焊接下比较牢靠,没有也没关系,自己接线细心点就行了。

        5、黑胶带:线接好后缠一下,防止触碰短路。

三、嵌入式环境搭建

        嵌入式环境主要就是Keil和一些驱动程序的安装了,以下是资源链接,无需积分:

        https://download.csdn.net/download/ypp240124016/89044488

        学习阶段可以采用破解版本的,破解文件在百度云:

        链接: https://pan.baidu.com/s/1DMQz2mah-h9Gw9-xQlNvNg 提取码: jqb7 

        不过破解文件经常会被系统强制删除,这个需要自己处理下,把360什么的杀毒软件先关闭下,至于破解教程比较简单,可以看这篇文章Keil5(C51,MDK)注册详细教程(2032年版本)_mdk注册2032-CSDN博客

        在开始STM32开发之前,需要安装STM32F1X的固件包,如图所示,双击默认安装即可,要在KEIL安装完成后再安装固件包。

        接下来就可以下载本项目的Keil工程了,以下是资源链接:

        https://download.csdn.net/download/ypp240124016/89044525

        内部包含了完整的净化器嵌入式方面的MDK工程文件,环境搭好后正常可以直接编译的,如果有什么问题可以直接留言评论,会给与相应解决方案。

        下面说明一些注意事项:

        1、编码格式:

        按照图片设置即可,编码用UTF-8输入中文注释比较友好,我的C文件有大量的u8  u16 u32,设置一下可以更美观、清晰。

2、下载设置

        下载采用SWD接口,烧写器对应的引脚和芯片如何对应,可以看下图,上面这些图片的参数自己对一下是不是一样的,如果上面倒数第二张图最下面的框框是空白的,那么就要自己添加下下载算法,点击"Add"按钮按步骤操作即可。

       其中 RESET引脚可不接,其它拿着烧写器和开发板看下就能对应起来了。

        这些都做好后,正常就可以下载程序到开发板了,看下环境和下载流程有没有问题。剩下的就是硬件连接问题了。

四、硬件连接(断电操作)

1、WIFI模块ESP8266

        如上图所示,首先模块是3.3V供电,连接STM32开发板的任何一个3V3引脚都可以,EN和RST不用像图片那么麻烦,直接拿跳线帽把EN和RST两个引脚短接就行,这样模块才会启动,跳线帽可以从STM32开发板的BOOT1上拿来用,那个可有可无。剩下的是STM32的串口2连接,其中PA2接图中绿色线位置,PA3接图中紫色线位置。这样就完成了WIFI模块的接线。

2、温湿度模块SHT30

        SHT30也是3.3V供电,接到开发板的3.3V引脚,模块的SDA引脚连接PB8,SCL引脚连接PB9即可。

3、PM2.5模块

        模块采用5V供电,STM32开发板有一个5V引脚,模块的RX引脚没用,不要接;TX引脚串联一个100R的电阻后与STM32的PB11引脚连接,这样接3根线即可。

4、风扇电机

      风扇电机的电源是3.3V的,PWM线连接STM32的PA8即可。

5、调试串口

      调试口用的是UART1,PA9连接调试线的RX引脚,PA10连接调试线的TX引脚。用的什么串口线驱动要自己安装下,下面是一些常用的驱动和串口助手,根据需要自行下载。

        串口助手和驱动:https://download.csdn.net/download/ypp240124016/89044797

以上所有模块GND都是要接的!!!

     接好后测一下3.3V和5V对GND会不会短接,没问题就可以上电测试,查看串口的数据数据即可。

五、服务器搭建

        这里的服务器比较简单,在你自己的电脑上运行一个MQTT服务器即可,这里我们采用EMQ。

        EMQ服务端:https://download.csdn.net/download/ypp240124016/89044802

        使用MQTT过程中最好还有个MQTT调试工具会比较方便,自行下载。

        MQTT客户端工具:https://download.csdn.net/download/ypp240124016/89044814

        MQTT服务器的运行也很简单,将emqx-5.1.3-windows-amd64.zip解压到某个目录即可,最好不要有中文,接下来进入到bin目录中,单机顶部的框框输入cmd后回车,就会弹出一个黑色的命令框,最后一个emqx start 命令即可,过几秒EMQ就会启动了,如下图所示。

EMQ的教程可以上官网查看,概览 | EMQX 5.1 文档

启动后如何知道是否成功运行了,那就要登录它的控制台了,地址是http://127.0.0.1:18083/

默认用户名admin,默认密码public,登陆后会要求更改密码,按要求操作即可。

这时候,你的STM32还不能连接到你电脑上的MQTT服务器,需要看下你电脑的IP地址,然后把这个IP设置到STM32去重新编译下载。

        从长远打算,你最好把你的电脑IP设置成固定的,有两种方法,一种直接就是设置成静态IP,不要跟别人的冲突就行了,另一种是登录路由器,让路由器绑定你的电脑MAC和IP,不同的路由器界面不一样,以下只是参考。

至此,服务器搭建也就完成了,自己用调试工具测试下就行了,下图的几个参数弄好来就可以看到STM32发送出来的数据了。

六、Qt开发环境搭建

        安装教程网上已经很多了,可以参考这篇Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤_qt安卓开发环境搭建-CSDN博客

        资源我这边也上传了,也可以直接按照这篇博客去操作,这里主要说明几点:

        1、QT需要自己去注册个帐号才能安装,QT版本最好选择5.14.2的,因为这个版本有安装包可以离线安装,后面需要在线安装了,比较麻烦;其次是功能也已经很完善了,配套的开发编辑器Qt Creator很友好;

        2、如果安卓配置暂时不行,可以把问题发在评论区,然后直接先用PC端去体验项目;

        3、项目内的目标IP地址需要改成你自己的电脑IP,这样才能连接成功。

        下面是一些比较关键性的截图:

安装时选择这几个,MSVC2017后续项目可能会用到,最好一起安装下,不然QT只能重新安装了。

        这是安卓相关配置,如果都是绿色的就没问题了,运行时可以手机打开 开发者模式,然后通过USB线接到电脑,点击运行即可,安卓初次编译可能会缺少gradle-5.5.1-bin而卡住,资源文件里有,放到下面的目录里重新编译。

        MQTT的目标地址要记得改成你自己的。

        以下是资源列表,该有的东西基本上有了,剩下的就是看自己动手能力了,有问题直接写在评论区或者加QQ群:701889554 正常QT的安卓环境配置会有很多问题的,主要还是每个人的电脑环境各不相同,就会出现奇奇怪怪的问题,这时候需要耐心,找原因。

        Qt5.14.2 Index of /archive/qt/5.14/5.14.2

        NDK https://download.csdn.net/download/ypp240124016/89046505

        SDK+JDK:https://download.csdn.net/download/ypp240124016/89046516

        净化器项目工程文件:https://download.csdn.net/download/ypp240124016/89046478

        安卓APK:https://download.csdn.net/download/ypp240124016/89046691

        安卓APK内部目标IP是192.168.0.104,自己要把作为服务器的电脑改为这个IP,否则就不能直接用,要自己编译了。另外IOS系统的APP这里就不用了,因为那需要真机的苹果电脑和苹果手机,还有开发者帐号,那不是人人都有的,有兴趣再单独开个专栏吧o(* ̄︶ ̄*)o

        注意,STM32、手机、服务器电脑三者要在同一个局域网内才能正常使用。体验完之后,后面的文章就是一步步讲解项目的完成过程,包含代码讲解,设计思想,编程习惯等等,持续更新。

        本文的所有资源均无需积分,如有异常请告知。        

        

        本项目的交流QQ群:701889554

        写于2024-3-29

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/498608.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins升级中的小问题

文章目录 使用固定版本安装根据jenkins页面下载war包升级jenkins重启jenkins报错问题解决 K8s部署过程中的一些小问题 ##### Jenkins版本小插曲 ​ 在Jenkins环境进行插件安装时全部清一色飘红,发现是因为Jenkins版本过低导致,报错的位置可以找到更新je…

新零售SaaS架构:客户管理系统的应用架构设计

客户管理系统的应用架构设计 应用层定义了软件系统的应用功能,负责接收用户的请求,协调领域层能力来执行任务,并将结果返回给用户,功能模块包括: 客户管理:核心功能模块,负责收集和更新客户信息…

IDEA跑Java后端项目提示内存溢出

要设置几个地方,都试一下吧: 1、默认是700,我们设置大一点(上次配置了这儿就解决了) 2、 3、 4、-Xmx4g

Linux repo基本用法: 搭建自己的repo仓库[服务端]

概述 Repo的使用离不开Git, Git 和 Repo 都是版本控制工具,但它们在使用场景和功能上有明显区别… Git 定义:Git 是一个分布式的版本控制系统,由 Linus Torvalds 为 Linux 内核开发而设计,现已成为世界上最流行的版本控制软件之…

Redis 基础命令集详解

目录 一、string 类型及操作 二、hash 类型及操作 三、list 类型和操作 四、set 类型及操作 五、zset类型及操作 六、其他相关命令 一、string 类型及操作 string是最简单的类型,一个key对应一个value,string类型是二进制安全的。redis的string可以…

硬件9、常用PCB封装的直接调用

拷贝过来之前的封装(适用于之前的项目创建过项目的,可以多个) ctrlA全选,然后ctrlc进行全部复制 然后切换到要使用的封装库里面进行粘贴 复制 在其他库文件中粘贴 单独复制一个封装 在PCB中使用ctrlc进行复制 切换到库中&…

保理业务风险评级及尽调

企业评级的作用 对核心企业进行评级,是为了初步判断核心企业(买方)的基本状况,确保开展业务后核心企业(买方)的还款能力;对融资企业(卖方)进行评级,是为了判…

消息队列经典应用场景

笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客。 在职业生涯中,笔者曾经使用过 ActiveMQ 、RabbitMQ 、Kafka 、RocketMQ 这些知名的消息队列 。 这篇文章,笔者结合自己的真实经历,和大家分享消息队列的七种经典应用场景。 1 异步&解耦 笔者曾经负责某电…

SIP-6002D对讲终端使用说明 SIP对讲求助终端

SIP对讲终端SIP-6002D双按键是一款采用了ARMDSP架构;配置了麦克风输入和扬声器输出,SIP-6002D带两路寻呼按键,可实现SIP对讲功能,作为SIP对讲的终端,主要用于银行、部门机构、调度室、化工厂、钢铁厂、矿井、风电等场所…

彩信群发为奢侈品行业带来了哪些性化体验与互动?

彩信群发作为一种创新的营销手段,为奢侈品行业带来了诸多个性化体验与互动的机会。以下是一些具体的体现: 首先,彩信群发为奢侈品品牌提供了丰富的创意展示空间。通过嵌入高质量的图片、短视频和音频,品牌可以全方位、多角度地展示…

Vue——高德地图

1.官网上需要注册并登录高德地图开放平台,申请密钥(如图1)。(高德地图官网)选择Web端,添加成功后,可以获取到(图2)key和密钥 2.Vue项目终端安装地图加载包 npm i amap/amap-jsapi-loader --s…

6.二叉树——3.搜索树

二叉搜索树BST的特色 左<根<右中序序列有序 二叉搜索树构造 树为空&#xff0c;新结点作为根树不空&#xff0c;新结点与树根比大小 大往右走&#xff0c;小往左走 新结点插入空位 例题 代码 #include <cstdio> #include <string> #include <map>…

目标检测——交通专用车辆数据集

一、重要性及其意义 目标检测在交通管理领域&#xff0c;特别是在交通专用车辆数据集的构建上&#xff0c;具有显著的重要性和深远的意义。以下是对其重要性及其意义的详细探讨&#xff1a; 提升交通管理效率&#xff1a;通过精准的目标检测&#xff0c;交通管理部门可以迅速识…

regexp_substr()

1、基本语法 REGEXP_SUBSTR(String, pattern, position,occurrence, modifier) String&#xff1a;需要进行处理的字符串。 pattern&#xff1a;正则表达式。 position&#xff1a;起始位置&#xff08;从字符串的第几个开始&#xff0c;默认为1&#xff0c;注&#xff1a;…

基于springboot实现社区团购系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现社区团购系统演示 摘要 本课题是根据用户的需要以及网络的优势建立的一个社区团购系统&#xff0c;来满足用户团购的需求。 本社区团购系统应用Java技术&#xff0c;MYSQL数据库存储数据&#xff0c;基于Spring Boot框架开发。在网站的整个开发过程中&…

短剧APP搭建必备技巧大揭秘

在当今数字化时代&#xff0c;随着人们对视频内容的需求不断增长&#xff0c;短剧APP成为一种备受关注的新兴形式。短剧APP提供了一个平台&#xff0c;让用户可以快速、便捷地浏览各种精彩的短剧内容&#xff0c;吸引了大批年轻用户的关注。短剧APP的搭建不仅可以满足用户对短剧…

JAVA面试八股文之集合

JAVA集合相关 集合&#xff1f;说一说Java提供的常见集合&#xff1f;hashmap的key可以为null嘛&#xff1f;hashMap线程是否安全, 如果不安全, 如何解决&#xff1f;HashSet和TreeSet&#xff1f;ArrayList底层是如何实现的&#xff1f;ArrayList listnew ArrayList(10)中的li…

Coursera自然语言处理专项课程03:Natural Language Processing with Sequence Models笔记 Week02

Natural Language Processing with Sequence Models Course Certificate 本文是https://www.coursera.org/learn/sequence-models-in-nlp 这门课程的学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 文章目录 Natural Language Processing with Sequence ModelsWeek 02…

eclipse导入svn项目

1、配置maven和jre 2、用svn引入项目, 3一直点击next,到最后选完成。 4、从svn引入成功后&#xff0c;右键项目名点delete&#xff0c;弹窗出现的框不选&#xff0c;然后再import,点maven,点(existing maven projects)已存在maven项目&#xff0c;选择该文件等待引入完成…

免费VPS/云服务器整理汇总

随着互联网的普及和云计算技术的飞速发展&#xff0c;越来越多的人开始尝试使用VPS&#xff08;Virtual Private Server&#xff0c;虚拟专用服务器&#xff09;或者云服务器来部署自己的在线业务。本文将对免费VPS/云服务器进行整理汇总&#xff0c;助力大家轻松开启云计算之旅…