Добрый вечер.
Направьте меня, пожалуйста, на какую-нибудь инструкцию, по отправке запросов с Zabbix на Arduino Nano.
Задача: мониторить значение температуры. Собрано следующее: Arduino Nano + термоментр DS18B20 + сетевая плата ENC28J60 Ethernet V1.0. Написал скетч:
#include <EtherCard.h>
#include <microDS18B20.h>
// ethernet interface mac address, must be unique on the LAN
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
static byte myip[] = { 10,0,13,13 };
static byte netmask[] = { 255,255,0,0 };
byte Ethernet::buffer[500];
BufferFiller bfill;
MicroDS18B20<A4> sensor;
void setup () {
if (ether.begin(sizeof Ethernet::buffer, mymac, SS) == 0)
Serial.println(F("Failed to access Ethernet controller"));
ether.staticSetup(myip,netmask);
Serial.begin(57600);
}
void loop () {
ether.packetLoop(ether.packetReceive());
if (Serial.readString() == "arduino_temp"){
sensor.requestTemp();
if (sensor.readTemp()){
float temp = sensor.getTemp();
Serial.println(temp);
}
else Serial.println("not temp");
}
else Serial.println("error temp");
}
В цикле loop() если оставить только “ether.packetLoop(ether.packetReceive());” то пинги есть до Ардуино. А если написать остальное, то и в мониторе порта можно по запросу “arduino_temp” получать значение температуры, но тогда пропадает сеть. Подскажите как делать запросы по сети к Ардуино с библиотекой “EtherCard.h”. Хочу через Zabbix запрос отправлять, с ключом arduino_temp. Спасибо