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 latest AIDA64 update introduces optimized benchmarks for AMD “Renoir” and Intel “Ice Lake” processors, monitoring of sensor values on EVGA Z10 RGB 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
      - AVX2 and FMA accelerated 64-bit benchmarks for AMD Zen 2 “Renoir” APU
      - Microsoft Windows 10 November 2019 Update support
      - AVX-512 accelerated benchmarks for Intel “Ice Lake” processors
      - EVGA Z10 RGB LCD support
      - Improved support for 3rd generation AMD Threadripper processors
      - Preliminary support for 4th generation AMD Ryzen desktop CPUs
      - GPU details for AMD Radeon RX 5500 Series
      - GPU details for nVIDIA GeForce GTX 1650 Super, GeForce GTX 1660 Super
      - Fixed lockup at startup on systems with multiple CPU groups
      What's new since AIDA64 v6.00
      - SHA3-512 cryptographic hash benchmark utilizing AVX, AVX2 and AVX-512
      - AVX2 and FMA accelerated 64-bit benchmarks for AMD Zen 2 “Matisse” processors
      - AVX accelerated 64-bit benchmarks for Zhaoxin ZX-C+ and Zhaoxin KaiXian KX-5000 processors
      - Microsoft Windows 10 May 2019 Update support
      - BeadaPanel, 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 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 5700, Radeon VII Series
      - GPU details for nVIDIA GeForce GTX 1600, GeForce RTX 2000 Super, GeForce RTX 2060 Series
      - Retired SHA1 and VP8 benchmarks
      [ Press Release (English) ]
      [ Press Release (magyar) ]
      [ What's new in AIDA64 v6.20 ]
      [ Download ]
    • By DerTod2
      Hello,
       
      Currently trying AIDA64 before buying the software. At first look the software is really good and everything what i need is there. Except one thing. 
      Under "Hardware Monitoring > LCD" there is an "SteelSeries" entry but when activating the error "HID device 1038-1730 not found" is shown. Is the "Apex Pro Keyboard" currently not supported and/or are there plans to support it in newer versions? Or is the error on my side? (SteelSeries Engine is running and recognises my keyboard)
       
      Thanks for your help.
    • By vlad
      A big hello to the developers, followed by a question:
      Any chance to add LCD support for Elgato Stream Deck?
      https://www.elgato.com/en/gaming/stream-deck
       
      That would be nice...
    • By Koithim
      Hey there,
      I replaced my old Z10 with the new Z10 RGB.  When i try to enable the LCD i get:
      Error: HID device 3842-2601 not found.
      I have the latest beta installed (sept. 16).
      Cheers!
      K
    • By beada
      BeadaFrame Display Kit is an ARM Cortex-A7 development platform which bundled with a 7" TFT LCD Display. It can be powered and communicated with PC Host by a single Micro USB cable. Currently we use it as a secondary PC monitor for display of hardware status through Remote Sensor LCD.
      The question is --  is there any way to implement it as a native support of AIDA LCD screen? We are running Debian Stretch on the ARM Cortex-A7 core.


       
      And more details of this display kit:
      CPU
      NXP/Freescale ARM Cortex-A7 i.MX6ULL
      RAM
      512MB DDR3L
      Storage
      16GB/32GB eMMC
      Connectivities
      1 x WIFI 802.11 b/g/n module(AP6212) 1 x USB 2.0 Host(Type A) 1 x USB 2.0 OTG(Micro-USB) Display
      7.0" TFT LCD: 800x480 (AT070TN92) , w/ touch and bezel
      On Board Resources
      Reset Circuit with reset button 1 x Power select jumper 1 x Boot select jumper 1 x USER LED Dimension
      188 x 118 x 35(mm)
      Operating System
      Debian Stretch
      Consumption
      5V/350mA
×
×
  • Create New...