From ff6104770670451519c6bc3fad6d1a3cff0dff68 Mon Sep 17 00:00:00 2001 From: Chester Date: Sun, 26 Nov 2023 19:05:51 +0100 Subject: [PATCH] added CRC check, README update, bug fixes, --- README.md | 81 +++++++- include/WMbusFrame.h | 41 ---- include/WaterMeter.h | 73 ++++--- include/config_template.h | 67 ++++++ include/credentials_template.h | 31 +++ include/hwconfig.h | 33 --- include/utils.h | 15 ++ multical21.png | Bin 0 -> 221684 bytes platformio.ini | 9 +- src/WMBusFrame.cpp | 115 ----------- src/WaterMeter.cpp | 362 +++++++++++++++++++++++++-------- src/main.cpp | 273 +++++++++++++------------ src/utils.cpp | 103 ++++++++++ 13 files changed, 769 insertions(+), 434 deletions(-) delete mode 100644 include/WMbusFrame.h create mode 100644 include/config_template.h create mode 100644 include/credentials_template.h delete mode 100644 include/hwconfig.h create mode 100644 include/utils.h create mode 100644 multical21.png delete mode 100644 src/WMBusFrame.cpp create mode 100644 src/utils.cpp diff --git a/README.md b/README.md index 8043da2..9964cc0 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,79 @@ # esp-multical21 -ESP8266 decrypts wireless MBus frames from a Multical21 water meter +ESP8266/ESP32 decrypts wireless MBus frames from a Multical21 water meter. -A CC1101 868 MHz modul is connected via SPI to the ESP8266 an configured to receive Wireless MBus frames. -The Multical21 is sending every 16 seconds wireless MBus frames (Mode C1, frame type B). The encrypted -frames are received from the ESP8266 an it decrypts them with AES-128-CTR. The meter information -(total counter, target counter, medium temperature, ambient temperature, alalm flags (BURST, LEAK, DRY, -REVERSE) are sent via MQTT to a smarthomeNG/smartVISU service (running on a raspberry). +Multical21 +A CC1101 868 MHz module is connected via SPI to the ESP8266/ESP32. +The Multical21 is transmitting encrypted MBus frames (Mode C1, frame type B) every 16 seconds. +The ESP8266/ESP32 does some validation (right serial number, crc checking) and then +decrypts them with AES-128-CTR. + +The serial number (8 digits) is printed on the water meter (above the LCD). +Ask your water supplier for the decryption key (16 bytes). I got mine packed in a so called +KEM-file. To extract the key i used a python script [kem-decryptor.py](https://gist.github.com/mbursa/caa654a01b9e804ad44d1f00208a2490) + + +The Multical21 provides the following meter values: + + +The ESP8266/ESP32 prints out the current meter values via UART (baudrate: 115200). +The UART output looks something like this: +``` +total: 1636.265 m³ - target: 1624.252 m³ - 13 °C - 22 °C - 0x00 +``` +Additionally the values are sent via MQTT to a given broker. + +Rename [config_template.h](include/config_template.h) to _**config.h**_ and fill in some information. + +Provide your water meter serial number and decryption key. + +``` +// ask your water supplier for your personal encryption key +#define ENCRYPTION_KEY 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF +// serial number is printed on your multical21 +#define SERIAL_NUMBER 0x63, 0x00, 0x05, 0x43 +``` + +Add your Wifi credentials (ssid, password). Add your MQTT broker ip address. If your +broker uses authentication add MQTT username/password. + +``` +// more than one wifi credentials are supported, upper one wins +// "ssid", "wifi_passphrase", "mqtt_broker", "mqtt_username", "mqtt_password" +std::vector const credentials = { + { "ssid1", "********", "", "", ""} // no MQTT + , { "ssid2", "********", "10.14.0.1", "", ""} // MQTT without auth + , { "ssid3", "********", "10.0.0.111", "mqttuser", "mqtt1234"} // MQTT with auth +}; +``` + +Change the MQTT prefix and the topic names as you like. Currently the water counter value +is published in **watermeter/0/total** +``` +#define MQTT_PREFIX "watermeter/0" +#define MQTT_total "/total" +#define MQTT_target "/target" +#define MQTT_ftemp "/flowtemp" +#define MQTT_atemp "/ambienttemp" +#define MQTT_info "/infocode" +``` + + +Connect your ESP8266/ESP32 to the CC1101 868Mhz module: +| CC1101 | ESP8266 | ESP32 | +|--------|:-------:|:-----:| +| VCC | 3V3 | 3V3 | +| GND | GND | GND | +| CSN | D8 | 4 | +| MOSI | D7 | 23 | +| MISO | D6 | 19 | +| SCK | D5 | 18 | +| GD0 | D2 | 32 | +| GD2 | not connected| not connected| Thanks to [weetmuts](https://github.com/weetmuts) for his great job on the wmbusmeters. diff --git a/include/WMbusFrame.h b/include/WMbusFrame.h deleted file mode 100644 index e59d8da..0000000 --- a/include/WMbusFrame.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef __WMBUS_FRAME__ -#define __WMBUS_FRAME__ - -#include -#include -#include -#include -#include "credentials.h" - -class WMBusFrame -{ - public: - static const uint8_t MAX_LENGTH = 64; - private: - CTR aes128; - const uint8_t meterId[4] = { W_SERIAL_NUMBER }; // Multical21 serial number - const uint8_t key[16] = { W_ENCRYPTION_KEY }; // AES-128 key - uint8_t cipher[MAX_LENGTH]; - uint8_t plaintext[MAX_LENGTH]; - uint8_t iv[16]; - void check(void); - void printMeterInfo(uint8_t *data, size_t len); - - public: - // check frame and decrypt it - void decode(void); - - // true, if meter information is valid for the last received frame - bool isValid = false; - - // payload length - uint8_t length = 0; - - // payload data - uint8_t payload[MAX_LENGTH]; - - // constructor - WMBusFrame(); -}; - -#endif // __WMBUS_FRAME__ diff --git a/include/WaterMeter.h b/include/WaterMeter.h index 60821e2..9c32d98 100644 --- a/include/WaterMeter.h +++ b/include/WaterMeter.h @@ -17,7 +17,12 @@ #include #include -#include "WMBusFrame.h" +#include +#include +#include +#include +#include "config.h" +#include "utils.h" #define MARCSTATE_SLEEP 0x00 #define MARCSTATE_IDLE 0x01 @@ -179,50 +184,72 @@ class WaterMeter { private: + const uint32_t RECEIVE_TIMEOUT = 300000UL; // in millis + const uint32_t PACKET_TIMEOUT = 180000UL; // in seconds + uint32_t lastPacketDecoded = -PACKET_TIMEOUT; + uint32_t lastFrameReceived = 0; + volatile boolean packetAvailable = false; + uint8_t meterId[4]; + uint8_t aesKey[16]; inline void selectCC1101(void); inline void deselectCC1101(void); inline void waitMiso(void); + static const uint8_t MAX_LENGTH = 64; + CTR aes128; + uint8_t cipher[MAX_LENGTH]; + uint8_t plaintext[MAX_LENGTH]; + uint8_t iv[16]; + bool isValid = false; // true, if meter information is valid for the last received frame + uint8_t length = 0; // payload length + uint8_t payload[MAX_LENGTH]; // payload data + uint32_t totalWater; + uint32_t targetWater; + uint32_t lastTarget=0; + uint8_t flowTemp; + uint8_t ambientTemp; + uint8_t infoCodes; + + PubSubClient &mqttClient; + bool mqttEnabled; + + // reset HW and restart receiver + void restartRadio(void); // flush fifo and (re)start receiver void startReceiver(void); - // burst write registers of cc1101 - void writeBurstReg(uint8_t regaddr, uint8_t* buffer, uint8_t len); - - // burst read registers of cc1101 + //void writeBurstReg(uint8_t regaddr, uint8_t* buffer, uint8_t len); void readBurstReg(uint8_t * buffer, uint8_t regaddr, uint8_t len); - - // strobe command void cmdStrobe(uint8_t cmd); - - // read a register of cc1101 uint8_t readReg(uint8_t regaddr, uint8_t regtype); - - // read a byte from fifo uint8_t readByteFromFifo(void); - - // write a register of cc1101 void writeReg(uint8_t regaddr, uint8_t value); - - // initialize cc1101 registers void initializeRegisters(void); - - // reset cc1101 void reset(void); + // static ISR calls instanceISR via this pointer + IRAM_ATTR static void cc1101Isr(void *p); + // receive a wmbus frame - void receive(WMBusFrame *payload); + void receive(void); // read frame from CC1101 + bool checkFrame(void); // check id, CRC + void getMeterInfo(uint8_t *data, size_t len); + void publishMeterInfo(); public: // constructor - WaterMeter(void); + WaterMeter(PubSubClient &mqtt); + + void enableMqtt(bool enable); // startup CC1101 for receiving wmbus mode c - void begin(); + void begin(uint8_t *key, uint8_t *id); - // must be called frequently, returns true if a valid frame was received - bool isFrameAvailable(void); + // must be called frequently + void loop(void); + + IRAM_ATTR void instanceCC1101Isr(); }; -#endif // _WATERMETER_H_ \ No newline at end of file +#endif // _WATERMETER_H_ diff --git a/include/config_template.h b/include/config_template.h new file mode 100644 index 0000000..87cbacc --- /dev/null +++ b/include/config_template.h @@ -0,0 +1,67 @@ +#ifndef __CONFIG_H__ +#define __CONFIG_H__ + +#include + +#define DEBUG 1 // set to 1 for detailed logging at UART +#define ESP_NAME "esp-multical21" // for dns resolving +#define MQTT_PREFIX "watermeter/0" // mqtt prefix topic +#define MQTT_total "/total" +#define MQTT_target "/target" +#define MQTT_ftemp "/flowtemp" +#define MQTT_atemp "/ambienttemp" +#define MQTT_info "/infocode" + +// ask your water supplier for your personal encryption key +#define ENCRYPTION_KEY 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF +// serial number is printed on your multical21 +#define SERIAL_NUMBER 0x12, 0x34, 0x56, 0x78 + +// WIFI configuration, supports more than one WIFI, first found first served +// if you dont use MQTT, leave broker/user/pass empty ("") +// if you dont need user/pass for MQTT, leave it empty ("") +struct CREDENTIAL { + char const* ssid; // Wifi ssid + char const* password; // Wifi password + char const* mqtt_broker; // MQTT broker ip address + char const* mqtt_username; // MQTT username + char const* mqtt_password; // MQTT password +}; + +// more than one wifi credentials are supported, upper one wins +// "ssid", "wifi_passphrase", "mqtt_broker", "mqtt_username", "mqtt_password" +std::vector const credentials = { + { "ssid1", "********", "", "", ""} // no MQTT + , { "ssid2", "********", "10.14.0.1", "", ""} // MQTT without auth + , { "ssid3", "********", "10.0.0.111", "mqttuser", "mqtt1234"} // MQTT with auth +}; + +#if defined(ESP8266) +// Attach CC1101 pins to ESP8266 SPI pins +// VCC => 3V3 +// GND => GND +// CSN => D8 +// MOSI => D7 +// MISO => D6 +// SCK => D5 +// GD0 => D2 A valid interrupt pin for your platform (defined below this) +// GD2 => not connected + #define CC1101_GDO0 D2 // GDO0 input interrupt pin + #define PIN_LED_BUILTIN D4 +#elif defined(ESP32) +// Attach CC1101 pins to ESP32 SPI pins +// VCC => 3V3 +// GND => GND +// CSN => 4 +// MOSI => 23 +// MISO => 19 +// SCK => 18 +// GD0 => 32 any valid interrupt pin for your platform will do +// GD2 => not connected + +// attach CC1101 pins to ESP32 SPI pins + + #define CC1101_GDO0 32 + #define PIN_LED_BUILTIN 2 +#endif +#endif // __CONFIG_H__ \ No newline at end of file diff --git a/include/credentials_template.h b/include/credentials_template.h new file mode 100644 index 0000000..08f1eeb --- /dev/null +++ b/include/credentials_template.h @@ -0,0 +1,31 @@ +#ifndef __CREDENTIALS_H__ +#define __CREDENTIALS_H__ + +#include + +// ask your supplier for your personal encryption key (16 bytes) +#define ENCRYPTION_KEY 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF +// serial number is printed on your multical21 +#define SERIAL_NUMBER 0x12, 0x34, 0x56, 0x78 + +// WIFI configuration, supports more than one WIFI, first found first served +// if you dont use MQTT, leave it empty ("") +// if you dont need user/pass for MQTT, leave it empty ("") +struct CREDENTIAL { + char const* ssid; + char const* password; + char const* mqtt_broker; // MQTT broker + char const* mqtt_username; // MQTT username + char const* mqtt_password; // MQTT password +}; + +CREDENTIAL currentWifi; // global to store found wifi + +// "ssid", "wifi_passphrase", "mqtt_broker", "mqtt_username", "mqtt_password" +std::vector const credentials = { + { "ssid1", "********", "", "", ""} // no MQTT - just serial output + , { "ssid3", "********", "10.0.0.11", "", ""} // MQTT without authentication + , { "ssid2", "********", "10.0.0.10", "loxone", "loxy1234"} // MQTT with user/pass +}; + +#endif // __CREDENTIALS_H__ \ No newline at end of file diff --git a/include/hwconfig.h b/include/hwconfig.h deleted file mode 100644 index dc97e52..0000000 --- a/include/hwconfig.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef __HWCONFIG_H__ -#define __HWCONFIG_H__ - -#if defined(ESP8266) -// Attach CC1101 pins to ESP8266 SPI pins -// VCC => 3V3 -// GND => GND -// CSN => D8 -// MOSI => D7 -// MISO => D6 -// SCK => D5 -// GD0 => D2 A valid interrupt pin for your platform (defined below this) -// GD2 => not connected - #define CC1101_GDO0 D2 // GDO0 input interrupt pin - #define PIN_LED_BUILTIN D4 -#elif defined(ESP32) -// Attach CC1101 pins to ESP32 SPI pins -// VCC => 3V3 -// GND => GND -// CSN => 4 -// MOSI => 23 -// MISO => 19 -// SCK => 18 -// GD0 => 32 any valid interrupt pin for your platform will do -// GD2 => not connected - -// attach CC1101 pins to ESP32 SPI pins - - #define CC1101_GDO0 32 - #define PIN_LED_BUILTIN 2 -#endif - -#endif //__HWCONFIG_H__ \ No newline at end of file diff --git a/include/utils.h b/include/utils.h new file mode 100644 index 0000000..18acc99 --- /dev/null +++ b/include/utils.h @@ -0,0 +1,15 @@ +#ifndef __UTILS_H__ +#define __UTILS_H__ + +#include +#include + +void printHex(uint8_t * buf, size_t len); + +uint16_t crcEN13575(uint8_t *payload, uint16_t length); +uint16_t mirror(uint16_t crc, uint8_t bitnum); +uint16_t crcInternal(uint8_t *p, uint16_t len, uint16_t poly, uint16_t init, bool revIn, bool revOut); +void bin2hex(char *xp, uint8_t *bb, int n); +void hex2bin(const char *in, size_t len, uint8_t *out); + +#endif //__UTILS_H__ \ No newline at end of file diff --git a/multical21.png b/multical21.png new file mode 100644 index 0000000000000000000000000000000000000000..e6a6052a61c12de42ad1435b07a843543bc4a74a GIT binary patch literal 221684 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 literal 0 HcmV?d00001 diff --git a/platformio.ini b/platformio.ini index aadf99b..cf7ac8f 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,8 +9,8 @@ ; https://docs.platformio.org/page/projectconf.html [platformio] -;default_envs = esp8266-test -default_envs = esp32, esp8266 +default_envs = esp8266 +;default_envs = esp32, esp8266 [env:esp32] framework = arduino @@ -25,6 +25,7 @@ platform = espressif8266 board = d1_mini_lite board_build.mcu = esp8266 lib_deps = rweather/Crypto @ ^0.2.0 +monitor_speed=115200 ; OTA -;upload_port = 10.0.0.86 -;upload_protocol = espota \ No newline at end of file +upload_port = 10.0.0.131 +upload_protocol = espota \ No newline at end of file diff --git a/src/WMBusFrame.cpp b/src/WMBusFrame.cpp deleted file mode 100644 index c3c484d..0000000 --- a/src/WMBusFrame.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/* - Copyright (C) 2020 chester4444@wolke7.net - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#include "WMbusFrame.h" - -WMBusFrame::WMBusFrame() -{ - aes128.setKey(key, sizeof(key)); -} - -void WMBusFrame::check() -{ - // check meterId - for (uint8_t i = 0; i< 4; i++) - { - if (meterId[i] != payload[6-i]) - { - isValid = false; - return; - } - } - - // TBD: check crc - isValid = true; -} - -void WMBusFrame::printMeterInfo(uint8_t *data, size_t len) -{ - // init positions for compact frame - int pos_tt = 9; // total consumption - int pos_tg = 13; // target consumption - int pos_ic = 7; // info codes - int pos_ft = 17; // flow temp - int pos_at = 18; // ambient temp - - if (data[2] == 0x78) // long frame - { - // overwrite it with long frame positions - pos_tt = 10; - pos_tg = 16; - pos_ic = 6; - pos_ft = 22; - pos_at = 25; - } - - char total[10]; - uint32_t tt = data[pos_tt] - + (data[pos_tt+1] << 8) - + (data[pos_tt+2] << 16) - + (data[pos_tt+3] << 24); - snprintf(total, sizeof(total), "%d.%03d", tt/1000, tt%1000 ); - Serial.printf("total: %s m%c - ", total, 179); - - char target[10]; - uint32_t tg = data[pos_tg] - + (data[pos_tg+1] << 8) - + (data[pos_tg+2] << 16) - + (data[pos_tg+3] << 24); - snprintf(target, sizeof(target), "%d.%03d", tg/1000, tg%1000 ); - Serial.printf("target: %s m%c - ", target, 179); - - char flow_temp[3]; - snprintf(flow_temp, sizeof(flow_temp), "%2d", data[pos_ft]); - Serial.printf("%s %cC - ", flow_temp, 176); - - char ambient_temp[3]; - snprintf(ambient_temp, sizeof(ambient_temp), "%2d", data[pos_at]); - Serial.printf("%s %cC\n\r", ambient_temp, 176); -} - -void WMBusFrame::decode() -{ - // check meterId, CRC - check(); - if (!isValid) return; - - uint8_t cipherLength = length - 2 - 16; // cipher starts at index 16, remove 2 crc bytes - memcpy(cipher, &payload[16], cipherLength); - - memset(iv, 0, sizeof(iv)); // padding with 0 - memcpy(iv, &payload[1], 8); - iv[8] = payload[10]; - memcpy(&iv[9], &payload[12], 4); - - aes128.setIV(iv, sizeof(iv)); - aes128.decrypt(plaintext, (const uint8_t *) cipher, cipherLength); - -/* - Serial.printf("C: "); - for (size_t i = 0; i < cipherLength; i++) - { - Serial.printf("%02X", cipher[i]); - } - Serial.println(); - Serial.printf("P(%d): ", cipherLength); - for (size_t i = 0; i < cipherLength; i++) - { - Serial.printf("%02X", plaintext[i]); - } - Serial.println(); -*/ - - printMeterInfo(plaintext, cipherLength); -} \ No newline at end of file diff --git a/src/WaterMeter.cpp b/src/WaterMeter.cpp index 7b1682e..9363124 100644 --- a/src/WaterMeter.cpp +++ b/src/WaterMeter.cpp @@ -13,12 +13,18 @@ */ #include "WaterMeter.h" -#include "hwconfig.h" -WaterMeter::WaterMeter() +WaterMeter::WaterMeter(PubSubClient &mqtt) + : mqttClient (mqtt) + , mqttEnabled (false) { } +void WaterMeter::enableMqtt(bool enabled) +{ + mqttEnabled = enabled; +} + // ChipSelect assert inline void WaterMeter::selectCC1101(void) { @@ -34,28 +40,29 @@ inline void WaterMeter::deselectCC1101(void) // wait for MISO pulling down inline void WaterMeter::waitMiso(void) { - while(digitalRead(MISO) == HIGH); + while (digitalRead(MISO) == HIGH) + ; } // write a single register of CC1101 -void WaterMeter::writeReg(uint8_t regAddr, uint8_t value) +void WaterMeter::writeReg(uint8_t regAddr, uint8_t value) { - selectCC1101(); // Select CC1101 - waitMiso(); // Wait until MISO goes low - SPI.transfer(regAddr); // Send register address - SPI.transfer(value); // Send value - deselectCC1101(); // Deselect CC1101 + selectCC1101(); + waitMiso(); // Wait until MISO goes low + SPI.transfer(regAddr); // Send register address + SPI.transfer(value); // Send value + deselectCC1101(); } // send a strobe command to CC1101 -void WaterMeter::cmdStrobe(uint8_t cmd) +void WaterMeter::cmdStrobe(uint8_t cmd) { - selectCC1101(); // Select CC1101 + selectCC1101(); delayMicroseconds(5); - waitMiso(); // Wait until MISO goes low - SPI.transfer(cmd); // Send strobe command + waitMiso(); // Wait until MISO goes low + SPI.transfer(cmd); // Send strobe command delayMicroseconds(5); - deselectCC1101(); // Deselect CC1101 + deselectCC1101(); } // read CC1101 register (status or configuration) @@ -64,74 +71,86 @@ uint8_t WaterMeter::readReg(uint8_t regAddr, uint8_t regType) uint8_t addr, val; addr = regAddr | regType; - selectCC1101(); // Select CC1101 - waitMiso(); // Wait until MISO goes low - SPI.transfer(addr); // Send register address - val = SPI.transfer(0x00); // Read result - deselectCC1101(); // Deselect CC1101 + selectCC1101(); + waitMiso(); // Wait until MISO goes low + SPI.transfer(addr); // Send register address + val = SPI.transfer(0x00); // Read result + deselectCC1101(); return val; } -// -void WaterMeter::readBurstReg(uint8_t * buffer, uint8_t regAddr, uint8_t len) +// +void WaterMeter::readBurstReg(uint8_t *buffer, uint8_t regAddr, uint8_t len) { uint8_t addr, i; - + addr = regAddr | READ_BURST; - selectCC1101(); // Select CC1101 + selectCC1101(); delayMicroseconds(5); - waitMiso(); // Wait until MISO goes low - SPI.transfer(addr); // Send register address - for(i=0 ; i 100) + { + Serial.println("Enter idle state failed!\n"); + restartRadio(); + } } - - cmdStrobe(CC1101_SFRX); // flush receive queue - cmdStrobe(CC1101_SRX); // Enter RX state - while (readReg(CC1101_MARCSTATE, CC1101_STATUS_REGISTER) != MARCSTATE_RX); + cmdStrobe(CC1101_SFRX); // flush receive queue + delay(5); + + regCount = 0; + cmdStrobe(CC1101_SRX); // Enter RX state + delay(10); + while (readReg(CC1101_MARCSTATE, CC1101_STATUS_REGISTER) != MARCSTATE_RX) { - delay(1); + if (regCount++ > 100) + { + Serial.println("Enter RX state failed!\n"); + restartRadio(); + } } } // initialize all the CC1101 registers -void WaterMeter::initializeRegisters(void) +void WaterMeter::initializeRegisters(void) { writeReg(CC1101_IOCFG2, CC1101_DEFVAL_IOCFG2); writeReg(CC1101_IOCFG0, CC1101_DEFVAL_IOCFG0); @@ -173,56 +192,181 @@ void WaterMeter::initializeRegisters(void) writeReg(CC1101_TEST0, CC1101_DEFVAL_TEST0); } -volatile boolean packetAvailable = false; -void ICACHE_RAM_ATTR GD0_ISR(void); - -// handle interrupt from CC1101 via GDO0 -void GD0_ISR(void) { +IRAM_ATTR void WaterMeter::instanceCC1101Isr() +{ // set the flag that a package is available packetAvailable = true; } +// static ISR method, that calls the right instance +IRAM_ATTR void WaterMeter::cc1101Isr(void *p) +{ + WaterMeter *ptr = (WaterMeter *)p; + ptr->instanceCC1101Isr(); +} + // should be called frequently, handles the ISR flag // does the frame checkin and decryption -bool WaterMeter::isFrameAvailable(void) +void WaterMeter::loop(void) { if (packetAvailable) { - //Serial.println("packet received"); - // Disable wireless reception interrupt + // Serial.println("packet received"); + // Disable wireless reception interrupt detachInterrupt(digitalPinToInterrupt(CC1101_GDO0)); - + // clear the flag packetAvailable = false; - - WMBusFrame frame; - - receive(&frame); + receive(); // Enable wireless reception interrupt - attachInterrupt(digitalPinToInterrupt(CC1101_GDO0), GD0_ISR, FALLING); - return frame.isValid; + attachInterruptArg(digitalPinToInterrupt(CC1101_GDO0), cc1101Isr, this, FALLING); + } + + if (millis() - lastFrameReceived > RECEIVE_TIMEOUT) + { + // workaround: reset CC1101, since it stops receiving from time to time + restartRadio(); } - return false; } -// Initialize CC1101 to receive WMBus MODE C1 -void WaterMeter::begin() +// Initialize CC1101 to receive WMBus MODE C1 +void WaterMeter::begin(uint8_t *key, uint8_t *id) { - pinMode(SS, OUTPUT); // SS Pin -> Output - SPI.begin(); // Initialize SPI interface - pinMode(CC1101_GDO0, INPUT); // Config GDO0 as input + pinMode(SS, OUTPUT); // SS Pin -> Output + SPI.begin(); // Initialize SPI interface + pinMode(CC1101_GDO0, INPUT); // Config GDO0 as input - reset(); // power on CC1101 + memcpy(aesKey, key, sizeof(aesKey)); + aes128.setKey(aesKey, sizeof(aesKey)); - //Serial.println("Setting CC1101 registers"); - initializeRegisters(); // init CC1101 registers + memcpy(meterId, id, sizeof(meterId)); + + restartRadio(); + attachInterruptArg(digitalPinToInterrupt(CC1101_GDO0), cc1101Isr, this, FALLING); + lastFrameReceived = millis(); +} + +void WaterMeter::restartRadio() +{ + Serial.println("resetting CC1101"); + + reset(); // power on CC1101 + + // Serial.println("Setting CC1101 registers"); + initializeRegisters(); // init CC1101 registers cmdStrobe(CC1101_SCAL); delay(1); - attachInterrupt(digitalPinToInterrupt(CC1101_GDO0), GD0_ISR, FALLING); startReceiver(); + lastFrameReceived = millis(); +} + +bool WaterMeter::checkFrame(void) +{ +#if DEBUG + Serial.printf("frame serial ID: "); + for (uint8_t i = 0; i < 4; i++) + { + Serial.printf("%02x", payload[7-i]); + } + Serial.printf(" - %d", length); + Serial.println(); +#endif + + // check meterId + for (uint8_t i = 0; i < 4; i++) + { + if (meterId[i] != payload[7 - i]) + { +#if DEBUG + Serial.println("Meter serial doesnt match!"); +#endif + return false; + } + } + +#if DEBUG + Serial.println("Frame payload:"); + for (uint8_t i = 0; i <= length; i++) + { + Serial.printf("%02x", payload[i]); + } + Serial.println(); +#endif + + uint16_t crc = crcEN13575(payload, length - 1); // -2 (CRC) + 1 (L-field) + if (crc != (payload[length - 1] << 8 | payload[length])) + { + Serial.println("CRC Error"); + Serial.printf("%04x - %02x%02x\n", crc, payload[length - 1], payload[length]); + return false; + } + + return true; +} + +void WaterMeter::getMeterInfo(uint8_t *data, size_t len) +{ + // init positions for compact frame + int pos_tt = 9; // total consumption + int pos_tg = 13; // target consumption + int pos_ic = 7; // info codes + int pos_ft = 17; // flow temp + int pos_at = 18; // ambient temp + + if (data[2] == 0x78) // long frame + { + // overwrite it with long frame positions + pos_tt = 10; + pos_tg = 16; + pos_ic = 6; + pos_ft = 22; + pos_at = 25; + } + + totalWater = data[pos_tt] + (data[pos_tt + 1] << 8) + (data[pos_tt + 2] << 16) + (data[pos_tt + 3] << 24); + + targetWater = data[pos_tg] + (data[pos_tg + 1] << 8) + (data[pos_tg + 2] << 16) + (data[pos_tg + 3] << 24); + + flowTemp = data[pos_ft]; + ambientTemp = data[pos_at]; + infoCodes = data[pos_ic]; +} + +void WaterMeter::publishMeterInfo() +{ + char total[12]; + snprintf(total, sizeof(total), "%d.%03d", totalWater/ 1000, totalWater % 1000); + Serial.printf("total: %s m%c - ", total, 179); + + char target[12]; + snprintf(target, sizeof(target), "%d.%03d", targetWater / 1000, targetWater % 1000); + Serial.printf("target: %s m%c - ", target, 179); + + char flow_temp[4]; + snprintf(flow_temp, sizeof(flow_temp), "%2d", flowTemp); + Serial.printf("%s %cC - ", flow_temp, 176); + + char ambient_temp[4]; + snprintf(ambient_temp, sizeof(ambient_temp), "%2d", ambientTemp); + Serial.printf("%s %cC - ", ambient_temp, 176); + + char info_codes[3]; + snprintf(info_codes, sizeof(info_codes), "%02x", infoCodes); + Serial.printf("0x%s \n\r", info_codes); + + if (!mqttEnabled) return; // no MQTT broker connected, leave + + // change the topics as you like + mqttClient.publish(MQTT_PREFIX MQTT_total, total); + mqttClient.publish(MQTT_PREFIX MQTT_target, target); + mqttClient.loop(); + mqttClient.publish(MQTT_PREFIX MQTT_ftemp, flow_temp); + mqttClient.publish(MQTT_PREFIX MQTT_atemp, ambient_temp); + mqttClient.publish(MQTT_PREFIX MQTT_info, info_codes); + mqttClient.loop(); } // reads a single byte from the RX fifo @@ -232,35 +376,79 @@ uint8_t WaterMeter::readByteFromFifo(void) } // handles a received frame and restart the CC1101 receiver -void WaterMeter::receive(WMBusFrame * frame) +void WaterMeter::receive() { // read preamble, should be 0x543D uint8_t p1 = readByteFromFifo(); uint8_t p2 = readByteFromFifo(); - //Serial.printf("%02x%02x", p1, p2); + +#if DEBUG + Serial.printf("%02x%02x", p1, p2); +#endif - uint8_t payloadLength = readByteFromFifo(); + // get length + payload[0] = readByteFromFifo(); // is it Mode C1, frame B and does it fit in the buffer - if ( (payloadLength < WMBusFrame::MAX_LENGTH ) - && (p1 == 0x54) && (p2 == 0x3D) ) - { + if ((payload[0] < MAX_LENGTH) && (p1 == 0x54) && (p2 == 0x3D)) + { // 3rd byte is payload length - frame->length = payloadLength; + length = payload[0]; - //Serial.printf("%02X", lfield); +#if DEBUG + Serial.printf("%02X", length); +#endif // starting with 1! index 0 is lfield - for (int i = 0; i < payloadLength; i++) + for (int i = 0; i < length; i++) { - frame->payload[i] = readByteFromFifo(); + payload[i + 1] = readByteFromFifo(); } - // do some checks: my meterId, crc ok - frame->decode(); + // check meterId, CRC + if (checkFrame()) + { + uint8_t cipherLength = length - 2 - 16; // cipher starts at index 16, remove 2 crc bytes + memcpy(cipher, &payload[17], cipherLength); + + memset(iv, 0, sizeof(iv)); // padding with 0 + memcpy(iv, &payload[2], 8); + iv[8] = payload[11]; + memcpy(&iv[9], &payload[13], 4); + +#if DEBUG + printHex(iv, sizeof(iv)); + printHex(cipher, cipherLength); +#endif + + aes128.setIV(iv, sizeof(iv)); + aes128.decrypt(plaintext, (const uint8_t *)cipher, cipherLength); + + /* + Serial.printf("C: "); + for (size_t i = 0; i < cipherLength; i++) + { + Serial.printf("%02X", cipher[i]); + } + Serial.println(); + Serial.printf("P(%d): ", cipherLength); + for (size_t i = 0; i < cipherLength; i++) + { + Serial.printf("%02X", plaintext[i]); + } + Serial.println(); + */ + + // received packet is ok + lastPacketDecoded = millis(); + + lastFrameReceived = millis(); + getMeterInfo(plaintext, cipherLength); + publishMeterInfo(); + } } // flush RX fifo and restart receiver startReceiver(); - //Serial.printf("rxStatus: 0x%02x\n\r", readStatusReg(CC1101_RXBYTES)); + // Serial.printf("rxStatus: 0x%02x\n\r", readStatusReg(CC1101_RXBYTES)); } \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 10283ad..156ccdf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,7 +15,6 @@ #if defined(ESP8266) #include #include - #include #elif defined(ESP32) #include #include @@ -23,62 +22,24 @@ #include #include #include "WaterMeter.h" -#include "credentials.h" -#include "hwconfig.h" +//#include "config.h" -#define ESP_NAME "WaterMeter" +CREDENTIAL currentWifi; // global to store found wifi -#define DEBUG 0 - -#if defined(ESP32) - #define LED_BUILTIN 4 -#endif - -//Wifi settings: SSID, PW, MQTT broker -#define NUM_SSID_CREDENTIALS 3 -const char *credentials[NUM_SSID_CREDENTIALS][4] = - // SSID, PW, MQTT - { {SSID1, PW1, MQTT1 } - , {SSID2, PW2, MQTT2 } - , {SSID3, PW3, MQTT3 } - }; - -WaterMeter waterMeter; +uint8_t wifiConnectCounter = 0; // count retries WiFiClient espMqttClient; PubSubClient mqttClient(espMqttClient); +WaterMeter waterMeter(mqttClient); char MyIp[16]; int cred = -1; +bool mqttEnabled = false; // true, if a broker is given in credentials.h -int getWifiToConnect(int numSsid) -{ - for (int i = 0; i < NUM_SSID_CREDENTIALS; i++) - { - //Serial.println(WiFi.SSID(i)); - - for (int j = 0; j < numSsid; ++j) - { - /*Serial.print(j); - Serial.print(": "); - Serial.print(WiFi.SSID(i).c_str()); - Serial.print(" = "); - Serial.println(credentials[j][0]);*/ - if (strcmp(WiFi.SSID(j).c_str(), credentials[i][0]) == 0) - { - Serial.println("Credentials found for: "); - Serial.println(credentials[i][0]); - return i; - } - } - } - return -1; -} - -// connect to wifi – returns true if successful or false if not bool ConnectWifi(void) { int i = 0; + bool isWifiValid = false; Serial.println("starting scan"); // scan for nearby networks: @@ -93,48 +54,69 @@ bool ConnectWifi(void) Serial.println("Couldn't get a wifi connection"); return false; } - + for (int i = 0; i < numSsid; i++) { - Serial.print(i+1); - Serial.print(") "); - Serial.println(WiFi.SSID(i)); + Serial.print(i + 1); + Serial.print(". "); + Serial.print(WiFi.SSID(i)); + Serial.print(" "); + Serial.println(WiFi.RSSI(i)); } // search for given credentials - cred = getWifiToConnect(numSsid); - if (cred == -1) + for (CREDENTIAL credential : credentials) { - Serial.println("No Wifi!"); + for (int j = 0; j < numSsid; ++j) + { + if (strcmp(WiFi.SSID(j).c_str(), credential.ssid) == 0) + { + Serial.print("credentials found for: "); + Serial.println(credential.ssid); + currentWifi = credential; + isWifiValid = true; + } + } + } + + if (!isWifiValid) + { + Serial.println("no matching credentials"); return false; } // try to connect - WiFi.begin(credentials[cred][0], credentials[cred][1]); + Serial.println(WiFi.macAddress()); + + // try to connect WPA + WiFi.begin(currentWifi.ssid, currentWifi.password); + WiFi.setHostname(ESP_NAME); Serial.println(""); Serial.print("Connecting to WiFi "); - Serial.println(credentials[cred][0]); + Serial.println(currentWifi.ssid); i = 0; while (WiFi.status() != WL_CONNECTED) { - digitalWrite(LED_BUILTIN, LOW); + digitalWrite(PIN_LED_BUILTIN, LOW); delay(300); - Serial.print("."); - digitalWrite(LED_BUILTIN, HIGH); + Serial.print(F(".")); + digitalWrite(PIN_LED_BUILTIN, HIGH); delay(300); - if (i++ > 30) + if (i++ > 50) { // giving up - return false; + ESP.restart(); + return false; // gcc shut up } } + return true; } void mqttDebug(const char* debug_str) { - String s="/watermeter/debug"; + String s=MQTT_PREFIX"/debug"; mqttClient.publish(s.c_str(), debug_str); } @@ -151,24 +133,18 @@ void mqttCallback(char* topic, byte* payload, unsigned int len) Serial.print(" "); Serial.println((char)payload[0]); // FIXME LEN */ - if (strstr(topic, "/smarthomeNG/start")) + if (strstr(topic, "smarthomeNG/start")) { if (len == 4) // True { // maybe to something } } - else if (strstr(topic, "/espmeter/reset")) + else if (strstr(topic, MQTT_PREFIX "/reset")) { if (len == 4) // True { // maybe to something - const char *topic = "/espmeter/reset/status"; - const char *msg = "False"; - mqttClient.publish(topic, msg); - mqttClient.loop(); - delay(200); - // reboot ESP.restart(); } @@ -179,45 +155,59 @@ void mqttCallback(char* topic, byte* payload, unsigned int len) bool mqttConnect() { - mqttClient.setServer(credentials[cred][2], 1883); + bool connected=false; + + Serial.print("try to connect to MQTT server "); + Serial.println(currentWifi.mqtt_broker); + + // use given MQTT broker + mqttClient.setServer(currentWifi.mqtt_broker, 1883); + + // connect client with retainable last will message + if (strlen(currentWifi.mqtt_username) && strlen(currentWifi.mqtt_password)) + { + Serial.print("with user: "); + Serial.println(currentWifi.mqtt_username); + // connect with user/pass + connected = mqttClient.connect( ESP_NAME + , currentWifi.mqtt_username + , currentWifi.mqtt_password + , MQTT_PREFIX"/online" + , 0 + , true + , "False" + ); + } + else + { + // connect without user/pass + connected = mqttClient.connect(ESP_NAME, MQTT_PREFIX"/online", 0, true, "False"); + } + mqttClient.setCallback(mqttCallback); - // connect client to retainable last will message - return mqttClient.connect(ESP_NAME, "/watermeter/online", 0, true, "False"); + return connected; } void mqttSubscribe() { - String s; // publish online status - s = "/watermeter/online"; - mqttClient.publish(s.c_str(), "True", true); + mqttClient.publish(MQTT_PREFIX "/online", "True", true); // Serial.print("MQTT-SEND: "); // Serial.print(s); // Serial.println(" True"); // publish ip address - s="/watermeter/ipaddr"; IPAddress MyIP = WiFi.localIP(); snprintf(MyIp, 16, "%d.%d.%d.%d", MyIP[0], MyIP[1], MyIP[2], MyIP[3]); - mqttClient.publish(s.c_str(), MyIp, true); + mqttClient.publish(MQTT_PREFIX"/ipaddr", MyIp, true); // Serial.print("MQTT-SEND: "); // Serial.print(s); // Serial.print(" "); // Serial.println(MyIp); - // if smarthome.py restarts -> publish init values - s = "/smarthomeNG/start"; - mqttClient.subscribe(s.c_str()); - - // if True; meter data are published every 5 seconds - // if False: meter data are published once a minute - s = "/watermeter/liveData"; - mqttClient.subscribe(s.c_str()); - // if True -> perform an reset - s = "/espmeter/reset"; - mqttClient.subscribe(s.c_str()); + mqttClient.subscribe(MQTT_PREFIX"/reset"); } void setupOTA() @@ -259,23 +249,16 @@ void setupOTA() ArduinoOTA.begin(); } -// receive encrypted packets -> send it via MQTT to decrypter -void waterMeterLoop() -{ - if (waterMeter.isFrameAvailable()) - { - // publish meter info via MQTT - - } -} - void setup() { pinMode(LED_BUILTIN, OUTPUT); Serial.begin(115200); - waterMeter.begin(); + uint8_t key[16] = { ENCRYPTION_KEY }; // AES-128 key + uint8_t id[4] = { SERIAL_NUMBER }; // Multical21 serial number + + waterMeter.begin(key, id); Serial.println("Setup done..."); } @@ -286,6 +269,7 @@ enum ControlStateType , StateMqttConnect , StateConnected , StateOperating + , StateOperatingNoWifi }; ControlStateType ControlState = StateInit; @@ -309,7 +293,11 @@ void loop() case StateWifiConnect: //Serial.println("StateWifiConnect:"); // station mode - ConnectWifi(); + if (ConnectWifi() == false) + { + ControlState = StateOperatingNoWifi; + break; + } delay(500); @@ -317,13 +305,25 @@ void loop() { Serial.println(""); Serial.print("Connected to "); - Serial.println(credentials[cred][0]); // FIXME + Serial.println(currentWifi.ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); setupOTA(); - ControlState = StateMqttConnect; + if (strlen(currentWifi.mqtt_broker)) // MQTT is used + { + mqttEnabled = true; + ControlState = StateMqttConnect; + } + else + { + // no MQTT server -> go operating + mqttEnabled = false; + ControlState = StateOperating; + Serial.println(F("MQTT not enabled")); + Serial.println(F("StateOperating:")); + } } else { @@ -342,25 +342,33 @@ void loop() Serial.println("StateMqttConnect:"); digitalWrite(LED_BUILTIN, HIGH); // off + waterMeter.enableMqtt(false); + if (WiFi.status() != WL_CONNECTED) { ControlState = StateNotConnected; break; // exit (hopefully) switch statement } - Serial.print("try to connect to MQTT server "); - Serial.println(credentials[cred][2]); // FIXME - - if (mqttConnect()) + if (mqttEnabled) { - ControlState = StateConnected; + if (mqttConnect()) + { + ControlState = StateConnected; + waterMeter.enableMqtt(true); + } + else + { + Serial.println("MQTT connect failed"); + + delay(1000); + // try again + } } else { - Serial.println("MQTT connect failed"); - - delay(1000); - // try again + // no MQTT is used at all + ControlState = StateConnected; } ArduinoOTA.handle(); @@ -369,20 +377,27 @@ void loop() case StateConnected: Serial.println("StateConnected:"); - if (!mqttClient.connected()) + if (mqttEnabled) { - ControlState = StateMqttConnect; - delay(1000); + if (!mqttClient.connected()) + { + ControlState = StateMqttConnect; + delay(1000); + } + else + { + // subscribe to given topics + mqttSubscribe(); + + ControlState = StateOperating; + digitalWrite(LED_BUILTIN, LOW); // on + Serial.println("StateOperating:"); + //mqttDebug("up and running"); + } } else { - // subscribe to given topics - mqttSubscribe(); - ControlState = StateOperating; - digitalWrite(LED_BUILTIN, LOW); // on - Serial.println("StateOperating:"); - //mqttDebug("up and running"); } ArduinoOTA.handle(); @@ -397,21 +412,29 @@ void loop() break; // exit (hopefully switch statement) } - if (!mqttClient.connected()) + if (mqttEnabled) { - Serial.println("not connected to MQTT server"); - ControlState = StateMqttConnect; + if (!mqttClient.connected()) + { + Serial.println("not connected to MQTT server"); + ControlState = StateMqttConnect; + } + + mqttClient.loop(); } // here we go - waterMeterLoop(); - - mqttClient.loop(); + waterMeter.loop(); ArduinoOTA.handle(); break; + case StateOperatingNoWifi: + + waterMeter.loop(); + break; + default: Serial.println("Error: invalid ControlState"); } diff --git a/src/utils.cpp b/src/utils.cpp new file mode 100644 index 0000000..fc2c451 --- /dev/null +++ b/src/utils.cpp @@ -0,0 +1,103 @@ + +#include "utils.h" + +void printHex(uint8_t *buf, size_t len) +{ + for (size_t i = 0; i < len; i++) + { + Serial.printf("%02X ", buf[i]); + if ((i+1) % 16 == 0) Serial.println(); + } + Serial.println(); +} + +uint16_t crcX25(uint8_t *payload, uint16_t length) +{ + return crcInternal(payload, length, 0x1021, 0xffff, true, true); +} + +uint16_t crcEN13575(uint8_t *payload, uint16_t length) +{ + return crcInternal(payload, length, 0x3D65, 0x0000, false, false); +} + +uint16_t mirror(uint16_t crc, uint8_t bitnum) +{ + // mirrors the lower 'bitnum' bits of 'crc' + + uint16_t i, j = 1, crcout = 0; + + for (i = (uint16_t)1 << (bitnum - 1); i; i >>= 1) + { + if (crc & i) + { + crcout |= j; + } + j <<= 1; + } + return crcout; +} + +uint16_t crcInternal(uint8_t *p, uint16_t len, uint16_t poly, uint16_t init, bool revIn, bool revOut) +{ + uint16_t i, j, c, bit, crc; + + crc = init; + for (i = 0; i < 16; i++) + { + bit = crc & 1; + if (bit) crc ^= poly; + crc >>= 1; + if (bit) crc |= 0x8000; + } + + // bit by bit algorithm with augmented zero bytes. + // does not use lookup table, suited for polynom orders between 1...32. + + for (i = 0; i < len; i++) + { + c = (uint16_t)*p++; + if (revIn) c = mirror(c, 8); + + for (j = 0x80; j; j >>= 1) + { + bit = crc & 0x8000; + crc <<= 1; + if (c & j) crc |= 1; + if (bit) crc ^= poly; + } + } + + for (i = 0; i < 16; i++) + { + bit = crc & 0x8000; + crc <<= 1; + if (bit) crc ^= poly; + } + + if (revOut) crc = mirror(crc, 16); + crc ^= 0xffff; // crcxor + + return crc; +} + + +// convert _in_ to _len_ hex numbers stored in _out_ +// _in_ "EF01" to 2 hex numbers: 0xEf, 0x01 +void hex2bin(const char *in, size_t len, uint8_t *out) +{ + const char *pos = in; + + for(size_t count = 0; count < len; count++) + { + char buf[5] = {'0', 'x', pos[0], pos[1], 0}; + out[count] = strtol(buf, NULL, 0); + pos += 2 * sizeof(char); + } +} + +void bin2hex(char *xp, uint8_t *bb, int n) +{ + const char xx[]= "0123456789ABCDEF"; + while (--n >= 0) xp[n] = xx[(bb[n>>1] >> ((1 - (n&1)) << 2)) & 0xF]; +} \ No newline at end of file