Отправка данных из Arduino Mega в nodeMCU с использованием последовательного порта (данные нескольких датчиков) и загрузка в firebase

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

  1. БМЭ 280
  2. Датчик скорости ветра
  3. Датчик уровня воды x 10
  4. Влажность почвы x 5
  5. Датчик pH почвы x 2

я нашел этот код как для arduino uno, так и для nodemcu esp8266

//Код Arduino
#include <SoftwareSerial.h>
SoftwareSerial s(5,6);

void setup() {
s.begin(9600);
}

void loop() {
int data=50;
if(s.available()>0)
{
 s.write(data);
}
}


//для узлаMCU
#include <SoftwareSerial.h>
SoftwareSerial s(D6,D5);
int data;
void setup() {
s.begin(9600);
Serial.begin(9600);
}

void loop() {
  s.write("s");
  if (s.available()>0)
  {
    data=s.read();
    Serial.println(data);
  }
}

В этом коде отправьте 1 значение из arduino uno в nodeMCU... но если я хочу отправить 10 значений (плавающая температура, влажность, давление, уровень воды, скорость ветра, направление ветра) из mega в nodeMCU, используя последовательный порт, как это сделать, используя serail.

, 👍-1


1 ответ


1

Насколько я знаю, nodemcu до сих пор не работает как ведомое устройство. Возможно, эта поддержка будет доступна в будущем, но если вы протестируете ее, и она будет работать. Это как это сделать Предположим, у вас есть два данных, чтобы отправить их в строку, конкатенированные символы string_data1+string_data2, а затем отправить тему через связь uart в nodemcu. Теперь в nodemcu возьмите строку и расшифруйте [разделить] строку на строку 1 и строку 2 и снова приведите тему к любому типу var, который вы хотите. Если этот метод кажется вам слишком сложным или ваш уровень программирования все еще находится в стадии разработки, используйте какую-нибудь существующую библиотеку, которая может сделать работу за вас, которую я рекомендую. Библиотека easytransfer от madsci1016 в github введите здесь описание ссылки.

,