STM32+OneNet实现的智能GPS定位器设计与源码分享

版权申诉
5星 · 超过95%的资源 2 下载量 47 浏览量 更新于2024-10-03 8 收藏 34.41MB ZIP 举报
资源摘要信息:"基于STM32+OneNet设计的GPS定位器(HTTP+ESP8266)-源码包.zip" 知识点: 1. STM32F103芯片:这是ST公司生产的一款常用的32位Cortex-M3核心微控制器。它具有高性能、低功耗的特点,适合用作嵌入式系统的控制器。在本项目中,STM32F103用于采集GPS模块的经纬度信息。 2. GPS定位器:GPS定位器是一种利用全球定位系统(GPS)对物体进行实时定位的设备。它可以应用于车辆、家庭、宠物等的定位。GPS定位器通常需要具备实时上传位置数据、低功耗、高精度的特点。 3. OneNet平台:OneNet是中国移动物联网开放平台,它提供了设备接入、数据存储、设备管理、应用开发等服务。在这个项目中,OneNet平台被用作接收STM32F103上传的GPS数据。 4. ESP8266模块:ESP8266是一款低成本、高性能的Wi-Fi模块,它内置TCP/IP协议栈,可以轻松实现设备的网络连接。在这个项目中,ESP8266模块被用来将STM32F103采集的GPS数据通过HTTP协议上传到OneNet平台。 5. HTTP协议:HTTP协议是超文本传输协议,是互联网上应用最为广泛的一种网络协议。在这个项目中,HTTP协议被用于ESP8266模块将GPS数据上传到OneNet平台。 6. 低功耗:在设计GPS定位器时,通常需要考虑到功耗问题,以保证设备能够长时间工作。在这个项目中,通过合理设计软件和硬件,实现了低功耗设计。 7. 精度:GPS定位器的精度是指其定位结果的准确性。在本项目中,通过优化GPS模块的使用和数据处理方法,实现了高精度的定位。 8. 移动互联网和物联网技术:这两个技术是当前智能设备发展的关键技术。移动互联网让设备可以随时随地连接到互联网,物联网则让设备可以相互连接和通信。在这个项目中,这两个技术都被充分利用。 9. 设计文档和功能讲解视频:这两个资源可以帮助理解项目的具体实现和操作方法。 10. 软件工具:在本项目中,除了硬件部分,还需要一些软件工具来编写和调试代码,比如STM32的开发环境、OneNet平台的开发工具等。 以上就是对"基于STM32+OneNet设计的GPS定位器(HTTP+ESP8266)-源码包.zip"项目的知识点解析。希望对你有所帮助。
2024-01-13 上传
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于stm32+esp8266+GPS+mqtt+ds18b20+RFID+蜂鸣器的物联网景区管理系统源码+项目说明.zip # ToOneNetByMqtt **简介:** ESP8266通过MQTT协议将数据传输至OnenNet云平台 #### 3. 硬件环境: 1. stm32f103 c8t6 2. GPS模块 3. rfid 4. DS18B20 5. ESP8266-01S无线模块 #### 4. 云平台环境配置: 1. **云平台配置:** - OneNET控制台—全部产品服务(多协议接入,选MQTT旧版)—添加产品—进入产品(记住产品ID)—设备列表—添加设备(记住鉴权信息)—创建完成(记住设备ID) 2. **云平台应用设置:** - 添加应用—编辑应用—组件库中添加折线图和开关 - 折线图(数据上传成功后进行配置): 选择数据流 — 选择设备—数据流选择要显示的数据(这里选择温度,temperature) - 开关(数据上传成功后进行配置): 选择数据流 — 选择设备—数据流选择要显示的数据(这里选择温度,ledFlag)—开关开值(LEDON)—开关关值(LEDOFF)——EDP不填 #### 5. 接线: 1. ESP8266-01S(5根线) - PA2 RX - PA3 TX - PB1 复位 - 3V3 VCC - GND GND 3. LED(最小系统自带) - PC13 LED1 4.一些常用操作 接线: I.ch340 <----> stm32 (串口1通信 用于调试显示) PA9 <----> RXD PA10 <----> TXD III.电脑要连热点 IV.stm32 <----> GPS (串口3通信) GND <----> GND 3.3V <----> VCC PB10 <----> RXD PB11 <----> TXD 有源天线接上放在室外闲置几分钟 #### 6. 功能展示: 1. **数据流**![image-20201223113457360](./images/data.png) 2. **APP应用管理** ![image-20201223113558021](./images/APP.png) 3. **串口数据** ![image-20201223113700277](./images/serial.png) 4. **源码简要解析** ![image-20201223113912384](./images/code.png) - stm32f10x_it.c:中断处理函数 - usart1.c:与上位机通信 - usart2.c:与ESP8266通信,串口2接收中断处理上位机发送来的数据 - timer2.c:定时器2中断用来发送GPS数据,体温,30S - timer3.c:定时器3中断用来发送心跳包(ping,用于保持和服务器连接,长时间没给服务器发送数据会被踢下线),2s和30s两种模式 - timer4.c:将串口2接收到的服务器数据依次存放在MQTT接收缓存数组中,50ms - control.c:控制LED灯,并且发送LED灯开关信号 #### 7. 要修改的的地方: 1. mqtt.h : ```c #define PRODUCTID "412380" //自己的产品ID #define DEVICEID "702197187" //自己的设备ID #define AUTHENTICATION "SHT30" //自己的鉴权信息(创建设备的时候设置) ``` ![./image-20201223112140673](./images/__MQTT_H.png) 2. wifi.h ```c #define SSID "Redmi K30 Ultra" //路由器SSID名称 #define PASS "stm32f407" //路由器密