added debugging

andrews-local-changes^2
Andrew Woodlee 2 months ago
parent ca37ffa1d9
commit 5e3c456c83

@ -16,5 +16,6 @@
"ctime": "cpp", "ctime": "cpp",
"*.tcc": "cpp" "*.tcc": "cpp"
}, },
"julia.environmentPath": "/home/andrew/Projects/SeniorDesign/esp32-tm-code" "julia.environmentPath": "/home/andrew/Projects/SeniorDesign/esp32-tm-code",
"frontMatter.content.pageFolders": []
} }

@ -17,17 +17,17 @@ board = featheresp32
framework = arduino framework = arduino
extra_scripts = pre:envSetup.py extra_scripts = pre:envSetup.py
monitor_speed = 115200 monitor_speed = 115200
upload_port = COM4 upload_port = COM6
[env:dev] [env:dev]
build_flags = -D DEV ${env.build_flags} build_flags = -D DEV ${env.build_flags}
lib_deps = lib_deps =
knolleary/pubsubclient ; knolleary/pubsubclient
https://github.com/CircuitSetup/ATM90E36 ; https://github.com/CircuitSetup/ATM90E36
https://github.com/whatnick/ATM90E26_Arduino ; https://github.com/whatnick/ATM90E26_Arduino
bblanchon/ArduinoJson @ ^6.21.3 ; bblanchon/ArduinoJson @ ^6.21.3
paulstoffregen/OneWire@^2.3.8 ; paulstoffregen/OneWire@^2.3.8
milesburton/DallasTemperature@^3.11.0 ; milesburton/DallasTemperature@^3.11.0
build_src_filter = +<transformerMonitor.cpp> -<.git/> -<.svn/> -<tests/> build_src_filter = +<transformerMonitor.cpp> -<.git/> -<.svn/> -<tests/>
[env:store-creds] [env:store-creds]

@ -17,8 +17,13 @@ void setupEnergyMonitor();
// const char* test_client_cert = ""; //to verify the client // const char* test_client_cert = ""; //to verify the client
void setup() void setup()
{ {
Serial.begin(9600);
eicDataQueue = xQueueCreate( 50, sizeof( xformerMonitorData ) ); eicDataQueue = xQueueCreate( 50, sizeof( xformerMonitorData ) );
if (eicDataQueue == 0)
{
printf("Failed to create queue= %p\n", eicDataQueue);
}
// configure time // configure time
// TODO: make dst and timezone configurable // TODO: make dst and timezone configurable
int timezone = 3; int timezone = 3;
@ -32,12 +37,12 @@ void setup()
#endif #endif
// Start the DS18B20 sensors // Start the DS18B20 sensors
monitorTempSensors.cabinet.begin(); // monitorTempSensors.cabinet.begin();
monitorTempSensors.oil.begin(); // monitorTempSensors.oil.begin();
// Get each DS18B20 sensors' address // // Get each DS18B20 sensors' address
monitorTempSensors.oil.getAddress(oilTempSensorAddr, 0); // monitorTempSensors.oil.getAddress(oilTempSensorAddr, 0);
monitorTempSensors.cabinet.getAddress(cabinetTempSensorAddr, 0); // monitorTempSensors.cabinet.getAddress(cabinetTempSensorAddr, 0);
setupMQTTClient(); setupMQTTClient();
@ -50,7 +55,7 @@ void setup()
NULL, /* Task input parameter */ NULL, /* Task input parameter */
0, /* Priority of the task */ 0, /* Priority of the task */
&taskReadEIC, /* Task handle. */ &taskReadEIC, /* Task handle. */
0); /* Core where the task should run */ 1); /* Core where the task should run */
xTaskCreatePinnedToCore( xTaskCreatePinnedToCore(
sendSensorDataOverMQTT, /* Function to implement the task */ sendSensorDataOverMQTT, /* Function to implement the task */
@ -59,7 +64,7 @@ void setup()
NULL, /* Task input parameter */ NULL, /* Task input parameter */
0, /* Priority of the task */ 0, /* Priority of the task */
&taskSendData, /* Task handle. */ &taskSendData, /* Task handle. */
1); /* Core where the task should run */ 0); /* Core where the task should run */
} }
void connect() void connect()
@ -115,11 +120,11 @@ void loop()
{ {
// mqttClient.publish("xfmormermon", "buffer"); // // mqttClient.publish("xfmormermon", "buffer");
// // publish a message roughly every second. // // publish a message roughly every second.
Serial.println("Sleeping 10s"); // Serial.println("Sleeping 10s");
delay(10000); // delay(10000);
} }
void setupMQTTClient() void setupMQTTClient()
@ -161,8 +166,9 @@ void setupEnergyMonitor()
// readEICData: reads the EIC and inserts data into queue // readEICData: reads the EIC and inserts data into queue
void readEICData(void *pvParameters) void readEICData(void *pvParameters)
{ {
Serial.print("Task1 running on core "); Serial.print("Task0 running on core ");
Serial.println(xPortGetCoreID()); Serial.println(xPortGetCoreID());
delay(2000);
// Attach interrupt for reading data every one second // Attach interrupt for reading data every one second
readEICTimer = timerBegin(0, 80, true); readEICTimer = timerBegin(0, 80, true);
@ -180,6 +186,7 @@ void sendSensorDataOverMQTT(void *pvParameters)
{ {
Serial.print("Task1 running on core "); Serial.print("Task1 running on core ");
Serial.println(xPortGetCoreID()); Serial.println(xPortGetCoreID());
delay(3000);
StaticJsonDocument<512> mqttJsonData; StaticJsonDocument<512> mqttJsonData;
JsonObject tempObj = mqttJsonData.createNestedObject("temps"); JsonObject tempObj = mqttJsonData.createNestedObject("temps");
JsonObject powerObj = mqttJsonData.createNestedObject("power"); JsonObject powerObj = mqttJsonData.createNestedObject("power");
@ -189,6 +196,7 @@ void sendSensorDataOverMQTT(void *pvParameters)
int emptySpaces = uxQueueSpacesAvailable(eicDataQueue); int emptySpaces = uxQueueSpacesAvailable(eicDataQueue);
for (;;) for (;;)
{ {
// Serial.println("hello from Sensor data");
if (messagesWaiting > 2) if (messagesWaiting > 2)
{ {
xQueueReceive(eicDataQueue, &mqttSensorData, portMAX_DELAY); xQueueReceive(eicDataQueue, &mqttSensorData, portMAX_DELAY);
@ -215,11 +223,11 @@ void sendSensorDataOverMQTT(void *pvParameters)
char buffer[512]; char buffer[512];
size_t n = serializeJson(mqttJsonData, buffer); size_t n = serializeJson(mqttJsonData, buffer);
delay(50);
mqttClient.publish("xfmormermon/", buffer, n); mqttClient.publish("xfmormermon/", buffer, n);
} }
delay(1000); // <- fixes some issues with WiFi stability
mqttClient.loop(); mqttClient.loop();
delay(10); // <- fixes some issues with WiFi stability
if (!mqttClient.connected()) if (!mqttClient.connected())
{ {
@ -241,12 +249,12 @@ void IRAM_ATTR ReadData(){
if (timesEnteredISR == 60) if (timesEnteredISR == 60)
{ {
timesEnteredISR = 0; timesEnteredISR = 0;
monitorTempSensors.cabinet.requestTemperatures(); // monitorTempSensors.cabinet.requestTemperatures();
monitorTempSensors.oil.requestTemperatures(); // monitorTempSensors.oil.requestTemperatures();
// get cabinet temp sensor data // get cabinet temp sensor data
sensorData.temps.cabinet = monitorTempSensors.cabinet.getTempC(cabinetTempSensorAddr); // sensorData.temps.cabinet = monitorTempSensors.cabinet.getTempC(cabinetTempSensorAddr);
// get oil temp sensor data // // get oil temp sensor data
sensorData.temps.oil = monitorTempSensors.oil.getTempC(oilTempSensorAddr); // sensorData.temps.oil = monitorTempSensors.oil.getTempC(oilTempSensorAddr);
} }
@ -260,5 +268,5 @@ void IRAM_ATTR ReadData(){
// sensorData.energy.exp = // sensorData.energy.exp =
xQueueSend(eicDataQueue, &sensorData, portMAX_DELAY); xQueueSend(eicDataQueue, &sensorData, portMAX_DELAY);
Serial.println("hello from ISR");
} }
Loading…
Cancel
Save