生活随笔
收集整理的這篇文章主要介紹了
基于蓝牙的防丢器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
功能介紹:
1、藍牙斷開后會發出聲光報警
2、藍牙連接時,可使用APP發送控制命令
3、藍牙斷開發出聲光報警,及時連上后停止報警
4、若不及時連上將撥打用戶的手機號碼提醒,同時發短信給手機,短信內容為定位信息
硬件準備:
1、stm32f103c8t6最小系統板
2、藍牙4.0模塊
3、無源蜂鳴器,用于播放MIDI音樂
4、SIM868模塊,用于發短信、打電話、定位
5、升壓模塊,由于SIM868模塊需要5V-18V 供電,供電電壓 5V 時, 電流要保證 1.5A 或以上。
6、LED燈,使用的是板上PC13引腳處的小燈。
7、ST-LINK下載器,用于下載程序。
硬件接線:
藍牙模塊:TX—PB11 RX—PB10 VCC–5V GND–GND STATE–PA4
有源蜂鳴器:IO–PA5
無源蜂鳴器:IO–PA6
SIM868模塊:VCC–5~18V RX–PA2 TX–PA3 GND–GND
演示圖片:
1、實物
2、串口輸出信息
由于在室內,所以定位不準。
3、手機端會接到電話和短信
4、手機APP
使用的是HC藍牙助手APP下載鏈接
通過發送字符0聲光報警,發送字符1關閉聲光,發送字符2開燈。
代碼實現:
main.c文件
#include <stm32f10x.h>
#include <stdbool.h>
#include "led.h"
#include "usart.h"
#include "delay.h"
#include "exti.h"
#include "beep.h"
#include "buzzer.h"
#include "timer.h"
#include "sim868.h"int g_isBreak
= true
;
int g_handle
= 0;
char PUB_BUF
[100] = {0};
char time
[20],longitude
[20],latitude
[20];
char *callPhone
= "ATD10086;\r\n"; int main(void)
{NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2
);SysTick_Init(72); led0_init(); BEEP_Init(); BUZZER_Init();BUZZER_BEEP1();EXTIX_PA4_Init(); USART1_Init(9600); USART2_Init(9600); USART3_Init(9600); Timer2_Init_Config(); printf("藍牙模塊開始配置\r\n");ble_config_set(); printf("藍牙模塊配置完畢\r\n");printf("SIM868模塊開始配置\r\n");Wait_CREG(); Set_Text_Mode();GPS_Init(); GET_GPS(PUB_BUF
,time
, longitude
,latitude
); printf("SIM868模塊配置完畢\r\n");while(1){if(g_isBreak
==false
) {printf("藍牙已連接\r\n");g_handle
= 1; }else {printf("藍牙未連接\r\n"); if(g_handle
== 3){g_handle
= 4;printf("正在發送定位信息...\r\n");GET_GPS(PUB_BUF
,time
, longitude
,latitude
); printf("PUB_BUF = %s\r\n",PUB_BUF
); Send_GPS_Msg(PUB_BUF
); } else if(g_handle
==2){g_handle
= 3;printf("正在撥打電話....\r\n");UART2_SendString(callPhone
); }else if(g_handle
==1) {g_handle
= 2; printf("正在聲光報警....\r\n");MIDI_PLAY(); }}delay_ms(1000);}
}
總結
以上是生活随笔為你收集整理的基于蓝牙的防丢器的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。