earlephilhower on master
Only set flashmode byte when up… (compare)
data
data
provided by onUpload()
SPIFFSEditor
Hi.
I am using Async client to connect to philips hue bridge in order to send asynchornously PUT json messages to hue bridge so that i can change hue status and color.
Async client connects to hue bridge and after a few seconds it disconnects (onDisconnect is triggered).
What can i do?
'''
static AsyncClient * aClient = NULL;
void setup()
{
Serial.begin(115200);
Serial.setDebugOutput(true);
// Connect to WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" ----- WiFi Connected -----");
WiFi.macAddress(mac);
Serial.print("MAC: ");
Serial.print(mac[0], HEX);
Serial.print(":");
Serial.print(mac[1], HEX);
Serial.print(":");
Serial.print(mac[2], HEX);
Serial.print(":");
Serial.print(mac[3], HEX);
Serial.print(":");
Serial.print(mac[4], HEX);
Serial.print(":");
Serial.println(mac[5], HEX);
if (request->url() == "/spi") {
printf("On request body data: %s\n", data);
DynamicJsonBuffer jsonBuffer;
JsonObject& root = jsonBuffer.parseObject((const char*)data);
if (root.success()) {
if (root.containsKey("command")) {
SPISlave.setData(root["command"].asString());
digitalWrite(LPC_INT_PIN, 1);
}
}
request->send(200, "text/plain", "end");
}
});
server.begin();
aClient = new AsyncClient();
aClient->onDisconnect( {
Serial.println("############ Async Client Disconnect ############");
c->free();
delete c;
});
aClient->onConnect( {
Serial.println("Async Client Connected");
}, NULL);
aClient->onData( {
Serial.print("\r\nData: ");
Serial.println(len);
uint8_t d = (uint8_t)data;
for (size_t i = 0; i < len; i++)
Serial.write(d[i]);
}, NULL);
if (!aClient->connect(BASE_HUE_URL, BASE_HUE_PORT)) {
Serial.println("Connect Fail\n");
AsyncClient * client = aClient;
aClient = NULL;
delete client;
}
}
void loop()
{
if ((WiFi.status() == WL_CONNECTED)) {
aClient->write(PUT_HUE_URL);
}
'''