Как подключить модуль Wifi ESP8266 к firebase через STM32CubeIDE

Я работаю над встроенным проектом на плате STM32F103rb Nucleo-64.

Проект содержит Wifi-модуль ESP8266. Я пишу код в рабочей области STM32CubeIDE.

Есть ли способ подключить Wifi-модуль ESP8266 к firebase через рабочую среду STM32CubeIDE?
Или это невозможно? Спасибо заранее!


person Mana    schedule 29.12.2020    source источник
comment
Ваш вопрос не ясен. Вы имеете в виду, что хотите написать и скомпилировать код ESP8266 в STM32Cube IDE? Это невозможно, поскольку компиляторы разные. или вы хотите использовать ESP8266 в качестве экрана WiFi для STM32 для доступа в Интернет? это вполне возможно, на самом деле существует более одного способа сделать это.   -  person hcheung    schedule 30.12.2020
comment
Большое спасибо за ваш ответ @hcheung! Я уточню вопрос: я хочу создать ситуацию, когда датчик движения, обнаруживающий движение, уведомит firebase, если движение было, тогда сторона приложения (которую я пишу в Angular) получит обновление об обнаружении движения от firebase. Я знаю, что вы можете связать сторону приложения с firebase, но связывание встроенной стороны с firebase все еще кажется мне черной дырой. Итак: можно ли сделать встроенную боковую ссылку на firebase с помощью ESP8266? Нужно ли создавать серверную часть или нет? Благодарю вас!   -  person Mana    schedule 30.12.2020


Ответы (1)


Обновить

Текст выделения содержит разъяснения в соответствии с комментарием @ Oz Edri.

На основании ваших комментариев. Есть два способа добиться желаемого.

  1. Чтобы ESP8266 имел прошивку AT Command, а STM32 связывался с ESP8266 через AT-команды для установки SSL-соединения через TCP с сервером firebase. В этом случае ESP8266 выступает просто как WiFi-модуль.
  2. Чтобы ESP8266 действовал как Arduino, и вы проектируете и пишете свой интерфейсный протокол и команды между STM32 и ESP8266 (через SPI, I2C или UART). В этом случае ESP8266 обрабатывает большую часть связи, в то время как STM32 взаимодействует с датчиками и т. д.

В своих проектах я использовал оба способа, у меня есть сообщение в блоге, которое может дать вам дополнительные сведения о том, как его реализовать.

person hcheung    schedule 30.12.2020
comment
Благодарю вас! Информация очень полезная, и я обязательно прочитаю ваш блог! - person Mana; 30.12.2020
comment
В своем сообщении в блоге, в последнем абзаце использования ESP-01 в качестве экрана WiFi, вы написали, что это работает хорошо, если я отправляю запрос только на веб-сервер, который не требует SSL. Но вот в варианте 1 вы написали установить соединение https. Так что мне непонятно, можно или нет подключиться к Firebase, запустив AT-команды. Не могли бы вы уточнить? - person Oz Edri; 15.07.2021
comment
Приношу свои извинения, извините за вводящую в заблуждение информацию. Набор AT-команд не поддерживает SSL. Прошло некоторое время, но я помню, что одна из проблем, с которыми я столкнулся, заключалась в том, чтобы найти AT-команды для поддержки HTTPS, которых нет в документации по AT-командам. - person hcheung; 15.07.2021
comment
@OzEdri Извините, что ввел вас в заблуждение, я только что понял, что SSL может быть установлен с помощью TCP AT-команды, такой как AT+CIPSTART="SSL","url",443, вы можете взглянуть на раздел 5.2 Набор AT-команд ESP8266 - person hcheung; 27.07.2021
comment
@hcheung Спасибо за ваш комментарий. Подключение к Firebase с помощью команды AP+CIPSTART=SSL отклоняется с ошибкой (выход этой команды — ОШИБКА), а затем соединение закрывается (выход ЗАКРЫТ). Возможно подключение SSL к другим сайтам, включая google.com. Подключение к Firebase также было возможно несколько недель назад, вероятно, из-за изменения версии TLS на их стороне. Не уверен, что у вас все еще есть работающая установка, чтобы попробовать это и подтвердить, но если да, попробуйте и обновите. Спасибо. - person Oz Edri; 28.07.2021
comment
@OzEdri Лично я еще не пробовал. Вы используете корневой ЦС или дополнительный сертификат? Вы читали Руководство пользователя ESP8266 SSL? Надеюсь, это даст больше информации. - person hcheung; 29.07.2021
comment
@hcheung Спасибо за подтверждение. Я не использую корневой центр сертификации или какой-либо сертификат. Просто открываю соединение, чтобы отправить больше информации. С некоторыми сайтами, такими как google.com, работает. С другими, такими как firebaseio.com, это не так, хотя раньше - и поэтому мы предполагаем, что это связано с изменением версии TLS на их стороне. Видите ли, AT-команды поддерживают TLS 1.1, и все больше и больше сайтов переходят на более новую версию TLS. - person Oz Edri; 03.08.2021