Jump to content
AIDA64 Discussion Forum
Roy

Simple send to an serial port

Recommended Posts

Hi,

it would be nice if there was the possibility to send sensor values unformatted as a number or percentage, via a serial port.

Similar to the LCD displays, only without formatting, or pure numbers with separators.
Together with a small GUI.

Background is the simple evaluation of the data with a microcontroller and display in different ways.
I imagine not only LCD or OLED, but rather seven segment display, nixi tubes or an analog pointer display.

That would create a lot of possibilities.

Share this post


Link to post
Share on other sites
2 hours ago, Roy said:

Hi,

it would be nice if there was the possibility to send sensor values unformatted as a number or percentage, via a serial port.

Similar to the LCD displays, only without formatting, or pure numbers with separators.
Together with a small GUI.

Background is the simple evaluation of the data with a microcontroller and display in different ways.
I imagine not only LCD or OLED, but rather seven segment display, nixi tubes or an analog pointer display.

That would create a lot of possibilities.

We would prefer to add such new projects as a new, dedicated LCD device to the AIDA64 LCD module.  If you have a project in development, let us know, and we'll take care of supporting the device using a dedicated codepath.

Share this post


Link to post
Share on other sites

A concrete project does not exist yet.
The idea is to build a steampunk case and it always looks good when old analog gauges or segment displays are used.
Driving the individual parts is no problem with an Arduino. But passing on the data to the microcontroller seems to be more difficult.
During my research on the net I found a lot of demands, but only a few solutions.
However, these solutions always consist of small self-written programs, which use either the shared memory of AIDA64 or the OpenHardwareMonitor library or their web interface.
Without this monster of MS Visual Studio and knowledge in C # or Python you can not get on with it.
I think for such an issue would be the modding scene and also the hobbyists who might want to control their heating inversely proportional to the CPU load, grateful.
For the output formatting I would like a variable solution in which you simply put together a string. Just like the individual display parts on the LCD's.
Then the selection of the Com Port, a baud rate and interval to it and done.

Share this post


Link to post
Share on other sites
On ‎1‎/‎31‎/‎2019 at 2:00 PM, Roy said:

A concrete project does not exist yet.
The idea is to build a steampunk case and it always looks good when old analog gauges or segment displays are used.
Driving the individual parts is no problem with an Arduino. But passing on the data to the microcontroller seems to be more difficult.
During my research on the net I found a lot of demands, but only a few solutions.
However, these solutions always consist of small self-written programs, which use either the shared memory of AIDA64 or the OpenHardwareMonitor library or their web interface.
Without this monster of MS Visual Studio and knowledge in C # or Python you can not get on with it.
I think for such an issue would be the modding scene and also the hobbyists who might want to control their heating inversely proportional to the CPU load, grateful.
For the output formatting I would like a variable solution in which you simply put together a string. Just like the individual display parts on the LCD's.
Then the selection of the Com Port, a baud rate and interval to it and done.

The problem with pushing a long string to the COM port would be the amount of data going through a rather narrow pipe (e.g. 9600 bps).  Hence I don't think it would be optimal to simply push the raw data (like the full content of the shared memory) as a long string to the COM port.  Unless of course your serial connection is a relatively high performance one, like 115000 bps.

Share this post


Link to post
Share on other sites

I do not see this as such a big problem, because if you can put together the data you need, similar to the LCD's and only relavantes further, the string should not be too long.

For what I imagined, that would be:
- CPU load
- CPU temperature
- GPU load
- GPU temperature
- RAM occupancy

The string could look like this:
25;55;30;45;3545;
or:
CL25,CT55,GL30,GT45,R3545;

So only the most necessary joined together with separators.
That makes 36 characters in the constelation, that is 360 bits.
Maximum update at 9600 baud: 26 / s.
But that's not all that much, since such ads are rather crude and sluggish.
Apart from that, even the small Arduino Uno creates the 115000 baud.

Share this post


Link to post
Share on other sites
8 hours ago, Roy said:

I do not see this as such a big problem, because if you can put together the data you need, similar to the LCD's and only relavantes further, the string should not be too long.

For what I imagined, that would be:
- CPU load
- CPU temperature
- GPU load
- GPU temperature
- RAM occupancy

The string could look like this:
25;55;30;45;3545;
or:
CL25,CT55,GL30,GT45,R3545;

So only the most necessary joined together with separators.
That makes 36 characters in the constelation, that is 360 bits.
Maximum update at 9600 baud: 26 / s.
But that's not all that much, since such ads are rather crude and sluggish.
Apart from that, even the small Arduino Uno creates the 115000 baud.

Well, no, we wouldn't go for such a constrained (non-flexible) solution.  The user should be able to pick the sensor values he would like to have sent to the COM port, including the labels and measurement units.  And that's what makes the string long.  But if you say 115000 bps is available, then even long strings shouldn't make things too slow.

Share this post


Link to post
Share on other sites

Hello, sorry to dig up this post but it looks everything said here applies to my problem.

I've spent the last couple weeks trying to figure out how to get sensor values over a serial port, and Roy hit all the same roadblocks that I'm running into.

I'm "Okay-ish" with coercing arduino based projects to do what I want them to do, but working with the PC side (dll's, shared memory, etc), I'm totally lost.

My end-goal is to build a 128x64 graphical lcd into a panel I can put into my unused 5 1/4" bays. If I had the ability to send sensor values as formatted strings over a chosen serial port at a chosen baud rate, I could manage the arduino side to display those values.

I understand the concern with providing a constrained solution, but here's an example of another program that I've successfully interfaced with in the past:

https://x-sim.de/manual/uso.html

This program reads telemetry data from racing/flying simulators to a variety of commerical devices, or by a customizable serial output for one-off projects. It was a pretty flexible way of getting specific data out over a serial port in an way that was easy to read. Maybe their implementation is a good jumping-off point for custom serial output in AIDA64.

I can guess that adding something like this is no small task, but I think it would be very helpful for a lot of people. In the meantime, I think my best bet is to try and see if I can "fake" being a Adafruit serial-backpack to receive values, and from there I can display them as I'd like.

Share this post


Link to post
Share on other sites
On ‎7‎/‎31‎/‎2019 at 10:58 PM, KLRico said:

Hello, sorry to dig up this post but it looks everything said here applies to my problem.

I've spent the last couple weeks trying to figure out how to get sensor values over a serial port, and Roy hit all the same roadblocks that I'm running into.

I'm "Okay-ish" with coercing arduino based projects to do what I want them to do, but working with the PC side (dll's, shared memory, etc), I'm totally lost.

My end-goal is to build a 128x64 graphical lcd into a panel I can put into my unused 5 1/4" bays. If I had the ability to send sensor values as formatted strings over a chosen serial port at a chosen baud rate, I could manage the arduino side to display those values.

I understand the concern with providing a constrained solution, but here's an example of another program that I've successfully interfaced with in the past:

https://x-sim.de/manual/uso.html

This program reads telemetry data from racing/flying simulators to a variety of commerical devices, or by a customizable serial output for one-off projects. It was a pretty flexible way of getting specific data out over a serial port in an way that was easy to read. Maybe their implementation is a good jumping-off point for custom serial output in AIDA64.

I can guess that adding something like this is no small task, but I think it would be very helpful for a lot of people. In the meantime, I think my best bet is to try and see if I can "fake" being a Adafruit serial-backpack to receive values, and from there I can display them as I'd like.

If your goal is to build a 128x64 monochrome graphical LCD panel that you can use to display AIDA64 sensor values, then most likely you would be better off using stuff like GLCD2USB which is a proven solution:

http://www.harbaum.org/till/glcd2usb/index.shtml

You can also buy a 2nd-hand AlphaCool display from the 'bay, although it may be tough to find one for sale.  There's also ChibiMo:

http://q61.org/en/chibimo/build/

Check out Robopeak as well:

And EastRising OLED is also a great solution that works with AIDA64:

 

Share this post


Link to post
Share on other sites
On 8/13/2019 at 5:36 PM, Fiery said:

If your goal is to build a 128x64 monochrome graphical LCD panel that you can use to display AIDA64 sensor values, then most likely you would be better off using stuff like GLCD2USB which is a proven solution:

Hey Fiery,

Thanks for the suggestions, I'll see if I can massage any of these for use in my project.

One of the considerations I have that has kept me from using a pre-existing solution is that my 5 1/4 bays are vertical, so my display will be mounted portrait orientation vs the normal landscape to accommodate that. 

Share this post


Link to post
Share on other sites
21 hours ago, KLRico said:

Hey Fiery,

Thanks for the suggestions, I'll see if I can massage any of these for use in my project.

One of the considerations I have that has kept me from using a pre-existing solution is that my 5 1/4 bays are vertical, so my display will be mounted portrait orientation vs the normal landscape to accommodate that. 

That's a rather special alignment for a LCD bay, but it sounds intriguing as well :)  If you try your luck with GLCD2USB and you need rotation (by 90 degrees) support for that LCD in AIDA64, let us know in the GLCD2USB topic:

https://forums.aida64.com/topic/2370-new-lcd-device-support-lcd2usb-and-glcd2usb/

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Fiery
      The new AIDA64 release introduces monitoring of sensor values on El Gato Stream Deck LCD and SteelSeries OLED displays, and supports the latest AMD and Intel CPU platforms as well as the new graphics and GPGPU computing technologies by both AMD and nVIDIA.
               
      AIDA64 for Huawei devices
      AIDA64 for Android is creeping up on crossing the 10 million download mark at the Play Store. It is also available now in the Huawei AppGallery, a blooming app store that offers automatic updates and various security features.
      New features & improvements
      - Aqua Computer Octo sensor support
      - Preliminary support for Intel “Elkhart Lake”, “Jasper Lake”, “Rocket Lake” CPUs
      - Art.Lebedev Optimus Popularis, El Gato Stream Deck LCD support
      - SteelSeries Apex 7, Apex Pro OLED display support
      - Improvements for Intel Z490 chipset based motherboards
      - SMBIOS 3.4.0 support
      - GPU details for AMD Radeon RX 590 GME, Radeon RX 5600 XT
      - GPU details for nVIDIA GeForce GTX 1650 Ti, GeForce MX330, GeForce MX350
      What's new since AIDA64 v6.00
      - SHA3-512 cryptographic hash benchmark utilizing AVX, AVX2 and AVX-512
      - AVX-512 accelerated benchmarks for Intel “Ice Lake” processors
      - AVX2 and FMA accelerated 64-bit benchmarks for AMD Zen 2 “Matisse” and “Renoir” processors
      - AVX accelerated 64-bit benchmarks for Zhaoxin ZX-C+ and Zhaoxin KaiXian KX-5000 processors
      - Microsoft Windows 10 November 2019 Update support
      - BeadaPanel, EVGA Z10 RGB, Matrix Orbital EVE3 LCD and SteelSeries Rival 710 OLED display support
      - Corsair H100i Platinum and H115i Platinum liquid cooler sensor support
      - Enhanced RGB LED monitoring module
      - Cooler Master MP750 RGB LED mousepad support
      - Corsair Obsidian 1000D, EVGA iCX2, Farbwerk 360, NZXT GRID+ V3 sensor support
      - Full support for Hygon C86 “Mukti/Dhyana” CPU
      - Improved support for 3rd generation AMD Threadripper processors
      - Preliminary support for 4th generation AMD Ryzen desktop CPUs
      - Improved support for Intel “Comet Lake” and “Ice Lake” CPUs
      - Improvements for AMD X570 chipset based motherboards
      - Support for PCI Express 4.0 controllers and devices
      - Preliminary support for Zhaoxin KaiXian KX-6000 CPU
      - Advanced support for LSI RAID controllers
      - NVMe 1.4 support
      - GPU details for AMD Radeon RX 5500, Radeon RX 5700, Radeon VII Series
      - GPU details for nVIDIA GeForce GTX 1600, GeForce RTX 2000 Super, GeForce RTX 2060 Series
      - Fixed lockup at startup on systems with multiple CPU groups
      - Retired SHA1 and VP8 benchmarks
      [ Press Release (English) ]
      [ Press Release (italiano) ]
      [ Press Release (magyar) ]
      [ What's new in AIDA64 v6.25 ]
      [ Download ]
    • By Pimentel
      i want buy Aida64 to show news at my LCD, but only hardware options. No RSS feed options to show on LCD.
       
      How can i show RSS at my LCD using Aida64?
    • By Soul--Reaver
      System:
      Asus Sabertooth Z77
      Intel 3770K
      Nvidia Geforce 1070
      Logitech Keyboard G510S
       
      Aida64 version: 6.25.5400
       
      I'm using the LCD in my keyboard and Aida64 to monitor certain system values.
      I've noticed that the CPU util percentages are not correct on the LCD display.
      The most obvious is that when the system is completely idle (CPU util.png), The LCD will never show a lower number then 28% for CPU7 Utilization (LCD CPU util.png) on the LCD.
      The other numbers are also weird or incorrect but that is more of a feeling i have. The other CPU utils feel weird because i never see 1% or 2%. It's always 10%, 11%, 12%, 14%, 22%, 28% etc. but never below 10% except 0%
      As shown in "CPU util.png" Aida64 is capable of getting the correct percentages, it just does not show them on the LCD display in my keyboard
      Kind regards
      Swen Kruiper


    • By neg12roni
      Didn't see a Beta forum so I'm posting here.
       
      The newest Beta 5357 doesn't load the LCD Items interface. All get in the upper left corner is the LCD icon and that's all. No Import/Export, nothing. This did not happen on any other beta version. It also happens if  I run it as a portable and not as an update to the install 5300 version.
    • By neg12roni
      Issue: Latest beta 5364 (and same as previous beta5357) does not load LCD items from Preferences menu.
      Expected Behavior: Running standard release of Aida64 Extreme (6.20 5300) and installing to latest beta all menu items that previously worked should continue to work
      Actual behavior: As upgrade from clean 6.20 (5300) install OR using as a portable version, the app fails to truly initialize the Beada LCD panel. LCD Items  under the Preferences menu do not populate.
       
       
×
×
  • Create New...