|
@@ -25,10 +25,6 @@
|
|
|
|
|
|
/* Private includes ----------------------------------------------------------*/
|
|
|
/* USER CODE BEGIN Includes */
|
|
|
-#include "usart.h"
|
|
|
-#include "can.h"
|
|
|
-#include "ConfigMacros.h"
|
|
|
-//#include "net4g.h"
|
|
|
|
|
|
/* USER CODE END Includes */
|
|
|
|
|
@@ -44,37 +40,16 @@
|
|
|
|
|
|
/* Private macro -------------------------------------------------------------*/
|
|
|
/* USER CODE BEGIN PM */
|
|
|
-uint8_t test = 0;
|
|
|
-uint8_t count = 0;
|
|
|
+
|
|
|
extern Menu_table menu;
|
|
|
-extern UART_HandleTypeDef huart1;
|
|
|
-extern UART_HandleTypeDef huart2;
|
|
|
-extern UART_HandleTypeDef huart3;
|
|
|
-extern UART_HandleTypeDef huart4;
|
|
|
-extern UART_HandleTypeDef huart5;
|
|
|
-extern unsigned char SN1[];
|
|
|
-extern char DisConnected[];
|
|
|
-extern char Connected_phone[];
|
|
|
-extern bool warningtag ;
|
|
|
-extern bool resetML307A;
|
|
|
extern bool refresh;
|
|
|
-extern bool resetFlag;
|
|
|
-extern bool sealFlag;
|
|
|
extern bool BT_CONN;
|
|
|
-extern bool REBOOT;
|
|
|
-extern bool bd_flag; //已绑定标志位
|
|
|
-extern bool open_flagw;
|
|
|
-extern bool close_flagw;
|
|
|
-extern bool bt_lock_ropesta;
|
|
|
-extern bool bt_lock_machinesta;
|
|
|
-
|
|
|
-extern uint8_t u4RecvFlag; // 串口4接收标志串口接收完成标志
|
|
|
-extern RTC_HandleTypeDef hrtc;
|
|
|
-extern CAN_HandleTypeDef hcan;
|
|
|
-
|
|
|
-RTC_DateTypeDef GetData; //获取日期结构体
|
|
|
-RTC_TimeTypeDef GetTime; //获取时间结构体
|
|
|
+extern bool resetBTmodule;
|
|
|
|
|
|
+extern bool L1bd;
|
|
|
+extern bool L2bd;
|
|
|
+extern bool L3bd;
|
|
|
+extern bool L4bd;
|
|
|
/* USER CODE END PM */
|
|
|
|
|
|
/* Private variables ---------------------------------------------------------*/
|
|
@@ -88,6 +63,8 @@ osThreadId loginfoTaskHandle;
|
|
|
/* Private function prototypes -----------------------------------------------*/
|
|
|
/* USER CODE BEGIN FunctionPrototypes */
|
|
|
|
|
|
+void execute_interface(Menu_table menu);
|
|
|
+
|
|
|
/* USER CODE END FunctionPrototypes */
|
|
|
|
|
|
void StartScanKeyTask(void const * argument);
|
|
@@ -176,10 +153,9 @@ void StartScanKeyTask(void const * argument)
|
|
|
for(;;)
|
|
|
{
|
|
|
osDelay(1);
|
|
|
- updatekeystate();
|
|
|
- execute_function(menu);
|
|
|
- OLED_Refresh();
|
|
|
- workinfo(); //搬移蓝牙数据
|
|
|
+ UPDATE_EXECUTE_REFRESH();// 更新按键状态,执行界面操作,并刷新OLED
|
|
|
+ workinfo_W();
|
|
|
+ RESET_BT_MODULE();
|
|
|
}
|
|
|
/* USER CODE END StartScanKeyTask */
|
|
|
}
|
|
@@ -198,113 +174,9 @@ void StarBT4GTask(void const * argument)
|
|
|
/* Infinite loop */
|
|
|
for(;;)
|
|
|
{
|
|
|
-
|
|
|
osDelay(1);
|
|
|
-
|
|
|
- if(resetMBA32A) //freertos监测蓝牙复位标志位
|
|
|
- {
|
|
|
- MBA32A_Init();
|
|
|
- }
|
|
|
- else if(warningtag) //freertos监测施解封确认标志位
|
|
|
- {
|
|
|
- HAL_Delay(2000); //延时显示1.2s
|
|
|
- menu.current=0; //回到首界面显示
|
|
|
- refresh=true; //清除界面元素标志位
|
|
|
- warningtag=false; //复位施解封确认标志位
|
|
|
- Write_Information(resetDevAddr+FLASH_PAGE_SIZE);
|
|
|
- //printf("******解封标志:%s\t%d %d %d %d %d\n",(sealFlag ? "true":"false"), menu.current, menu.up, menu.next, menu.enter, menu.back);
|
|
|
- }
|
|
|
-
|
|
|
- else if(REBOOT && bd_flag)//初始化完成,并且已经绑定
|
|
|
- {
|
|
|
-
|
|
|
- BT_CONN=true;
|
|
|
-
|
|
|
- if(bt_lock_ropesta==0x01 && bt_lock_machinesta==0x01)// 0x01电机关 0x01锁绳拔出
|
|
|
- {
|
|
|
- menu.home=0x04;//关(电机关上,锁绳未插入)
|
|
|
- menu.sn=SN1;
|
|
|
- }
|
|
|
- else if(bt_lock_ropesta==0x01 && bt_lock_machinesta==0x00)// 0x00电机开 0x01锁绳拔出
|
|
|
- {
|
|
|
- menu.home=0x01;//开(全部打开)
|
|
|
- menu.sn=SN1;
|
|
|
- }
|
|
|
- else if(bt_lock_ropesta==0x00 && bt_lock_machinesta==0x00)//0x00电机开 0x00锁绳插入
|
|
|
- {
|
|
|
- menu.home=0x03;//开(电机没关,锁绳已插入)
|
|
|
- menu.sn=SN1;
|
|
|
- }
|
|
|
- else if(bt_lock_ropesta==0x00 && bt_lock_machinesta==0x01)//0x01电机关 0x00锁绳插入
|
|
|
- {
|
|
|
- menu.home=0x02;//关(全部关闭)
|
|
|
- menu.sn=SN1;
|
|
|
- }
|
|
|
-
|
|
|
- else
|
|
|
- {
|
|
|
- //default status
|
|
|
- menu.home=0;
|
|
|
- menu.sn=SN1;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- //default status
|
|
|
- menu.home=0;
|
|
|
- menu.sn=SN1;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-// USART_SendString(&huart5, "AT+MAC?\r\n");
|
|
|
-// HAL_Delay(100);
|
|
|
-// printf("%s", g_MBA32A_8buf_Down); // 使用接收缓冲区的内容
|
|
|
-// USART_SendString(&huart5, "AT+DISCONN=0\r\n");
|
|
|
-// HAL_Delay(50);
|
|
|
-// USART_SendString(&huart5, "AT+AUTO_DEL\r\n");
|
|
|
-// HAL_Delay(50);
|
|
|
-// USART_SendString(&huart5, "AT+RESET=1\r\n");
|
|
|
-
|
|
|
-// USART_SendString(&huart5, "AT+UUIDS?\r\n");
|
|
|
-// HAL_UART_Transmit(&huart1,g_MBA32A_8buf_Down, 30, 0xFFFF);//485回显
|
|
|
-// USART_SendString(&huart5, "AT+UUIDW?\r\n");
|
|
|
-// HAL_UART_Transmit(&huart1,g_MBA32A_8buf_Down, 30, 0xFFFF);//485回显
|
|
|
-// USART_SendString(&huart5, "AT+UUIDN?\r\n");
|
|
|
-// HAL_UART_Transmit(&huart1,g_MBA32A_8buf_Down, 30, 0xFFFF);//485回显
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-// if(UART_485_EN)
|
|
|
-// {
|
|
|
-// printf("485 output\r\n");
|
|
|
-// }
|
|
|
-// if(UART_TTL_EN)
|
|
|
-// {
|
|
|
-// printf("TTL output\r\n");
|
|
|
-// }
|
|
|
-
|
|
|
-// if(test==1)
|
|
|
-// {
|
|
|
- //test=0;
|
|
|
- //int txLen = sprintf((char *)recvBuff, "RecvAT>>%s<<",g_ML307A_8buf_Down);//4g
|
|
|
-// int txLen = sprintf((char *)recvBuff, "RecvAT>>\r\n%s<<",g_MBA32A_8buf);//bt
|
|
|
-// HAL_UART_Transmit(&huart3,recvBuff,txLen,0xffff);
|
|
|
-
|
|
|
-// memcpy(g_ML307A_8buf_Down,g_ML307A_8buf,20);
|
|
|
-//
|
|
|
-// printf("buf:%s\r\n",g_MBA32A_8buf);
|
|
|
-// printf("bufD:%s\r\n",g_ML307A_8buf_Down);
|
|
|
-
|
|
|
-
|
|
|
-// }
|
|
|
-// test ++;
|
|
|
-//
|
|
|
-// if(test==2)
|
|
|
-// {
|
|
|
-// test =0;
|
|
|
-//
|
|
|
-// }
|
|
|
- //printf("%d\r\n",test);
|
|
|
+ Scan_lock_status();//扫描状态
|
|
|
+ Seal_Unseal();//施解封监测
|
|
|
|
|
|
}
|
|
|
/* USER CODE END StarBT4GTask */
|
|
@@ -320,460 +192,13 @@ void StarBT4GTask(void const * argument)
|
|
|
void StartTestTask(void const * argument)
|
|
|
{
|
|
|
/* USER CODE BEGIN StartTestTask */
|
|
|
-
|
|
|
-#ifdef CAN_TEST
|
|
|
- #if CAN_TEST ==1
|
|
|
- CAN_TxHeaderTypeDef TxHeader;
|
|
|
- uint8_t TxData[8] = {1, 2, 3, 4, 5, 6, 7, 8};
|
|
|
- uint32_t TxMailbox;
|
|
|
- TxHeader.StdId = 0x123;
|
|
|
- TxHeader.ExtId = 0;
|
|
|
- TxHeader.RTR = CAN_RTR_DATA;
|
|
|
- TxHeader.IDE = CAN_ID_STD;
|
|
|
- TxHeader.DLC = 8;
|
|
|
- TxHeader.TransmitGlobalTime = DISABLE;
|
|
|
- CAN_RxHeaderTypeDef RxHeader; // 添加这行定义RxHeader变量
|
|
|
- uint8_t RxData[8]; // 添加这行定义RxData变量
|
|
|
- #endif
|
|
|
-#endif
|
|
|
+
|
|
|
/* Infinite loop */
|
|
|
for(;;)
|
|
|
{
|
|
|
- osDelay(1500);
|
|
|
-#ifdef WORK_BT_TEST
|
|
|
- #if WORK_BT_TEST ==1
|
|
|
- {
|
|
|
- test++;
|
|
|
-
|
|
|
-//测试协议报文
|
|
|
-// uint8_t header[2] = {0x66, 0x00};//Jl_lock帧头
|
|
|
-// //uint8_t serchInfo_CMD[] = {0x01, 0x00};//查询信息命令帧
|
|
|
-// uint8_t openlock_CMD[] = {0x00,0x00, 0x00,0x00,0x00,0x01, 0x55,0x55,0x55,0x55, 0x24,0x02,0x04,0x0E ,0x01};//开锁命令帧
|
|
|
-// uint8_t openlock_head = 0x02;
|
|
|
-// uint8_t openlock_length = (sizeof(openlock_CMD)-2);
|
|
|
-// openlock_CMD[0]=openlock_head;
|
|
|
-// openlock_CMD[1]=openlock_length;
|
|
|
-// sendCombinedArray(header,sizeof(header),openlock_CMD,sizeof(openlock_CMD));
|
|
|
-
|
|
|
-
|
|
|
- if(close_flagw && (open_flagw==false))
|
|
|
- {
|
|
|
- close_lock();
|
|
|
- }
|
|
|
- else if(open_flagw && (close_flagw==false))
|
|
|
- {
|
|
|
- open_lock();
|
|
|
- }
|
|
|
- else if((close_flagw==false)&&(open_flagw==false)&& bd_flag)
|
|
|
- {
|
|
|
- lock_searchInfo();
|
|
|
- }
|
|
|
-
|
|
|
- //open_lock();
|
|
|
-// close_lock();
|
|
|
-
|
|
|
-
|
|
|
-//测试条件语句
|
|
|
-// USART_SendString(&huart5, "AT+RESET=1\r\n");
|
|
|
-// HAL_Delay(50);
|
|
|
-// HAL_UART_Transmit(&huart1,g_MBA32A_8buf_Down, 30, 0xFFFF);//485回显
|
|
|
-//
|
|
|
-
|
|
|
-// test++;
|
|
|
-
|
|
|
-// USART_SendString(&huart5, "AT+DEV?\r\n");
|
|
|
-// HAL_Delay(100);
|
|
|
-// printf("%s", g_MBA32A_8buf_Down); // 使用接收缓冲区的内容
|
|
|
-// USART_SendString(&huart5, "AT+NAME?\r\n");
|
|
|
-// HAL_Delay(100);
|
|
|
-// printf("%s", g_MBA32A_8buf_Down); // 使用接收缓冲区的内容
|
|
|
-// USART_SendString(&huart5, "AT+MAC?\r\n");
|
|
|
-// HAL_Delay(100);
|
|
|
-// printf("%s", g_MBA32A_8buf_Down); // 使用接收缓冲区的内容
|
|
|
-
|
|
|
- //USART_SendString(&huart5, "AT+RESET=1\r\n");
|
|
|
-// HAL_Delay(100);
|
|
|
-// USART_SendString(&huart5, "AT+CONN=1500000000cb\r\n");//连接指定 MAC 地址设备
|
|
|
-// HAL_Delay(100);
|
|
|
-//// USART_SendString(&huart5, "AT+DEV?\r\n"); //查询当前已连接的设备
|
|
|
-// count = countValidData(g_MBA32A_8buf,1024,0);
|
|
|
-// printf("Mbabuf:%s\r\n_%d\r\n",g_MBA32A_8buf,count);
|
|
|
-
|
|
|
- {
|
|
|
- /**蓝牙发送命令无需带内冒号**/
|
|
|
- //BLE 协议说明
|
|
|
- //0xfff2 Write 写入的数据会从串口TX输出
|
|
|
- //0xfff1 Notify 从串口 RX 输入的数据将会在此通道产生通知发给移动设备!!!移动接收
|
|
|
- //APP 通过 0xFFF2 通道 将数据发送给 MCU:MCU 通过 0xFFF1 通道将数据发送给 APP,用户也可通过 AT 指令对读写通道进行自定义。
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- // USART_SendString(&huart5, "AT+UUIDS=0000000200001000800000805f9b34fb\r\n"); //设置主服务通道
|
|
|
- // HAL_Delay(50);
|
|
|
- // USART_SendString(&huart5, "AT+UUIDN=0000ff0500001000800000805f9b34fb\r\n"); //设置读服务通道
|
|
|
- // HAL_Delay(50);
|
|
|
- // USART_SendString(&huart5, "AT+UUIDW=0000ff0400001000800000805f9b34fb\r\n"); //设置写服务通道
|
|
|
- // HAL_Delay(50);
|
|
|
- // USART_SendString(&huart5, "AT+UUIDS=0000180100001000800000805f9b34fb\r\n"); //设置主服务通道
|
|
|
- // HAL_Delay(50);
|
|
|
- //USART_SendString(&huart5, "AT+RESET=1\r\n");//恢复出厂设置 // USART_SendString(&huart5, "AT+RESET=1\r\n");//恢复出厂设置
|
|
|
- // USART_SendString(&huart5, "AT+NAME?\r\n");//23字节(0-22)
|
|
|
- // HAL_Delay(50);
|
|
|
- // printf("%s",g_MBA32A_8buf);
|
|
|
- //USART_SendString(&huart5, "AT+MAC?\r\n"); //查询蓝牙 4.0 地址码
|
|
|
- // HAL_Delay(50);
|
|
|
- // printf("1%s",g_MBA32A_8buf);
|
|
|
- // printf("2%s",&g_MBA32A_8buf[23]);
|
|
|
- // HAL_Delay(100);
|
|
|
- //USART_SendString(&huart5, "AT+DEV?\r\n"); //查询当前已连接的设备
|
|
|
- // HAL_UART_Receive(&huart5,&g_MBA32A_8buf[0],20,150);
|
|
|
- // printf("%s\r\n",g_MBA32A_8buf);
|
|
|
- //USART_SendString(&huart5, "AT+RESET=1\r\n");//恢复出厂设置
|
|
|
- // HAL_Delay(100);
|
|
|
-
|
|
|
-// USART_SendString(&huart5, "AT+CONN=1500000000cb\r\n");
|
|
|
-// HAL_Delay(100);
|
|
|
-// printf("%s", g_MBA32A_8buf_Down); // 使用接收缓冲区的内容
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- // USART_SendString(&huart5, "AT+UUIDN?\r\n");
|
|
|
- // HAL_Delay(100);
|
|
|
- // USART_SendString(&huart5, "AT+UUIDW?\r\n");
|
|
|
- // USART_SendString(&huart5, "AT+DISCONN=0\r\n");
|
|
|
- // USART_SendString(&huart5, "AT+CONN=1500000000cb\r\n");//连接指定 MAC 地址设备
|
|
|
- // USART_SendString(&huart5, "AT+UUIDS=0000fff000001000800000805f9b34fb\r\n"); //设置主服务通道
|
|
|
- // USART_SendString(&huart5, "AT+UUIDW=0000ff0500001000800000805f9b34fb\r\n"); //设置写服务通道
|
|
|
- // USART_SendString(&huart5, "AT+UUIDN=0000ff0400001000800000805f9b34fb\r\n"); //设置读服务通道
|
|
|
- // USART_SendString(&huart5, "AT+AUTO_CFG=1\r\n");
|
|
|
- // HAL_Delay(100);
|
|
|
- // USART_SendString(&huart5, "AT+AUTO_MAC=1500000000cb\r\n");
|
|
|
- // HAL_Delay(100);
|
|
|
- // USART_SendString(&huart5, "AT+CONN=1500000000cb\r\n");//连接指定 MAC 地址设备
|
|
|
- // HAL_Delay(100);
|
|
|
- // USART_SendString(&huart5, "AT+TXPOWER=10\r\n");
|
|
|
- // uint8_t data[] = {0x01, 0x00,0x00};
|
|
|
- // HAL_UART_Transmit(&huart1,data,3,0xffff);
|
|
|
- // HAL_UART_Transmit(&huart5,data,3,0xffff);
|
|
|
- // uint8_t len = sizeof(data) / sizeof(data[0]);
|
|
|
- // uint8_t data_open[] = {0x02, 0x04,0x01,0,0,0};
|
|
|
- // uint8_t len = sizeof(data_open) / sizeof(data_open[0]);
|
|
|
- // uint8_t crc = crc16(data_open, len);
|
|
|
- // uint8_t sendData[len + 1];
|
|
|
- // for (uint8_t i = 0; i < len; i++) {
|
|
|
- // sendData[i] = data_open[i];
|
|
|
- // }
|
|
|
- // sendData[len] = crc;
|
|
|
- //printf("Send Data with CRC: ");
|
|
|
- // for (uint8_t i = 0; i < len + 1; i++) {
|
|
|
- // printf("%02X ", sendData[i]);
|
|
|
- // }
|
|
|
- //printf("\n");
|
|
|
- //USART_SendString(&huart5, "AT+SCAN=1\r\n");//查询扫描蓝牙 4.0 BLE 设备(0-关闭 1-开启)
|
|
|
- // USART_SendString(&huart5, "AT+UUIDW?\r\n"); //查询 BLE 写服务通道fff2
|
|
|
- // HAL_UART_Receive(&huart5,g_MBA32A_8buf,BUFFER_SIZE,100);
|
|
|
- // USART_SendString(&huart5, "AT+DISCONN=1\r\n");//断开蓝牙连接(0-断开所有连接的从设备 1-主动断开与主机端设备的连接)
|
|
|
- // USART_SendString(&huart5, "AT+AINTVL?\r\n");//查询广播间隔 单位ms
|
|
|
- // HAL_Delay(50);
|
|
|
- // USART_SendString(&huart5, "AT+VER?\r\n"); //读取软件版本
|
|
|
- // HAL_Delay(50);
|
|
|
- // USART_SendString(&huart5, "AT+TXPOWER?\r\n");//查询模块的发射功率
|
|
|
- // HAL_Delay(50);
|
|
|
- // int count = countValidData(g_MBA32A_8buf,256,0);
|
|
|
- // if(count<2)
|
|
|
- // {
|
|
|
- // test = 0;
|
|
|
- // //HAL_Delay(100);
|
|
|
- // }else {
|
|
|
- // printf("mba:%s-%d",g_MBA32A_8buf,count);
|
|
|
- // }
|
|
|
- // USART_SendString(&huart5, "AT+REBOOT=1\r\n");//设置模块重启
|
|
|
- // USART_SendString(&huart5, "AT+SCAN_MANU=1\r\n");//扫描蓝牙自定义广播数据
|
|
|
- // USART_SendString(&huart5, "AT+SCAN=1\r\n");//查询扫描蓝牙 4.0 BLE 设备(0-关闭 1-开启)
|
|
|
- // HAL_Delay(200);
|
|
|
- // USART_SendString(&huart5, "AT+CONN=DC:2D:04:C7:21:8A\r\n");//连接指定 MAC 地址设备
|
|
|
- // USART_SendString(&huart5, "AT+DISCONN=0\r\n");//断开蓝牙连接(0-断开所有连接的从设备 1-主动断开与主机端设备的连接)
|
|
|
- // USART_SendString(&huart5, "AT+ADV?\r\n");//查询广播状态(0-关闭 1-开启)
|
|
|
- // USART_SendString(&huart5, "AT+UART?\r\n");//查询模块串口波特率(0:9600/ 1:14400/ 2:19200/ 3:38400/ 4:57600/ 5:115200/ 6:230400)
|
|
|
- // }
|
|
|
- // }
|
|
|
- //USART_SendString(&huart5, "AT+DEV?\r\n");//查询当前已连接的设备
|
|
|
- //}
|
|
|
- // else if(test == 3)
|
|
|
- // {
|
|
|
- // //USART_SendString(&huart5, "AT+VER?\r\n");//查询当前已连接的设备
|
|
|
- // }
|
|
|
-// }
|
|
|
- }
|
|
|
- }
|
|
|
- #endif
|
|
|
-#endif
|
|
|
-
|
|
|
-
|
|
|
-#ifdef WORK_4G_TEST
|
|
|
- #if WORK_4G_TEST == 1
|
|
|
-{
|
|
|
-//if(test==1)
|
|
|
-//{
|
|
|
-//1 必须步骤AT
|
|
|
- //USART_SendString(&huart4, "AT\r\n");
|
|
|
-
|
|
|
-//2 查询SIM卡状态
|
|
|
- //USART_SendString(&huart4, "AT+CPIN?\r\n");
|
|
|
-
|
|
|
-//3 查询协议栈是否打开(return 1)
|
|
|
- //USART_SendString(&huart4, "AT+CFUN?\r\n");//确保驻网前为1
|
|
|
-
|
|
|
-//4 查询信号质量(小于10表示信号弱)
|
|
|
- //USART_SendString(&huart4, "AT+CSQ\r\n");
|
|
|
-
|
|
|
-//5 设置APN(中国移动 return ok)
|
|
|
- //USART_SendString(&huart4, "AT+CGDCONT=1,\"IP\",\"CMNET\"\r\n");
|
|
|
-
|
|
|
-//6 查询是否驻网成功 (return 0,1)
|
|
|
- //USART_SendString(&huart4, "AT+CEREG?\r\n");//查看是否附着(驻网)成功
|
|
|
-
|
|
|
-//7 激活PDP (return ok))
|
|
|
- //USART_SendString(&huart4, "AT+CGACT=1,1\r\n");
|
|
|
-
|
|
|
-//8 测试tcp连接(网址为ubuntu公网)
|
|
|
- //USART_SendString(&huart4, "AT+MIPOPEN=1,\"TCP\",\"121.36.7.137\",22\r\n");
|
|
|
- //USART_SendString(&huart4, "AT+MIPCLOSE=1\r\n");
|
|
|
-
|
|
|
-//9连接mqtt
|
|
|
-
|
|
|
-
|
|
|
-//若省略可选参数,则是查询
|
|
|
- //USART_SendString(&huart4, "AT+CREG?\r\n");//查看是否GSM成功
|
|
|
- //USART_SendString(&huart4, "AT+CPIN?\r\n");
|
|
|
-
|
|
|
- //USART_SendString(&huart4, "AT+MGNSSCFG=?\r\n");//AT+MGNSSCFG GNSS测试命令
|
|
|
-
|
|
|
- //USART_SendString(&huart4, "ATI\r\n");//查询产品版本信息
|
|
|
- //USART_SendString(&huart4, "ATI\r\n");//查询产品版本信息
|
|
|
- //USART_SendString(&huart4, "AT+MCCID\r\n");//读取ICCID
|
|
|
- //USART_SendString(&huart4, "AT+MDIALUP=1,1\r\n");//拨号上网
|
|
|
- //USART_SendString(&huart4, "AT+MCHIPINFO=‘temp’\r\n");//查询芯片温度
|
|
|
-
|
|
|
- //USART_SendString(&huart4, "AT+CPIN?\r\n");//SIM卡状态
|
|
|
- //USART_SendString(&huart4, "AT+CSQ\r\n");//查看信号强度
|
|
|
- //USART_SendString(&huart4, "AT+CREG?\r\n");
|
|
|
- //USART_SendString(&huart4, "AT+CFUN?\r\n");//确保驻网前为1
|
|
|
- //USART_SendString(&huart4, "AT+CEREG?\r\n");//查看是否附着(驻网)成功
|
|
|
- //USART_SendString(&huart4, "AT+MIPCALL?\r\n");// 查询拨号状态
|
|
|
-
|
|
|
- /*已激活请跳过*/
|
|
|
- //USART_SendString(&huart4, "AT+CGDCONT=1,\"IPV4V6\",\"cmnet\"\r\n");// //配置PDP上下文
|
|
|
- //USART_SendString(&huart4, "AT+MIPCALL=1,1\r\n");// 激活PDP,建立应用层拨号连接。
|
|
|
-
|
|
|
- //USART_SendString(&huart4, "AT+MUECONFIG=\"autoconn\",1\r\n");// 配置为自动连网(模组应用层网络)
|
|
|
- //USART_SendString(&huart4, "AT+MDIALUPCFG=\"auto\",1\r\n");// 配置为自动拨号(上位机网卡拨号)
|
|
|
-
|
|
|
- //USART_SendString(&huart4, "AT+CMGF=0\r\n");//配置PDU模式(默认)
|
|
|
- //USART_SendString(&huart4, "AT+CSMP=33,167,0,0\r\n");//设置文本模式参数为:有效期为相对时间格式,并且编码类型为GSM 7bit
|
|
|
- //USART_SendString(&huart4, "AT+CNMI=2,2,0,2,0\r\n");//配置接收到短信时自动上报
|
|
|
- //USART_SendString(&huart4, "AT+CMGS=23\r\n");//发送PDU短信,PDU长度23字节,数据以ctrl-z(0x1A)结尾。
|
|
|
-
|
|
|
- //USART_SendString(&huart4, "AT+CMGF=1\r\n");// //配置文本模式
|
|
|
- //USART_SendString(&huart4, "AT+CSMP=33,167,0,0\r\n");//设置发送为bit7。(可根据实际设置为bit8/bit16)
|
|
|
-
|
|
|
- //发送短信
|
|
|
- //char msg[] = "Hello, World!";
|
|
|
- //char smsCmd[50];
|
|
|
- //sprintf(smsCmd, "AT+CMGS=\"**\"\r\n%s%c", msg, 0x1A); // 使用Ctrl+Z (0x1A) 结束短信内容
|
|
|
- //USART_SendString(&huart4, smsCmd);
|
|
|
-
|
|
|
- //USART_SendString(&huart4, "AT+CCLK?\r\n");//驻网自动同步网络时间
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCONN=?\r\n");
|
|
|
-
|
|
|
- //查询mqtt版本
|
|
|
- //AT+MQTTCFG="version",<connect_id>[,<version>]
|
|
|
- //+MQTTCFG: "version",<version>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"version\"\r\n"); //+MQTTCFG: "version",4
|
|
|
-
|
|
|
- //查询mqtt客户端使用的pdp
|
|
|
- //AT+MQTTCFG="cid",<connect_id>[,<cid>]
|
|
|
- //+MQTTCFG: "cid"[,<cid>]
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"cid\"\r\n"); //+MQTTCFG: "cid",1
|
|
|
-
|
|
|
- //查询当前MQTT SSL模式以及SSL上下文索引配置情况
|
|
|
- //AT+MQTTCFG="ssl",<connect_id>[,<ssl_enable>[,<ssl_id>]]
|
|
|
- //+MQTTCFG: "ssl",<ssl_enable>,<ssl_id>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"ssl\"\r\n"); //+MQTTCFG: "ssl",0,0
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"ssl\",2,1\r\n"); //OK
|
|
|
-
|
|
|
- //查询当前保活时间
|
|
|
- //AT+MQTTCFG="keepalive",<connect_id>[,<keepalive_time>]
|
|
|
- //+MQTTCFG: "keepalive",<keepalive_time>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"keepalive\"\r\n");//+MQTTCFG: "keepalive",120
|
|
|
-
|
|
|
- //查询当前会话类型
|
|
|
- //AT+MQTTCFG="clean",<connect_id>[,<clean_session>]
|
|
|
- //+MQTTCFG: "clean",<clean_session>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"clean\"\r\n"); //+MQTTCFG: "clean",0
|
|
|
-
|
|
|
- //查询当前设置的重传间隔以及重传次数配置
|
|
|
- //AT+MQTTCFG="retrans",<connect_id>[,<retrans_interval>[,<retry_times>]]
|
|
|
- //+MQTTCFG: "retrans",<retrans_interval>,<retry_times>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"retrans\"\r\n"); //+MQTTCFG: "retrans",20,0
|
|
|
-
|
|
|
- //查询设置命令(配置Will flag、qos及retain信息)
|
|
|
- //AT+MQTTCFG="willoption",<connect_id>[,<will_flag>[,<will_qos>[,<will_retain>]]]
|
|
|
- //+MQTTCFG: "willoption",<will_flag>,<will_qos>,<will_retain>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"willoption\"\r\n"); //+MQTTCFG: "willoption",0,0,0
|
|
|
-
|
|
|
- //设置命令(配置 Will topic和message信息)查询当前 Will Topic和Will Message信息,<will_msg>输入格式解析受"encoding"配置影响
|
|
|
- //AT+MQTTCFG="willpayload",<connect_id>[,<will_topic>,<will_msg>]
|
|
|
- //+MQTTCFG: "willpayload",<will_topic>,<will_msg>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"willpayload\"\r\n"); //+MQTTCFG: "willpayload",,
|
|
|
-
|
|
|
- //设置命令(配置MQTT心跳请求间隔) 则查询当前MQTT的心跳间隔
|
|
|
- //AT+MQTTCFG="pingreq",<connect_id>[,<ping_interval>]
|
|
|
- //+MQTTCFG: "pingreq",<ping_interval>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"pingreq\"\r\n"); //+MQTTCFG: "pingreq",120
|
|
|
-
|
|
|
- //设置命令(配置MQTT心跳请求回显) 查询当前MQTT的心跳回显配置
|
|
|
- //AT+MQTTCFG="pingresp",<connect_id>[,<pingack>]
|
|
|
- //+MQTTCFG: "pingresp",<pingack>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"pingresp\",0,1\r\n"); //+MQTTCFG: "pingresp",0
|
|
|
-
|
|
|
- //设置命令(配置MQTT消息的输入编码以及输出打印编码) 则查询当前编码配置
|
|
|
- //AT+MQTTCFG="encoding",<connect_id>[,<input_format>[,<output_format>]]
|
|
|
- //+MQTTCFG: "encoding",<input_format>,<output_format>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"encoding\"\r\n"); //+MQTTCFG: "encoding",0,0
|
|
|
-
|
|
|
- //设置命令(配置MQTT消息缓存输出模式) 查询当前缓存配置
|
|
|
- //AT+MQTTCFG="cached",<connect_id>[,<cached_mode>]
|
|
|
- //+MQTTCFG: "cached",<cached_mode>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"cached\"\r\n"); //+MQTTCFG: "cached",0
|
|
|
-
|
|
|
- //设置命令(配置MQTT重连次数) 查询当前重连配置
|
|
|
- //AT+MQTTCFG="reconn",<connect_id>[,<recon_times>[,<reconn_interval>[,<mode>]]]
|
|
|
- //+MQTTCFG: "reconn",<reconn_times>,<reconn_interval>,<mode>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"reconn\"\r\n"); //+MQTTCFG: "reconn",3,20,0
|
|
|
-
|
|
|
- //设置命令(查询MQTT配置信息)
|
|
|
- //AT+MQTTCFG="query",<connect_id>
|
|
|
- /* +MQTTCFG: "version",<version>
|
|
|
- +MQTTCFG: "cid",<cid>
|
|
|
- +MQTTCFG: "ssl",<ssl_enable>,<ssl_id>
|
|
|
- +MQTTCFG: "keepalive",<keepalive_time>
|
|
|
- +MQTTCFG: "clean",<clean_session>
|
|
|
- +MQTTCFG: "retrans",<retrans_interval>,<retry_times>
|
|
|
- +MQTTCFG: "willoption",<will_flag>,<will_qos>,<will_retain>
|
|
|
- +MQTTCFG: "willpayload",[<will_topic>,<will_msg>]
|
|
|
- +MQTTCFG: "pingreq",<ping_interval>
|
|
|
- +MQTTCFG: "pingresp",<pingack>
|
|
|
- +MQTTCFG: "encoding",<input_format>,<output_format>
|
|
|
- +MQTTCFG: "cached",<cached_mode>
|
|
|
- +MQTTCFG: "reconn",<reconn_times>,<reconn_interval>,<mode>*/
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCFG=\"query\"\r\n"); //+MQTTCFG: "reconn",3,20,0
|
|
|
-
|
|
|
-
|
|
|
- //mqttconn 连接(连接至MQTT或MQTTS服务器)
|
|
|
- //AT+MQTTCONN=?
|
|
|
- //+MQTTCONN: <connect_id>,<host>,<port>,<clientID>,<user>,<passwd>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCONN=?\r\n"); //+MQTTCONN: (0-5),,(0-65535),,,
|
|
|
- //USART_SendString(&huart4, "AT+MQTTSTART\r\n"); //+MQTTCONN: (0-5),,(0-65535),,,
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- //设置命令
|
|
|
- //AT+MQTTCONN=<connect_id>,<host>[,<port>[,<clientID>,<user>,<passwd>]]
|
|
|
- //+MQTTURC: "conn",<connect_id>,<conn_state>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTCONN=0,\"iot-06z00aohulvp4gg.mqtt.iothub.aliyuncs.com\",1883,\"k0qza26L4FE.4g_dtuV1.0|securemode=2,signmethod=hmacsha256,timestamp=1705036680114|\",\"4g_dtuV1.0&k0qza26L4FE\",\"42177cf93ab7ae09ac82ef151b27b94e123cea0237a77fdb3e24b32a2423b7dc\"\r\n");
|
|
|
-
|
|
|
-
|
|
|
- //AT+MQTTSUB订阅主题
|
|
|
- //AT+MQTTSUB=<connect_id>,<topic>,<qos>[,<topic1>,<qos1>..]
|
|
|
- //+MQTTSUB: <connect_id>,<mid>
|
|
|
- //成功+MQTTURC: "suback",<connect_id>,<mid>,<code>[,<code1>,...]
|
|
|
- //超时+MQTTURC: "timeout",<connect_id>,<mid>
|
|
|
- //USART_SendString(&huart4, "AT+MQTTSUB=0,\"/sys/k0qza26L4FE/${4g_dtuV1.0}/thing/service/property/set\",1\r\n");
|
|
|
-
|
|
|
- //USART_SendString(&huart4, "AT+MQTTSUB=0\r\n");
|
|
|
-}
|
|
|
- #endif
|
|
|
-#endif
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-#ifdef RTC_TEST
|
|
|
- #if RTC_TEST ==1
|
|
|
- /* Get the RTC current Time */
|
|
|
- HAL_RTC_GetTime(&hrtc, &GetTime, RTC_FORMAT_BIN);
|
|
|
- /* Get the RTC current Date */
|
|
|
- HAL_RTC_GetDate(&hrtc, &GetData, RTC_FORMAT_BIN);
|
|
|
- /* Display date Format : yy/mm/dd */
|
|
|
- printf("%02d/%02d/%02d\t",2000 + GetData.Year, GetData.Month, GetData.Date);
|
|
|
- /* Display time Format : hh:mm:ss */
|
|
|
- printf("%02d:%02d:%02d\r\n",GetTime.Hours, GetTime.Minutes, GetTime.Seconds);
|
|
|
- //printf("test\r\n");
|
|
|
- #endif
|
|
|
-#endif
|
|
|
-
|
|
|
-#ifdef CAN_TEST
|
|
|
- #if CAN_TEST ==1
|
|
|
- //CANTEST,cpu发
|
|
|
- // if (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) > 0) {
|
|
|
- // if (HAL_CAN_AddTxMessage(&hcan, &TxHeader, TxData, &TxMailbox) == HAL_OK) {
|
|
|
- // // 成功发送CAN消息
|
|
|
- // // 可以在这里添加自定义的测试代码
|
|
|
- //
|
|
|
- // }
|
|
|
- // }
|
|
|
-
|
|
|
- //CANTEST,收发测试
|
|
|
- if (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) > 0) {
|
|
|
- if (HAL_CAN_AddTxMessage(&hcan, &TxHeader, TxData, &TxMailbox) == HAL_OK) {
|
|
|
- // 成功发送CAN消息
|
|
|
- // 可以在这里添加自定义的测试代码
|
|
|
- // 修改代码段开始
|
|
|
- if (HAL_CAN_GetRxFifoFillLevel(&hcan, CAN_RX_FIFO0) > 0) {
|
|
|
- HAL_CAN_GetRxMessage(&hcan, CAN_RX_FIFO0, &RxHeader, RxData);
|
|
|
- // 处理接收到的CAN消息
|
|
|
- // 示例代码:将接收到的数据回传
|
|
|
- if (HAL_CAN_AddTxMessage(&hcan, (CAN_TxHeaderTypeDef*)&RxHeader, RxData, &TxMailbox) != HAL_OK) {
|
|
|
- // 发送CAN消息失败,处理错误情况
|
|
|
- }
|
|
|
- }
|
|
|
- // 修改代码段结束
|
|
|
- //HAL_CAN_AddTxMessage(&hcan, &TxHeader, TxData,&TxMailbox);
|
|
|
- }
|
|
|
- }
|
|
|
- #endif
|
|
|
-#endif
|
|
|
+ osDelay(1);
|
|
|
|
|
|
-#ifdef RESET_4G_TEST
|
|
|
- #if RESET_4G_TEST ==1
|
|
|
- //reset_4G();
|
|
|
- if(resetML307A)
|
|
|
- {
|
|
|
- resetML307A = false;
|
|
|
- ML307A_Init();
|
|
|
}
|
|
|
- #endif
|
|
|
-#endif
|
|
|
-#ifdef RESET_BT_TEST
|
|
|
- #if RESET_BT_TEST ==1
|
|
|
- if(resetMBA32A)
|
|
|
- {
|
|
|
-
|
|
|
- resetMBA32A = false;
|
|
|
- HAL_GPIO_WritePin(REST_BT_GPIO_Port,REST_BT_Pin,GPIO_PIN_SET);
|
|
|
- MBA32A_Init();
|
|
|
- }
|
|
|
- #endif
|
|
|
-#endif
|
|
|
-#ifdef RESET_CPU_TEST
|
|
|
- #if RESET_CPU_TEST ==1
|
|
|
- //HAL_Delay(50000);//关闭看门狗
|
|
|
- #endif
|
|
|
-#endif
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
/* USER CODE END StartTestTask */
|
|
|
}
|
|
|
|
|
@@ -790,8 +215,12 @@ void StartloginfoTaskTask(void const * argument)
|
|
|
/* Infinite loop */
|
|
|
for(;;)
|
|
|
{
|
|
|
- osDelay(500);
|
|
|
- //printf("长度:%d,事件:%d,流水号:%d,电量:%d,log:%d,MS:%d,RS:%d,HW:%04X,SW:%04X\r\n",bt_dataLength,bt_error_num,bt_serial_num,bt_battery,bt_log_num,bt_lock_machinesta,bt_lock_ropesta,bt_hwver,bt_sfver);
|
|
|
+ osDelay(1000);
|
|
|
+ if (BT_CONN && (L1bd || L2bd || L3bd || L4bd) && (menu.current < 8 || menu.current > 11))//连接后轮询
|
|
|
+ {
|
|
|
+ lock_searchInfo();
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|
|
|
/* USER CODE END StartloginfoTaskTask */
|