|
|
@@ -321,9 +321,9 @@ int main(void)
|
|
|
printf("开启Lora广播模块\r\n");
|
|
|
E52_CONFIG_BROADCAST_TYPE_FUN(BROADCAST_ALL);
|
|
|
HAL_Delay(2000);
|
|
|
-
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
-
|
|
|
+ const char *lora_msg1 = "AT+TYPE=0";
|
|
|
+ HAL_UART_Transmit(&huart2, (uint8_t *)lora_msg1, strlen(lora_msg1), HAL_MAX_DELAY);
|
|
|
+ HAL_Delay(2000);
|
|
|
const char *lora_msg3 = "AT+HEAD=0";
|
|
|
HAL_UART_Transmit(&huart2, (uint8_t *)lora_msg3, strlen(lora_msg3), HAL_MAX_DELAY);
|
|
|
HAL_Delay(2000);
|
|
|
@@ -348,10 +348,7 @@ int main(void)
|
|
|
|
|
|
/* Infinite loop */
|
|
|
/* USER CODE BEGIN WHILE */
|
|
|
- HAL_Delay(5000);
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
- E52_Heartbeat_Fun();
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
+
|
|
|
printf("设备地址:0x%02X%02X\n", deviceInfo.loraDeviceAddress_H, deviceInfo.loraDeviceAddress_L);
|
|
|
|
|
|
|
|
|
@@ -365,15 +362,11 @@ int main(void)
|
|
|
// 检查是否接收到"心跳"命令,且设备在线
|
|
|
printf("设备状态:0x%02X\n", deviceInfo.commandFromCloud);
|
|
|
printf("Device is ready: %d\r\n", deviceInfo.isOnline);
|
|
|
- E52_CtlPowerOn_Fun();
|
|
|
-
|
|
|
// schedule_Fun();
|
|
|
// 心跳:不在线时,每 10 秒发一次
|
|
|
if (!deviceInfo.isOnline) {
|
|
|
if (IsTimeElapsed(&hrtc, &Online_struct, 10)) {
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
E52_Heartbeat_Fun();
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -398,7 +391,6 @@ int main(void)
|
|
|
if (GET_CMD(deviceInfo.commandFromCloud) == REQUEST_BLUETOOTH_DATA && deviceInfo.isOnline ) {
|
|
|
switch (GET_STEP(deviceInfo.commandFromCloud)) {
|
|
|
case REQUEST_BLUETOOTH_DATA_SCAN:
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
deviceInfo.BlDataFlag = BL_STOP;
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, REQUEST_BLUETOOTH_DATA_SEND);
|
|
|
break;
|
|
|
@@ -424,7 +416,7 @@ int main(void)
|
|
|
break; //发送数据阶段
|
|
|
case STEP_COMPLETE:
|
|
|
deviceInfo.forwardBLAndLoraDataDuration = 0;
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
+ // i = 0;
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
break;
|
|
|
|
|
|
@@ -442,7 +434,6 @@ int main(void)
|
|
|
if (GET_CMD( deviceInfo.commandFromCloud) == E52_HEARTBEAT && deviceInfo.isOnline) {
|
|
|
switch (GET_STEP(deviceInfo.commandFromCloud)) {
|
|
|
case HEARTBEAT_SEND:
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
if (TRUE) {
|
|
|
E52_Heartbeat_Fun();
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(REQUEST_BLUETOOTH_DATA, STEP_COMPLETE);
|
|
|
@@ -450,7 +441,6 @@ int main(void)
|
|
|
break;
|
|
|
case STEP_COMPLETE:
|
|
|
deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
@@ -464,7 +454,6 @@ int main(void)
|
|
|
if (GET_CMD( deviceInfo.commandFromCloud) == CONFIGURE_E52 && deviceInfo.isOnline) {
|
|
|
switch (GET_STEP(deviceInfo.commandFromCloud)) {
|
|
|
case CONFIGURE_E52_SET_BROADCAST_TYPE: //第一步,配置广播类型
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_TERMINAL);
|
|
|
E52_CONFIG_BROADCAST_TYPE_FUN(deviceInfo.broadcast_type);
|
|
|
HAL_Delay(2000);
|
|
|
if (deviceInfo.broadcast_type == BROADCAST_ALL) {
|
|
|
@@ -481,9 +470,10 @@ int main(void)
|
|
|
break; //如果是单波,多播,配置目标地址
|
|
|
|
|
|
case STEP_COMPLETE:
|
|
|
- E52_AT_TYPE_Fun(E52_TYPE_REPEATER);
|
|
|
+ if (TRUE) {
|
|
|
E52_Heartbeat_Fun();
|
|
|
- deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
+ }
|
|
|
+ deviceInfo.commandFromCloud = COMBINE_CMD_STEP(IDLE, STEP_INIT);
|
|
|
break;
|
|
|
|
|
|
default:
|