Страница 12 из 15

Virtuino HMI на Андроид

Добавлено: 12.10.2017{, 09:10}
Fuji1604
Блок пользователя, для работы с программой визуализации Virtuino на андроид.
Описание и блокиПоказать
Подключение к андроиду через WiFi или БТ, выбирается соответствующим блоком.
Добавил блоки приема и отправки текста.
Изменил блоки передачи переменных, теперь с блока DV можно сразу получать переменные разных типов.

Входами и выходами virtuino управляет напрямую, переделывать библиотеку не вижу смысла (все переменные программа пересылает в виде integer или float), т.к. придется это делать при каждом обновлении библиотеки. Для передачи сигнала с кнопки или регулятора используйте в программе virtuino виртуальный вывод DV. В программе используйте блок приема DV в котором укажите индекс переменной (сделал отдельным входом, так схема платы становится более читабельной)

Для увеличения количества переменных (по умолчанию их 32 DV и 32 V)необходимо:
1. открыть файл VirtuinoEsp8266_WebServer.h или VirtuinoBluetooth.h библиотеки Virtuino, найти следующие строки:
#define wf_virtualDigitalMemorySize 32 // DV virtual memory size
#define wf_virtualAnalogMemorySize 32 // V virtual memory size
2. Установить необходимое количество переменных, точно такое же количество установить в приложении на андроиде (вкладка "Больше настроек").
3. После этого производить компиляцию проекта.
VIRTUINO.ubl
(980.09 КБ) 432 скачивания
v2 - разделил блок ESP на блок подключения к вайфай и блок создающий точку доступа
VIRTUINO2.ubl
(1.38 МБ) 445 скачиваний

Блоки для подключения через ESP с прошивкой ESP-LINK

ESP-LINK2

Настройка приложения
СкриншотыПоказать
Безымянный1.jpg
Безымянный.jpg
Безымянный11.jpg
Безымянный11d.jpg
Обсуждение программы на старом сайте

Virtuino HMI на Андроид

Добавлено: 24.02.2019{, 09:04}
vsvv
Здравствуйте уважаемые форумчане!
Тоже пробывал приложение Virtuino, удалось подключиться и по модбасу, включать и выключать светодиоды или реле все ок, но как только использую шим, сразу пропадает связь с ESP8266, не могу разобраться в чем проблема?
Кто в курсе подскажите, пожалуйста!

Virtuino HMI на Андроид

Добавлено: 27.02.2019{, 14:38}
ingener
Подскажите, как правильно собрать программу для NodeMCU v.3?
В FLprog слева раскрываются настройки самого контроллера (имя сети, клиент или точка, IP и прочее)
Это нужно заполнять? Или нужно заполнять эти данные в блоке Virtuino? :smile37:

Virtuino HMI на Андроид

Добавлено: 28.02.2019{, 03:53}
fsergei70
Не для кого не секрет что кроме virtuino, есть ещё и virtuino modbus и virtuino MQTT. Я тут прикупил обычную версию и написал автору по поводу того что в простой версии виджетов меньше чем в версии с modbus и MQTT. В общем в марте выйдет новая версия которая будет поддерживать и modbus и MQTT и обычную работу через esp. В новой версии не будет только bluetooth . Новое приложение не будет совместимо с старыми, будут новые библиотеки. Так что если кто решил покупать есть смысл немного подождать. Кстати и каскада должна обновиться. Это связано с новыми требованием googl. Так что ждемс.

Virtuino HMI на Андроид

Добавлено: 28.02.2019{, 14:16}
Kotafey
ingener писал(а):
27.02.2019{, 14:38}
Подскажите, как правильно собрать программу для NodeMCU v.3?
В FLprog слева раскрываются настройки самого контроллера (имя сети, клиент или точка, IP и прочее)
Это нужно заполнять? Или нужно заполнять эти данные в блоке Virtuino? :smile37:
Я не заполняю. Только в блоке.

Virtuino HMI на Андроид

Добавлено: 28.02.2019{, 21:13}
ingener
Пытаюсь настроить Nano + ESP-01 для работы с Виртуино по Hardware serial.
Может, будет более надежно и быстро работать. Надоело, что постоянно отваливается и подвисает.
Сделал все как указано в блоках и скетче (отключить строки Software, в библиотеке строку #define ESP8266_USE_SOFTWARE_SERIAL)
НО при компиляции ругается.
Неужели правда для Nano и UNO в принципе нельзя использовать Hardware serial?

Virtuino HMI на Андроид

Добавлено: 28.02.2019{, 21:36}
ingener
Все, понятно. Надо в скетче везде где слово "Serial1" убрать единицу и все скомпилировалось и работает

Virtuino HMI на Андроид

Добавлено: 01.03.2019{, 10:38}
ingener
Kotafey писал(а):
28.02.2019{, 14:16}
Я не заполняю. Только в блоке.
А как наcтраиваете в блоке? По software или hardware serial?
Не сложно скинуть ваш проект или только блок virtuino ESP, настроенный под Node mCU?

Virtuino HMI на Андроид

Добавлено: 03.03.2019{, 17:24}
Kotafey
ingener писал(а):
01.03.2019{, 10:38}
Kotafey писал(а):
28.02.2019{, 14:16}
Я не заполняю. Только в блоке.
А как наcтраиваете в блоке? По software или hardware serial?
Не сложно скинуть ваш проект или только блок virtuino ESP, настроенный под Node mCU?
под видео есть ссылка

Virtuino HMI на Андроид

Добавлено: 05.03.2019{, 13:08}
Andropa
fsergei70 писал(а):
28.02.2019{, 03:53}
Не для кого не секрет что кроме virtuino, есть ещё и virtuino modbus и virtuino MQTT. Я тут прикупил обычную версию и написал автору по поводу того что в простой версии виджетов меньше чем в версии с modbus и MQTT. В общем в марте выйдет новая версия которая будет поддерживать и modbus и MQTT и обычную работу через esp. В новой версии не будет только bluetooth . Новое приложение не будет совместимо с старыми, будут новые библиотеки. Так что если кто решил покупать есть смысл немного подождать. Кстати и каскада должна обновиться. Это связано с новыми требованием googl. Так что ждемс.
Se версия вышла поддерживающая все вместе .пытаюсь сделать пользовательский блок для нее пока все печально ошибки компиляции нужно чтобы кто то более просвещенный тыкнул носом где я косо еду блоки прилагаю

Virtuino HMI на Андроид

Добавлено: 05.03.2019{, 14:59}
Fuji1604
вечером попробую сделать

Virtuino HMI на Андроид

Добавлено: 05.03.2019{, 16:54}
Andropa
По примеру создания блока компаса пытался разобраться , но толком ничего чего путного не получалилось , не компилируется сыплет ошибки тоннами , пробовал про примеру блока коннекта с есп для виртуино ( обычной версии ) , такая же история , видимо не да но )

Virtuino HMI на Андроид

Добавлено: 05.03.2019{, 19:52}
fsergei70
Посмотрел я эту virtuino se версию, в общем виджетов новых нет. MQTT и modbus из коробки не работают. Если кто не покупал старую версию имеет смысл попробовать новую. В общей сложности в 4 вкладках бесплатной версии можно использовать 19 виджетов. Из плюшек понравилось только то что можно из готового проекта заказать apk файл, правда это опять за отдельную плату. Написал автору по поводу обновления ранее выпущеных версий программы, но скорей всего старые обновлять уже не будет. Надо же чтоб новую покупали.

Отправлено спустя 15 минут 35 секунд:
Для себя решил с покупкой новой версии не спешить. Купленная ранее virtuino пока устраивает. Присматриваюсь сейчас к easy builder. Отличная бесплатная прога для сенсорных панелей, есть эмулятор.

Virtuino HMI на Андроид

Добавлено: 05.03.2019{, 21:49}
KaScada
fsergei70 писал(а):
05.03.2019{, 20:07}
Присматриваюсь сейчас к easy builder.
Эмулятор работает ограниченное время, если правильно помню, то минут 30, потом автоматом закрывается.
Но это только для ПК ведь. Панели weintek тоже планируете закупать?

Virtuino HMI на Андроид

Добавлено: 06.03.2019{, 05:17}
fsergei70
KaScada писал(а):
05.03.2019{, 21:49}
fsergei70 писал(а):
05.03.2019{, 20:07}
Присматриваюсь сейчас к easy builder.
Эмулятор работает ограниченное время, если правильно помню, то минут 30, потом автоматом закрывается.
Но это только для ПК ведь. Панели weintek тоже планируете закупать?
Нет, закупать не планирую для дома дорого а для работы не надо, есть уже скада от dep. Да программа эта работает толькко на компе, но ведь скада и должна быть на компе чтоб все помещалось на большом экране. Кстати к этой проге, прям у них на сайте есть огромная библиотека графических элементов. Кнопки, переключатели всякие задвижки. Перетащили бы вы в свою каскаду десяток другой этих компонентов. Выглядела бы она гораздо красивей.

Virtuino HMI на Андроид

Добавлено: 06.03.2019{, 07:41}
Rovki
fsergei70 писал(а):
06.03.2019{, 05:17}
KaScada писал(а):
05.03.2019{, 21:49}

Эмулятор работает ограниченное время, если правильно помню, то минут 30, потом автоматом закрывается.
Но это только для ПК ведь. Панели weintek тоже планируете закупать?
Нет, закупать не планирую для дома дорого а для работы не надо, есть уже скада от dep. Да программа эта работает толькко на компе, но ведь скада и должна быть на компе чтоб все помещалось на большом экране. Кстати к этой проге, прям у них на сайте есть огромная библиотека графических элементов. Кнопки, переключатели всякие задвижки. Перетащили бы вы в свою каскаду десяток другой этих компонентов. Выглядела бы она гораздо красивей.
Красота понятие субьективное - что хорошо для УД ,не всегда хорошо для промышленного применения ...Каждый пользователь сам может установить ту картинку кнопки ,которая лично ему нравиться ...имхо.- это принципиальный подход в универсальном приложении . :smile225:
Но что бы не было вопросов ,что я влез в тему аналога ,скажу - вертуино мне понравился :yes:

Virtuino HMI на Андроид

Добавлено: 06.03.2019{, 08:16}
Andropa
Помогите пожалуйста собрать блок для инициализации virtuino se
СпойлерПоказать
/* VirtuinoSE example: Turn On-Off the onboard led
* Supported boards: ESP8266 & ESP32
* Created by Ilias Lamprou
* Updated Oct 27 2018
* More examples: http://virtuino.com/index.php/virtuino- ... e-examples
*/
// ------ VirtuinoSE V Memory Table
// V1 memory -> PIN = LED_BUILTIN onboard led

#ifdef ESP8266
#include <ESP8266WiFi.h>
#else
#include <WiFi.h>
#endif


//------------------- USER SETTINGS ---------------------------------
const char* ssid = "WIFI NETWORK"; // WIFI network SSID
const char* password = "PASSWORD"; // WIFI network PASSWORD

WiFiServer wifiServer(8000); // Server port

#define VIRTUINO_KEY "1234" // Virtuino KEY, only the requests that include this key will be acceptable

//============================================================== connectToWiFiNetwork
void connectToWiFiNetwork(){
Serial.println("Connecting to "+String(ssid));

// If you don't want to config IP manually disable the next four lines
IPAddress ip(192, 168, 1, 150); // where 150 is the desired IP Address
IPAddress gateway(192, 168, 1, 1); // set gateway to match your network
IPAddress subnet(255, 255, 255, 0); // set subnet mask to match your network
WiFi.config(ip, gateway, subnet); // If you don't want to config IP manually disable this line

WiFi.mode(WIFI_STA); // Configure the module as station only.
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println(WiFi.localIP());
}

//============================================================== setup
//==============================================================
void setup() {
Serial.begin(9600);
while (!Serial) {;}

connectToWiFiNetwork(); //enable this line to connect the module your wifi network

wifiServer.begin();

pinMode(LED_BUILTIN, OUTPUT);
}

//============================================================== по команде получено
//==============================================================
/ * Эта функция вызывается каждый раз, когда приложение Virtuino отправляет запрос на сервер
 * «VariableIndex» - это V-память приложения Virtuino
 * 'ValueAsText' - это значение, отправленное из приложения.
 * Если 'valueAsText' равен?, Вы должны вернуть значение, которое вы хотите отобразить на панели Virtuino.
 * /

String onCommandReceived(int variableIndex, String valueAsText){
Serial.println("=== onCommandReceived variableIndex="+String(variableIndex)+" valueAsText="+valueAsText);

// --- код для включения или выключения встроенного светодиода
if (variableIndex==1){ // Virtuino V1 memory -> бортовой свет
if (valueAsText=="?") return String(digitalRead(LED_BUILTIN)); // вернуть состояние LED_BUILTIN как текст
int v=valueAsText.toInt();
if (v==1) digitalWrite(LED_BUILTIN,HIGH); // change the state of pin LED_BUILTIN
else if (v==0) digitalWrite(LED_BUILTIN,LOW);
}


return "";ф
}


//============================================================== loop
//==============================================================
void loop() {

virtuinoRun();

}














//================== Virtuino Library (included) ===============
//==============================================================
//==============================================================
/* Для связи с Virtuino необходимы только следующие две функции * Избегайте внесения изменений в приведенный ниже код
*/


#define WRONG_KEY_MESSAGE "Wrong Key"
#define WELLCOME_MESSAGE "Hello Virtuino"
boolean debug=true;
//============================================================== virtuinoRun
//==============================================================

void virtuinoRun(){
WiFiClient client = wifiServer.available(); // Check if a client has connected
if (client) {
if (debug) Serial.println("New client");
while(!client.available())delay(1); // Wait until the client sends some data
String req = client.readStringUntil('\r'); // Read the first line of the request
if (debug) Serial.println(req);
//-- check request
int pos = req.indexOf("GET /");
if (pos!=-1){ // We have a GET message
req.remove(0,pos+5); // Clear the characters GET /
int k= req.indexOf(" HTTP/");
if (k>0) req.remove(k); // Clear the tail of the line

//---the variable req contains the Virtuino command string.
String commandResponse = prepareResponse(&req); //Prepare the text that the server has to return to app

String responseHttp= "HTTP/1.1 200 OK\r\n Content-Type: text/html\r\nConnection: close\r\n\r\n";
responseHttp+=commandResponse; // add the commandResponse to request response
responseHttp+="\r\n\r\n";
if (debug) Serial.println("ResponseHttp="+responseHttp);
client.print(responseHttp);
client.print("status:0");
delay(1);
if (debug) Serial.println("Client disonnected");
client.flush();
}
else {
Serial.println("invalid request");
client.stop();
}
}
}

//============================================================== prepareResponse
//==============================================================
String prepareResponse(String* commands){

//---check the KEY
#ifdef VIRTUINO_KEY
String virtuinoKey="";
int keyPosStart = commands->indexOf("&KEY=");
if (keyPosStart!=-1) {
int keyPosEnd = commands->indexOf('&',keyPosStart+5);
if (keyPosEnd!=-1) virtuinoKey= commands->substring(keyPosStart+5,keyPosEnd);
else virtuinoKey= commands->substring(keyPosStart);
}
if (!virtuinoKey.equals(VIRTUINO_KEY)) return WRONG_KEY_MESSAGE;
#endif

//--- read all virtuino commands from request
String commandResponse="";
boolean checkNext=true;
int cStart=-1;
while (checkNext){
cStart=commands->indexOf('&',cStart+1);
if (cStart!=-1) {
int cEnd=commands->indexOf('&',cStart+1);
String oneCommand="";
if (cEnd<0) oneCommand=commands->substring(cStart+1);
else oneCommand=commands->substring(cStart+1,cEnd);
if (debug) Serial.println("cmd: "+oneCommand);
char commandType = oneCommand.charAt(0);
if (commandType=='C') return "&CNT="+String(WELLCOME_MESSAGE); // Virtuino sends the command &C=? to check the connection status
if ((commandType=='V') || (commandType=='T')) {
int equalCharPosition = oneCommand.indexOf('=');
int variableIndex = oneCommand.substring(1,equalCharPosition).toInt();
String valueString = oneCommand.substring(equalCharPosition+1);
String returnedValue = onCommandReceived(variableIndex,valueString);
if (returnedValue.length()>0) {
commandResponse+='&';
commandResponse+=commandType;
commandResponse+=String(variableIndex);
commandResponse+='=';
commandResponse+=returnedValue;
}
}
}
else checkNext=false; // the last command has checked
}
if (debug) Serial.println("Response="+commandResponse );
if (commandResponse.length()==0) commandResponse="OK";
return commandResponse;
}

Virtuino HMI на Андроид

Добавлено: 06.03.2019{, 08:18}
fsergei70
Rovki писал(а):
06.03.2019{, 07:41}
вертуино мне понравился

Простая viruino работает нормально а вот с modbus версией нестыковочки выходят типы данных в flprog не соответствуют тем что в программе. Отправляешь с flprog long integer а в программу оно приходит как Integer 32.
Почему я выбрал virtuino? да это пожалуй единственное приложение которое может работать локально без интернета. Есть конечно еще blynk с его локальным сервером ну и ваша программа конечно. Но без обид, пока вы будете продавать ключи на каждое устройство я ей пользоваться не буду, потому что у меня три устройства телефон планшет и эмулятор, и платить три раза за одну и туже программу я чего то не хочу. Да и что из себя представляет сейчас ваша прога я если честно не знаю, быть может она мне не понравится а может наоборот. Конечно я пробовал пару лет назад древнюю демо версию, но с тех пор много воды утекло.

Отправлено спустя 37 минут 35 секунд:
Andropa писал(а):
06.03.2019{, 08:16}
Помогите пожалуйста собрать блок для инициализации virtuino se

Сделал пробный блок из пример, все вроде компилируется. Это просто весь исходный код в блоке. для своих нужд надо копать функцию String onCommandReceived(int variableIndex, String valueAsText) . Примеры в основном отличаются содержимым именно этой функции

Virtuino HMI на Андроид

Добавлено: 06.03.2019{, 09:19}
Andropa
Ооо щас опробую да посмотрю что там куда вставлять

Virtuino HMI на Андроид

Добавлено: 06.03.2019{, 10:11}
KaScada
fsergei70 писал(а):
06.03.2019{, 05:17}
Перетащили бы вы в свою каскаду десяток другой этих компонентов. Выглядела бы она гораздо красивей.
Они там как то закодированы, просто вытащить изображение не получится.

Virtuino HMI на Андроид

Добавлено: 06.03.2019{, 11:31}
brig62
KaScada писал(а):
06.03.2019{, 10:11}
просто вытащить изображение не получится.
5 мин вместе с установкой Виртуино на Нокс
СпойлерПоказать
2019-03-06_11-15-20.png
2019-03-06_11-14-59.png
Дальше по совету Ровки открываете в фотошопе и делаете черный фон бесцветным.
Но это кривой путь. Лучше найдите студента владеющего фотошопом. И за стоимость 5 лицензий он вам кнопочек и индикаторов нарисует огромное количество. Но только надо не просто кучу рисовать , а продумать несколько тем. И что бы в каждой были все элементы. Их у вас не так уж и много. Например темная тема, стальная, неоновая и тп.

Отправлено спустя 11 минут 2 секунды:
Как пример https://www.colourbox.com/vector/volume ... or-9477527 Есть российские сайты по продаже графики.

Отправлено спустя 5 минут 29 секунд:
Вот один из авторов, москвич https://www.colourbox.com/supplier/petr-105802?page=4 Он вам этих кнопуличек наваяет за пол дня девать некуда будет.

Отправлено спустя 5 минут 58 секунд:
Заходите на сайт фрилансеров. Размещаете описание заказа. Получаете пару сотен откликов. И выбираете с кем работать за смешные деньги
https://www.fl.ru/freelancers/

Отправлено спустя 26 минут 33 секунды:
Можете сделать в программе встроенные покупки графики. И отдать эти деньги дизайнеру. По 100р к примеру за тему. Кому надо, тот купит. И именно то, что ему нравится.