• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом Загружаем прошивку 'Sputnik' и ESP уже в Интернете

edgi

Member
Хотелось бы видеть на первой странице пересечение что умеет данная прошивка какие функции есть и т.д. а не как прошивать и что такое IDE.
 

view24

Member
По просьбе Дмитрия из Сочи, специалиста по Дракону привожу пример виртуального объекта, общение с которым через облако bortx осуществляется. Любители "класть" сервера уже потирают руки. Объект на JS состряпан. Прозрачен до предела, работает без видимых задержек. А идея простая - работа через get запросы, но через два порта. Один порт принимает отчет о работе объекта, другой порт для прослушивания команд через long polling. Лично попробовал с частотой запроса 10 гц работать. Работает! Итак объект по адресу http://bortx.ru/test.htm текст ниже, а проверить мешает ли издевательство над сервером пилотному проекту под web камерой - это на сайте http://bortx.ru вкладка ВИДЕО.

Код:
<html>
<!-- Пример обращения к облачному серверу bortx. С точки зрения объекта -
(данный тест)  работа идет по двум портам.

Порт 6110 для отправки данных с объекта на панель.
Один раз отправляет строку с форматом, показывая какие переменный надо
задействовать в панели. Строка запроса должна например содержать:
?id=test;format=count,activ,reset;

Далее, шлются данные через запятую, раз в сек, раз в минуту, с нужной частотой,
но с учетом того, что хранятся последние 10000 точек.
?id=test1data=1,0,0;
?id=test1data=2,1,0;
и т.д.

Порт 6010 для отправки данных с панели на объект
в режиме long polling
шлем запрос на порт 6010
?id=test1

Затем ждем callback события прихода данных например в формате:
command=on;var=activ;

Если на панели ничего не нажато, то через минуту приходит ping
ping=;

т.е. связь не потеряна, а если пинг не приходит, надо организовать новый get запрос,
но это в примере не показано.

Для теста только 3 id можно задействовать test1,test2,test3

-->                                         
                       


count:<input id='count'><br>
<script LANGUAGE="JavaScript" SRC="http://bortx.ru/ajax.js"></script>
<script>
id="test1";
document.write("id="+id+"<br>");
document.write("<a target=_blank href='http://bortx.ru/"+id+"'>To dashboard </a><br>");
count=0;
activ=1;
send_data("id="+id+";format=count,activ,reset;");//
timer=setInterval("cycle();",1000);
send_and_wait(); // запускаем long polling

/////////////////////////////////////////////////////
function send_data(x){         // послать серверу формат и данные и не ждать
$.ajax({
url: 'http://bortx.ru:6110/?to6110='+x,
success: function(data) {}});
}; // end send_comm

//////////////////////////////////////////////////////
function send_and_wait(){         // Послать запрос и ждать ответа 

$.ajax({
  url: 'http://bortx.ru:6010/?to6010=id='+id+';device=test;',

success: function(data) {
//alert(data);
mes_proc(data);
send_and_wait();
            },
        
error: function (status) {
alert("send_loop - error:"+status);
send_and_wait();
                             }                 
    });
}; // end send_and_wait

/////////////////////////////////////
function mes_proc(mes){ // обработка команды
//alert (mes);
if (mes.indexOf('activ')>-1 && mes.indexOf('=off') >-1) {activ=0;};
if (mes.indexOf('activ')>-1 && mes.indexOf('=on') >-1) {activ=1;};
if (mes.indexOf('reset')>-1) {count=0;};
                               };

/////////////////////////////////////
function cycle(){ // в цикле setInterval
count=count+activ;
send_data('id='+id+';data='+count+','+activ+',1;');
document.getElementById('count').value=count;
                               };


</script>
 

view24

Member
Про Дмитрия из Сочи несправедливо не отметил, что кроме языка Дракон он еще и специалист по роботам и по SFC (Sequential Function Chart), знание о существование которого уже вызывает у меня бесконечное уважение.
 

alex286

New member
view24, Прекрасный проект! И именно для тех, кто "не в теме"! Не обращайте внимания на брюзжание...

Кстати ни одного вопроса по СУЩЕСТВУ проекта. Пока идут разговоры , что "такое уже есть".. И что? Это все, что вы можете спросить?
Я например спрошу, про то, что меня интересует в преддверии дачного лета, проект "автоматическая теплица для приусадебного хозяйства"..
Даже готов стать тестером такого проекта.. :)

P.S. Сейчас пробую использовать возможности проекта WiFi-IoT Firmware Builder :: Main , но пока получается слабо.
 

view24

Member
view24, Прекрасный проект! И именно для тех, кто "не в теме"! Не обращайте внимания на брюзжание...

Кстати ни одного вопроса по СУЩЕСТВУ проекта. Пока идут разговоры , что "такое уже есть".. И что? Это все, что вы можете спросить?
Я например спрошу, про то, что меня интересует в преддверии дачного лета, проект "автоматическая теплица для приусадебного хозяйства"..
Даже готов стать тестером такого проекта.. :)

P.S. Сейчас пробую использовать возможности проекта WiFi-IoT Firmware Builder :: Main , но пока получается слабо.
Спасибо. Пробуйте. Все поддерживается. Я на связи.
 

miasoft

New member
Рассчитываю поставить рекорд по скорости освоения ESP8266 nodemcu. Товарищу чайнику, знающему TTL 5v, хотелось бы чем-нибудь поуправлять на расстоянии через интернет. Простое решение - берем nodemcu, прошивку sputnik.bin, прошивальшик - Flasher для Windows, usb-кабель.


Прошиваем, перезагружаем и работаем.



Прошивка и описание на сайте BortX
 

miasoft

New member
Отличная работа!
Можно более подробное описание:
1) Панель управления - d0,d1,d2,d3 LED - нормально защелкиваются и отщелкиваются, а остальные либо не защелк или защелкиваются, но потом не переключаются. Какой-то другой режим? Не ясно.
2) Более подробное описание функциональных кнопок на панели.
3) Как использовать термистор (NTC 10K)? Возможно? И если ДА, то куда прописать коэффициенты?
 

view24

Member
Отличная работа!
Можно более подробное описание:
1) Панель управления - d0,d1,d2,d3 LED - нормально защелкиваются и отщелкиваются, а остальные либо не защелк или защелкиваются, но потом не переключаются. Какой-то другой режим? Не ясно.
2) Более подробное описание функциональных кнопок на панели.
3) Как использовать термистор (NTC 10K)? Возможно? И если ДА, то куда прописать коэффициенты?
Спасибо за внимание. Отвечаю:
1) В текущей версии прошивки sputnik D0....D4 - управляющие выводы, D5-D8 считывают информацию. Поэтому кнопки D5-D8 не стоит нажимать, они отражают только уровень на них присутствующий.
2) Ответил на сайте http://bortx.ru . Часть кнопок - это Ваши переменные, Кнопки внизу - перемещение во времени, кнопки справа масштабирование уровней значений переменных. Вспоминаем осциллограф.
3)Подать напряжение от схемы термистора на A0. Как осуществить преобразование 0-1024 в температуру сегодня появилось на сайте после проявленного Вами интереса, что бывает не то, чтобы редко, а вообще - нет этого интереса. :)
Задавайте вопросы, отвечу.
 

miasoft

New member
По умолчанию переменные названы A0 написал(а):
почему-то упорно не переименовывается A0=Ua0
Надо ли после каждого изменения конфигурации нажимать RESTART?

можно задать линейное преобразование для A0, указав коэффициенты для формулы y=k*x+b
да, для термистора это работает, но только в узком диапазоне. Я имел ввиду коэффициенты для уравнения Стэйнхарта. Термистор привлекателен своей ценой - 5 руб за штуку!

Тайм-аут = 90 сек и после этого перезагрузка - не слишком ли мало? Можно ли сделать настраиваемым этот параметр?
 

view24

Member
A0=что-то; - точка с запятой необходима. Рестарт необходим, чтобы это все сервере переписалось.
Для А0 предусмотрено только линейное преобразование.
Насчет тайм-аута, пинг происходит автоматически, если от сервера не прошло подряд два пинга c интервалом в минуту, то перезагрузка. Насчет указания параметров пинга и тайм-аута - эта идея мне нравиться, ибо на http://bortx.ru/bx101 и http://bortx.ru/bx102 как можно заметить по маркеру перезагрузки не редкость. Правда, эти объекты за proxy Squid находятся.
 

miasoft

New member
@view24,
что-то сегодня нет связи с "облачным сервером":
Creating AP:<:bx5882>
HTTP server started
ssid:my*********
password:my********

Connecting to ROUTER:<my******><my****>
----- >C O N T R O L< :2 TimeOut:2
.... ----- >C O N T R O L< :3 TimeOut:3
.......... ----- >C O N T R O L< :4 TimeOut:4
........ ----- >C O N T R O L< :5 TimeOut:5
.... ----- >C O N T R O L< :6 TimeOut:6
.......... ----- >C O N T R O L< :7 TimeOut:7
......
WiFi connected
IP address:
192.168.10.103
bortx.ru/6010 connection failed
----- >C O N T R O L< :14 TimeOut:14
bortx.ru/6110 connection failed
url=http://bortx.ru:6110?
id=bx5882;format=Tmp,D0,D1,D2,D3,LED,D5,D6,Svet,D8,T_scan,Marker;;data=22.85,0,0,0,0,0,1,0,0,0,2,1021,0;;device=esp;pass=;
2
21234
t_stop_scan:22000bortx.ru/6010 connection failed
это только у меня? Я ничего не менял...
 

miasoft

New member
Все нормально у Вас. Информация идет.
да. сейчас идёт, вижу. Но сейчас я работаю через проводной ИНЕТ. Ошибки по тайм-ауту были при работе через 3G модем. Но (!) день назад и через 3G-modem(TELE2) всё нормально работало. Вывод - есть зависимость от провайдера(качество связи и т.д.), может надо как-то
дать возможность доп. настройки тайм-аута для коннекта или проверки портов 6ххх?
 

view24

Member
@view24,
что-то сегодня нет связи с "облачным сервером":

это только у меня? Я ничего не менял...
Все нормально у Вас. Информация идет.
@view24,
что-то сегодня нет связи с "облачным сервером":

это только у меня? Я ничего не менял...
Информация у Вас идет. Работает сервер или нет - смотрите на сайте http://bortx.ru закладка Видео. UpTime 99.99999999999%
Может быть Ваш интернет блокируется на IP сервера - все-таки это Нидерланды. Может где-то уже и Нидерланды запретили.
Далее, пароль можете поставить в Локальной форме, чтоб кнопки на Вашей панели никто не нажимал.
 
Сверху Снизу