RemoteXY
RemoteXY
Всем привет, подскажите что не так делаю?
Задача: подключить через софтсериал esp01 к ардуино уно.
При подключении к аппаратному Уарту (в пины 0,1) - все хорошо. Сеть нахожу, интерфейс на экране появляется.
При подключении через софт сериал например через (3,4) - не вижу доступную сеть.
/*
-- New project --
This source code of graphical user interface
has been generated automatically by RemoteXY editor.
To compile this code using RemoteXY library 2.4.3 or later version
download by link http://remotexy.com/en/library/
To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
- for ANDROID 4.3.1 or later version;
- for iOS 1.3.5 or later version;
This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
*/
//////////////////////////////////////////////
// RemoteXY include library //
//////////////////////////////////////////////
// RemoteXY select connection mode and include library
#define REMOTEXY_MODE__ESP8266_SOFTSERIAL_POINT
#include <SoftwareSerial.h>
#include <RemoteXY.h>
// RemoteXY connection settings
#define REMOTEXY_SERIAL_RX 3
#define REMOTEXY_SERIAL_TX 4
#define REMOTEXY_SERIAL_SPEED 9600
#define REMOTEXY_WIFI_SSID "RemoteXY"
#define REMOTEXY_WIFI_PASSWORD "12345678"
#define REMOTEXY_SERVER_PORT 6377
// RemoteXY configurate
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255,4,0,0,0,21,0,8,13,0,
5,0,61,27,30,30,2,26,31,5,
0,8,26,30,30,2,26,31 };
// this structure defines all the variables of your control interface
struct {
// input variable
int8_t joystick_1_x; // =-100..100 x-coordinate joystick position
int8_t joystick_1_y; // =-100..100 y-coordinate joystick position
int8_t joystick_2_x; // =-100..100 x-coordinate joystick position
int8_t joystick_2_y; // =-100..100 y-coordinate joystick position
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
void setup()
{
RemoteXY_Init ();
// TODO you setup code
}
void loop()
{
RemoteXY_Handler ();
// TODO you loop code
// use the RemoteXY structure for data transfer
}
Задача: подключить через софтсериал esp01 к ардуино уно.
При подключении к аппаратному Уарту (в пины 0,1) - все хорошо. Сеть нахожу, интерфейс на экране появляется.
При подключении через софт сериал например через (3,4) - не вижу доступную сеть.
/*
-- New project --
This source code of graphical user interface
has been generated automatically by RemoteXY editor.
To compile this code using RemoteXY library 2.4.3 or later version
download by link http://remotexy.com/en/library/
To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
- for ANDROID 4.3.1 or later version;
- for iOS 1.3.5 or later version;
This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
*/
//////////////////////////////////////////////
// RemoteXY include library //
//////////////////////////////////////////////
// RemoteXY select connection mode and include library
#define REMOTEXY_MODE__ESP8266_SOFTSERIAL_POINT
#include <SoftwareSerial.h>
#include <RemoteXY.h>
// RemoteXY connection settings
#define REMOTEXY_SERIAL_RX 3
#define REMOTEXY_SERIAL_TX 4
#define REMOTEXY_SERIAL_SPEED 9600
#define REMOTEXY_WIFI_SSID "RemoteXY"
#define REMOTEXY_WIFI_PASSWORD "12345678"
#define REMOTEXY_SERVER_PORT 6377
// RemoteXY configurate
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255,4,0,0,0,21,0,8,13,0,
5,0,61,27,30,30,2,26,31,5,
0,8,26,30,30,2,26,31 };
// this structure defines all the variables of your control interface
struct {
// input variable
int8_t joystick_1_x; // =-100..100 x-coordinate joystick position
int8_t joystick_1_y; // =-100..100 y-coordinate joystick position
int8_t joystick_2_x; // =-100..100 x-coordinate joystick position
int8_t joystick_2_y; // =-100..100 y-coordinate joystick position
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
void setup()
{
RemoteXY_Init ();
// TODO you setup code
}
void loop()
{
RemoteXY_Handler ();
// TODO you loop code
// use the RemoteXY structure for data transfer
}
RemoteXY
Попробуйте RX.TX. 10 11 пины....3 пин капризный бывает, из за прерываний на нем. У меня SOFTSERIAL всегда 10 11 все работает.
RemoteXY
не помогло, переключаю на обычный сериал - работает. Софт не хочет(Saman писал(а): 31 янв 2020, 06:04 Попробуйте RX.TX. 10 11 пины....3 пин капризный бывает, из за прерываний на нем. У меня SOFTSERIAL всегда 10 11 все работает.
Отправлено спустя 17 минут 55 секунд:
Сейчас попробовал при включённой ардуино, отключить питание на esp и заново включить. Сеть появилась, интерфейс загрузился, но через сеунд 15 перестаёт по ходу отвечать и в программе написано:
Error. Device not reply
Но если перезапустить программу, снова начинает синим мигать и опять работает секунд 15
Отправлено спустя 3 часа 39 минут 36 секунд:
Может, питания не хватает от компа. Хотя почему только на софт сериале...
RemoteXY
Короче, запитал esp01 от аккумулятора через понижайку 3.3в все заработало)
Изначально запитывал от ардуино выхода 5в и понижал до 3.3.
Сейчас работает стабильно через софт сериал, ещё по хорошему нужно логику на 3.3 сделать, но почитал что у кого-то и так нормально работает. Не знаю на сколько это критично.
Ещё остался вопрос, есть в Flprog на блоке RemoteXY выход статуса подключения. Он вообще работает? Например при управлении мотором я поставил условие, что при потери связи выдавать 0. Но по факту - включаю мотор, сворачиваю приложение, выключаю WiFi на телефоне - но мотор продолжает вращаться.
Изначально запитывал от ардуино выхода 5в и понижал до 3.3.
Сейчас работает стабильно через софт сериал, ещё по хорошему нужно логику на 3.3 сделать, но почитал что у кого-то и так нормально работает. Не знаю на сколько это критично.
Ещё остался вопрос, есть в Flprog на блоке RemoteXY выход статуса подключения. Он вообще работает? Например при управлении мотором я поставил условие, что при потери связи выдавать 0. Но по факту - включаю мотор, сворачиваю приложение, выключаю WiFi на телефоне - но мотор продолжает вращаться.
RemoteXY
а как правильно настроить ? Может я что то не правильно делаю можете проект глянуть?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
RemoteXY
Так тоже не работает. Но покопавшись в коде, решил проблему. В начале заменил unsigned char connect_flag на uint8_t connect_flag, а дальше изменил условие если соединение установлено то выполнять команду if((RemoteXY.connect_flag==1))...(везде где требуется)
По умолчанию почему то стандартный блок так не делает. Либо я не вижу как это настроить. Так что вот если кому понадобится - решение есть такое.
Есть ещё не очень хороший момент, если например я запустил мотор и свернул и закрыл приложение, то он все равно продолжает работать. При управлении чем либо в реальном времени может быть не желательно такое поведение. Но это уже можно логикой как то продумать.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя