Вы можете изучив работу библиотеку RemoteXY понять, как можно задавать разные данные при инициализации. Конечно же ввод данных о точке доступа напрямую со смартфона реализовать не получится. Но сделать ввод этих данных на самом устройстве возможен, например с клавиатуры или каким либо другим способом.
Например в случае работы с облаком в режиме контроллер+ESP8266 инициализация происходит так (см. файл библиотеки esp8266_cloud.h:
#define RemoteXY_Init() remotexy = new CRemoteXY (RemoteXY_CONF_PROGMEM, &RemoteXY, REMOTEXY_ACCESS_PASSWORD, &REMOTEXY_SERIAL, REMOTEXY_SERIAL_SPEED, REMOTEXY_WIFI_SSID, REMOTEXY_WIFI_PASSWORD, REMOTEXY_CLOUD_SERVER, REMOTEXY_CLOUD_PORT, REMOTEXY_CLOUD_TOKEN)
Т.е. в процедуре Init в место RemoteXY_Init() вы можете написать так:
//RemoteXY_Init() ;
remotexy = new CRemoteXY (RemoteXY_CONF_PROGMEM, &RemoteXY, REMOTEXY_ACCESS_PASSWORD, &REMOTEXY_SERIAL, REMOTEXY_SERIAL_SPEED, REMOTEXY_WIFI_SSID, REMOTEXY_WIFI_PASSWORD, REMOTEXY_CLOUD_SERVER, REMOTEXY_CLOUD_PORT, REMOTEXY_CLOUD_TOKEN);
Далее вместо необходимых данных, например REMOTEXY_WIFI_SSID и REMOTEXY_WIFI_PASSWORD, которые были жестко определены в виде:
#define REMOTEXY_WIFI_SSID "RemoteXY"
#define REMOTEXY_WIFI_PASSWORD "12345678"
Вы можете передавать константы, в которые задать необходимые значения:
char REMOTEXY_WIFI_SSID_1 = "RemoteXY";
char REMOTEXY_WIFI_PASSWORD_1 = "12345678;
char REMOTEXY_WIFI_SSID_2 = "RemoteXY_2";
char REMOTEXY_WIFI_PASSWORD_2 = "1234567890;
или определить строки, в которые вы предварительно зададите введенные с клавиатуры (или иным способом) параметры сети:
char REMOTEXY_WIFI_SSID[30];
char REMOTEXY_WIFI_PASSWORD[30];
Подробнее рассказывать не буду, так как эта возможность не является документированной и приоритетной для нас (пока), если вы понимаете как все это работает - разберетесь. Если у Вас получится - выложите ваше решение тут, может кому пригодиться.