New User, odd stiuation

Here is my current deployment, it is crude. i have 5+ Pi Zeros with BME280 sensors. I'm using RRDtool to log temp, humidity, and pressure. these graphs are sent to my pi4 4gig which runs web server among other things.

I've been playing with node red, and in my searches i can't find my use case.

So the questions i have.

Do i need node red installed on all the remote pi's or just on my server?

How do i get the sensor data from the remote pi's to my server in either case?

Is there a better way to do this?

at the end of the day, I'd like to have gauges of the temperature around my house on the main index of my web page.

thank you for any assistance or direction.

First off welcme to the forum!

Do I understand that each of the pizeros is running rrdtool and storing the data. how and why are you sending graphs to the Pi4?

There are many ways to record data from BME280's I actually have several in my house and have them attached to WeMos D1 Mini (it has built in WiFi) running ESPEasy (others run Tasmota on them or code their own programs). The WeMos reads the bme2890 and publishes the data via MQTT. On the Pi4 you would install an MQTT broker along with NR and have an mqtt-in node subscribe to the topic and the data would flow automatically. I'd also install Influxdb (a time series DB) and use Grafana to build your graphs. Many people on the forum do this and they work great. (do some forum searches with eithor keyword and you'll find many hits)

You could also install NR on the pizero's and an have NR read the sensor and publish the readings for the Pi4 to subscribe to.

While MQTT will take a bit of learning, once you play with it for a bit, you'll find it easy to use.

Also to help you understand Node-RED, I recommend watching this playlist: Node-RED Essentials. The videos are done by the developers of node-red. They're nice & short and to the point. You will understand a whole lot more in about 1 hour. A small investment for a lot of gain.

Thank-you,

yes, each pi zero runs RRDTool, and LOG2RAM( burnt out 3 cheap micro sd cards in less then a week before i used LOG2RAM) i then have a crontab action running on my server ever 15 min to update the files in my apache2 webserver folders. it's crude html website for displaying the graphs.

I want a nicer looking "spash" page where i can see important information quick and if say click on the gauge for each room, it would bring up my older infomation.

i've been reading about MQTT for awhile, it seems a bit out of my capibility, but i'll give it a go.

thanks for the info and a direction for me to look in.

It really is very easy once you grasp the concepts. See this excellent tutorial to explain the principles. MQTT Essentials - All Core Concepts Explained

What you're doing is, I think, a pretty common situation. Like @zenofmud above, I have multiple sensors around my house, although I use DS18B20s rather than the BME280.

I also use MQTT to send data to my Node-RED server, and create the graphs on the server rather than each sensor module. If you don't need the graphs on the sensor devices (you don't mention if you have a display on each) then this will reduce the amount of data you transfer at each update.

ya there all headless. my web site is internal network only. so with my phone i can open the browser and see what's going on. it's just hard to read little numbers on the graph and would like something easer to read. i'm going to try the MQTT Essentials mentioned above.

i'm completely lost. i can't get my head warped around what i'm reading with client, brooker, subscribe. . . this is what i'm struggling with.

i've installed client and brooker on all my devices. was that wrong/right?

in node red on my server ip, it's connected to all the sensors(i think) both the remote pi and server pi node red have connected. but nothing is being sent. soo lost.

Yes - wrong.

There should only be 1 broker & all clients should point to that ONE broker.

Think of the broker as a "middle man" that talks to all the "clients" (node-red is a client)

below is my server

below is my remote device

cant tell what brokers you are connecting to from a screenshot (you need to CTRL+E export your flow(s))

Also, you have disabled the debug nodes on the receiving side (so you wont get any output)


Be sure to paste flow / code between three backticks
```
like this
```

i disables them and added the one right after bedroom to see if my switch thing i had working before was messing things up.

removed after

removed after

OK, so you ignored my comment about surrounding flow with backticks (i edited your posts this time)

You issue is you have multiple DIFFERENT brokers.
image

As I said...

Point ALL MQTT nodes at the SAME BROKER (delete the other ones)

i don't know what that means, and i used a script to install the MQTT on all my pi zeros.

"sudo apt-get install mosquitto mosquitto-clients"

so is the above mosquitto the broker?

Point ALL MQTT nodes at the SAME BROKER (delete the other ones)

e.g.

  • open every pink MQTT node
  • chose 1 broker (server) - the same one to EVERY pink MQTT node
  • deploy

As I have now said twice...

@Cyprus125

There must be one broker across ALL computers.

It doesnt matter that you installed it in multiple places - just ignore the other ones.

Just point all MQTT nodes on ALL node-red installations to the same broker (for example the IP 192.168.1.15)

ok so on my server node red, where i was pointing the pink tabs to where i wanted them to receive data was wrong.

on my network, each node will brodcast and the brooker will listen. (kinda)

May this will help you grasp it...

image

there must only be ONE broker so that i can communicate values to/from your clients -

  • in this case we will use the mosquitto broker you installed on 192.168.1.15
  • All clients (node-red) publish (broadcast) to 192.168.1.15
  • Anywhere you want to receive that message subscribe to the topic on 192.168.1.15

this way - the ONE SINGLE broker knows to push any published messages to the clients (other node-reds)

1 Like

that picture is clearer then anything else i've been trying to read or watch on you tube.