|
Post by papa on Aug 3, 2021 18:01:24 GMT
Introduction to This RFM69 Thread
This RFM69 radio approach to Home Automation is parallel (& supplemental) to the ESP82xx WiFi approach elsewhere in this forum. Either approach has its challenges, but the RFM69 approach probably has more challenges than ESP82xx. If you are a beginner, I recommend you start with ESP82xx & come back to this RFM69 approach later to add more (especially sensors) to your home automation. See this thread for more details.
Again, getting started on this DIY Home Automation project is challenging, especially for beginners (as I found from personal experience when I started & from trying to help other beginners). I somewhat) simplify making the first two network devices, the Gateway & an End Node. Those being built, programmed, & talking to each other is a good foundation & experience for more robust home automation. In this thread, I also provide annotated pics of Serial Monitor results when things are working & not. I recommend you look at this index which gives links that may help those at the beginning stages (Gateway & first end node.) Early links give overviews of the project & sources for key parts. The next post lists threads where beginners were helped to get started. Then posts point to hardware hints & Arduino basics. These links may address much of your questions & concerns & feeling you're the only one to hit speed bumps. Next: Preliminaries for RFM69 Home Automation
|
|
|
Post by papa on Aug 3, 2021 19:42:56 GMT
Preliminaries for RFM69 Home AutomationDocumentation below assumes OpenHAB 3 & Mosquitto MQTT message service are installed on a computer connected (by Ethernet cable) to your local network. See this thread on installing OpenHAB 3, the Mosquitto MQTT message broker, & MQTT & other bindings. That thread follows the official documentation, but gives more details. From my experience so far, I recommend configuring Items, & Sitemaps with text files & using OH 3's Dashboard to configure Bindings, Add-ons, Things & their channels. I'm not sure yet on which method for Rules, perhaps text files. Let's take a deep breath & dive in. Have patience with yourself & enjoy what you're learning & will accomplish.
|
|
|
Post by papa on Aug 3, 2021 19:48:54 GMT
Unless your end nodes will connect to OpenHAB / MQTT via built-in WiFi (not covered here), a 3.3 volt capable Arduino compatible & an RFM69 radio (at your chosen frequency) are essential to the Gateway & End Nodes. The documentation linked below uses a separate Arduino compatible to which is added an RFM69 radio with user-soldered wires. This post offers perhaps more convenient alternatives.
Building a Computourist-Style RFM69 GatewayYou need a Gateway unless you build end nodes on Arduino compatible devices that connect to OpenHAB / MQTT via the device's built-in WiFi. This Building... thread will not cover those devices. See ESP in this post. This Gateway is a communication bridge between OpenHAB / MQTT running on your computer & one or more end nodes. In this UPDATED thread, << I provide documentation on building, programming, & troubleshooting an Ethernet Gateway, including a (somewhat) simplified schematic. Get a Ethernet or ESP32 Gateway working before you move on to building RFM69 End Nodes.
If you have NOT built end nodes before, I highly urge you to follow the step by step instructions in the following posts.
|
|
|
Post by papa on Aug 3, 2021 19:52:54 GMT
Starting to Build a Computourist-Style End Node to Complete a Rudimentary Home Automation Network
If you are moving to this step, I assume you have a working, connected Gateway from the above or at the least, you're just previewing the parts & efforts you need for the next steps. Without the working, connected Gateway, you don't have anything to communicate with an end node & you won't get any useful Serial Monitor results.
Introduction & Preparation
From computourist's full DHT End Node, I created schematics that start most simple & build on previous schematics towards the full node: A) A Bare Bones End Node (just the Arduino & the RFM69 radio); B) a DHT sensor only; & C) a full DHT End Node which adds a push button & an LED to B). This approach allows one progressively to see & test the sub-circuits of the node, but one might also skip from A) to C) or to do only C). To beginners, I encourage at least step A) before C) & preferrably all 3 steps. Though in all cases, look ahead to step C) to see all the connections to be made eventually.
Next: Obtain & Prepare Parts for the Full DHT End Node
|
|
|
Post by papa on Aug 3, 2021 19:55:08 GMT
Obtain & Prepare Parts for the Full DHT End Node:Mostly follow the parts needed directions in the this post. Except for all steps of this thread's node, you do NOT need a BC547 transistor nor a SSR-10DA (DC to AC) solid state relay. You do need an LED (red?) & a 100 ohm resistor. For the node's LED (maybe applying heat shrink tubing to protect the bare wire leads), solder a 100 ohm resistor to an LED's longer wire lead. The plastic LED base above the longer lead is usually round. The plastic LED base above the shorter lead usually is flat. An Arduino compatible has 3 GND sockets & only one 3.3 volt socket. Step A) need 1 GND connection & step B) needs 2. A) & B) need only one 3.3 volt socket So one can build steps A) - B) on just the Arduino. Step C), a full DHT End Node, needs 4 GND connections & two 3.3 connections & also needs somewhere to put the push button, like a shield or a soldered or solderless breadboard. (Note: Push buttons tend to pop out from solderless breadboards.) Next: Step A) Build a Bare Bones End Node
|
|
|
Post by papa on Aug 3, 2021 20:09:38 GMT
Step A.1) Build a Bare Bones End Node << Building on a 3.3 volt Arduino compatible, follow this schematic. I recommend a Buono Uno or Seeeduino Arduino compatible. For explanation, source, & other options, see this post about building the gateway. For this node version, you only need the Arduino compatible (with power supply), connecting wires, & the RFM69 radio (obtained & prepared as above for the Gateway). Carefully following the labels in the schematic, bend & insert the RFM69 wires into their correct Arduino sockets. Caution: An End Node's RFM69 radio's NSS is connected to D10, not D8 (as on a Gateway). Next: Step A.2) Program the Bare Bones End Node
|
|
|
Post by papa on Aug 3, 2021 20:13:36 GMT
Step A.2) Program the Bare Bones End NodeTo download the latest Node Choices Sketch & initial customization required , go to this thread (updated Aug. 30, 2021) & then return here to continue . Important changes have been made in that thread.For the Bare Bones End Node, skip to uploading in the next paragraph. For other nodes, do the added customization they need which is found in their documenting threads. See this post for links that document different types of node features. Using the upload feature of the Arduino IDE, while the Node's Arduino connects to your computer via USB, send the customized Node Choices sketch program (ending in .ino) to the Arduino. Before uploading, I find it helpful to use the verify feature & let it tell me if it finds sketch problems to fix. ( See this post about "other available troubleshooting tools.")
|
|
|
Post by papa on Aug 3, 2021 20:26:08 GMT
Getting Results from Your Rudimentary Home Automation NetworkHave your computer running a rightly configured OpenHAB server (see above) & running Mosquitto Broker service (MQTT) (see above). Have your programmed Gateway's Arduino / Ethernet shield connected to your Ethernet network (& OpenHAB via MQTT) & wall powered. Have your bare bones end node connected to your computer's USB, with the end node sketch using debug mode, & with Arduino IDE serial monitor running at same baud as set in the Gateway sketch (115200). ^^ With all in the previous paragraph, you want the serial monitor to show results like this pic annotated in red ( except yours will read Node 02), indicating the end node is connected & transmitting data to the Gateway / OpenHAB. ^^ If you transfer the end node to wall power & connect the Gateway to your computer's USB, you should see results like this annotated pic, also IF ( added, 3/7/2017) the gateway is programmed this way: comment out #define DEBUG & 3) UNcomment #define DEBUGRADIO.
^^ If you get these results, you have a rudimentary DIY Home Automation Network. Awesome, eh? AND You're ready to move below to Step B.1) a DHT Sensor End Node. If you have trouble, see the next post, Troubleshooting Hints
|
|
|
Post by papa on Aug 3, 2021 20:35:47 GMT
Troubleshooting Hints for the Work Just Above ( Bare Bones End Node with Gateway) ^^ If serial monitor (SM) results look like this (except Node 05), the end node is NOT connected to the Gateway / MQTT / OpenHAB. Time to review your steps & troubleshoot: As with possible Gateway problems above, re-check end node wiring with the schematics. Use a multi-meter to continuity check the wiring (Are the correct things truly connected & did you avoid connecting the wrong things?). Did you download & program the choose_nodes sketch from this post? Recheck how you customized sketch. Use the sketch's debugging modes & Serial Monitor output to give you clues. Important: If your Gateway & End Node connect, but then do not seem to stay connected & communicating ... Be sure you went to this post about " Downloading, Editing, & Installing Libraries" & later in the post make the changes to the library files, w5100.h & ethernet.h That can help your Gateway & End Node stay connected more reliably. Stay with this Step A), building a Bare Bones End Node until it & the Gateway are communicating. Next steps will not work without success in the steps so far. Next: Adding a DHT humidity & temperature sensor to the End Node.
|
|
|
Post by papa on Aug 4, 2021 15:44:20 GMT
Step B) Add a DHT Humidity & Temperature Sensor to the End Node Once you get the Gateway & Bare Bones End Node working (See above), this step should go fairly quickly & easily. Above you were asked to " Obtain & prepare the parts for the Full DHT End Node" by going to this post. If you have not already, follow that post to obtain & add wires to a DHT11 Sensor. ^^ Follow this schematic to install the DHT Sensor on what you built earlier as a Bare Bones End Node. Basically insert the sensor's Vcc wire into Arduino 3.3v, its GND wire into an Arduino GND, & its Data wire into Arduino D4. Use the same Node Choices Sketch above in this post, except add this customization: UNcomment (no // at the line's start) only two lines... In the lines with FAHR & CELS, UNcomment only one to choose a temperature scale. In the line with HT, UNcomment it, that is change from // #define HT to #define HT Upload the newly customized Multi-Choice End Node Sketch to the node. ^^ Your Serial Monitor results should look like this ( except the red explanatory text & Node 05 instead of Node 80) & then repeats every 45 seconds (which is set by sketch variable TXinterval). If this Step B) is working, you're ready for Step C) the Full DHT End Node (with push button & LED) ... See that below.
If Step B) is not working, see some hints in the next post. Don't move to Step C) until B) is working.
|
|
|
Post by papa on Aug 4, 2021 16:01:41 GMT
Troubleshooting the Step Just Above (DHT Sensor End Node)
Again, if the Gateway & Bare Bones End Node were working for you, not much should go wrong for this version of the node.
If you have trouble, the main thing would be to make sure you have the DHT sensor wires installed properly into the Arduino compatible. (see the post just above)
Continuity check between the sensor leads & the end of the wire soldered to them.
Perhaps the DHT sensor is defective. Try another sensor.
|
|
|
Post by papa on Aug 4, 2021 16:03:04 GMT
|
|
|
Post by papa on Aug 4, 2021 16:04:53 GMT
Step C) Build a Full DHT End Node (with DHT Sensor, Push Button, & LED)This end node demonstrates this project's powerful possibilities: To the serial monitor (& later the OpenHAB User Interface, the sensor reports temperature & humidity, whether the push button has been pushed, & whether an actuator has toggled the LED on or off. This step will be more involved, needing more than an Arduino compatible. An Arduino compatible has only 3 GND connections & only one 3.3 volt connection. Again, a full DHT End Node needs two 3.3 volt connections & 4 GND connections & also needs somewhere to put the push button, like a soldered or solderless breadboard or a shield. (Pushbuttons tend to pop out from solderless breadboards.) Parts: If you followed "Starting to Build" instructions above ( two posts starting here), you should have the needed LED plus resistor & a prototyping shield (which includes a spare push button). Note: For temporary purposes, you could use a solderless breadboard plus a push button instead of a shield, though you may find the push button tends to pop out of the solderless breadboard.
|
|
|
Post by papa on Aug 4, 2021 18:35:11 GMT
Step C1) Build a Full DHT End Node, Prepare for the Node to Use the Shield Push Button & Provide More 3.3 Volt Connections
<< Working toward this schematic. Follow the instructions in this Oct 15, 2015 post at " Starting from the beginning to create a DHT End Node" Follow that post except disregard the schematic there & use the schematic just above. When you finish there, return to this post in this Building... thread & & then continue to the next paragraph just below. ^^ Items 1) - 3) at the bottom of that Oct 15 post should prepare for the node to use the shield's spare push button. Continuing to refer to the labeled pics in the Oct 15, 2015 posts indicated above ... Female header sockets A1 & power strip A2 will be changed from 5 volts to 3.3 volts. To first remove those sockets from 5 volts, cut the trace labelled B1 on the shield's bottom. Here's how to complete the 3.3 volt connection. Go to the next Oct 15, 2015 post that starts " Continued: Building a DHT End Node" There follow ONLY these items which I flagged with blue text: 6a (first sentence), 6b), 7), 10), 11), & 12. While you're in that post, also do item 13) to install the DHT11 sensor on the shield. With a multi-meter, continuity test all the places you soldered connections for the push button & adapting more 3.3 volt connections on the shield. (That is, did you achieve the schematic-indicated connections & not make connections not in the schematic?) Recheck all the connections against the schematic.
|
|
|
Post by papa on Aug 4, 2021 18:43:27 GMT
Reserved for more information or troubleshooting
|
|
|
Post by papa on Aug 4, 2021 18:47:49 GMT
Step C2) Build a Full DHT End Node, Assemble All the PartsRemove all parts from the Arduino compatible. DHT sensor wires should already be in the shield sockets. Leave them there. Gently insert the shield into the Arduino compatible, making sure you match up shield pins to Arduino pins with the same labels. ^^ Following the schematic just above & previous instructions, install the RFM69 radio's wires into the correct Arduino sockets on the shield. (Connect the RFM69 3.3v to a shield 3.3 volt socket, perhaps in the new A9 strip of sockets.) Install the LED / resistor. Insert the resistor's free end into the shield's D9 socket & the LED's free end into a shield GND socket. (You may need to add a little solder to each free end so they fit securely in the sockets.) If you followed doing item 13) in the post just above, you should have the DHT sensor already installed on the shield.
|
|
|
Post by papa on Aug 4, 2021 18:49:35 GMT
|
|
|
Post by papa on Aug 4, 2021 19:05:22 GMT
Troubleshooting the Steps Just Above (Full DHT End Node) ^^With the Gateway directly connected to your local Network router with an Ethernet Cable & wall powered, with the End Node connected to & powered by your computer's USB, your Serial Monitor results should look like this (except the red explanatory text & yours will say Node 05) & then repeats every 45 seconds (which is set by sketch variable TXinterval). As in the pictured sample results, the serial monitor lines' values will change according to the state of the LED, temp, humidity, & the button being pushed. If this Step C) is working, you're ready to move to configuring OpenHAB to use this Node05, full DHT end node. If Step C) is not working, see some hints in the next post. Don't move to OpenHAB configuration until Step C) is working.
|
|
|
Post by papa on Aug 4, 2021 19:11:37 GMT
Reserved for Troubleshooting Hints for the Work Just Above (Full DHT End Node) If your Full DHT End Node is not working ... Visually & with a multi-meter, recheck the node's connections against the schematic & instructions. Important: Again, if your Gateway & End Node connect, but then do not seem to stay connected & communicating ... Be sure you went to this Oct 7, 2015 post about "Downloading, Editing, & Installing Libraries" & later in the post make the changes to the library files, w5100.h & ethernet.h That can help your Gateway & End Node stay connected more reliably.
|
|
|
Post by papa on Aug 4, 2021 19:15:58 GMT
Reserved for more Info or Troubleshooting for the Full DHT End Node
Next: OpenHAB Configurations
|
|
|
Post by papa on Aug 10, 2021 12:25:02 GMT
OpenHAB Configurations for DHT Node05See this thread for hints on installing openHAB 3 & configuring it to communicate with Node05.
|
|
|
Post by papa on Aug 12, 2021 19:33:04 GMT
OpenHAB Configurations to Communicate with Node05These configurations assume OpenHAB 3 & Mosquitto MQTT message service are installed on a computer connected (by Ethernet cable) to your local network. See this thread on installing OpenHAB 3, the Mosquitto MQTT message broker, & MQTT & other bindings. That thread follows the official documentation, but gives more details. That thread contains a sample Thing, channels, Items, some BasicUI & HABPanel configuration. From my experience so far, I recommend configuring Items, Rules & Sitemaps with text files & using OH 3's Dashboard to configure Bindings, Add-ons, Things & their channels, & HABPanel.
|
|