Управляем ардуиной через интернет

doom369
Offline
Зарегистрирован: 13.05.2015

Планы такие - сейчас делаем шаринг дашбордов. Это будет первая платная фича. Потом доделываем сенсоры телеофна - джпс, акселерометр и тд. А дальше будем смотреть куда двигатся. Вероятней всего в сторону корпоративного сектора и производителей железяк.

Для мейкеров приложение вероятней всего останется почти полностью бесплатным.

Andrey-S
Offline
Зарегистрирован: 02.01.2015

Что-то с терминалом небольшие заминки возникли... Вот такой кусочек кода дописал в скетч терминала в loop:

  if (Serial.available())
  terminal.println(char(Serial.read()));

Открываю монитор порта на компе и коннекчусь прогой в телефоне... Отправляю любой символ из терминала телефона - в монитор порта приходит "Hey! I got a new message!" (нахрена так и не понял, почему бы зеркалку не сделать и кстати как ее сделать???), ну ладно, теперь наоборот шлю с сериала компа "Privet"...на терминале телефона болт... Снова шлю любой символ с телефона на комп... И тут то вылетает сначала мой Privet, а затем и отправленный символ... Я так понял, что терминал это единственное, через что можно задавать значения переменным в прорамме, а тут пока никак...

 
doom369
Offline
Зарегистрирован: 13.05.2015

После записи надо делать flush(). Тут есть пример https://github.com/blynkkk/blynk-library/blob/master/examples/Widgets/Terminal/Terminal.ino

Andrey-S
Offline
Зарегистрирован: 02.01.2015

doom369 пишет:

После записи надо делать flush(). Тут есть пример https://github.com/blynkkk/blynk-library/blob/master/examples/Widgets/Terminal/Terminal.ino

Ну вот мой полный скетч:


#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SimpleTimer.h>
#define ONE_WIRE_BUS 2

WidgetLED led1(5);
WidgetLED led2(6);

int tempC=0;
int tempC2=0;
int tempC3=0;
int tempC4=0;

SimpleTimer timer;

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
 
DeviceAddress Thermometer1 = { 
  0x28, 0xFF, 0x62, 0x09, 0x64, 0x14, 0x03, 0x47 };  // адрес датчика внутр. основ. водогрея
DeviceAddress Thermometer2 = { 
  0x28, 0xFF, 0xC2, 0x2A, 0x64, 0x14, 0x03, 0x8C }; //адрес датчика внутр. вспомогат. водогрея
DeviceAddress Thermometer3 = { 
  0x28, 0xFF, 0xD3, 0x00, 0x64, 0x14, 0x03, 0x56 }; //адрес датчика выход. основ. водогрея
DeviceAddress Thermometer4 = { 
  0x28, 0xFF, 0x01, 0x1B, 0x64, 0x14, 0x03, 0x27 }; //адрес датчика выход. вспомогат. водогрея
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "c4938127d9a2434b9a15203bb596ce78";

IPAddress server_ip (192, 168, 0, 10);

// Mac address should be different for each device in your LAN
byte arduino_mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };
IPAddress arduino_ip ( 192,   168,   0,  2);
IPAddress dns_ip     (  8,   8,   8,   8);
IPAddress gateway_ip (192, 168, 0, 1);
IPAddress subnet_mask(255, 255, 255,   0);
WidgetTerminal terminal(7);

void sendUptime()
{  
   sensors.requestTemperatures();
  tempC = sensors.getTempC(Thermometer1);
  tempC2 = sensors.getTempC(Thermometer2);
  tempC3 = sensors.getTempC(Thermometer3);
  tempC4 = sensors.getTempC(Thermometer4);
  Blynk.virtualWrite(V1, tempC);
    Blynk.virtualWrite(V2, tempC2);
      Blynk.virtualWrite(V3, tempC3);
        Blynk.virtualWrite(V4, tempC4);

        if (digitalRead(28)==LOW){
          led1.off();
        }
        else led1.on();
        
        if (digitalRead(29)==HIGH){
          led2.off();
        }
        else led2.on();
}


BLYNK_WRITE(V7)
{
  BLYNK_LOG("Hey! I got a new message!");

  // Send it back
  terminal.print("I got:");
  terminal.write(param.getBuffer(), param.getLength());
  terminal.println();

  // Ensure everything is sent
  terminal.flush();
}


void setup()
{  timer.setInterval(1000L, sendUptime);
  sensors.begin();
   sensors.setResolution(Thermometer1, 10);
  sensors.setResolution(Thermometer2, 10);
  sensors.setResolution(Thermometer3, 10);
  sensors.setResolution(Thermometer4, 10);
  Serial.begin(9600);

  Blynk.begin(auth, "cloud.blynk.cc", 8442, arduino_ip, dns_ip, gateway_ip, subnet_mask, arduino_mac);
  terminal.println(F("Blynk v" BLYNK_VERSION ": Device started"));
  terminal.flush();
}

void loop()
{
  Blynk.run();
  timer.run();
  if (Serial.available())
  terminal.println(char(Serial.read()));

}

Я может где-то и навертел лишнего, но тут led1 и led2 начинают работать не сразу после подключения, после пары тырканий кнопкой... И вот есть тут этот флэш, также как и проблема описанная выше)).. Каким кодом считать данные с терминала??? Записать terminal.print, а считать?

doom369
Offline
Зарегистрирован: 13.05.2015

В примере что я скинул - есть пример считыванния из терминал-виджета. Посмотрите внимательно. Там есть 2 способа.

А тут пропущен флаш.

if (Serial.available()) {

terminal.println(char(Serial.read()));

terminal.flush();

}

Andrey-S
Offline
Зарегистрирован: 02.01.2015

А используя blynk уже не получится на w5100 одновременно выводить свою веб-станичку как раньше?

andrikll
Offline
Зарегистрирован: 04.08.2013

Плюнул на юсб, возможно дело в преобразователе (ch341) или конфигурации сети. Подключил через шилд. Вопросы такие. раз в сутки (не всегда) коммуникация зависает, ресет спасает, можно ли это решить вашими внутренними средствами? (простую внутреннюю презагрузку то раз в сутки я могу сделать сам)

Вопрос2 Горизонтальный слайдер (движек резистора) есть, можно ли его сделать вертикальным?

doom369
Offline
Зарегистрирован: 13.05.2015

>> раз в сутки (не всегда) коммуникация зависает

Ммм, то есть железка полностью не отвечает? Даж не знаю, еще не было у нас такого. Что за борда? У нас есть авторестарт если потрелся конекшн, но елси подвисает само железо... То врятли можно что-то сделать. Разве что как вариант самому в коде останавливать блинк и перезапускать (елси проблема действительно в Блинке).

вертикальный слайдер будет сделан позже.

doom369
Offline
Зарегистрирован: 13.05.2015

>>А используя blynk уже не получится на w5100 одновременно выводить свою веб-станичку как раньше?

По логике можно, если там можно открывать пару портов, то почему нет.

andrikll
Offline
Зарегистрирован: 04.08.2013

Я не знаю борда виснет или конекшн. Лампочки моргают на w5100 но на телефоне пишет что ю ардуино из нот ин нетворк. У меня классика arduinoUNO+shieldW5100. 

doom369
Offline
Зарегистрирован: 13.05.2015

Попробуйте взять самую последнюю версию библиотеки из гитхаба. Кнопка "Download ZIP". И сообщите результат.

Andrey-S
Offline
Зарегистрирован: 02.01.2015

Ну вот у меня дуинка сидит с w5100 уже 4-5 дней на блинке и пока без проблем... Хочу все же дублировать веб-страничкой попытаться, но пока не доберусь никак... andrikll попробуй сутки посидеть на веб-страничке, а не на блинке... Так вычислишь проблему.

andrikll
Offline
Зарегистрирован: 04.08.2013

Подробнее плиз, со ссылкой!

Andrey-S
Offline
Зарегистрирован: 02.01.2015

andrikll пишет:

Подробнее плиз, со ссылкой!

Я отсюда начинал http://zelectro.cc/Ethernet_shield_W5100  ... А вообще, если Вы еще не имели опыт с HTML и Вам это особо и не надо, то по-началу придется перелопатить много че... 

v-a-y
Offline
Зарегистрирован: 09.10.2015

doom369 пишет:

Попробуйте взять самую последнюю версию библиотеки из гитхаба. Кнопка "Download ZIP". И сообщите результат.

Добрый день! Тоже осваиваю blynk. Отличная идея и реализация, но столкнулся с аналогичной проблемой умирает железка.

Железо uno + 5100. Ардуиновский веб-сервер живет отлично (да и вообще другие приложения всегда жили отлично). А блинк отваливается через 5...500 секунд.

Данные отправляются внутри функции sendUptime, которая инициализируется timer.setInterval(2000, sendUptime);

void sendUptime()
{
   humidity = dht.getHumidity();
   temperature = dht.getTemperature();
  if (led1.getValue()) 
    led1.off();
  else 
    led1.on();
  Blynk.virtualWrite(1, temperature);
  Blynk.virtualWrite(2, humidity);
  Serial.println(counter++);
}

Основной цикл 

void loop()

{
  Blynk.run();
  timer.run();
}

Там же внутри sendUptime идет отправка в ком-порт для контроля. В какой-то момент все просто останавливается.... и тишина... 

[0] Getting IP...

[1520] My IP: 192.168.1.109
0
[5001] Connecting to cloud.blynk.cc:8442
[5316] Ready (ping: 127ms).
1
2
3
4
5
6
7
8
9

Приложение андроид говорит что ардуина не в сети.

Попробовал работать от внешнего БП - проблема сохраняется.  Попробовал на рабочем состоянии передергивать изернет - не виснет. В общем, пока не удалось однозначно выявить, после чего все останавливается...

Как можно поискать решение проблемы?

 
v-a-y
Offline
Зарегистрирован: 09.10.2015

Забыл дописать. Включил дебаг - вот лог "типового" зависания (38, 39 и тд - это мой счетчик, 0,5Гц)

38
[81529] <msg 20,122,6
<vw00
[81531] <msg 20,123,11
<vw128.200
[81536] <msg 20,124,11
<vw227.600
39
[83529] <msg 20,125,8
<vw0255
[83531] <msg 20,126,11
<vw128.200
[83538] <msg 20,127,11
<vw227.700
40
[85529] <msg 20,128,6
<vw00
[85531] <msg 20,129,11
<vw128.200
Andrey-S
Offline
Зарегистрирован: 02.01.2015

Вот нет сейчас возможности проверить у меня... Может работы на сервере у них... Автора бы сюда

doom369
Offline
Зарегистрирован: 13.05.2015

А какие виджеты есть у Вас в приложении? И какие у них настройки? Они ведь в режиме PUSH у вас работают (Имею в виду эту штуку)?

v-a-y
Offline
Зарегистрирован: 09.10.2015

В приложении виджет WidgetLED led1(0); - телефоне моргает виртуальный светодиод если связь есть

Вообще изначально  - было только управление светодиодом на ардуинке кнопкой с андроида. Обнаружил, что через какое-то время управление светодиодом отваливается. Ну и начал дебажить своими средствами...

doom369
Offline
Зарегистрирован: 13.05.2015

А Можно полный код?

v-a-y
Offline
Зарегистрирован: 09.10.2015

#define BLYNK_DEBUG // Optional, this enables lots of prints
#define BLYNK_PRINT Serial

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
#include "DHT.h"
#include <SimpleTimer.h> // here is the SimpleTimer library

DHT dht; // датчик температуры и влажности

SimpleTimer timer; // Create a Timer object called "timer"! 
int counter;

WidgetLED led1(0);


char auth[] = "ррр";
   float humidity;
   float temperature;

void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth);
      dht.setup(2); // data pin 2
      timer.setInterval(2000, sendUptime); //  Here you set interval (1sec) and which function to call
}


void sendUptime()
{
   humidity = dht.getHumidity();
   temperature = dht.getTemperature();

  if (led1.getValue()) 
    led1.off();
  else 
    led1.on();

  Blynk.virtualWrite(1, temperature);
  Blynk.virtualWrite(2, humidity);

    Serial.println(counter++);
}

void loop()
{
  Blynk.run();
  timer.run();
}

 

v-a-y
Offline
Зарегистрирован: 09.10.2015

Сократил код до тестового минимума - ардуина отсылает моргающий светодиод с частотой 1Гц


#define BLYNK_DEBUG // Optional, this enables lots of prints
#define BLYNK_PRINT Serial
#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
#include <SimpleTimer.h> // here is the SimpleTimer library

SimpleTimer timer; // Create a Timer object called "timer"! 
int counter;
WidgetLED led1(0);

char auth[] = "f";


void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth);
  timer.setInterval(500, sendUptime); //  Here you set interval (1sec) and which function to call
}


void sendUptime()
{
  if (led1.getValue()) 
    led1.off();
  else 
    led1.on();
    Serial.println(counter++);
}

void loop()
{
  Blynk.run();
  timer.run();
}

Софт на андроиде даже не запускаю - т.е. включаю ардуину, смотрю лог. Подключилась к серверу, начала передавать на сервер данные. Через некоторое время - зависает. Вот окончание лога. 

558
[281331] <msg 6,579,0
[281458] >msg 0,579,200
[281520] <msg 20,580,6
<vw00
559
[282020] <msg 20,581,8
<vw0255
560
[282520] <msg 20,582,6
<vw00
561
[283020] <msg 20,583,8
<vw0255
doom369
Offline
Зарегистрирован: 13.05.2015

Ок спасибо. Будем проверять у себя. Библиотека кстати последняя? 0.3.1?

doom369
Offline
Зарегистрирован: 13.05.2015

У меня все отлично работает.  Но есть одно отличие от Вашего скетча. Доплнительный while.

void setup()
{
  Serial.begin(9600); // See the connection status in Serial Monitor
  Blynk.begin(auth);

  while (Blynk.connect() == false) {
    // Wait until connected
  }
}

В базовом примере оно кстати есть.

v-a-y
Offline
Зарегистрирован: 09.10.2015

Доброго дня! Пока мои эксперименты не привели к желаемому результату (т.е. к отсутствию зависаний). Я сам склоняюсь к тому, что лажает изернет-шилд (жаль, нет возможности заменить железо). Уже проверил все - частоты работы проца, изернет-шилда, напряжения питания.

Сейчас мой код такой (это ваш стандартный пример PushData, в который я добавил прерывание и вывод лога):

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>
#include <SimpleTimer.h>
#include <MsTimer2.h>

char auth[] = "";
int cnt, int_cnt;
boolean output = HIGH;
SimpleTimer timer;

void flash() {
  digitalWrite(8, output);
  output = !output;
   Serial.print("int=");
   Serial.println(int_cnt++);
}

void setup()
{
  Serial.begin(115200); // See the connection status in Serial Monitor

  pinMode(8, OUTPUT);
  MsTimer2::set(1000, flash); // 500ms period
  MsTimer2::start();
  
  Blynk.begin(auth);
while (Blynk.connect() == false){
}
  timer.setInterval(1000L, sendUptime);
}


void sendUptime()
{
  Blynk.virtualWrite(V5, millis() / 1000);
        Serial.println(cnt++);
}

void loop()
{
  Blynk.run(); // Initiates Blynk
  timer.run(); // Initiates SimpleTimer
}

Прерывание вставил для того, чтобы попытаться опеределить, живет ли хоть что-то вообще.

В результате на ком-порте вижу такой лог (это момент "зависания", когда приложение blynk на адроид перестает получать данные от платы):
446
int=517
447
int=518
448
int=519
int=520
int=521
int=522
 

т.е. плата успешно прожила примерно 8 минут, а потом блинк "упал". светодиод в прерывании моргает, но loop() не "бегает" и блинк не отвечает (внутри loop тоже пробовал вставлять моргающий светодиод).

Пробовал избавиться от timer.run() - результат тот же.

Я не знаю, что у меня уникально - железо или что-то приходящее по сети... Изернет-шилд до этого не был замечен в подобном поведении. Но blynk у меня стабильно не работает. И судя по форуму, есть как минимум еще один похожий случай.

Буду признателен если Вы поможете разобраться.

 

esa
Offline
Зарегистрирован: 27.06.2015

Что то тема "заснула", не уже ли ни кого не затронул проект

Когда планируется выход русифицированной версии приложения на андройд и инструкция (документация) по blynk?

doom369
Offline
Зарегистрирован: 13.05.2015

Ну я так понял что у всех все ок =). Очень много работы. Локализировать нету времени. Седлали недавно HTTP API, Web Sockets, шаринг, возможность получить стейт с сервера и много чего другого. Сейчас работаем над возможностью более гибкой кастомизации виджетов.

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

v-a-y пишет:
плата успешно прожила примерно 8 минут, а потом блинк "упал". светодиод в прерывании моргает, но loop() не "бегает" и блинк не отвечает
Вероятно потому что Serial.print(); рекурсивно вызывается.

esa
Offline
Зарегистрирован: 27.06.2015

Наверное я один такой непонятлевый. С цифровыми и аналоговыми пинами я более менее понял, а вот с виртуальными ....... -(((

Да и с виджатами есть проблема, особено с таймером. Кстати на Вашем сайте, ссылка на пример с виджитом таймер, выводит на пример с виджитом кнопки.

Я всего второй день, как познакомился с данным проектом, надеюсь, что осилю его.

v-a-y
Offline
Зарегистрирован: 09.10.2015

Andy пишет:

v-a-y пишет:
плата успешно прожила примерно 8 минут, а потом блинк "упал". светодиод в прерывании моргает, но loop() не "бегает" и блинк не отвечает
Вероятно потому что Serial.print(); рекурсивно вызывается.

Скажу сраз, проблему решил.

На текущий момент плата успешно живет уже 3 недели. Поняв, что хоть я и не один такой, но как такового решения нет, я начал копать. Копал полтора месяца. Снифферил шарком обмены по сети, докапался до самых глубин, регистров 5100, стеков и протоколов.... ничего не помогало!!! 5100 вела себя просто странно!!! она подвисала в while при считывания окончания  отправки пакета

void W5100Class::execCmdSn(SOCKET s, SockCMD _cmd) {
  // Send command to socket
  writeSnCR(s, _cmd);
  // Wait for command to complete
  while (readSnCR(s))
    ; 

При этом даже аппаратный ресет не выводил ее из ступора (не работал DHCP, и на фиксированных IP адресах тоже не работал), только перезапуск питания.

К счастью, пришла к этому моменту новая заказанная плата изернет-шилда, которую заказал еще в октябре.... И все стало хорошо!

В общем что конкретно не так с тем шилдом - я так и не знаю. Похоже на какие-то проблемы с самой имс. В общем-то осадочек остался....

На новом шилде тестовая апликуха живет уже 3 недели и успешно шлет данные о температуре в доме на смартфон. пока обдумываю концепцию сигнализации-мониторинга дома.

Так что пользуясь случаем хочу сказать спасибо авторам в лице doom369 !!!

doom369
Offline
Зарегистрирован: 13.05.2015

>>Т ак что пользуясь случаем хочу сказать спасибо авторам в лице doom369 !!!

Спасибо!

 

>>С цифровыми и аналоговыми пинами я более менее понял, а вот с виртуальными ....... -(((

Воспринимайте виртуальные пины как функции, которые вы можете вызывать из приложения.

esa
Offline
Зарегистрирован: 27.06.2015

а каким шилдом предпочтительнее использовать для обмена arduino и blynk?

1. w5100 (http://ru.aliexpress.com/item/Ethernet-Shield-W5100-R3-Network-Expansion...)

2. ens28j60 (http://ru.aliexpress.com/item/ENC28J60-LAN-Ethernet-Network-Board-Module...)

3. esp8266 (http://ru.aliexpress.com/item/New-Remote-ESP8266-Wireless-Module-Stable-...)

doom369
Offline
Зарегистрирован: 13.05.2015

На Ваш вкус. Мы все поддерживваем. С W5100 - проще всего запустится. С esp8266 тяжелее всего =). (Ну судя по отзывам)

esa
Offline
Зарегистрирован: 27.06.2015

doom369, нужная ваша консультация

  1. Хочу реализовать проект: «сигнализация на даче». Будет связка arduina + w5100. Интернет по модему 3g+роутер. Какой будет суточный трафик в «спокойном» (пару раз зайти через blynk) режиме?
  2. Есть у меня датчик температуры (lm35). Я его «вешаю» на А0. Далее показания с датчика перевожу в наглядный вид, т.е.

float t = analogRead (0);

 t = t * 5 / 1023 * 100;

В приложение Blynk, создаю проект, в нем виджет «value display». Указываю pin – a0 и включаю связку 0-1024. Запускаю проект и мне выдается 50 (реальная и по формуле 24). А как мне передать  t = t * 5 / 1023 * 100; Или надо делать через виртуальные пины?

3. есть в проекте кнопка подвесил на D13. При запуске проекта кнопка - off, а диод (d13) горит. После того, как я несколько раз понажимаю кнопку все синхринизируется. Как можно сделать, чтоб при запуске проекта все автоматом синхранизировалось?

doom369
Offline
Зарегистрирован: 13.05.2015

1. Среднее блинк сообщение 5 байт хидер + тело. Например если шлете температуру 36.00 на пин V1, то 1 сообщение 15 байт . Сколько Вы таких сообщений пошлете зависит от вас. + пинг 5 байт каждые 5 сек если железка онлайн.

2. Надо делать через виртуальные. Немногие показания можно считывать сразу с аналоговых пинов.

3. Тоже через виртуал пин. Если горит диод и кнопка должна быть загоревшейся (кнопка на V1) при старте железки - то нужно на старте сделать :

Blynk.virtualWrite(V1, digitalRead(D13));

это псевдокод. не гарантирую что он сразу заработает. но идею Вы поняли

esa
Offline
Зарегистрирован: 27.06.2015

doom369 пишет:

2. Надо делать через виртуальные. Немногие показания можно считывать сразу с аналоговых пинов.

А в каком месте я могу слать значение для виртуального пина (Blynk.virtualWrite(V1, t)) в loop () или BLYNK_WRITE (V1)

А вообще, что это за BLYNK_WRITE () {} и BLYNK_READ () {} ?

Спасибо

doom369
Offline
Зарегистрирован: 13.05.2015

В лупе нельзя. Можно через таймер. можно через BLYNK_READ(V1) смотрите на базовые примеры. там все есть.

doom369
Offline
Зарегистрирован: 13.05.2015

>>А вообще, что это за BLYNK_WRITE () {} и BLYNK_READ () {} ?

Ну это как геттеры и сеттеры.

esa
Offline
Зарегистрирован: 27.06.2015

С таймером понятно, я сам указываю интервал через какое время запускать процедуру, а у BLYNK_WRITE () {} и BLYNK_READ () {} какая переодичность (аналогично loop)?

doom369
Offline
Зарегистрирован: 13.05.2015

Они обрабатываются в лупе. Но срабатывают только из приложения.

esa
Offline
Зарегистрирован: 27.06.2015

doom369, на данном форуме нет личной переписки, а своими вопросами (для многих они простые, дуратские, дублирующие и т.п.) я не хочу "мусорить" тему. Подскажите какими средствами я могу  с вами переписываться для консультации? Мой эл. адрес esa@pochta.ru

Спасибо, за помощь и за данный проект.

doom369
Offline
Зарегистрирован: 13.05.2015

Эта тема для ответов и создавалась. Так что не стесняйтесь =).

esa
Offline
Зарегистрирован: 27.06.2015

Я планирую на arduino сделать проект "сигнализация на даче". Которая по событиям с датчиков (движения, температуры и т.п.) будет отправлять смс мне на телефон. В телефоне у меня установлено приложение tasker, с помощью которого я отслеживаю приход смс от сигнализации и далее tasker выполняет сценарий, котрорый я запрограммировал. В сценарии tasker я хотел бы включить запуск конкретного (в дальнейшим надеюсь их будет много) Blynk-проекта. Реальная задача или нет?

И еще не могли бы вы подробнее рассказать о виджите "timer"?

PS. У меня вчера произошел какой то баг. Создал несколько проектов для тренировок, несколько виджитов, ни чего сложого и в какой то момент при  запуске приложения blynk меня попросили заного аввторизироваться. Я ввел логин и пароль и ...... ни одного проекта нет.

Я точно знаю, что проекты сам не удалял. У вас на практике были такие случаи? Как я могу себя обезопасить (резервные копии проектов и т.п.)?

Спасибо.

doom369
Offline
Зарегистрирован: 13.05.2015

По таскеру - думаю да. Много людей его используют с Блинком. Как именно я не знаю. Сам не использую.

 

По багу - у вас последняя версия? иОС, Андроид?

esa
Offline
Зарегистрирован: 27.06.2015

doom369 пишет:

По багу - у вас последняя версия? иОС, Андроид?

Вчера была предпоследняя (сегодня обновился), андроид

doom369
Offline
Зарегистрирован: 13.05.2015

Ну такая бага была. Вроде уже не должно было бы быть. Проекты хранятся автоматом на сервере и не должны пропадать  как Вы понимаете =).

esa
Offline
Зарегистрирован: 27.06.2015

А про виджит "timer" можете по подробнее расказать?

Сколько будет стоить шаринг через 30 дней? Плата за одни проект или за все? Платит один пользователь или все кто пользуется?

Я правильно понял, что шаринг проект - это одни проект, которым могут пользоваться несколько пользователей android & ios?

doom369
Offline
Зарегистрирован: 13.05.2015

Ну таймер триггерит событие HIGH на старт и LOW на стоп в конкретное время указанное в виджете.

Ну платных фич в ближайшие пару мес не будет. Нету времени на это. Так что пока можете не переживать.

Да. только они не могут его редактировать. Это для случая, когда надо дать управление, например жене и чтобы она ничего не поламала =).

esa
Offline
Зарегистрирован: 27.06.2015

Посадил я таймер на v5. Далее прописал:

BLYNK_READ (V5)
{
     Blynk.virtualWrite (V5, digitalRead (13));

}

таймер не включается/выключается. Диод горит/гаснит

doom369
Offline
Зарегистрирован: 13.05.2015

должно быть BLYNK_WRITE

BLYNK_READ - для виджетов у которых есть FrequencyReading.