feat: 全量同步 254 个常用的 Arduino 扩展库文件
This commit is contained in:
113
arduino-libs/arduino-cli/libraries/Blynk/src/BlynkParticle.h
Normal file
113
arduino-libs/arduino-cli/libraries/Blynk/src/BlynkParticle.h
Normal file
@@ -0,0 +1,113 @@
|
||||
/**
|
||||
* @file BlynkParticle.h
|
||||
* @author Volodymyr Shymanskyy
|
||||
* @license This project is released under the MIT License (MIT)
|
||||
* @copyright Copyright (c) 2015 Volodymyr Shymanskyy
|
||||
* @date Mar 2015
|
||||
* @brief
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BlynkParticle_h
|
||||
#define BlynkParticle_h
|
||||
|
||||
#include "BlynkApiParticle.h"
|
||||
#include "Blynk/BlynkProtocol.h"
|
||||
|
||||
class BlynkTransportParticle
|
||||
{
|
||||
public:
|
||||
BlynkTransportParticle()
|
||||
: domain(NULL), port(0)
|
||||
{}
|
||||
|
||||
void begin(IPAddress a, uint16_t p) {
|
||||
domain = NULL;
|
||||
port = p;
|
||||
addr = a;
|
||||
}
|
||||
|
||||
void begin(const char* d, uint16_t p) {
|
||||
domain = d;
|
||||
port = p;
|
||||
}
|
||||
|
||||
bool connect() {
|
||||
if (domain) {
|
||||
BLYNK_LOG4(BLYNK_F("Connecting to "), domain, ':', port);
|
||||
return (1 == client.connect(domain, port));
|
||||
} else {
|
||||
BLYNK_LOG_IP("Connecting to ", addr);
|
||||
return (1 == client.connect(addr, port));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void disconnect() { client.stop(); }
|
||||
|
||||
size_t read(void* buf, size_t len) {
|
||||
return client.readBytes((char*)buf, len);
|
||||
}
|
||||
|
||||
size_t write(const void* buf, size_t len) {
|
||||
return client.write((const uint8_t*)buf, len);
|
||||
}
|
||||
|
||||
void flush() { client.flush(); }
|
||||
bool connected() { return client.connected(); }
|
||||
int available() { return client.available(); }
|
||||
|
||||
private:
|
||||
TCPClient client;
|
||||
IPAddress addr;
|
||||
const char* domain;
|
||||
uint16_t port;
|
||||
};
|
||||
|
||||
class BlynkParticle
|
||||
: public BlynkProtocol<BlynkTransportParticle>
|
||||
{
|
||||
typedef BlynkProtocol<BlynkTransportParticle> Base;
|
||||
public:
|
||||
BlynkParticle(BlynkTransportParticle& transp)
|
||||
: Base(transp)
|
||||
{}
|
||||
|
||||
void config(const char* auth,
|
||||
const char* domain = BLYNK_DEFAULT_DOMAIN,
|
||||
uint16_t port = BLYNK_DEFAULT_PORT)
|
||||
{
|
||||
Base::begin(auth);
|
||||
this->conn.begin(domain, port);
|
||||
}
|
||||
|
||||
void config(const char* auth,
|
||||
IPAddress addr,
|
||||
uint16_t port = BLYNK_DEFAULT_PORT)
|
||||
{
|
||||
Base::begin(auth);
|
||||
this->conn.begin(addr, port);
|
||||
}
|
||||
|
||||
void begin( const char* auth,
|
||||
const char* domain = BLYNK_DEFAULT_DOMAIN,
|
||||
uint16_t port = BLYNK_DEFAULT_PORT)
|
||||
{
|
||||
BlynkDelay(3000); // Give the board time to settle
|
||||
config(auth, domain, port);
|
||||
while(this->connect() != true) {}
|
||||
}
|
||||
|
||||
void begin( const char* auth,
|
||||
IPAddress addr,
|
||||
uint16_t port = BLYNK_DEFAULT_PORT)
|
||||
{
|
||||
BlynkDelay(3000); // Give the board time to settle
|
||||
config(auth, addr, port);
|
||||
while(this->connect() != true) {}
|
||||
}
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user