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