本文章内容会实时更新,常见的问题会随时记录在册。
一、 复刻的流程描述
在电脑上解压已经下载好的项目资料包,认真看设计文档,买好硬件材料,硬件接线查看文档STM32设计章节的第1小节,有详细描述如何接线,一定要认真看着说明接,接好线,下载代码进去就可以了。
只要按照我说的做,只要模块材料齐全,1天时间内(都用不到一天),就可以完全做出我博客一模一样,完全一样的设计。
整体步骤复述:
(1) 下载自己想复刻的项目资料包
(2) 电脑安装好keil软件(我用的keil5)
(3)打开资料包里自带的PDF设计文档,先将设计文档整体阅读一遍(不要走马观花),先将文档内容阅读一次之后,对文档的内容有一个大致的记忆,一定要记得看目录,文档都有目录。
(4)照着设计文档里第二章,去买好项目所需的全部硬件材料(STM32开发板不要乱换,换了代码就得有改动,除非你有能力改代码)。
(5)如果你复刻的项目里涉及到云平台:比如,OneNet、腾讯云+微信小程序,华为云IOT服务器,那么就按照文档的步骤一步一步去完成设计,完成模拟数据上传以及测试。
(6)将淘宝买回来的模块按照设计文档STM32设计章节第1小节的硬件连线介绍,将模块与STM32连接好。
(7)打开keil工程(工程文件一般在STM32源码目录下的USER目录下,只要安装好keil,就会自动识别工程文件)。如果你的项目涉及到云,比如:OneNet、腾讯云+微信小程序,华为云IOT服务器,那么需要打开工程里main.c文件,翻到最前面有几个宏定义,设置MQTT服务器的三元组,设置ESP8266连接的WIFI名称和热点。要根据自己的实际情况进行修改。 MQTT三元组,订阅主题、发布主题等等,根据自己在步骤(5)里测试最终得到的结果如实填入就行。 如果是用的onenet的HTTP协议上传云端数据,代码里要修改自己的API KEY ,代码里都会有注释,如果用的SIM800C联网 要注意插移动卡和联通卡。
注意: 如果你的项目用的是华为云IOT物联网服务器,肯定会用到Qt设计的Android手机APP,如果你简单复刻项目,就不要改STM32代码里的MQTT任何东西,QT上位机源码也不用改,安装我资料包里提供的手机APP安装包或者Windows可执行文件打开使用就行了。 如果你确实要修改或者增加上位机APP的工程,你下载的资料包里又没有上位机源码,可以单独下载,在我的CSDN博客里可以单独下载(CSDN里部分涉及华为云的项目资料,QT上位机源码和STM32源码是分开的),如果是在我的微信公众号里下载的项目,就不用管,微信公众号里下载的资源包都是带了上位机源码的。
(8)打开keil工程编译,编译成功之后,将程序下载到STM3开发板即可。下载方式看自己,串口下载也可以,使用stlink、jlink之类的下载器都可以,自己会哪种就用哪种,我基本上是采用串口下载HEX文件,这个在每个项目的演示视频里我也演示过,视频都在我的B站里。
地址在这里:
https://space.bilibili.com/68130189
我的微信公众号名称: 《DS小龙哥嵌入式技术资讯》 打开微信搜索一下,就可以找到我的微信公众号。在我的CSDN文章最底下,最底下,也有我的微信公众号的推广,点开就可以关注。
二、复刻过程中可能会出现的各种问题疑问
(1)LCD显示屏为什么不亮?
问题: 将代码下载进STM32单片机。LCD不显示东西,或者显示的数据不更新。
这个原因就在于,前面步骤(7)里说的问题,需要打开工程里main.c文件,翻到最前面有几个宏定义,设置ESP8266连接的WIFI名称和热点; 上电的时候,ESP8266必须要连接指定的热点,连接成功之后,才可联网,才可以继续执行程序。 这时候可以在电脑上打开串口调试助手,连接开发板的USB口,接收查看程序通过串口1打印出来的运行信息,串口调试助手波特率设置为115200。 通过串口提示的信息,也可以找到问题原因。 90% 都是因为ESP8266没有初始化成功,或者 没有连接上手机热点导致的。 ATK-ESP8266的电压接5V,不要接3.3V,怕你的USB线供电电流不够导致无法正常工作。
(2)下载代码之后屏幕不显示 或 ESP8266-WIFI显示硬件初始化错误或者连接不上热点怎么办?
如果你的项目是属于物联网的项目,也就是项目中用到了ESP8266-WiFi,一定要注意: 如果ESP8266无法正常工作,无法正常连接网络。整体的程序是无法正常运行的。也就造成了,屏幕不显示任何东西,按键无反应,等等现象。 这里一定要注意看。
第一步,保证你的ESP8266接线正常,一定检查清楚。
如果还是无法解决,可以看我的B站视频(讲解ESP8266的调试):
https://www.bilibili.com/video/BV1ku4y1E74M
第二步,自己手机开热点的时候,频段要设置成2.4GZ,一定要注意。ESP8266只能支持2.4GZH频段。 如果发现还=初始化正常,热点名字密码全部正确,还是连接不上? 检查电压是不是接的5V(ATK-ESP8266 WIFI接5V电压稳定一点)。
第三步,检查USB供电的线,需要质量好一点线,我文中用到的STM32F103RCT这款开发板本身自带的黑色USB线,质量特别差,所以在项目硬件材料里我都会让大家买一条蓝色USB下载线进行使用,原因就是这个。
第四步,打开串口调试助手,查看程序运行的状态。 如果WIFI连接不上,或者显示屏没什么反应。一定要打开串口调试助手看问题原因。
打印:WIFI:0 就表示ESP8266已经连接到路由器。 如果打印的是 WIFI:6 就表示ESP8266无法连接你的热点,这就要认真检查上面描述的这些问题了。 如果打印 WIFI:8 就表示连接不上MQTT服务器,要检查你的WIFI热点是否连接了互联网能不能上网。
第五步,如果不管如何接线,esp8266-WIFI都显示硬件检测错误,那么:最坏的结果,你的WIFI坏了,该换新的了。
(3)继电器如何接?不会使用继电器怎么办。
看这个视频,讲解继电器的。
https://www.bilibili.com/video/BV1FC4y1J7k2/
(4)MQTT协议看不懂,我想学习项目里的MQTT协议代码如何编写的,怎么办?
看这个视频,讲解MQTT协议代码,如何从0开始一行一行写出来的。
https://www.bilibili.com/video/BV1BN4y1Y7cf
(5)如果使用SIM800C-GSM模块无法连接网络、无法初始化怎么?
如果你用的项目里使用了SIM800C、SIM900A这种2G的GSM模块,接线正确,串口调试助手缺打印初始化失败。
首先:插入的卡必须是移动或者联通卡。
然后,检查你附近是否还有移动、联通的2G基站。2G已经处于淘汰阶段,很多地方已经关闭了2G基站,如果已经关闭,就无法使用了。
(6)GPS无法定位成功,定位位置不刷新怎么办?
如果你的项目里用到了GOS模块。发现GPS模块上传到云平台的GPS定位没有更新。
解决: GPS模块必须在空旷地带使用,GPS模块定位成功之后,上面有一个红色的小灯,会1秒闪烁一次。 如果灯没有闪烁,就表示没有定位成功。 GPS信号无法穿墙,你在屋里是无法定位成功的。
(7)OneNet 新版界面更新了,不一样怎么办? 针对MQTT协议接入
如果你看到的项目设计文档里描述的OneNet界面与现在不一样,可以看我最新写的文档:
https://blog.csdn.net/xiaolong1126626497/article/details/133923492
(8)OneNet多协议入口没有了怎么办?
如果你当前的项目,采用的HTTP协议接入OneNet,你现在注册的账号进去却看不到多协议接入,没有HTTP协议了是什么情况?
这是因为OneNet更新之后,关闭了新用户多协议入口 ,老用户还可以继续使用。
那怎么解决? 老用户都能使用,那说明功能还在,只是屏蔽了新用用户的入口。
可以这样解决: 你先正常登录OneNET,进入到控制台。然后。
复制这个链接:https://open.iot.10086.cn/develop/global/product/#/public?protocol=3&other=1 复制到浏览器里打开,就可以进入多协议的界面了。 这就是相当于点击隐藏掉的多协议按钮,跳转过去的网页地址。
(9) 界面上的时间,倒计时,不动,RTC初始化失败如何解决?
如果你的项目里用到了RTC时钟,也就是界面会显示时间、显示倒计时之类的时间。 如果发现时间不变,一直静止状态,可以打开串口调试助手查看是否是RTC时钟初始化失败了。
可能板子上的RTC实时时钟晶振坏了 或者 虚焊了。 也就是芯片旁边的圆柱体晶振。你如果有电洛铁,在晶振的两个脚上点一下。焊接一下再试试。圆柱体的晶振就是 32.768KHZ,是实时时钟的晶振。 如果再不行,就换个板子试试,或者 换一个晶振焊接上去。
【10】腾讯云IOT的MQTT三元组,需要python环境,我没有怎么办?
如果你的项目用到腾讯云IOT服务器,那么在MQTT三元组秘钥生成章节,会用到一段python代码运行,如果你的电脑没有python环境,照着下面文章教程去搭建即可。
看这篇文章: Python入门开发: windows下搭建python开发环境(vscode)
https://blog.csdn.net/xiaolong1126626497/article/details/118497618
【11】Qt工程源码打不开,编译报错怎么办?
如果你的设计里用到了上位机,需要自己开发上位机或者Android手机APP。
当你打开资料包里的Qt工程时,发现报错,无法编译,一堆红色。
如何解决?
(1) 照着文档里上位机章节说明,先把Qt环境安装好
(2)将资料包里的Qt工程拷贝出来,放在你电脑的英文路径下,再打开工程即可(工程文件的后缀就是.pro
)。
【12】 Android开发环境如何搭建?
如果你的设计里用到了上位机,并且你需要自己编译出Android手机的APP。
这就需要搭建Anroid开发环境。 如果你只需要在电脑上编译运行,就不用这么麻烦。
如何搭建Android开发环境??
看这里: https://blog.csdn.net/xiaolong1126626497/article/details/117254453
【13】开发板的电源不够接?如何扩展?
当你的模块都买回来时,接线发现,板子的电源口太少了,模块很多,电源不够接,怎么解决?
有两种办法:
第一种: 需要焊接排针。 淘宝购买两排单排排针。 然后在PCB洞洞板上焊接两排排针扩展电源。
看下面的图片: 两排排针底部 是联通的。 焊接好之后,分别用两根杜邦线,将排针分别插在开发板的5V和GND电源口上,这样就可以将板子的5V和GND扩展出多个,你的模块就可以正常接了。
如果你不会焊接怎么办? 但是又想焊接,你可以去外面 修手机修电脑的店铺,让他们帮忙给你焊接一下排针即可。
第二种办法: 这种就比较直接了,直接剥线 连接。
看下图:
如果你有10个模块,就拿10根母对母杜邦线, 把这10根杜邦线另一端的端子减掉,打火机稍微烤一下,把里面的铜丝露出来; 然后再单独拿一根母对母的杜邦线,也是一样减掉一端端子,打火机烤一下露出铜丝,;最后将刚才单独拿出的杜邦线与之前10根杜邦线露出的铜丝拧在一起,将单独一根杜邦线接开发板的5V。 这样另外10根就可以接你其他模块了VCC了。 GND也是同样的办法。
接好的实物图:
【14】 电机怎么接?加热棒怎么接? 与继电器如何接?
在很多项目设计里,都用到了 抽水电机、散热风扇、充氧电机、加热模块,等等。
比如:智能鱼缸、智慧农业、智能花盆、盆栽种植 、大棚种植 这些项目里基本上都要 进行灌溉,抽水、加热,通风。 那如何接呢?
首先: 上面提到的这些模块,不能直接与单片机也就是STM32连接,需要通过继电器进行控制。 STM32控制继电器,继电器再去控制这些电机,实现最终的控制。
如果买回来的电机、加热棒有USB口怎么接? 要么买USB母头底座在板子上焊接一个转接口,要么直接把电机的USB接头剪掉,剥出里面的铜丝,连继电器即可。 那么,继电器如何接? 看上面的(3)小节的讲解。
【15】MQTT调试助手去哪里下载?
在物联网相关的项目里,会看到我的项目文档里用到MQTT调试助手进行与物联网平台互发数据进行测试,这个工具去哪里下载? 一般在资料包的工具目录下都会自带,如何没有也可以去下载。
下载地址: https://download.csdn.net/download/xiaolong1126626497/18784012
【16】 如何下载程序?STM32应该如何下载程序?
STM32可以支持两种方式下载:
(1) 串口下载。 串口下载HEX文件。
(2) 下载器下载。 通过ST-LINK、J-LINK 之类的下载器,点击keil软件里的下载按钮下载程序。
这里就要注意了。很多同学完全分不清楚这两种下载方式,打开工程就去点击keil软件里的下载,一点击就 报错,马上就问了,我怎么下载不了程序啊,无法下载怎么办啊。 其实就是基础问题,自己完全没有搞清楚 程序应该如何下载,硬件应该如何接线。
第一种,串口下载: 我项目里用到的最多的板子都是STM32F103RCT6这一款,这款板子本身自带了CH340芯片,也就是USB-TTL芯片,直接可以接电脑。 通过电脑打开串口,就可以下载程序。
这种下载方式不需要下载器,你只需要接一根USB线就可以下载。
接线图如下图:
打开程序下载工具: 看序号点击,下载即可。
但是要注意了。你买的板子如果是 STM32F103C8T6 这种最小系统板,也就是很便宜的这种。可能板子本身没有CH340这种USB-TTL模块,。它的USB接口可能也就单纯供电,那就无法直接接USB线通过串口下载程序了。 那只能通过ST-LINK这种下载器下载。 或者 外接USB-TTL模块接到板子的PA9和PA10口上进行下载。
第二种,ST-LINK下载器下载:
具体下载过程,接线过程,看这里:https://blog.csdn.net/xiaolong1126626497/article/details/128500185
三、 关于上位机源码问题
如果是从我的微信公众号里下载的项目资料包,这里不用看,直接忽略。
如果项目用的是OneNet云平台、阿里云云平台、腾讯云微信小程序,这里也不用看,直接忽略。
我做的STM32项目里,有很多涉及到需要自己开发上位机APP,也就是手机APP 的项目,部分项目源码在CSDN上,STM32源码和上位机源码是分开的,是两个资源包。如果不修上位机源码,不自定义更改,就不需要单独去下载上位机的源码。 在设计文档里的上位机设计章节,已经详细讲解如何设计上位机,设计过程,拿去写文档,贴图,都完全够了。 这就是复刻项目的最简单,最容易的步骤。
如果确实需要修改或增加上位机的功能,要修改Qt源码,可以参考文档自己设计,也可以去单独下载。
下面是CSDN博客里部分,独立的上位机源码下载链接,根据自己的项目找到对应的上位机即可,如果找不到也可以私信问我。
【1】基于树莓派+华为云设计的智能家居系统-Qt上位机源码.zip
https://download.csdn.net/download/xiaolong1126626497/88798014
【2】基于STM32+华为云设计的智慧农业灌溉系统【华为云IOT】-Qt上位机源码.zip
https://download.csdn.net/download/xiaolong1126626497/88561390
【3】基于STM32+华为云设计的智慧农业灌溉系统(升级版)项目的Qt上位机源码.zip
https://download.csdn.net/download/xiaolong1126626497/88561385
【4】基于STM32+华为云设计的智能鱼缸-Qt上位机源码.zip
https://download.csdn.net/download/xiaolong1126626497/88539687
【5】基于STM32+华为云设计的智能鱼缸-Qt上位机源码.zip
https://download.csdn.net/download/xiaolong1126626497/88539687
【6】基于STM32设计的智能教室管理系统-Qt上位机源码(智慧大屏).zip
https://download.csdn.net/download/xiaolong1126626497/88541655
【7】基于STM32设计的人体健康监护系统(Qt上位机源码包)
https://download.csdn.net/download/xiaolong1126626497/88462877
【8】基于STM32的智能花盆系统设计与实现(Qt上位机源码包)
https://download.csdn.net/download/xiaolong1126626497/88439627
【9】 基于STM32设计的小龙虾养殖系统【Qt上位机源码】
https://download.csdn.net/download/xiaolong1126626497/88917639
【10】106 基于STM32设计的城市绿化云端监控系统【Qt上位机源码】
https://download.csdn.net/download/xiaolong1126626497/88921525文章来源:https://www.toymoban.com/news/detail-839448.html
四、微信公众号
文章来源地址https://www.toymoban.com/news/detail-839448.html
到了这里,关于STM32项目复刻制作流程讲解、常见问题解决【合集】【实时更新】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!