Firmata передать массив

ArtHome
ArtHome аватар
Offline
Зарегистрирован: 19.05.2018

Здравствуйте!

 

Что-то даже через гугл не могу уяснить пару простейших вопросов по фирмате на ардуине.

Ардуина соединена с хостом (RaspberryPi) по USB.

Ардуина через мультиплексор непрерывно опрашивает датчики влажности и температуры (это сделано и работает) и должна отдавать значения хосту по его запросу (тут проблема).

В скетче я вставляю из примера

#include <Firmata.h>

void setup()
{
  Firmata.setFirmwareVersion(FIRMATA_MAJOR_VERSION, FIRMATA_MINOR_VERSION);
  Firmata.begin();
...
}

void loop()
{
  while (Firmata.available()) {
    Firmata.processInput();
  }
...
}

А дальше вопросы:

1. Где должен быть написан обработчик, который сработает при поступлении запроса от хоста? Видимо я должен зарегистрировать колбек-функцию через 'attach()', но какую команду указать и тип обработчика?

2. Какой командой отдавать массив данных?

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

ArtHome пишет:

Ардуина через мультиплексор непрерывно опрашивает датчики влажности и температуры 

А даччики не распухнут от такого обращения?

ArtHome
ArtHome аватар
Offline
Зарегистрирован: 19.05.2018

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

brokly
brokly аватар
Онлайн
Зарегистрирован: 08.02.2014

Вы задаете элементарный вопрос. Может в песочницу ?

Есть такая штука называется "Serial"