Я использую модуль Wi-Fi ESP-01 / ESP8266, чтобы установить SSL-соединение с моим проектом Google Firebase. Я уже могу записывать / читать в / из базы данных, используя протокол HTTP и REST API, и моя следующая цель - переключить протокол на WebSocket, чтобы сервер и клиент (моя доска объявлений) могли говорить по этому протоколу после начальной рукопожатие. В настоящее время я даже не заставляю хенджкинг работать, и в этот момент я застрял.
То, что я пробовал до сих пор:
(1) Сначала я открываю сокет TCP с SSL, подключаюсь к wss: //eletronica-ab6b1.firebaseio.com, порт 443 . Шаги SSL выполняются модулем Wi-Fi, одна из его функций - SSL / TLS.
(2) После установления соединения я отправляю на сервер следующий HTTP-пакет, фактически являющийся только заголовком HTTP без данных. Пакет:
GET /January HTTP/1.1
Host: eletronica-ab6b1.firebaseio.com
Upgrade: Websocket
Connection: Upgrade
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Это ответ сервера:
Почему я использовал «Январь»? Проверьте, это моя база данных:
Что мне нужно изменить, чтобы работать? Я имею в виду содержание заголовков, а также подключение к домену.
С уважением.
РЕДАКТИРОВАТЬ: Моя конечная цель: плата stabli sh постоянное TCP-соединение с сервером Firebase. Когда значение базы данных будет изменено, сервер будет уведомлен об этом через протокол, поэтому он не будет нуждаться в том, чтобы доска продолжала опрашивать сервер (каждые X секунд), чтобы узнать, изменилось ли значение. Я на правильном пути, чтобы достичь этого? Используете протокол WebSocket?