Displaying sensor reading on multiple screens - Page 1
Forum section: electronics / general

author: AmmarKurd
author_rank: Contributor
timestamp: September 07, 2024, 04:45:18 pm
content: I'm currently working on a project that involves displaying readings from six different sensors across multiple monitors, with each reading assigned to a separate display.What would be the most practical approach to achieve this? I considered using a Raspberry Pi 4, which has two HDMI ports, and possibly a docking station to increase the number of HDMI outputs. However, I'm uncertain if that setup would work. Another option could be to use the USB ports on the Pi with USB to HDMI converters, but I'm unsure about that as well.Since this is my first experience with such a project, I'm looking for guidance on the best approach. What would you recommend as the most effective way to tackle this project?

author: voltsandjolts
author_rank: Unknown
timestamp: September 07, 2024, 07:33:00 pm
content: Depending on distance between sensors, you might consider connecting each sensor to a wifi network. This could be done with e.g. a ESP32 wifi or RP2040 wifi, perhaps running micropython or arduino stuff. Then use a computer(s) of your choice to connect to wifi network and the monitors, wherever they may be.If the sensors are in close proximity, you might connect them to a wired network instead.If you don't like network option, and all sensors are in very close proximity, then maybe connect all sensors an mcu with USB capability. Then connect USB to computer of your choice.

author: mariush
author_rank: Super Contributor
timestamp: September 07, 2024, 07:41:44 pm
content: How about you just set up a small web server on your PI and have a basic API for the page to retrieve the sensor informationThen on whatever computer you want, you could simply open 6 browser windows, one on each monitor, and have the pages display the sensor information.Your API can be something simple likeGET yourdomain.com/sensors/1 (you can use a direct IP instead of a domain, but then you'd have to edit the html pages you serve to the browser to contain the actual IP given to your controller by the router in the house/building/etc.and your web server replies with a json result or a text line where the entries are separated by tabs or some special characterThe response would be basically an array with the last 10+ or however many entries you want. Each entry can be a pair of time : valueJavascript on the page unpacks the array and updates the info on the screen, if a new entry is detected, then goes to sleep and a few seconds later, sends another request to get new measurements.... repeat...

author: ajb
author_rank: Super Contributor
timestamp: September 07, 2024, 08:18:23 pm
content: What sort/size of displays are you looking to use, and how is the sensor data meant to be displayed on them (just numbers, or a line plot, or...)?One option could be to use industrial HMIs for the displays. These are basically monitors with built-in display controllers, you can pre-configure various screens (usually with a drag-and-drop software tool) that can be populated with data via a serial or network interface, and can also have buttons or other controls. The hardware will be fairly expensive versus a raspi and standard monitor, but could save you a lot of effort. Here are some examples, although there are many other options:https://www.automationdirect.com/adc/shopping/catalog/hmi_(human_machine_interface)There are also display units that are similar but more oriented towards embedded systems rather than industrial automation, like these, which I think you might be able to use similarly:https://4dsystems.com.au/

author: artag
author_rank: Super Contributor
timestamp: September 08, 2024, 08:29:32 pm
content: MQTT is good for distributing data around multiple recipients. Node red can be used to create displays on web browsers.