Topic: Тренды (Графики)

Будут ли реализованы тренды (графики) в приложении через облачный сервер, приложение нравится но без трендов не полноценный функционал


Re: Тренды (Графики)

Как раз закончили работу над новым элементом индикации - онлайн график. Возможно вам подойдет.
Однако сразу хочу отметить, что наш облачный сервер не предусматривает хранение какой либо информации, и как следствие, он не может собирать историю данных с контроллера пока вы спите). Это концепция RemoteXY которая скорее всего не будет изменена. Облачный сервер помогает только соединиться с вашим контроллером минуя различные сетевые настройки, и не более.
В будущем планируется разработка элемента индикации - исторический график. Но его суть будет заключаться в том, что история будет сохраняться на стороне контроллера и подгружаться в смартфон при установке соединения, что бы это все так же могло работать и без сервера, на Bluetooth, при прямом подключении к WiFi, и возможно по USB.
Эту тему можно по обсуждать.


Re: Тренды (Графики)

Nice new element, but why is it called "online graph" ? Did you mean "line graph" ?


Re: Тренды (Графики)

Guillaume wrote:

Nice new element, but why is it called "online graph" ? Did you mean "line graph" ?

We called it because the graph is built only when the smartphone is connected to the device. The device is online. Is this confusing?

5 (edited by Guillaume 2019-05-18 15:24:09)

Re: Тренды (Графики)

I see, so it's a graph that only shows the value while the device is connected, it cannot show previous values, which is what most people would expect sad For example to see the temperature and humidity during the week.

Why not allow us to fill some arrays with data for the X and Y axis? Like, instead of single values

float graph1_var1;
float graph1_var2;

Have an array of values for X and Y axis:

<type> graph1_y1[100];
<type> graph1_y2[100];
char   graph1_x[20][100];

Where <type>, 100 and 20 are settings in the Editor so the user can choose the size of the arrays and the type of the Y axis values (float, uint8_t, uint16_t, int8_t, int16_t... ), and give names he want to the X axis (for example "18/05 15:00"). Then the user is responsible of what data he put in the arrays, [ 0 ] being the oldest value and [ size-1 ] the newest value. Maybe keep your Online Graph as it is, and make another one called Advanced Graph smile


Re: Тренды (Графики)

We are planning to make a history graph. It will be like what you write.
Have a problem to transmit the array of 100 float values or more using 9600 baud rate. It is slow. Solving the problem requires changing the data transfer protocol. It is necessary to exclude the transfer of historical data that has already been transferred. In the solution that you propose, the data will be transmitted continuously and this will overload the communication and slow information exchange.
It's big work to change the transfer protocol.


Re: Тренды (Графики)

I understand, but is it a good idea to keep RemoteXY compatible with the slowest baud speed or 10 years old arduinos with not enough memory for arguably anything useful nowadays, let alone IOT? This is what restrains RemoteXY from being awesome sad It's very nice, but it could be so much better if unleashed. It's made to work nicely with the slowest controllers, it doesn't take advantages of powerful ones. IOT controllers like ESP32, have more than 1MB of memory and can handle huge data transfer rates, so a few hundred floats are nothing! Please stop thinking about 9600 bauds, even a 16Mhz arduino can support much more with no problem, and the HC-05 BT module can theorically work fine with up to 1382400 bauds... smile


Re: Тренды (Графики)

I agree. But I cannot agree to transmit the same historical data every second through communication. For example, in the future you will use a fast controller and you will want to transmit 60 * 24 * 365 = 525600 values or more. Any communication channel will be overloaded. I think we need another way to transfer historical data.


Re: Тренды (Графики)

Спасибо за ответ, хороший элемент!
Не хватает "реперной линии", чтобы можно было смотреть сколько было значение в определённое время и хотелось бы чтобы история сохранялась хотя бы за небольшой промежуток времени, ну не менее суток