|
@@ -321,9 +321,9 @@ int main(void)
|
|
|
printf("开启Lora广播模块\r\n");
|
|
printf("开启Lora广播模块\r\n");
|
|
|
E52_CONFIG_BROADCAST_TYPE_FUN(BROADCAST_ALL);
|
|
E52_CONFIG_BROADCAST_TYPE_FUN(BROADCAST_ALL);
|
|
|
HAL_Delay(2000);
|
|
HAL_Delay(2000);
|
|
|
- const char *lora_msg1 = "AT+TYPE=0";
|
|
|
|
|
- HAL_UART_Transmit(&huart2, (uint8_t *)lora_msg1, strlen(lora_msg1), HAL_MAX_DELAY);
|
|
|
|
|
- HAL_Delay(2000);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
|
|
+
|
|
|
const char *lora_msg3 = "AT+HEAD=0";
|
|
const char *lora_msg3 = "AT+HEAD=0";
|
|
|
HAL_UART_Transmit(&huart2, (uint8_t *)lora_msg3, strlen(lora_msg3), HAL_MAX_DELAY);
|
|
HAL_UART_Transmit(&huart2, (uint8_t *)lora_msg3, strlen(lora_msg3), HAL_MAX_DELAY);
|
|
|
HAL_Delay(2000);
|
|
HAL_Delay(2000);
|
|
@@ -349,7 +349,9 @@ int main(void)
|
|
|
/* Infinite loop */
|
|
/* Infinite loop */
|
|
|
/* USER CODE BEGIN WHILE */
|
|
/* USER CODE BEGIN WHILE */
|
|
|
HAL_Delay(5000);
|
|
HAL_Delay(5000);
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
E52_Heartbeat_Fun();
|
|
E52_Heartbeat_Fun();
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
printf("设备地址:0x%02X%02X\n", deviceInfo.loraDeviceAddress_H, deviceInfo.loraDeviceAddress_L);
|
|
printf("设备地址:0x%02X%02X\n", deviceInfo.loraDeviceAddress_H, deviceInfo.loraDeviceAddress_L);
|
|
|
|
|
|
|
|
|
|
|
|
@@ -369,7 +371,9 @@ int main(void)
|
|
|
// 心跳:不在线时,每 10 秒发一次
|
|
// 心跳:不在线时,每 10 秒发一次
|
|
|
if (!deviceInfo.isOnline) {
|
|
if (!deviceInfo.isOnline) {
|
|
|
if (IsTimeElapsed(&hrtc, &Online_struct, 10)) {
|
|
if (IsTimeElapsed(&hrtc, &Online_struct, 10)) {
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
E52_Heartbeat_Fun();
|
|
E52_Heartbeat_Fun();
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -379,6 +383,7 @@ int main(void)
|
|
|
} else {
|
|
} else {
|
|
|
if (IsTimeElapsed(&hrtc, &IDLE_struct, 20*60)) {
|
|
if (IsTimeElapsed(&hrtc, &IDLE_struct, 20*60)) {
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -393,6 +398,7 @@ int main(void)
|
|
|
if (GET_CMD(deviceInfo.commandFromCloud) == REQUEST_BLUETOOTH_DATA && deviceInfo.isOnline ) {
|
|
if (GET_CMD(deviceInfo.commandFromCloud) == REQUEST_BLUETOOTH_DATA && deviceInfo.isOnline ) {
|
|
|
switch (GET_STEP(deviceInfo.commandFromCloud)) {
|
|
switch (GET_STEP(deviceInfo.commandFromCloud)) {
|
|
|
case REQUEST_BLUETOOTH_DATA_SCAN:
|
|
case REQUEST_BLUETOOTH_DATA_SCAN:
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
deviceInfo.BlDataFlag = BL_STOP;
|
|
deviceInfo.BlDataFlag = BL_STOP;
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, REQUEST_BLUETOOTH_DATA_SEND);
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, REQUEST_BLUETOOTH_DATA_SEND);
|
|
|
break;
|
|
break;
|
|
@@ -418,7 +424,7 @@ int main(void)
|
|
|
break; //发送数据阶段
|
|
break; //发送数据阶段
|
|
|
case STEP_COMPLETE:
|
|
case STEP_COMPLETE:
|
|
|
deviceInfo.forwardBLAndLoraDataDuration = 0;
|
|
deviceInfo.forwardBLAndLoraDataDuration = 0;
|
|
|
- // i = 0;
|
|
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
@@ -436,6 +442,7 @@ int main(void)
|
|
|
if (GET_CMD( deviceInfo.commandFromCloud) == E52_HEARTBEAT && deviceInfo.isOnline) {
|
|
if (GET_CMD( deviceInfo.commandFromCloud) == E52_HEARTBEAT && deviceInfo.isOnline) {
|
|
|
switch (GET_STEP(deviceInfo.commandFromCloud)) {
|
|
switch (GET_STEP(deviceInfo.commandFromCloud)) {
|
|
|
case HEARTBEAT_SEND:
|
|
case HEARTBEAT_SEND:
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
if (TRUE) {
|
|
if (TRUE) {
|
|
|
E52_Heartbeat_Fun();
|
|
E52_Heartbeat_Fun();
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, STEP_COMPLETE);
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, STEP_COMPLETE);
|
|
@@ -443,6 +450,7 @@ int main(void)
|
|
|
break;
|
|
break;
|
|
|
case STEP_COMPLETE:
|
|
case STEP_COMPLETE:
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
default:
|
|
@@ -456,6 +464,7 @@ int main(void)
|
|
|
if (GET_CMD( deviceInfo.commandFromCloud) == CONFIGURE_E52 && deviceInfo.isOnline) {
|
|
if (GET_CMD( deviceInfo.commandFromCloud) == CONFIGURE_E52 && deviceInfo.isOnline) {
|
|
|
switch (GET_STEP(deviceInfo.commandFromCloud)) {
|
|
switch (GET_STEP(deviceInfo.commandFromCloud)) {
|
|
|
case CONFIGURE_E52_SET_BROADCAST_TYPE: //第一步,配置广播类型
|
|
case CONFIGURE_E52_SET_BROADCAST_TYPE: //第一步,配置广播类型
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
E52_CONFIG_BROADCAST_TYPE_FUN(deviceInfo.broadcast_type);
|
|
E52_CONFIG_BROADCAST_TYPE_FUN(deviceInfo.broadcast_type);
|
|
|
HAL_Delay(2000);
|
|
HAL_Delay(2000);
|
|
|
if (deviceInfo.broadcast_type == BROADCAST_ALL) {
|
|
if (deviceInfo.broadcast_type == BROADCAST_ALL) {
|
|
@@ -472,10 +481,9 @@ int main(void)
|
|
|
break; //如果是单波,多播,配置目标地址
|
|
break; //如果是单波,多播,配置目标地址
|
|
|
|
|
|
|
|
case STEP_COMPLETE:
|
|
case STEP_COMPLETE:
|
|
|
- if (TRUE) {
|
|
|
|
|
|
|
+ E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
E52_Heartbeat_Fun();
|
|
E52_Heartbeat_Fun();
|
|
|
- }
|
|
|
|
|
- deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
|
|
|
|
+ deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
default:
|