1

Topic: Авторизация в облаке

Доброго дня.
Поскольку дату начала поддержки GSM модулей для подключения через облако никто назвать не может, решил разрабатывать эту тему самостоятельно (есть большая необходимость).
Основываясь на логе подключения через ESP8266 написал скетч для связки MEGA2560+A6.
Коннект с облаком есть, а вот как авторизоваться не понял (передать токен).
Прошу помощи.
P.S. Как вставить скриншоты не знаю.

2

Re: Авторизация в облаке

Если вы решили сами написать этот модуль, мы только приветствуем.
На самом деле вам необходимо реализовать только коннект что бы модуль отправлял и принимал данные. Подключить ваш модуль правильным образом к библиотеке RemoteXY. Далее библиотека сама все сделает. Но вам придется разобраться в коде библиотеки для всего этого.

3

Re: Авторизация в облаке

Работаю над этим.

4

Re: Авторизация в облаке

Вопрос по переменной sid в файле RemoteXYComm_AT.h.
В строке uint8_t res = sendATCommandForResult (AT_MESSAGE_CIPSTART, sid, ",\"TCP\",\"", host,"\",", sport,NULL);
Как я понял, это идентификатор присоединения клиента.
Судя по логу в мониторе Serial  порта, sid равен 3, и соответственно строка приобретает вид
[   11.266] -> AT+CIPSTART=3,"TCP","cloud.remotexy.com",6376
т.е. идет указание на трансляцию данных через Serial3, тогда как модем подключен к Serial1.
В скетче прописан Serial1:
remotexy = new CRemoteXY (RemoteXY_CONF_PROGMEM, &RemoteXY, "");

  CRemoteXYStream_HardSerial * stream_Serial1 = new CRemoteXYStream_HardSerial (&Serial1, 115200);

  CRemoteXYComm_GSM * GSM =  new CRemoteXYComm_GSM
  (
    stream_Serial1,
    "internet",
    "gdata",
    "gdata"
  );
remotexy->addConnection (new CRemoteXYConnectionCloud(GSM, "cloud.remotexy.com", 6376, "368f702616c942129c8a775aecxxxxxx"));
Откуда берется 3?

5

Re: Авторизация в облаке

pkilimnik wrote:

Откуда берется 3?

Это номер клиента в ESP8266.
Но будет лучше если вы обратитесь к документации на AT команды ESP8266.

6

Re: Авторизация в облаке

Судя по команде AT+CMUX=1 подключение идет множественное. Тогда назначение идентификатора пользователя понятно.
Но, если выставить AT+CMUX=0, то подключение к серверу становится невозможным.
Принципиально, чтобы подключение было именно множественным или достаточно исключить из строки
uint8_t res = sendATCommandForResult (AT_MESSAGE_CIPSTART, sid, ",\"TCP\",\"", host,"\",", sport,NULL);
параметр sid? Какую роль он играет в данном случае.
Спрашиваю, потому что большинство GSM модемов не могут осуществить множественное подключение.

7

Re: Авторизация в облаке

Если не могут, то не используйте эту возможность. В ESP8266 это сделано для реализации сервера, т.е. модуль поддерживает до 4-х одновременных подключений, входящих или исходящих. В вашем случае у вас только одно исходящее подключение.