Официальный сайт компании Arduino по адресу arduino.cc
Отправка данных на thingspeak
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сб, 17/08/2019 - 17:01
Здравствуйте.
Мне необходимо отслеживать состояние 2х датчиков и при срабатывании отправлять время срабокти на thingspeak.
Но записать данные получается очень редко. На 30 попыток может произойти 1 передача.
Передача данных проивзодится по GPRS используя GPRS-shield от Амперки, на борту которого SIM800C.
При запуск модуль включается, получает IP сети. Настройки интернета выставлены верно.
Прошу подсказать где я допустил ошибку.
Мучаюсь уже 2й день, буду признателен за любой совет.
Код прилогаю ниже:
Moderator : пожалуйста, вставьте код правильно - http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
Вставьте код по правилам форума, чтобы можно было указать номер строки с ошибкой. А пока просто - проверьте условия, в одном из них в логическом операторе потеряли символ
неужели даже после подсказки не нашли? - строка 61
Ошибку нашел, исправил. Но проблема не делать.
Диагностируя состояние переменных через Serial обнаружил, что операции объединения строк в функции "send_info" не производятся. В чем может быть проблема?
может не ту ошибку исправили?
Если не формируется url, то выведите на экран переменные в условиях, и посмотрите какие условия у вас сработают.
В условии нехватало одного "&". Верно ?
Так и делаю. Условия срабатывают верно, но url не формируется.
Если объявить url без контактенации, то он отобразиться, но дальнейшие манипуляции с ним ни к чему не приводят
if
((millis() - send_timestamp > MIN_SEND_INTERVAL * 1000) & (need_send_info_1 || need_send_info_2))
Вы сдесь проверяете три разных условия или пытаетесь произвести булевую операцию?
Условия срабатывают верно, но url не формируется.
Так не бывает.
вставьте вывод url в Сериал после каждой конкатеации и покажите результат
Проблема решена. Использовал макрос F() для вывода диагностических сообщений в порт и перенес объявление переменной в основной цикл.
Видимо происходило переполнение памяти и неверная запись.