mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 20:09:14 +03:00
комментирование сенсора, инструкция по интеграции
This commit is contained in:
@@ -1,9 +1,12 @@
|
|||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
|
|
||||||
extern void* getAPI_AnalogAdc(String params);
|
|
||||||
|
|
||||||
std::vector<IoTSensor*> iotSensors;
|
std::vector<IoTSensor*> iotSensors;
|
||||||
|
|
||||||
|
//============================================================================================
|
||||||
|
//здесь скопируйте строку и вставьте ниже, заменив имя AnalogAdc на название вашего сенсора
|
||||||
|
extern void* getAPI_AnalogAdc(String params);
|
||||||
|
//============================================================================================
|
||||||
|
|
||||||
void configure(String path) {
|
void configure(String path) {
|
||||||
File file = seekFile(path);
|
File file = seekFile(path);
|
||||||
file.find("[");
|
file.find("[");
|
||||||
@@ -12,11 +15,13 @@ void configure(String path) {
|
|||||||
if (jsonArrayElement.startsWith(",")) {
|
if (jsonArrayElement.startsWith(",")) {
|
||||||
jsonArrayElement = jsonArrayElement.substring(1, jsonArrayElement.length()); //это нужно оптимизировать в последствии
|
jsonArrayElement = jsonArrayElement.substring(1, jsonArrayElement.length()); //это нужно оптимизировать в последствии
|
||||||
}
|
}
|
||||||
|
//===============================================================================================================
|
||||||
|
//здесь нужно скопировать блок еще раз и вставить его ниже, переименовав AnalogAdc на название вашего сенсора
|
||||||
myIoTSensor = (IoTSensor*)getAPI_AnalogAdc(jsonArrayElement);
|
myIoTSensor = (IoTSensor*)getAPI_AnalogAdc(jsonArrayElement);
|
||||||
if (myIoTSensor) {
|
if (myIoTSensor) {
|
||||||
iotSensors.push_back(myIoTSensor);
|
iotSensors.push_back(myIoTSensor);
|
||||||
}
|
}
|
||||||
|
//================================================================================================================
|
||||||
}
|
}
|
||||||
file.close();
|
file.close();
|
||||||
}
|
}
|
||||||
@@ -1,29 +1,46 @@
|
|||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
#include "Classes/IoTSensor.h"
|
#include "Classes/IoTSensor.h"
|
||||||
|
|
||||||
|
//Это файл сенсора, в нем осуществляется чтение сенсора.
|
||||||
|
//для добавления сенсора вам нужно скопировать этот файл и переименовать в нем AnalogAdc
|
||||||
|
//сочетание слов на название Вашего сенсора
|
||||||
|
|
||||||
class AnalogAdc : public IoTSensor {
|
class AnalogAdc : public IoTSensor {
|
||||||
|
private:
|
||||||
|
//=======================================================================================================
|
||||||
|
// Секция переменных.
|
||||||
|
//Это секция где Вы можете объявлять переменные и объекты arduino библиотек, что бы
|
||||||
|
//впоследствии использовать их в loop и setup
|
||||||
|
unsigned int _pin;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
//=======================================================================================================
|
||||||
// setup()
|
// setup()
|
||||||
|
//это аналог setup из arduino. Здесь вы можете выполнять методы инициализации сенсора.
|
||||||
|
//Такие как ...begin и подставлять в них параметры полученные из web интерфейса.
|
||||||
|
//Все параметры хранятся в переменнной parameters, вы можете прочитать любой параметр используя jsonRead функции:
|
||||||
|
// jsonReadStr, jsonReadBool, jsonReadInt
|
||||||
AnalogAdc(String parameters) {
|
AnalogAdc(String parameters) {
|
||||||
init(jsonReadStr(parameters, "key"), jsonReadStr(parameters, "id"), jsonReadInt(parameters, "int"));
|
init(jsonReadStr(parameters, "key"), jsonReadStr(parameters, "id"), jsonReadInt(parameters, "int"));
|
||||||
|
|
||||||
_pin = jsonReadInt(parameters, "pin");
|
_pin = jsonReadInt(parameters, "pin");
|
||||||
}
|
}
|
||||||
|
//=======================================================================================================
|
||||||
// loop()
|
// loop()
|
||||||
|
//это аналог loop из arduino. Здесь вы должны выполнить чтение вашего сенсора в переменную float
|
||||||
|
//а затем выполнить regEvent - это регистрация произошедшего события чтения
|
||||||
|
//здесь так же доступны все переменные в секции переменных, и полученные в setup
|
||||||
void doByInterval() {
|
void doByInterval() {
|
||||||
float value = analogRead(_pin);
|
float value = analogRead(_pin);
|
||||||
|
|
||||||
regEvent((String)value, "AnalogAdc");
|
regEvent((String)value, "AnalogAdc");
|
||||||
}
|
}
|
||||||
|
//=======================================================================================================
|
||||||
|
|
||||||
~AnalogAdc();
|
~AnalogAdc();
|
||||||
|
|
||||||
private:
|
|
||||||
unsigned int _pin;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//данную функцию вы должны создать по образу и подобию, изменив в ней AnalogAdc на название Вашего сенсора
|
||||||
void* getAPI_AnalogAdc(String parameters) {
|
void* getAPI_AnalogAdc(String parameters) {
|
||||||
String subtype;
|
String subtype;
|
||||||
if (!jsonRead(parameters, F("subtype"), subtype)) { //если нет такого ключа в представленном json или он не валидный
|
if (!jsonRead(parameters, F("subtype"), subtype)) { //если нет такого ключа в представленном json или он не валидный
|
||||||
|
|||||||
Reference in New Issue
Block a user