| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 最简单DIY基于STM32单片机的WIFI智能小车设计方案 -> 正文阅读 |
|
[嵌入式]最简单DIY基于STM32单片机的WIFI智能小车设计方案 |
STM32库函数开发系列文章目录第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 文章目录前言????daodanjishui物联网核心原创技术之最简单DIY基于STM32单片机的WIFI智能小车设计方案。 一、最简单DIY基于STM32单片机的WIFI智能小车设计方案是什么?????我记得本栏的第二篇博文:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 的设计中大量使用了库函数和别人的开源代码,鲁迅先生的“拿来主义”表现的淋漓尽致,这也是STM32库函数开发的魅力所在,完成了串口蓝牙通信实现了无线蓝牙控制的小车。为了实现WIFI高速通信和物联网技术的融合,所以诞生第六篇博文。 网络调试助手控制小车的指令收发如下: 优酷视频演示地址:https://v.youku.com/v_show/id_XNTE2NTg5OTM2MA==.html 最简单DIY基于STM32单片机的WIFI智能小车设计方案 二、闭门造车日记1.准备硬件和接线采用双层透明亚克力板结构,使用带有数码管显示的电源,带有独立开关的L298N模块,一片STM32F103C8T6作为主控,两个18650高能锂电池供电,一个ESP8266-01S串口WIFI模块,三根铜柱把第二层的亚克力板撑起来了,整个小车结构都由我手工设计和搭建,看起来就像是一个艺术品。这次的小车功能拓展提高了很多,首先支持三个串口同时使用,我定义串口一作为串口调试使用,串口二作为与ESP8266进行通信使用,串口三留给买家自行扩展,需要注意的是:stm32触发串口中断需要加入 \r\n,串口2是与ESP8266模块链接的,stm32的串口2中断必须接收到\r\n 才能触发串口中断,十六进制就是 0d 0a,串口2收到的数据会通过串口1输出到电脑串口调试助手,这样用串口1可以调试程序,看看串口2的WIFI模块是否接收到数据另外给串口1发送数据的话,串口1会返回相同的数据,同时串口1也往串口2发送数据,这样也可以测试WIFI模块是否能回复给电脑网络调试助手服务器。
STM32的 PA4 接L298N的第一个管脚PIN0 或者是(不同的L298N模块的编号可能不一样) 2.设计过程????代码都是daodanjishui原创开源和亲自测试验证,保证了代码精简易懂,适合快速入门上手二次开发,核心技术知识点足够多。为了这个作品,曾经的我把正点原子开源论坛关于ESP8266的帖子都看遍了!但是后面我上手SDK开发了,这电路是我对以前走的弯路进行一次致敬! 3.准备一份经典的STM32串口库函数源码为了快速掌握读者STM32串口通信,最后附上STM32串口库函数源码免费下载链接。
4.修改源码和组合源码(这部分原创)先看看代码截图:
说明:以上就是我关键的代码,根据工程代码截图来看,代码量大,另外也请读者尊重原创,编写源码也花了不少的宝贵的时间的,尊重劳动成果,请下载我最后附录上的工程代码,工程代码注释详细,代码精简。 # 三、运行与调试 (1)按照实物图购买的模块组装成小车,L298N,电源模块或者电源变压器、电池夹和18650电池两个, STM32F103C8T6最小系统板、ESP8266-01S、小车底座 一定要注意了:要把ESP8266-01S设置波特率为115200,否则不能与单片机通信,或者买家自行修改代码的波特率让两个单片机通信的串口波特率一样,否则玩完。 根据源码接线,烧录程序进单片机 大概的接线关系是wifi模块接单片机的串口2 (2)电脑打开一个网络调试助手,并且提前创建一个局域网热点,保证让小车和电脑都能连上。如下: (3)修改MDK网络连接的参数编译代码烧录代码:服务器的IP地址根据网络调试助手生成的填写,端口号写死为8080,热点名称和密码跟买家实际的参数修改 (4)打开串口调试助手调试小车的串口1,上电看看串口调试打印信息: (5)看到连上服务器之后,在服务器发送一个指令:FFF 注意要发送换行回车\r\n作为结束符号,代码就是这样识别指令传输结束的。
根据上面的调试与仿真,证明了该设计满足了博文提出的要求。 总结????总结:用ESP8266AT指令来连接服务器有一个好处是可以让STM32做控制算法的处理,如果用ESP8266做通信又做算法处理,那么可能导致性能发挥有限。虽然ESP8266与STM32直接采用串口2相连速度有点慢,但是好处就是稳定,ESP8266跑的是网络协议栈,STM32跑的是裸机程序,相互配合,程序相当稳定。做物联网控制的买家可以很好参考我这个代码来改造成智能WIFI插座、WIFI机器人、智能家居等等,如果你自己想自己去写这种基础性代码,你会发现困难重重一点小问题就能困住你一整天,如果用我搭好的环境去开发将会事半功倍,可能全网还真找不到像我这样WIFI智能小车的程序。 最后附上本博文代码下载地址:https://www.cirmall.com/circuit/24707/ STM32串口库函数源码相关代码免费下载:https://www.cirmall.com/circuit/19782/ |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:30:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |