標(biāo)題: stm32采集心率,脈搏數(shù)據(jù),GPS定位數(shù)據(jù),使用GSM手機和GPRS上位機通信 [打印本頁]

作者: 周英俊    時間: 2018-9-3 14:20
標(biāo)題: stm32采集心率,脈搏數(shù)據(jù),GPS定位數(shù)據(jù),使用GSM手機和GPRS上位機通信
模塊是STM32單片機+sim800A模塊+GPS模塊+max30100模塊。
無需原理圖 模塊端口有說明,可以直接進行連接。

詳細說明:
1.本程序使用晶振為12MHZ,如果使用8MHZ晶振請自行修改時鐘,在stm32f10x.h以及systerm_...f10.c修改兩個宏即可;
2.程序功能 通過max30100采集人體心率以及含氧量等數(shù)據(jù);
3.通過SIM800A的GPRS流量通信方式發(fā)送至上位機;
4.附加功能 使用1575R-A GPS定位模塊實時定位,使用串口1發(fā)送數(shù)據(jù)至上位機,函數(shù)已屏蔽需自行打開函數(shù)。

單片機源程序如下:
  1. #include "headfile.h"

  2. u8 gsm_order1[]={"AT\r\n"};
  3. u8 gsm_order2[]={"AT+CMGF=1\r\n"};   //用于設(shè)置短信的模式,為1是文本模式(只有數(shù)字和英文)0是pdu模式(還可以有中文)
  4. u8 gsm_order3[]={"AT+CSCS=\"GSM\"\r\n"};   //設(shè)置什么樣的字體讓模塊接受
  5. u8 gsm_order4[]={"AT+CMGS=\"13541990463\"\r\n"};//發(fā)送內(nèi)容

  6. u8 gsm_order5[]={"AT\r\n"};
  7. u8 gsm_order6[]={"AT+CMGF=1\r\n"};   //用于設(shè)置短信的模式,為1是文本模式(只有數(shù)字和英文)0是pdu模式(還可以有中文)
  8. u8 gsm_order7[]={"AT+CSCS=\"UCS2\"\r\n"};   //設(shè)置什么樣的字體讓模塊接受
  9. u8 gsm_order8[]={"AT+CSMP=17,0,2,25\r\n"};//設(shè)置文本模式短消息參數(shù)
  10. u8 gsm_order9[]={"AT+CMGS="};
  11. u8 gsm_order10[]={"8BF76CE8610FFF0C80014EBA5FC373875F025E383002"};         //漢字文本
  12.                                    //請注意,老人心率異常。
  13. u8 gsm_order11[]={"8BF76CE8610FFF0C80014EBA542B6C2791CF5F025E383002"};         //漢字文本
  14.                                    //請注意,老人含氧量異常。

  15. u8 gsm_order12[]={"4FE153F74E225931FF0C8BF7538B597D91CD65B06D4B91CF0021"};         //漢字文本
  16.                                  //信號丟失,請壓好重新測量!
  17. u8 PhoneNO[]="13541990463"; //接受號碼                                                                                                                                                                         


  18. void gsm_string(u8 *p)
  19. {
  20.         Usart3_Putstring(gsm_order1);
  21.         delay_s(1);               
  22.         Usart3_Putstring(gsm_order2);
  23.         delay_s(1);
  24.         Usart3_Putstring(gsm_order3);
  25.         delay_s(1);
  26.         Usart3_Putstring(gsm_order4);
  27.         delay_s(1);
  28.         Usart3_Putstring(p);
  29.         delay_s(2);
  30.         Usart3_PutChar(0x1a);
  31.         printf("message_send ok。。\r\n");
  32.         delay_s(2);
  33. }
  34. void gsm_text(u8 x)
  35. {
  36.         u8 send_number;
  37.         Usart3_Putstring(gsm_order6);
  38.         delay_s(1);
  39.         Usart3_Putstring(gsm_order7);
  40.         delay_s(1);
  41.         Usart3_Putstring(gsm_order8);
  42.         delay_s(1);
  43.         Usart3_Putstring(gsm_order9);
  44.         Usart3_PutChar('"');
  45.         for(send_number=0;send_number<11;send_number++)
  46.         {
  47.                 Usart3_PutChar('0');
  48.                 Usart3_PutChar('0');
  49.                 Usart3_PutChar('3');
  50.                 Usart3_PutChar(PhoneNO[send_number]);
  51.         }     
  52.         Usart3_PutChar('"');
  53.         Usart3_PutChar('\r');                        //發(fā)送回車指令//
  54.         Usart3_PutChar('\n');                        //發(fā)送換行//  
  55.         delay_s(2);
  56.         if(x==1) Usart3_Putstring(gsm_order10);
  57.         else if(x==2) Usart3_Putstring(gsm_order11);
  58.         else Usart3_Putstring(gsm_order12);
  59.         Usart3_PutChar(0x1a);
  60.         printf("message_send ok.....\r\n");
  61.         delay_s(2);
  62. }
復(fù)制代碼

所有資料51hei提供下載:
GPRS+GSM+GPS+MAX30100心率采集通信_for_stm32.rar (2.45 MB, 下載次數(shù): 146)



作者: admin    時間: 2018-9-3 17:30
需要補全原理圖  說明等資料 才可獲得積分
作者: lybb    時間: 2019-11-14 21:04
你好,可以提供一下上位機嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1