The HTTP async method not working and the data never post when I run this in raspberry pi. The distance monitoring method still running but just the data doesn't post Codes
IUltrasonicRangerSensor sensor = DeviceFactory.Build.UltraSonicSensor(Pin.DigitalPin8);
private int distance = 200;
int count = 0;
ILed ledRed = DeviceFactory.Build.Led(Pin.DigitalPin5);
ILed ledGreen = DeviceFactory.Build.Led(Pin.DigitalPin6);
private void Sleep(int NoOfMs)
{
Task.Delay(NoOfMs).Wait();
}
private async void startDistanceMonitoring()
{
await Task.Delay(100);
int distanceRead = 200;
while (true)
{
Sleep(1000);
count++;
distanceRead = sensor.MeasureInCentimeters();
if (distanceRead < 200 && distanceRead > 0)
distance = distanceRead;
await sendtoapi();
}
}
private async Task sendtoapi()
{
using (var client = new HttpClient())
{
var values = new Dictionary<string, string>
{
{ "userName", "qwee" }
};
var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync("https://google.com", content);
Sleep(10000);
var responseString = await response.Content.ReadAsStringAsync();
}
}
public void Run(IBackgroundTaskInstance taskInstance)
{
startDistanceMonitoring();
Sleep(300);
Debug.WriteLine("count = " + count + " ,distance=" + distance);
while (true)
{
if (distance >= 150)
{
Debug.WriteLine("EMPTY LOT");
Sleep(1000);
ledGreen.ChangeState(SensorStatus.On);
ledRed.ChangeState(SensorStatus.Off);
}
}
}