Test MQTT
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include <Ticker.h>
|
||||
#include <AsyncMqttClient.h>
|
||||
#include <leds.h>
|
||||
#include <EEPROM.h>
|
||||
|
||||
#define R_LED (13)
|
||||
#define G_LED (12)
|
||||
@@ -13,9 +14,10 @@
|
||||
bool meas = false;
|
||||
short minCnt;
|
||||
bool send_move = false;
|
||||
int old_mov = 0;
|
||||
int mov, old_mov = 0;
|
||||
int adc = 0;
|
||||
int lastADC = 0;
|
||||
int mvDelay, mvDelaySet;
|
||||
|
||||
unsigned long cRun;
|
||||
|
||||
@@ -36,9 +38,9 @@ void onWifiConnect(const WiFiEventStationModeGotIP& event);
|
||||
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event);
|
||||
void onMqttConnect(bool sessionPresent);
|
||||
void onMqttDisconnect(AsyncMqttClientDisconnectReason reason);
|
||||
void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total);
|
||||
/* void onMqttSubscribe(uint16_t packetId, uint8_t qos);
|
||||
void onMqttUnsubscribe(uint16_t packetId);
|
||||
void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total);
|
||||
void onMqttPublish(uint16_t packetId); */
|
||||
|
||||
leds g_led(G_LED, 100);
|
||||
@@ -83,8 +85,8 @@ void setup() {
|
||||
mqttClient.onDisconnect(onMqttDisconnect);
|
||||
/* mqttClient.onSubscribe(onMqttSubscribe);
|
||||
mqttClient.onUnsubscribe(onMqttUnsubscribe);
|
||||
mqttClient.onMessage(onMqttMessage);
|
||||
mqttClient.onPublish(onMqttPublish); */
|
||||
mqttClient.onMessage(onMqttMessage);
|
||||
mqttClient.setServer(mqtt_server, 1883);
|
||||
mqttClient.setClientId("MidRoom");
|
||||
|
||||
@@ -122,6 +124,11 @@ void setup() {
|
||||
Serial1.println(p); */
|
||||
}
|
||||
|
||||
EEPROM.begin(4);
|
||||
EEPROM.get(0, mvDelaySet);
|
||||
mvDelaySet = 90;
|
||||
mvDelay = -1;
|
||||
|
||||
connectToWifi();
|
||||
|
||||
cRun = millis();
|
||||
@@ -136,6 +143,11 @@ void loop() {
|
||||
ArduinoOTA.handle();
|
||||
g_led.tick();
|
||||
//r_led.tick();
|
||||
if((digitalRead(MOV_SENS) > 0) && (mvDelay == -1)){
|
||||
//mqttClient.publish("/home/midroom/move", 1, false, "1");
|
||||
mvDelay = mvDelaySet;
|
||||
}
|
||||
|
||||
if (digitalRead(MOV_SENS) != old_mov){
|
||||
old_mov = digitalRead(MOV_SENS);
|
||||
//Serial1.println(F("Change mov detected"));
|
||||
@@ -144,6 +156,12 @@ void loop() {
|
||||
|
||||
if(cRun + 999 < millis()){
|
||||
cRun = millis();
|
||||
if(mvDelay == 0) {
|
||||
//mqttClient.publish("/home/midroom/move", 1, false, "0");
|
||||
mvDelay = -1;
|
||||
}
|
||||
if(mvDelay > 0) mvDelay--;
|
||||
|
||||
adc = analogRead(A0);
|
||||
if(abs(adc - lastADC) > 50){
|
||||
lastADC = adc;
|
||||
@@ -195,6 +213,10 @@ void loop() {
|
||||
ultoa(millis(), v, 10);
|
||||
if(mqttClient.connected()){
|
||||
mqttClient.publish("/home/midroom/millis", 0, false, v);
|
||||
itoa(mvDelay, v, 10);
|
||||
mqttClient.publish("/home/midroom/movesec", 0, false, v);
|
||||
itoa(mvDelaySet, v, 10);
|
||||
mqttClient.publish("/home/midroom/movesecset", 0, false, v);
|
||||
// dtostrf(t, 5, 1,v);
|
||||
// mqttClient.publish("/home/midroom/temp", 0, false, v);
|
||||
// //Serial1.println("Publish1");
|
||||
@@ -276,13 +298,16 @@ void onMqttUnsubscribe(uint16_t packetId) {
|
||||
// //Serial1.println("Unsubscribe acknowledged.");
|
||||
// //Serial1.print(" packetId: ");
|
||||
// //Serial1.println(packetId);
|
||||
}
|
||||
}*/
|
||||
|
||||
void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) {
|
||||
if(strcmp(topic, "/home/kor/lamp1_set") == 0){
|
||||
if(strcmp(topic, "/home/midroom/mvdelay") == 0){
|
||||
mvDelaySet = atol(payload);
|
||||
EEPROM.put(0, mvDelaySet);
|
||||
EEPROM.commit();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
void onMqttPublish(uint16_t packetId) {
|
||||
//Serial1.println("Publish acknowledged.");
|
||||
//Serial1.print(" packetId: ");
|
||||
|
||||
Reference in New Issue
Block a user