Отправка штрих кодов на mysql сервер

Доброго дня!
Помогите пожалуйста правильно сформировать запрос для отправки штрих кодов через serial порт на mysql сервер.
Делаю так:

  http.begin(serverName + "?barcode=" +  Serial2.readString());
  int httpCode = http.GET();

Но поседнее (Serial2.readString() ) не отправляется. Скорее это какойт другой тип данных который нужно преобразовать для начала до отправки на сервер. Но как ?

вот так все работает, тость в url barcode принимает значени 476934695834 и через php добавляется значение в mysql базу, в таблицу:

http.begin(serverName + "?barcode=" +  "476934695834");
  int httpCode = http.GET();

Если дописать Serial.println(Serial2.readString()); все нормально, значение выводится…

Нужно сначала прочитать что такое readString и как работает

1 лайк

Serial.readString() - возвращает строку с данными, считанными из буфера последовательного порта.

В моем коде переменная serverName тоже строка и она выодится…
String serverName = “адрес”;
Не пойму в чем дело. Не подскажете ?

А откуда это значение в Сериал берется, вы его в мониторе вручную набираете?

Попробуй сначала это строке присвоить.

Через модуль MH-ET LIVE Barcode Scanner V3.0.

Как только сканирую продукт посылает на serial port.
Вот так Serial.println(Serial2.readString()); все нормально, выводится баркод.

Вопрос в том, что оно выдает в порт, кроме баркода. Например служебные символы перевода строки. И если выдает, то сколько.

1 лайк

Проверю и скажу. Скорее символ Enter после строки штрих кода. Как это можно убрать ?

Как убрать последний символ из строки ?

Там 2 знака enter после штрих кода. Как с этим боротся ? Скорее мне нужна функция которая обрезает 2 последних символа.

А еще пробовал вот так:

String inputString = Serial2.readString();
inputString.trim();
Serial.println(inputString);
      //  String inputString= "34938645936495638459683945936459349563495936495364953";  // работает
    http.begin(serverName + "?barcode=" +  inputString);

Через Serial.println(inputString); ничего не получаю. Запрос отправляется но вместо inputString пустота…

Придется повторить для особо тугих, видимо.

Где именно читать ?

В инструкции к стиральной машинке, наерна. Где ж еще-то такие вещи читать…

Спасибо всем, буду искать в стиральной машине… Зря я вас отвлекаю.

Ну, если гугл тебя предал анафеме, то вот тебе ссылка

trim() не убирает служебных символов.
Самое правильное - написать свою функцию. Символы перевода строки имеют совершенно конкретные коды - 10 и 13. Нужно проверить, какими символами заканчивается строка - и если там есть 10 и.или 13 - удалить их все.

Но что-то у меня нет уверенности, что причина в этом. Вон @rkit зачем-то все советует про readString() читать. Ну пошел, прочитал… ничего нового не увидел.
Хотя что с меня взять, безграмотный я.