Bluetooth interface for Chinese Diesel Heaters
Find a file
2019-08-26 08:41:44 +10:00
AppInventor stylish /update & /formatspiffs 2019-07-11 18:55:31 +10:00
Arduino/Afterburner added BootInit flag to RTC store - used for persistent vars init after OTA updates 2019-07-25 21:27:57 +10:00
Bootload Implemented functionality to start & stop heater according to external thermostat input 2019-08-26 06:37:41 +10:00
CRCgen Added JSON IP query parameters 2019-07-11 22:03:27 +10:00
data Reset to original Arduino min_spiffs partition layout. 2019-07-30 19:21:55 +10:00
Documentation BUG FIX: GPIO2 set for external thermostat sent dT as the Greek 'd' in the JSON - BAD - broke websocket 2019-08-19 05:33:07 +10:00
icons Board detect bug fix. New icons for GPIO setup/status 2019-08-10 15:57:46 +10:00
lib Added AP SSID/password configuration via debug port 2019-08-10 21:45:28 +10:00
pics stylish /update & /formatspiffs 2019-07-11 18:55:31 +10:00
src Added external thermostat time function to GPIO setup screen 2019-08-26 08:41:44 +10:00
.gitignore Rework priming menu, can now reset fuel gauge. JSON added for fuel usage & cal. 2019-07-20 16:08:43 +10:00
.travis.yml Converted to Platform IO friendly project, still works with Arduino provided you rename Afterburner.cpp to Afterburner.ino 2019-06-30 16:44:50 +10:00
add_CRC.py Validation CRC now generated by python script 2019-07-30 22:59:51 +10:00
BuildREADME.txt Added Windows symbolic links so an Arduino project can parasite off the superior PlatformIO paths :-) 2019-06-30 22:39:40 +10:00
LICENSE Add LICENSE 2018-11-26 10:46:40 +00:00
Partitions.txt Rework priming menu, can now reset fuel gauge. JSON added for fuel usage & cal. 2019-07-20 16:08:43 +10:00
platformio.ini Implemented functionality to start & stop heater according to external thermostat input 2019-08-26 06:37:41 +10:00
README.md Added Hour Meters screen 2019-07-26 23:12:00 +10:00

BluetoothHeater

Bluetooth & WiFi interface for Chinese Diesel Heaters

Requirements

  • Requires "blue wire" compatible heater unit
  • Blue wire interface circuitry - please refer to the hardware design schematics in the wiki for guidance.
    It is important to take note that the blue wire is 5V logic, an ESP32 is 3.3V.
    Level translation is important!
  • ESP32 dev module
  • HC-05 Bluetooth module - preferably exposing the key pin, not power control)
  • DS18B20 one wire temperature sensor
  • 1.3" I2C OLED using SH1106 controller
  • DS3231 Real Time Clock
  • Technical ability to solder SMD components
  • Technical ability to program/flash in the Arduino environement

Working so far:

  • Power On/Off
  • Temperature + & -
  • Fuel mixture tuning
  • One wire remote temperature sensing (DS18B20)
  • Heat exchanger body temperature, as reported by heater unit
  • I2C Interface to 1.3" SH1106 based OLED for a full featured controller
  • 5 button keypad interface
  • Smart error detection, observes unusual heater state progression (ignition fail)
  • ESP32 with HC-05 Bluetooth
  • JSON based communications between Bluetooth and Wifi apps
  • Bluetooth Connectivity
  • Bluetooth Control App for Android (App Inventor based)
  • WiFi Connection to existing network or Standalone Access Point Mode (Passwd: thereisnospoon)
  • Wifi control
  • DebugPort data sent via Telnet if/when available on the network.
  • 14 timers - including selectable day and repeat functionality
    Simplisticly this allows each day to have 2 individual start stop regimes, but a single timer can be set to repeat every day if desired, or on certain days. Timers can also be set to be one-shot. This is an extremely flexible system!
  • Battery backed Real Time Clock - DS3231
  • Mk1 "Green PCB" using naked ESP32 and HC-05 modules
  • Temperature readout in Celcius or Farenheit
  • Two new experimental thermostat modes (No practical testing - presently too hot in .au!):
    Tighten or loosen the thermostat temperature range by specifying a hysteresis value. eg tell the heater it is 23 degrees when it really is only 22.25 degrees (only 0.25 above set point).
    Request a linear change in Hz according to the deviation from the setpoint
  • 2 external digital inputs, 2 digital outputs, analogue input .This would allow external timer units for example, or analogue temperature demand (which is still only 1 degree resolution with standard heater thermostat).
  • New Mk2 "Red PCB" that properly fits into an off the shelf case (requires machining)
  • Software updates over WiFi: Native OTA via espota.exe or espota.py (AP or STA mode) Web browser upload new binary to controller (AP or STA mode) Direct discovery and download of updates from internet server (STA mode)
  • Factory default menu option
  • "Fuel gauge" - Integrates pump frequency, assumes a repeatable dose of fuel per pump stroke.
  • Low voltage cut out, definable threshold - auto adjusts for cable voltage drop during start
  • Temperature probe offset to correct adverse readings.
  • Hour meter - run time, glow time

To be implemented

  • 433MHz Rx stream, 433MHz Tx stream connections.
  • MQTT pub/sub
  • Regular Hot Burn cycle (DPF mode!)
  • list under construction.....

Suggestions

If you have a burning desire for a feature that you think will useful, please feel free to drop me a line at gitlab@mrjones.id.au.
Your request will be thoughtfully considered.
If deemed viable and worthwhile to the greater good it will be added to the "To be implemented list" above and worked on in good time.
Likewise, if it's really easy to implement, it may make it to "Working So Far" at speed :-)

Please be aware that this is not my day job, so "good things take time".

Case for Green PCB

https://www.thingiverse.com/thing:3398068