Как создать приложение, которое определяет и измеряет процент газа в определенной области?

Как только я получаю процент газа от платы Arduino, я проверяю этот процент, если высокий, приложение будет отправлять SMS с текущим местоположением.
проблема в том, что до тех пор, пока процент высок приложение продолжает отправлять sms-сообщение бесконечно, пока процент не вернется в нормальное состояние!

Я предполагаю, что проблема может быть решена путем создания таймера, но я не уверен, как это будет реализовано.

также не уверен, как создать метод, который возвращает текущее местоположение?

2 ответа

  1. Установите логический флаг, определяющий, было ли уже отправлено sms. Сбросьте это, как только процент опустится ниже указанного уровня.

  2. Есть два общих способа сделать это. Первый метод просто использует логическую переменную, чтобы указать, если вы отправили SMS или нет. Установите его на Trueкогда вы отправляете SMS, и после Falseтого как ваш уровень газа идет назад под вашим порогом.

    Есть большой недостаток в этом: если ваш датчик газа парит вокруг порога (поднимаясь над ним, а затем снова опускаясь), ваш SMS-код может быть вызван несколько раз. Чтобы избежать этого, можно использовать второй способ: сохранить отметку времени, когда было отправлено последнее сообщение, и избежать повторной отправки в течение заданного периода времени.

    Если вы используете только метод два, вы будете получать постоянные уведомления, когда период времени (если уровень газа превышает порог), но если вы объедините его с методом один, вы должны получать только 1 сообщение каждые xминуты и только когда уровень газа впервые поднимается выше порога.