Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何向Arduino库添加自定义接口函数 我想在我的ARDUIO库中添加事件方法,类似于Cayne或Bynk框架。我没有C或C++编程背景。p> CAYENNE_IN_DEFAULT() { //to-do }_C++_Arduino_Nodemcu_Blynk - Fatal编程技术网

如何向Arduino库添加自定义接口函数 我想在我的ARDUIO库中添加事件方法,类似于Cayne或Bynk框架。我没有C或C++编程背景。p> CAYENNE_IN_DEFAULT() { //to-do }

如何向Arduino库添加自定义接口函数 我想在我的ARDUIO库中添加事件方法,类似于Cayne或Bynk框架。我没有C或C++编程背景。p> CAYENNE_IN_DEFAULT() { //to-do },c++,arduino,nodemcu,blynk,C++,Arduino,Nodemcu,Blynk,这是福西 #ifndef Fusi_h #define Fusi_h #define DEBUG true #define MQTT_SERVER "192.168.31.10" #define IOT_ENDPOINT "http://192.168.31.10:8069/iot" class Fusi { public: Fusi(String clientID,String clientSecret); void setup(); v

这是福西

 #ifndef Fusi_h
 #define Fusi_h
 #define DEBUG true
 #define MQTT_SERVER "192.168.31.10"
 #define IOT_ENDPOINT "http://192.168.31.10:8069/iot"

 class Fusi
  {
   public:
     Fusi(String clientID,String clientSecret);
     void setup(); 
     void loop();
     int digitalPinRead(int channel);
     void addDigitalSwitch(String name, int channel);
  private:
     String clientID;
     String clientSecret;
     void digitalPinWrite(int channel, int value);
     void virtualSwitchWrite(String name, int channel, int value);
};

#endif
这是Fusi.cpp

#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <EEPROM.h>
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
#include <PubSubClient.h>
#include "fusi.h"
#include <ArduinoJson.h>

HTTPClient http;
WiFiClient wifiClient;
ESP8266WebServer server(80);
PubSubClient mqtt(MQTT_SERVER, 1883, wifiClient);


Fusion::Fusion(String deviceID,String deviceSecret){
  clientID = deviceID; 
  clientSecret = deviceSecret; 
}

void Fusion::setup(){
  //to-do
}


void Fusion::addDigitalSwitch(String name, int channel){
//to-do
}

int Fusion::digitalPinRead(int channel){
   return 0;
}

void Fusion::loop(){
   mqtt.loop();
   //FUSI_IN_CHANNEL(5);
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括“fusi.h”
#包括
HTTPClient-http;
WiFiClient WiFiClient;
ESP8266Web服务器(80);
PubSubClient mqtt(mqtt_服务器,1883年,wifiClient);
Fusion::Fusion(字符串设备ID、字符串设备机密){
clientID=设备ID;
clientSecret=设备机密;
}
void Fusion::setup(){
//待办事项
}
void Fusion::addDigitalSwitch(字符串名称,int通道){
//待办事项
}
int Fusion::digitalPinRead(int通道){
返回0;
}
void Fusion::loop(){
mqtt.loop();
//FUSI_在_信道中(5);
}
现在我想在主草图上通知是否发生了某些事件

#include <Fusi.h>

Fusi fusi("4151b719-09bd-448e-9fc4-873807a66ba2","LSXJPBLW");


void setup() {
  fusi.setup();
  fusi.addDigitalSwitch("RELAY_0",D0);
  fusi.addDigitalSwitch("RELAY_1",D1);
  fusi.addDigitalSwitch("RELAY_2",D2);
  fusi.addDigitalSwitch("RELAY_3",D3);
  fusi.addDigitalSwitch("ONBOARD_LED",D4);
  pinMode(D0,OUTPUT);
  pinMode(D1,OUTPUT);
  pinMode(D2,OUTPUT);
  pinMode(D3,OUTPUT);
  pinMode(D4,OUTPUT);
  digitalWrite(D0,fusi.digitalPinRead(D0));
  digitalWrite(D1,fusi.digitalPinRead(D1));
  digitalWrite(D2,fusi.digitalPinRead(D2));
  digitalWrite(D3,fusi.digitalPinRead(D3));
  digitalWrite(D4,fusi.digitalPinRead(D4));
}

  void loop() {
     fusi.loop();
     delay(200);
   }

  //This should notify from library
  void FUSI_IN_CHANNEL(int channel){
     //do update pins
  }
}
#包括
Fusi Fusi(“4151b719-09bd-448e-9fc4-873807a66ba2”,“LSXJPBLW”);
无效设置(){
fusi.setup();
fusi.添加数字开关(“继电器0”,D0);
fusi.addDigitalSwitch(“继电器1”,D1);
fusi.addDigitalSwitch(“继电器2”,D2);
fusi.添加数字开关(“继电器3”,D3);
fusi.addDigitalSwitch(“车载LED”,D4);
pinMode(D0,输出);
pinMode(D1,输出);
pinMode(D2,输出);
引脚模式(D3,输出);
引脚模式(D4,输出);
数字写入(D0,fusi.digitalPinRead(D0));
数码写入(D1,fusi.digitalPinRead(D1));
数字写入(D2,fusi.digitalPinRead(D2));
数字写入(D3,fusi.digitalPinRead(D3));
数字写入(D4,fusi.digitalPinRead(D4));
}
void循环(){
fusi.loop();
延迟(200);
}
//这应该从图书馆得到通知
无效FUSI_IN_通道(内部通道){
//更新PIN码吗
}
}