Прошивка Телеметрия

Идея проекта "Телеметрия" в том, чтобы сделать из 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 muni - 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. На картинке панели должна посыпаться информация, а в ваш почтовый ящик поступит победное письмо.

 

 

 

 

Copyright © 2019 BortX
GS RU