1 (edited by Ilya 2017-03-25 18:02:18)

Topic: Ошибка приложения при подключении к wifi

Здравствуйте. Прежде всего хочу выразить благодарность разработчику за смелую идею, грамотную реализацию и подробное техническое руководство.
Теперь о проблеме.
Приложение установил с playmarket, бесплатную версию. Подключил модуль wifi ESP8266 к UNO через hardware serial. Появилась сеть RemoteXY. Ноутбук к ней подключается без проблем, смартфон тоже. Но при попытке выполнить подключение из приложения, выскакивает окно с сообщением об ошибке подключения. Посмотрите вложенные скрины. Что это может быть и как победить проблему?

http://s013.radikal.ru/i325/1703/5f/ff968e6f4d23.jpg

http://i069.radikal.ru/1703/66/8ef412867d41.jpg


Это основные сведения о формируемой модулем сети:
SSID:    RemoteXY
Протокол:    802.11g
Тип безопасности:    WPA2-Personal
Диапазон сети:    2,4 ГГц
Канал сети:    10
IPv4-адрес:    192.168.4.3
Изготовитель:    Ralink Technology, Corp.
Описание:    Плата беспроводных сетей 802.11n Wireless LAN
Версия драйвера:    5.0.57.0
Физический адрес (MAC):    08-3E-8E-22-E9-F5

2 (edited by Ilya 2017-03-25 18:04:37)

Re: Ошибка приложения при подключении к wifi

Ситуация несколько изменилась.
Почесал репу, почитал инструкцию.
Проверил связь ардуино с модулем. Её не было. Поменял скорость на 115200, дело сдвинулось.
Получил заветную последовательность:

http://s020.radikal.ru/i713/1703/79/4c71f2c3da8e.jpg

Картина ошибки подключения приложения стала другая, вот скриншот:

http://s019.radikal.ru/i611/1703/0b/37ddb01aa61e.jpg


На всякий случай привожу записи Arduino IDE, выводимые при компиляции скетча (крестиками (X) забил имя пользователя):

C:\Users\XXXXXXXXXX\Documents\Arduino\libraries\RemoteXY/modules/esp8266.h:197:192: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

   #define RemoteXY_Init() remotexy = new CRemoteXY (RemoteXY_CONF_PROGMEM, &RemoteXY, &REMOTEXY_SERIAL, REMOTEXY_SERIAL_SPEED, REMOTEXY_WIFI_SSID, REMOTEXY_WIFI_PASSWORD, REMOTEXY_SERVER_PORT)

                                                                                                                                                                                                ^

C:\Users\XXXXXXXXXXX\Documents\Arduino\project\project.ino:66:3: note: in expansion of macro 'RemoteXY_Init'

Скетч использует 6156 байт (19%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 403 байт (19%) динамической памяти, оставляя 1645 байт для локальных переменных. Максимум: 2048 байт.

3

Re: Ошибка приложения при подключении к wifi

Ни с того ни с сего вдруг стало выполняться подключение. Причём это происходит не каждый раз, а только после двух-трёх ошибок. Проект у меня простейший - один выключатель и одна кнопка на 13 выводе. Срабатывание (включение-отключение) светодиода происходит с большими задержками и как-то нестабильно. И через некоторое время выскакивает окно с ошибкой из предыдущего поста.
Но уже есть с чем работать! Это радует.

4

Re: Ошибка приложения при подключении к wifi

Вы пробовали заливать скетч без внесения какого либо дополнительного кода?
Попробуйте на смартфоне принудительно предварительно подключиться к сети через настройки. Потом подключаться из приложения.
Так же возможны проблемы с недостатком питания модуля ESP. Посмотрите в мониторе, что там выводится когда вы пытаетесь подключиться?

5 (edited by Ilya 2017-03-24 21:26:24)

Re: Ошибка приложения при подключении к wifi

Вижу, что мои скрины не видны. Переделаю.

Я не вносил в скетч никакого дополнительного "кода Да Винчи". Исправил только 9600 на 115200 и направил на повторную компиляцию.

О недостатке питания и у меня была догадка, но уже не оставалось времени, чтобы проверить. Поэтому подтверждения этой версии пока нет.  Модуль был запитан от 3.3 pin arduino board, а сама плата получала электропитание от внешнего стабилизированного источника 12В 0.5А.

6

Re: Ошибка приложения при подключении к wifi

Поправил ошибки с отображением иллюстраций. Только на картинки лучше не нажимать, потому что произойдёт переход на главную страницу сайта хостинга фотографий. Ничего интересного, кроме рекламы, там нет.

7 (edited by Ilya 2017-03-26 16:54:32)

Re: Ошибка приложения при подключении к wifi

Проблема разрешилась, но появились новые наблюдения и связанные с ними вопросы.

Проблема кроется в плате. Что именно там не работает должным образом, пока не вполне понятно. Скорее всего, преобразователь напряжения 3,3 В. Но не гарантированно.
В общем, взял плату ардуино другой модели, и всё заработало устойчиво. Скетч в неё заливал без каких-либо изменений. Быстро соединяется, управляющие команды исполняются без задержек.
Ниже фото обеих плат.

Вот эта не годится для работы с wifi модулем:

http://s020.radikal.ru/i710/1703/d0/15fd5db04346.jpg

Нельзя сказать, что она совсем уж негодная, просто не для этой работы.

Следующая плата работает хорошо. Я не испытывал её ранее, включил первый раз. Несмотря на то, что внешне она полностью соответствует UNO, это всё-таки китайская подделка. На обороте у неё написано "Made in Italy". Но я-то знаю, что и где покупал. Тем не менее, работает стабильно. Вот она:

http://s020.radikal.ru/i706/1703/92/4e5a084c5a98.jpg

Скетч в обе платы заливал одинаковый, ни одного знака не менял.

8 (edited by Ilya 2017-03-26 17:11:32)

Re: Ошибка приложения при подключении к wifi

Теперь можно перейти к вопросу.
Но сперва наблюдение. Вот мой проект: кнопка и выключатель на 13 выводе.

http://s019.radikal.ru/i639/1703/72/2bd95d29667b.jpg

Заметил я следующее:
- при включении светодиода выключателем он светится ярко, но при этом мерцает;
- при включении светодиода кнопкой он светится тускло (менее чем вполнакала) и при этом мерцает;
- при одновременно включённых выключателе и кнопке светодиод светит ярко и ровно, мерцание пропадает.

Понятно, что связано это явление с прерывистой подачей высокого уровня на 13 вывод.
Но вопрос следующий - это так задумано или тут кроется какая-то алгоритмическая ошибка? В аналоговой технике параллельно включённые кнопка и выключатель равнозначны. А здесь нет.

9

Re: Ошибка приложения при подключении к wifi

Да, здесь не аналоговая техника. Такие фишки не поддерживаются. Вы должны сами в программе разрулить управление пином от двух элементов управления. Мерцание вызвано как раз от поочередного включения или выключения то от одного элемента управления то от другого. Смотрите текст программы управления пинами, который был сгенерирован автоматически в функции loop.

10 (edited by Ilya 2017-03-30 07:57:00)

Re: Ошибка приложения при подключении к wifi

Спасибо, понятно. Вчера я приобрёл платную версию приложения. Не столько из-за того, что мне нужно более четырёх элементов на экране, сколько с целью материально поддержать проект. Вы делаете большое, важное и нужное дело.

В бесплатной версии заметил следующую неточность: при переходе в другое приложение и последующем возврате в RemoteXY (без выхода из приложения) в верхней части экрана размножается логотип "RemoteXY". Мне удалось получить пять таких надписей. Больше на экран не помещается.
Эта проблема никак не отражается на работоспособности приложения.


http://s020.radikal.ru/i718/1703/9c/80d5060f30ed.jpg

http://s45.radikal.ru/i109/1703/9d/09317774a065.jpg

http://s019.radikal.ru/i629/1703/02/c7b1479b1360.jpg

http://s002.radikal.ru/i198/1703/e8/19674889c362.jpg

11

Re: Ошибка приложения при подключении к wifi

Почему-то перестал компилироваться код.
Есть подозрение, что всё дело вот в этой строке:

#define REMOTEXY_MODE__ESP8266_HARDSERIAL_POINT

Раньше она формировалась вот в таком виде:

#define REMOTEXY_MODE__ESP8266POINT_HARDSERIAL

12 (edited by Ilya 2017-03-30 13:55:18)

Re: Ошибка приложения при подключении к wifi

Да. Дело именно в этом.  Меняю строку на старый вариант, и всё компилируется. Измучился, пока обнаружил подмену.
Вот сообщение об ошибке:

Arduino: 1.8.1 (Windows 10), Плата:"Arduino/Genuino Uno"

Изменены опции сборки, пересобираем все
In file included from C:\Users\XXXXXX\Documents\Arduino\REMOTEXY\Weather_project\Weather_project.ino:25:0:

C:\Users\XXXXXXXXX\Documents\Arduino\libraries\RemoteXY/RemoteXY.h:74:4: error: #error RemoteXY mode does not defined or defined error: REMOTEXY_MODE__XXXXXXX

   #error RemoteXY mode does not defined or defined error: REMOTEXY_MODE__XXXXXXX

    ^

exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

13

Re: Ошибка приложения при подключении к wifi

Вроде понял, в чём дело. Моя версия библиотеки была датирована 22.03.2017. Вышло обновление, несовместимое со старой версией. Надо чаще читать объявления.

14

Re: Ошибка приложения при подключении к wifi

Как вы быстро сами все находите! Восхитительно.
За поддержку проекта - спасибо!
Про размножение заголовка - у вас не последняя версия приложения? 4.0.1?

15

Re: Ошибка приложения при подключении к wifi

Да. Скрины были получены до обновления. Вероятно, предыдущая версия.

В интернете нашёл ещё одну ошибку RemoteXY. Орфографическую.
Вот в этом проекте  https://esp8266.ru/esp8266-remotexy/  правильным написанием слова "Текущяя" должно быть "Текущая".

http://s019.radikal.ru/i600/1703/59/e38b157488cf.jpg

16

Re: Ошибка приложения при подключении к wifi

Ilya wrote:

правильным написанием слова "Текущяя" должно быть "Текущая".

Спасибо, обязательно поправим.

17

Re: Ошибка приложения при подключении к wifi

Здравствуйте, у меня тоже проблема при подключении к wifi.
Контроллер - D1 mini
Среда разработки Arduino
Задача, читать данные с аналогового входа " А0 " и выдавать их в " текстовую строку "
Получаю код, заливаю в D1 mini, подключаюсь с телефона, всё ОК.
Стоит добавить в скетч строчку " int Val = analogRead(А0); " (больше ничего не добавляю),
выдаёт ошибку " Wi-Fi сеть 'WiFi XY' недоступна " Пробую читать данные в " Serial "
  int Val = analogRead(Pin);                     
  Serial.println(Val);
Всё читается.
В чём может быть проблема ?

18

Re: Ошибка приложения при подключении к wifi

Сейчас проверил добавлять строчку " int Val = analogRead(А0); " в любой рабочий скетч,
сразу выдаёт туже ошибку.

19

Re: Ошибка приложения при подключении к wifi

А почему Вы используете "А0" вместо "0", как это делается обычно? Не в этом ли кроется ошибка?

20

Re: Ошибка приложения при подключении к wifi

Проблема известная для ESP.
Думаю, связана с тем, что wifi точка доступа в этом модуле реализована программно. Чтение аналогового пина в каждом цикле контроллера вешает эту программу, и wifi пропадает.
Выход - читайте аналоговый пин с периодичностью. Какой периодичностью - не смогу вам ответить. Может кто подскажет.
Почитайте на форумах. Для примера http://arduino.stackexchange.com/questi … -with-wifi

21

Re: Ошибка приложения при подключении к wifi

Добрый день, может кто сталкивался с такой ошибкой? не могу понять что не так. Точка доступа появилась, на телефоне могу к ней подключиться, но когда пытаюсь через приложение подключиться, выскакивает это..

https://pp.userapi.com/c636827/v636827317/5afa0/-nVMov8V9rk.jpg

22

Re: Ошибка приложения при подключении к wifi

Проблема не в подключении к точке доступа. А в том, что на точке доступа не работает DHCP и она не может выдать свой корректный IP адрес, что бы далее обратиться к серверу устройства. Возможно, смартфон не может корректно получить адрес. 28.0.0.0 - это некорректный адрес. Мы заметили что эта проблема присуща модулям ESP у которых меньше 8 Мбит памяти. Точка доступа как таковая, подключается, однако работает не корректно.
Проверьте объем памяти вашего ESP8266. Это можно сделать так же посмотрев маркировку чипа памяти, который находится на плате рядом с чипом ESP8266. Если размер памяти составляет 4 Mbit и меньше (установлен чип 25Q40), скорее всего этот модуль не будет работать как точка доступа для RemoteXY.
Так же может быть вы не обновили прошивку ESP.
http://remotexy.com/ru/help/start/arduino-esp8266-ss/

23

Re: Ошибка приложения при подключении к wifi

Вы были правы! проблема крылась в прошивке. Не знаю в чем причина но заработало все только после того как перепробовал 5 прошивок разных версий. Заработало с "NONOS_SDK_V1.5.3"

24

Re: Ошибка приложения при подключении к wifi

https://pp.userapi.com/c636827/v636827317/5afa0/-nVMov8V9rk.jpg
у меня такая же ошибка, уже разные прошивки перепробовал, память 8Мбит, а приложение не подключается никак. Подскажите в чем еще может быть причина.

25

Re: Ошибка приложения при подключении к wifi

Плата wemos D1. Пытаюсь мерить напряжение через wifi.
Код ниже компилируется, но wifi пытается, но не удается подключится.
// АЦП равен 204.8 на вольт при напряжении питания 5 Вольт
  double val = analogRead(A0) / 204.8; 
  dtostrf(val, 0, 2, RemoteXY.text_1);

Код ниже компилируется и передает значение напряжения в порт.
// АЦП равен 204.8 на вольт при напряжении питания 5 Вольт
  double val = analogRead(A0) / 204.8; 
  Serial.println(val);
  //dtostrf(val, 0, 2, RemoteXY.text_1);

Код ниже компилируется и на дисплее сматфотна высвечивается 204.8.
// АЦП равен 204.8 на вольт при напряжении питания 5 Вольт
  //double val = analogRead(A0) / 204.8; 
// Serial.println(val);
  double val = 204.8;
  dtostrf(val, 0, 2, RemoteXY.text_1);