• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Отправка сигнала через Serial порт в esp8266 через USB Shield.

Bzdun

New member
Здравствуйте! Простите, может я и не попадаю в тематику форума, просто не знаю, куда обратиться. У меня возникла большая проблема: мне хотелось бы с помощью Serial Monitorа на одном компьютере отправлять число на модуль ESP8266-ESP01, после чего модуль отправлял бы его на другой компьютер. Это всё прекрасно работает без USB-Shield. Но, когда я его подключаю (а он важен для моего проекта), число, отправляемое мной, как-будто не доходит до модуля. А просто при старте модуля те слова, которые сопровождают подключение к WiFi и т.п., превратились просто в кучу цифр, которые приходят в Serial Monitor. Мою схему подключения, скриншоты программы и Serial Monitorа прилагаю. Подскажите, пожалуйста, что я делаю не так, это же не невозможная задача?)
 

=AK=

New member
Попробуйте снизить скорость SoftwareSerial до 9600. Я думаю, USB Host шилд отжирает много ресурсов от Ардуины и ей перестает хватать производительности для SoftwareSerial, настроенной, как у вас, на максимально возможную скорость.
 

Bzdun

New member
Попробуйте снизить скорость SoftwareSerial до 9600. Я думаю, USB Host шилд отжирает много ресурсов от Ардуины и ей перестает хватать производительности для SoftwareSerial, настроенной, как у вас, на максимально возможную скорость.
К сожалению, не помогло, почему-то посылаются и в одну, и в другую сторону только комбинации двузначных и трёхзначных чисел. То есть модуль, когда я ему пишу 111111, посылает на компьютер по WiFi просто отдельные числа 49 49 49 49 49 49 13 10. Может что то не так с кодировками?
 

Сергей_Ф

Moderator
Команда форума
@Bzdun у Ардуино ЮНО скорость программного последовательного порта ограничена 9600 бод. Только тогда можно гарантировать работу SoftwareSerial
 

Bzdun

New member
@Bzdun у Ардуино ЮНО скорость программного последовательного порта ограничена 9600 бод. Только тогда можно гарантировать работу SoftwareSerial
Да, я это уже понял, спасибо, но, как я уже ответил =AK=, почему-то посылаются и в одну, и в другую сторону только комбинации двузначных и трёхзначных чисел. То есть модуль, когда я ему пишу 111111, посылает на компьютер по WiFi просто отдельные числа 49 49 49 49 49 49 13 10.
 

Bzdun

New member
а что это по вашему? Вы послали строку, ее и получили. Просто вывели её как набор байт "111111/n/r"
Да, я это прекрасно понимаю, но, если я отправляю без USB Shieldа, то мне и приходит 111111 сразу. Могу ли я это всё дело расшифровать ещё до отправления сигнала? И какая это кодировка, чтобы в крайнем случае на компьютере дорабатывать программу по расшифровке?
 

Сергей_Ф

Moderator
Команда форума
я это прекрасно понимаю,
Извините, но нет. Не понимаете.
какая это кодировка,
В какой послали, такая и есть кодировка. Хотя для цифр это без разницы.

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

Bzdun

New member
Всё, решил данную проблему, тему можно закрывать. Кодировка, которая приходила, была ASCII, и пришлось и на компьютере, и в Arduino дописывать коды для расшифровки.
 
Сверху Снизу