• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом Nodemcu как модуль связи. Телеметрия, email.

view24

Member
Идея проекта "Телеметрия" в том, чтобы сделать из nodemcu модуль связи. Этот модуль связи после прошивки и включения самостоятельно получает от сервера BortX id в виде bxNNNN, где NNNN 4-х значное число. После этого данный модуль будет виден в интернете в качестве панели управления.(см. http://bortx.ru/bx1961)



Когда начнет поступать телеметрическая информация от объекта, тогда уже сам объект будет виден на панели. Информация от объекта к модулю передается всего двумя командами.

1.[data=1,2,3,4;][format=a,b,c,d;]
2.mail=an-16@ramber.ru/lorem/ipsum/;

Скетч, который работает в arduino nano ниже:

Код:
int value_LED=0;
char sbuf;
String serial_line="";

#include <SoftwareSerial.h>
SoftwareSerial telemetry(11, 12); // RX,TX

void setup() {
  Serial.begin(115200);
  telemetry.begin(115200);
  delay (1000);
  //mail no more then one pro minute
  telemetry.println("mail=porkige@gmail.com/LOREM_"+String(analogRead(A0))+"/IPSUM/;");          
  delay (1000);          
            
             };

void loop() {
  // read the analog in value:

 
// read telemety by a Software serial 
while (telemetry.available()) {sbuf=telemetry.read();serial_line=serial_line+String(sbuf);};
Serial.println("serial_line:"+serial_line);
if ( serial_line.indexOf("LED=on") != -1) {value_LED=1;};
if ( serial_line.indexOf("LED=off") != -1) {value_LED=0;};
digitalWrite(LED_BUILTIN, value_LED);

serial_line="";

telemetry.println("data="+String(analogRead(A0))+","+String(value_LED)+";format=A0,LED;");
  delay(1000);
             } //end loop
Передача данных от объекта (arduino nano) к телеметрическому модулю (nodemcu mini) по SoftWareSerial. В прошивке telemetry используемые пины GPIO5 и GPIO4, что для nodemcu mini - D1 и D2.

Итак какие команды от объекта к модулю связи их всего две:

1.[data=1,2,3,4;][format=a,b,c,d;]
2.mail=an-16@ramber.ru/lorem/ipsum/;

Format задает имена переменных, а data - текущие значения.

Лучше посылать одной строкой data=1,2,3,4;format=a,b,c,d;

Если есть необходимость срочно послать тревожное сообщение, используйте оператор mail. До 25 символов в TEME и 25 в ТЕЛЕ. Не чаще 1 раза в минуту.

Нажатие клавиш на Панеле проиводит к появлению в сериальном буфере строки Переменная=Значение;

Правило на все времена! После прошивки обязательно нажмите на кнопку RESET на плате. В противном случае не всегда осуществим программный ресет. Программный ресет используется прошивкой, например для перезапуска в случае неудачного соединения или потери связи. Либо в случае перезапуска после прошивки по "воздуху" OTA. А такая функция в спутнике уже предусмотрена, но об этом позже.



После загрузки Телеметрия сразу становиться web сервером, впрочем web сервером она останется навсегда. Телеметрия войдет в список wifi станций на Вашем смартфоне с таким примерно названиемBortX:bx1961 число 4-значное будет другим. Это означает, что ваше место в итернете будет http://bortx.ru/bx1961

Итак, плата стала Web сервером. Подключаемся к станции BortX:bx5403... И браузером заходим на страницу http://192.168.4.1 и видим локальную форму



Видим форму, в которой уже прописано место в интернете, конкретнее id на сайте BortX.ru . И теперь надо плате выйти в интернет через имеющийся у вас wifi роутер. То есть надо прописать ssid и пароль вашего роутера. Заполним эти две верхние строчки, нажмем SAVE для сохранения. Убеждаемся, что после нажатия SAVE время работы платы на форме меняется (working). Нажимаем RESTART, перезагружаем форму. Появляется надпись 'connected' и IP, по которому уже можно (и это будет удобнее) подлючиться к этой же форме, но через ПК.

Переходите на адрес вашей платы, он будет примерно такой как http://bortx.ru/bx5403 , но с вашим BortX_id bxNNNN, который у вас уже появился автоматически после прошивки.

Если светодиод на плате часто моргает, значит нет связи с роутером - проверьте настройки.

Локальная форма Телеметрии отличается от локальной формы Спутника своей лаконичностью. Это и понятно. Телеметрия сама не будет называть переменные и т.д. Дело Телеметрии поддерживать надежную связь. Переменными будет заниматься скетч объекта.

ПО ШАГАМ

1. Скачать прошивку телеметрия. http://bortx.ru/firmware/telemetry.bin(SoftSerial 115200)

Если на объекте нет уверенной поддержки 115200, скачайте версию с поддержкой SoftSerial 9600 http://bortx.ru/firmware/telemetry9600.bin

2. Загрузить прошивку в nodemcu - описано на примере прошивки Спутник.

3. Отыскать станцию wifi BortX:bxNNNN и подключиться к ней без пароля.

4. Браузером зайти по адресу 192.168.4.1

5. Вписать ssid и пароль Вашего WIFI нажать save, потом restart

6. В интернете найти свою телеметрию по адресу http://bortx.ru/bxNNNN/

7. Картинка с графиком будет неподвижной, что немудрено, ибо объект не поключен и телеметрические данные не поступают, но проверить связь можно - нажатие ON / OFF на панели приводят к изменению состояния встроенного в nodemcu светодиода.

8. Откорректируйте скетч примера - впишите ваш email. Загрузите скетч в ардуино - неважно какую. Соедините tx,rx объекта с GPIO4,GPIO5 nodemcu. На картинке панели должна посыпаться информация, а в ваш почтовый ящик поступит победное письмо.
 

nikolz

Well-known member
это пример как делать не надо.
Выкиньте arduino nano, тогда можете хвастаться.
------------------
Напоминает басню Крылова "мартышка и очки"
 

view24

Member
Грубый и безответственный ответ. Комментировать не буду.
 

CodeNameHawk

Moderator
Команда форума
Ну как тут без нано, прошивка для есп закрытая.
Что за сайт, кто им управляет и что делать, когда сайт закроется?
 

view24

Member
Ну как тут без нано, прошивка для есп закрытая.
Что за сайт, кто им управляет и что делать, когда сайт закроется?
Сайт группы БиоСофт24 ГосНииГенетика. И что делать, если закроется? Есть смысл задавать этот вопрос, если предприняты большие капитальные затраты на изучение, внедрение. В нашем случае все решается за один час. Можно рискнуть.
 

nikolz

Well-known member
Сайт группы БиоСофт24 ГосНииГенетика. И что делать, если закроется? Есть смысл задавать этот вопрос, если предприняты большие капитальные затраты на изучение, внедрение. В нашем случае все решается за один час. Можно рискнуть.
ну,ну...
За один час решается у дилетантов. Потому что все просто у них по определению.
Решение с апендиксом из ардуины говорит само за себя об уровне такого решения.
 

nikolz

Well-known member
может кто-то объяснить каким опытом в этой теме делятся?
написали бы что реклама картинки тогда понятно.
 

enjoynering

Well-known member
пошел по ссылке - http://bortx.ru/bx1961
кровь глаза. какие то кнопки, стрелки, что они делают? жесть. автор, такой ужас себе даже конструкторы жигулей не позволяют.
 

view24

Member
пошел по ссылке - http://bortx.ru/bx1961
кровь глаза. какие то кнопки, стрелки, что они делают? жесть. автор, такой ужас себе даже конструкторы жигулей не позволяют.
Привыкли к одной кнопке? ON/OFF? Телефон у вас тоже с одной кнопкой "Позвонить домой"? Однако, бывают панели посложнее. Могу рассказать, если вежливо попросите.
 

Алексей.

Active member
Сайт группы БиоСофт24 ГосНииГенетика. И что делать, если закроется? Есть смысл задавать этот вопрос, если предприняты большие капитальные затраты на изучение, внедрение. В нашем случае все решается за один час. Можно рискнуть.
«Не верю!» © Станиславский К.С.
Странно слышать о капитальных затратах в предприятиях начинающихся на "Гос" в то время как домен biosoft24.ru (так же как и bortx.ru) зарегистрирован на Private Person.
Может так принято, регистрировать домены на этих предприятиях на частные лица, непривычно как то.
Непривычно и то, что используется незащищенное соединение.
Если esp соединяется с тем же bortx.ru, то как он определяет что ресурс подлинный, а не получен подмененный ответ?
И на картинке с настройками что то плохо видно куда вводить для прокси пользователя и пароль.
 

view24

Member
«Не верю!» © Станиславский К.С.
Странно слышать о капитальных затратах в предприятиях начинающихся на "Гос" в то время как домен biosoft24.ru (так же как и bortx.ru) зарегистрирован на Private Person.
Может так принято, регистрировать домены на этих предприятиях на частные лица, непривычно как то.
Непривычно и то, что используется незащищенное соединение.
Если esp соединяется с тем же bortx.ru, то как он определяет что ресурс подлинный, а не получен подмененный ответ?
И на картинке с настройками что то плохо видно куда вводить для прокси пользователя и пароль.
О каких капитальных затратах и о какой картинке речь?
 

pvvx

Активный участник сообщества
Привыкли к одной кнопке? ON/OFF? Телефон у вас тоже с одной кнопкой "Позвонить домой"? Однако, бывают панели посложнее. Могу рассказать, если вежливо попросите.
Привет @view24
Нет, у нас давно такие вопросы: https://esp8266.ru/forum/threads/ka...vannogo-csv-razmerom-bolee-2-x-megabajt.4301/
А у вас на кухне газ...? Т.е. всё так-же - по 1 точке в сек и всего 10-ть 8-ми битных точек на графике?
 

view24

Member

pvvx

Активный участник сообщества
А вы же вроде нас покинули? Или вернулись уже?
Я ползаю вокруг - где и что нового ищу... Но с ESP8266 распрощался. Как-то ещё можно подергать ESP32, но и то никуда не годится из-за тормозов SPI-Flash -> Cache -> CPU. А программы к нему пишут большие и "кеш" не успевает = итого вся прыть ESP32 на них равна 10..30 МГц MIPS или ARM :)
 

Алексей.

Active member
О каких капитальных затратах и о какой картинке речь?
Я понял что капитальные затраты в этом гос предпиятии, если это не так, от прошу прощения.
А картинка из первого поста, под которой написано "Видим форму..."
Видим форму, в которой уже прописано место в интернете
Про защищенное соединение уже и не спрашиваю.
 

view24

Member
Я ползаю вокруг - где и что нового ищу... Но с ESP8266 распрощался. Как-то ещё можно подергать ESP32, но и то никуда не годится из-за тормозов SPI-Flash -> Cache -> CPU. А программы к нему пишут большие и "кеш" не успевает = итого вся прыть ESP32 на них равна 10..30 МГц MIPS или ARM :)
Ну, это я понял, что Вы первооткрыватель по жизни. Но кому то надо и на практику работать. Например, сломался ферментер - при включении нагревателя одновременно стал включатся холодильник. А плата dfc4 cisco. Отремонтировать нереально. Сделал "костыль" на esp8266. Работает 2 года непрерывно. Так что, меня эта штука устраивает. Пока.
 

pvvx

Активный участник сообщества
Про защищенное соединение уже и не спрашиваю.
Там хотя-бы CORS (OPTION Access-Control-Request/Allow-...) у HTTP сервера есть?

@view24 - Формат чисел и времени в javascript в double precision = 52 бита мантисса и время хранится в миллисекундах, что описывает точность до десятков микросек… Даже стандартная new Date(ms).toISOString() выдает ISO string c ms: YYYY-MM-DDThh:mm:ss.sssZ. Но у вас, в javascript на странице графиков, всё ограничено секундами. Самый простой Dygraph давно уже в 1 ms…

Какая современная телеметрия c дискретностью замеров от 1 секунды и более? Это называется случайная выборка...:(
 

view24

Member
Я понял что капитальные затраты в этом гос предпиятии, если это не так, от прошу прощения.
А картинка из первого поста, под которой написано "Видим форму..."

Про защищенное соединение уже и не спрашиваю.
На картинке из первого поста есть место для proxy. Работать приходится по предприятиям, а там везде SQUID. Поначалу websocket хотел применить - облом. SQUID заголовок upgrade не пропускает. Пришлось через get решать с двумя портами и long polling, чтобы реакция на запрос была мгновенной. Так что, до ssl руки не дошли, но защита по паролю есть. Из той же формы видно.
 

pvvx

Активный участник сообщества
Ну, это я понял, что Вы первооткрыватель по жизни. Но кому то надо и на практику работать. Например, сломался ферментер - при включении нагревателя одновременно стал включатся холодильник. А плата dfc4 cisco. Отремонтировать нереально. Сделал "костыль" на esp8266. Работает 2 года непрерывно. Так что, меня эта штука устраивает. Пока.
Костыль на ESP8266 - этож надо десяток костылей только к нему, чтобы он устойчиво работал. Да и какой WiFi у каждого устройства дома? Надо что-то потише в эфире и менее потребляющее... Хорошо то, что такого ныне валом - до NB-IoT... Да и китайских SoC развелось... Что имеет менее 32-х МБ встроенной SRAM/DDRAM с внутренней шиной не менее 32-х бит уже не рассматриваю, т.к. жрет имеющееся одинаково с ESP8266 (о ESP32 и разговор не идет - там за 500 mA по 3.3В !)
 
Сверху Снизу