private async Task LogInIotHub() { TypeJson command_json = new TypeJson(); if (NowNetSta == false) { return; } if (IotHubConnectFlag == false) { return; } if (TeamName == null) { Debug.WriteLine("Please don't let your teamname void when you call methods 'new IotHubLocalService(xx,xx,xx)'"); await Task.Delay(TimeSpan.FromSeconds(4)); } else { if (LoginF == false) { try { Debug.WriteLine("Start to log in\r\n"); LoginInJson login_msg = new LoginInJson(); login_msg.deviceId = BoardId; login_msg.name = TeamName; var messageString = JsonConvert.SerializeObject(login_msg); command_json.Type = 1; command_json.Command = messageString; messageString = JsonConvert.SerializeObject(command_json); var message = new Message(Encoding.ASCII.GetBytes(messageString)); IAsyncAction Action = deviceClient.SendEventAsync(message); await Action; if (Action.Status == AsyncStatus.Completed) { Debug.WriteLine("Log in Success"); LoginF = true; } else { Debug.WriteLine("Log in Fail"); await Task.Delay(TimeSpan.FromSeconds(10)); } } catch (Exception ex) { Debug.WriteLine("Login iot hub fail,please check your teamname and internet" + ex.Message); await Task.Delay(TimeSpan.FromSeconds(10)); } } } }
private async Task SendModelDataToIot() { TypeJson command_json = new TypeJson(); if (NowNetSta == false) { return; } if (IotHubConnectFlag == false) { return; } if (LoginF == true) { if (EnableTransfer == 1) { if (CheckTimerStrikeSecond(SendRunDataDelay, 5)) { SendRunDataDelay = DateTime.Now; try { SendMotorRunStatusJson car_run_msg = new SendMotorRunStatusJson(); car_run_msg.deviceId = BoardId; car_run_msg.RunTime = Motor.RunTime; car_run_msg.RunDistance = Motor.RunDistance; var messageString = JsonConvert.SerializeObject(car_run_msg); command_json.Type = 6; command_json.Command = messageString; messageString = JsonConvert.SerializeObject(command_json); var message = new Message(Encoding.ASCII.GetBytes(messageString)); await deviceClient.SendEventAsync(message); Debug.WriteLine("Send car run data ={1}", 1, messageString); } catch (Exception ex) { Debug.WriteLine("Send Run Data error" + ex.Message); } } } } else { await Task.Delay(TimeSpan.FromMilliseconds(30)); } }