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