[STM32F4] 【Nucleo设计分享】基于stm32f411re的智能手表(追踪功能)

[复制链接]
zhanghuichun 发表于 2015-3-2 18:03 | 显示全部楼层 |阅读模式
本帖最后由 zhanghuichun 于 2015-3-27 12:34 编辑

剩下追踪功能和心率传感器这两个功能了,追踪功能的视频就不拍了,心率传感器的界面才写好就以后再完善了,累人啊,一个人完成一个项目需要的精力和时间不是一般多的,不在学校队友也帮不上忙,不过能学到好多东西:lol关于追踪功能,分为短信获取经纬度和电脑上位机实时监控位置。
e.jpg


上面是自己写的远程监控终端,调用的是百度地图API,稍后将源码奉上,有需要的可以下载看看!


当智能手表收到DW的短信,就打开GPS,并将GPS_IT_FLAG、DW_FLAG置1,再进入主函数判断

  1. if(GPS_IT_FLAG)
  2.                 {
  3.                         if(DW_FLAG)
  4.                         {
  5.                                 USART_printf(USART6,"\r\n检测到定位标志位\r\n");
  6.                                 if(SIM_ERR_NONE == Sim908_GetGPSInformation(&GPS_STR, NULL))
  7.                                 {
  8.                                         USART_printf(USART6,"\r\n获取到定位信息\r\n");
  9.                                         Sim908_GPSConvert(GPS_STR.Latitude, GPS_STR.Longtude, LOCATION);
  10.                                         Sim908_SendMessage(ADMINISTRATORPHONE, (char *)LOCATION, 1);
  11.                                         DW_FLAG=0;
  12.                                         GPS_IT_FLAG=0;
  13.                                         Sim908_GPSSet(0);
  14.                                 }
  15.                                 
  16.                                 
  17.                                        
  18.                                  
  19.                         }
  20.                         else if(GPRSFLAG)
  21.                         {
  22.                                 USART_printf(USART6,"\r\b检测到GPRS标志位\r\n");
  23.                                 if(SIM_ERR_NONE == Sim908_GetGPSInformation(&GPS_STR, gpsdatabuff))
  24.                                 {
  25.                                         Sim908_TCPSendData(gpsdatabuff);
  26.                                        
  27.                                 }
  28.                                 else
  29.                                 {
  30.                                         Sim908_TCPSendData("还没成功获取GPS数据,请稍候");
  31.                                 }
  32.                         }
  33.                 }
一直在判断是否定位成功,如果定位成功,就进入经纬度转换函数,因为接收出来不是标准的经纬度,转换后的信息将会发送到管理员手机上并关闭GPS


当智能手表收到GPRS短信时,将提取其中IP还有端口,智能手表将会和目标IP通过TCP协议连接起来,并一直发送采集的GPS,上位机接收到数据后对数据进行处理后,将手表的实时位置显示在地图上,直到管理员发送关闭短信才关闭GPS和TCP链接

上位机源码 上位机源程序.rar (2.02 MB, 下载次数: 41)

整个工程源码60多MB相当的大: http://pan.baidu.com/s/1i37Xw0X        密码:vfml

dirtwillfly 发表于 2015-3-2 20:24 | 显示全部楼层
mmuuss586 发表于 2015-3-2 20:26 | 显示全部楼层

牛,这么多方案;
wt.liu 发表于 2015-3-2 22:58 | 显示全部楼层
很高档,学习了
小浣熊 发表于 2015-3-2 23:01 | 显示全部楼层
不错 感觉相当有难度。。
yujingnihaoya 发表于 2015-3-3 10:02 | 显示全部楼层
通过uart给mcu下载代码,会概率性出现两种错误,一种是下发握手命令 0x7F 通过uart,但是从mcu的uart获取的命令字是错误;第二种错误是下发erase命令给mcu,但是mcu回复是1F,这是错误的。请问你遇到过类似的问题吗?

 楼主| zhanghuichun 发表于 2015-3-3 10:56 | 显示全部楼层
yujingnihaoya 发表于 2015-3-3 10:02
通过uart给mcu下载代码,会概率性出现两种错误,一种是下发握手命令 0x7F 通过uart,但是从mcu的uart获取的 ...

下载程序偶尔出现错误这种情况我也遇过,我一般都是通过J-Link下载程序的,速度比串口下载的。如果你是很频繁遇到下载程序出现错误,那极有可能是硬件出现问题,该检查BOOT0 BOOT1的配置。如果是偶尔出现,重复一遍下载就行了,没必要纠结为啥会错误,这个错误可能来源于开发环境软件,也有可能MCU出现问题,这些都是我们无法检查
yujingnihaoya 发表于 2015-3-3 11:38 | 显示全部楼层
zhanghuichun 发表于 2015-3-3 10:56
下载程序偶尔出现错误这种情况我也遇过,我一般都是通过J-Link下载程序的,速度比串口下载的。如果你是很 ...

出错之后,重新下载也不行
 楼主| zhanghuichun 发表于 2015-3-4 10:14 | 显示全部楼层
yujingnihaoya 发表于 2015-3-3 11:38
出错之后,重新下载也不行

硬件是否存在问题?程序下载软件的配置是否正确?
sunguoqiang 发表于 2015-3-4 10:38 | 显示全部楼层
好东西 赞一个。
ok2222991 发表于 2015-3-13 18:09 | 显示全部楼层
DDD很好。、。。。。
yjwpm 发表于 2015-3-27 11:00 | 显示全部楼层
连接已经过期,无法下载
294479435 发表于 2015-3-27 12:19 | 显示全部楼层
好犀利,膜拜
 楼主| zhanghuichun 发表于 2015-3-27 12:36 | 显示全部楼层
sindeer 发表于 2015-3-13 16:35
分享链接过期了。

链接已更新
 楼主| zhanghuichun 发表于 2015-3-27 12:36 | 显示全部楼层
yjwpm 发表于 2015-3-27 11:00
连接已经过期,无法下载

链接已更新
秋风式街球 发表于 2015-3-27 14:21 | 显示全部楼层
简直就是高大上啊
犹豫的大三 发表于 2015-3-27 14:37 | 显示全部楼层
使用的什么编译环境?
hjwt 发表于 2015-4-22 15:36 | 显示全部楼层
很高档,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

101

帖子

9

粉丝
快速回复 在线客服 返回列表 返回顶部