Вместимость приемного буффера задаете Вы сами. А как определить конец передачи или готовность данных определять Вам самим. Так что бизнес логику придется делать самому.
Вам привели пример. Где есть прерывание по приему данных по уарт
void USART1_IRQHandler() {
...
}
Вот тут вся магия п приему и происходит. Хотите отслеживайте \r\n, хотите +. А можете смотеть только на один байт. Я так делал когда надо было принимать СМС от gsm модема на pic16f628a. Считал...
Вроде как без разницы с чем обмен вести. Вам надо usart завести на 115200 и ловить прерывания по нем. Слаживать байтики в массив и следить за контролем переполнения буффера. А если Вам нужен раблочий код со всей бизнес логикой то думаю ищете не тут.
Народ, матов не хватает.
Какие нафиг стеки, и прочая чухня!
ТС перепрошей esp прошивкой что я указал.
Времени потрачено тьма на писанину, больше чем разобраться с api. Если Вам надо готовое решение, то в наймите человека.
Перестаньте писать бред
Не знаю почему, но от слова скетч меня начинает трести от злости! Дурацкое слово.
И так, по ардуино ide есть пару вопросов:
1) Можно ли менять скорость UART?
2) Модно ли и как обрабатывать прерыванания UART?
Вы имеете ввиду написать прошивку для esp? Тоже в глове такая идея. Но покуда остается идеей. Купил платку разведенную с esp, но останавливает отсуствие или недуступность быстрого старта под это дело. Как установить студию, настроить, внятное обьяснение как кодить и про трипер с памятью. Это тут...
Вы можете работать с UART? Отправлять данные и по прерываю принимать?
Если нет, то начните с обучения работы с этим интерфейсом.
А если с этим все гуд, то обратите внимание на прошивку для ESP http://esp8266.ru/download/sdk/AT25-SDK112-512k.bin
И на описание команд...
Ну вообще-то работать с ESP Вам не нужен год изучения технологии.
1) Инициализируете на хосте (центральное устройство) точку доступа, за тем на этом хосте запускаете сервер.
2) Девайсы клиенты коннектите к точке доступа и подымаете соединение с сервером. Предварительно каждому девайсу дайте ID...
Если на ардуине (тьфу... не люблю я это дело), то Вам надо изучить
1) Работа АЦП - меряем напряжение и ток
2) UART - работаем с ESP
3) Таймер - считаем время если надо считать что выдала батарея, если нет то нафиг
Из обвеса -
1) резистивный делитель для измерения напряжения батареи
2) Шунт -...
1) поставить внешний контроллер + память или заюзать внутреннюю API для подключения внешней памяти
2) мощность на максимум ESP
Я использую в качестве сервера андроид и NIO сервер (он не блокирующий). У меня тоже связь не стабильная, движущиеся объекты.
А защитить свой код от копирования из EAT в sim800?
Мне кажется, что проще взять контроллер за полбакса и четко все контролировать.
Тем более, его можно залочить.