This was written as a blog entry but the system did not cooperate. So rather than dump it, I am posting it here.
It's July 20, 2018 and the Oklahoma panhandle is in the middle of a heat wave. 100F+ is keeping me indoors. So I am back at it, 2nd day.
Outdoor control and monitoring is important to me. This time out I have hardwired a 2nd WiFi router and located it outside in a detached garage. This has improved coverage both inside and out. Mesh nets were fun but add complexity. If you have studied ZigBee's internals you will know what I mean. In less then a decade I will be 70 and I want this thing understandable to that older me.
I have a couple of WeMos D1's. a few more D1 mini's, a sparkfun thing, and a handful of ESP12E modules.
I have a mosquito MQTT broker running on an old netbook. It lets me mix things up a bit without recompiling and reprograming nodes. On my iPhone the app MQTTool lets me monitor data flow. I know about OTA programming.
My ESP8266 programing IDE is Microsoft's Visual Studio with the VMicro extensions which leverage the Arduino IDE to compile and flash code. It was a paid package and has run control for debugging but I have yet to use it this time out.
A major goal is graceful system degradation. Think about a control node that uses data from several external sources. It needs to have a reasonable behavior when it looses one or more of its inputs including commands from higher up. The lowest level would be a limp mode.
In reality I have one node in the garage publishing temperature reading from two DS1820B's, The first control attempt might be a 2 speed 30" fan I am mounting in the garage/workshop wall. The controller will have an local temperature sensor but normally use data from other sensors to determine if running the fan would be helpful. Need to check the current draw. An optical tac on the fan might be interesting.
Need to create a 3D printed box that with take a WeMos D1 min and include screw terminals for the Dallas OneWire and other connections. More on that as it develops.
This blog is a bit of an experiment. If you would like to see more please leave a comment.