#include #include #include "wifi.h" #include uint8_t checkAllPV(); //forward decl uint8_t HopRcvCh();//forward decl uint8_t MQTT = MQTT_ON; WiFiClient wifiClient; MqttClient mqttClient(wifiClient); const char MQTTbroker[] = MSERVER_IP; //works int MQTTport = MSERVER_PORT; //works const char MQTTid[] = MQTT_ID; //doesn't work float P_DTSU=0; char ValueStr[30]=VALUE_TOPIC; //not checked yet char TopicStr[30]=SET_TOPIC; //not checked yet void onMqttMessage(int messageSize) { //---------------------------------------------------------------------------------------- // we received a message, print out the topic and contents uint8_t i=0; // DEBUG_OUT.println("Received a message with topic '"); // DEBUG_OUT.print(F(" length:")); // DEBUG_OUT.print(messageSize); strcpy(TopicStr,(char *)mqttClient.messageTopic().c_str()); DEBUG_OUT.print(TopicStr); DEBUG_OUT.print(F(" Watt ")); //myString.c_str() while (mqttClient.available()) { ValueStr[i]=(char)mqttClient.read(); i++; } //DEBUG_OUT.print(F(" ValueStr:")); //DEBUG_OUT.println(ValueStr); if ( strcmp(TopicStr,"ImpExpW" ) ==0){ //true if = 0 Import/Export P Watt P_DTSU= atof(ValueStr); DEBUG_OUT.print(P_DTSU,1); DEBUG_OUT.print(F("Watt | All PVs received?:")); DEBUG_OUT.println(checkAllPV()); } //DEBUG_OUT.println(); }//---------------------------------------------------------------------------------------- uint8_t setupMQTT(void){ //---------------------------------------------------------------------------------------- DEBUG_OUT.print(F("Attempting to connect to the MQTT broker: ")); DEBUG_OUT.println(MQTTbroker); if (!mqttClient.connect(MQTTbroker, MQTTport)) { DEBUG_OUT.print(F("MQTT connection failed! Error code = ")); DEBUG_OUT.println(mqttClient.connectError()); return 0; } else{ DEBUG_OUT.print(F("MQTT connected = ")); DEBUG_OUT.println(mqttClient.connectError()); // set the message receive callback mqttClient.onMessage(onMqttMessage); DEBUG_OUT.print(F("Subscribing to topics.. ")); // subscribe to a topic mqttClient.subscribe("ImpExpW"); //import export return 1; } }//-----------------------------------------------------------------------------------------