Связь между ESP8266-01 и NUCLEO-F030R8 - PullRequest
0 голосов
/ 08 ноября 2019

Мне было поручено выяснить, как заставить мобильное приложение взаимодействовать с MCU, а затем управлять шаговым двигателем. Прямо сейчас я пытаюсь заставить модуль WiFi (ESP8266-01) и MCU (NUCLEO-F030R8) хорошо играть друг с другом. Подвох в том, что у меня мало опыта или нет образования в этой области. Ближайший опыт, который у меня есть, это простые наброски Arduino, сделанные много лет назад (значения фоторезистора в IE, приводящие в движение шаговый двигатель) и создание настольных приложений на C #. Я использую STM32CubeIDE, но если есть лучший вариант, я могу переключиться на это.

Мне очень нужна помощь по отправка и получение простых данных между смартфоном и MCU через модуль WiFi . Я прочитал документацию и другие вопросы, но до сих пор точно не знаю, с чего начать.

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

Извините, если это слишком много, и спасибо заранее.

1 Ответ

1 голос
/ 11 ноября 2019

Этот проект будет включать следующие подключения.

  1. Соединение UART между STM32 и ESP8266.
  2. Соединение WiFi между ESP8266 и мобильным телефоном.
  3. Протокол прикладного уровня между ESP8266 и приложением, запущенным на мобильном телефоне.

Для 1 вы можете фактически запрограммировать ESP8266 с помощью Arduino IDE и просто соединить выводы UART TX / RX ESP8266 с RX / TXконтакты STM32 соответственно. Вы можете создать тестовый проект, в котором ESP8266 отправляет данные в STM32 через UART для проверки этого соединения.

Для 2 вам необходимо рассмотреть режим сети Wi-Fi, т.е. определить, будет ли соединение Wi-Fi одноранговым(мобильная связь подключается к ESP8266 напрямую) или в режиме инфраструктуры (мобильная связь и ESP8266 подключаются через общую точку доступа). Вы можете настроить ESP8266 в обоих режимах. Вам просто нужно запрограммировать SSID и пароль сети Wifi в ESP8266 (в случае ad-hoc это SSID сети, объявленной ESP8266, а в режиме инфраструктуры - SSID общей точки доступа). Эта функциональность Wi-Fi также легко программируется в Arduino IDE для ESP8266.

Наконец, как только физическое соединение установлено между ESP8266 и мобильным устройством, вам необходим протокол уровня приложения для подключения приложения, работающего на мобильном телефоне. с ESP8266. Вы можете использовать сокетное соединение между ESP8266 и мобильным приложением или использовать протокол связи более высокого уровня для устройств IoT, таких как MQTT, который также доступен в Arduino IDE.

Окончательная схема подключения может выглядеть примерно так:

application -> mqtt msgs -> wifi packets -> esp8266 recv pkts -> parse mqtt msgs -> forward data to STM32 over UART
...