Jump to content

Plugin support


damonbrodie

Recommended Posts

I've got a motherboard that doesn't support temp sensors - I'd like to monitor my coolant temperature in my closed loop.  I can easily put together an Arduino that monitors a temp sensor.  Is there any way I can get this into Aida64?

For example I could output every second (or whatever) the temp on the USB COM port, or I could write a small DLL that reads the value from the Arduino and exposes a public method for reading the value.

I've searched through the forums but I don't see much in the way of this kind of support.

Thoughts?

Thanks,

Damon

Link to comment
Share on other sites

9 hours ago, damonbrodie said:

I've got a motherboard that doesn't support temp sensors - I'd like to monitor my coolant temperature in my closed loop.  I can easily put together an Arduino that monitors a temp sensor.  Is there any way I can get this into Aida64?

For example I could output every second (or whatever) the temp on the USB COM port, or I could write a small DLL that reads the value from the Arduino and exposes a public method for reading the value.

I've searched through the forums but I don't see much in the way of this kind of support.

Thoughts?

Thanks,

Damon

Currently there's no support for such custom thermal sensors, but in case you come up with an implementation that we can support from AIDA64, it would be our pleasure to add it.  There are various ways to get a value to AIDA64, a DLL or a shared memory region may be best out of those.  You can also write the value to the Registry at a certain path or go WMI.  Out of those Registry and WMI are the least ideal in terms of performance and system overhead though.

If you go DLL, make sure to develop both 32-bit and 64-bit versions of it too.  AIDA64 currently can load a 32-bit DLL but other applications may need a 64-bit DLL to work with.

Link to comment
Share on other sites

  • 4 months later...

 

HI,

I'm doing exactly the same thing with temp sensors and arduino, I have my code and serial port working but I can't write it at the win registry.. How can I write the COM value into the registry? I've tried a lot of things and couldn't find a way to do it! Can you help me?

tnks! 

Link to comment
Share on other sites

On 3/20/2021 at 9:10 PM, Mazzarotto said:

HI,

I'm doing exactly the same thing with temp sensors and arduino, I have my code and serial port working but I can't write it at the win registry.. How can I write the COM value into the registry? I've tried a lot of things and couldn't find a way to do it! Can you help me?

tnks! 

I'm not sure where you got stuck.  I've never tried to develop for Arduino, so I'm not even sure what programming language and what kind of development environment are you using :(   Due to all that, I may not be the guy that could give you a hand about this.

  • Sad 1
Link to comment
Share on other sites

  • 11 months later...
On 3/31/2021 at 4:16 PM, Mazzarotto said:

Hi,

I'll keep trying to figure it out and if I find something I'll post ir here :D but I don't have much hope on this project.. :( afterall I'm not a programmer..

But tnks for your reply :P (and excuse my bad English :unsure:).

What you need to do is write a program to run on the PC that reads the value sent over the COM port and then write that to the registry. Or as was pointed out by @Fiery write that value into shared memory. The other option is to write a DLL that gets loaded by AIDA64 that reads the value from the COM port and makes it available to AIDA64.

 

I'm looking to write a DLL for something that I want to be able to monitor in AIDA64 but I have not been able to find any good documentation on the process. If/when I get that figured out I could tackle writing a DLL for you.

Link to comment
Share on other sites

  • 1 year later...

GOD, I hope you boys figure out a way to do this! It would be nice to use a MOBO without a temp sensor, then just toss in a Octo add-on board from Aquacomputer, simply connect the temp sensor to a sensor inside a loop, then USB it to the motherboard, and WHAM! You can use AIDA64 plug-ins that also happen to display liquid coolant temps. This would literally change the life of THOUSANDS of water cooled users.  99.99% OF motherboards now days do NOT have 2-pin headers, and having the ability to toss in a small board with a sensor, connecting it to the mobo, and having this ability would be A GAME CHANGER. 

Link to comment
Share on other sites

  • 9 months later...
  • 2 months later...
On 10/27/2020 at 11:32 AM, Fiery said:

Currently there's no support for such custom thermal sensors, but in case you come up with an implementation that we can support from AIDA64, it would be our pleasure to add it.  There are various ways to get a value to AIDA64, a DLL or a shared memory region may be best out of those. 

Sorry if for bumping an old thread, but you said that if someone could come up with an implementation to add support for plugins, the aida64 team would be pleased to add it.
I came up with a potential implementation of an interface that developers could program off of to add custom plugins .
 

//interface for the collection of sensors
public interface ISensorCollection
{
    //name of the collection "Voltage Values", or "Temperatures"
    public string CollectionName { get; set; }
    //Icon for the collection
    public Icons CollectionIcon { get; set; }
    //Enumerable collection of sensors
    public IEnumerable<ISensor> Sensors {get; set;}
    //Call this to execute the main code that the developers have implemented to update the properties
	public async Task UpdateData();
}

public interface ISensor
{
    //The name of the sensor itself
    public string SensorName { get; set; }
    //The value of the sensor. Values should be converted to string
    public string SensorValue { get; set; }
    //Units, such as Volts, Celcius, RPM,...
    public string Units { get; set; }
    //Icon to use for the sensor
    public Icons SensorIcon { get; set; }
}


//Should be a list of all of the icons that you have available.
//so a user could pick the Fan icon, and the system would pull the fan icon accordingly
public enum Icons
{
    Thermometer,
    Fan,
    Power,
    RAM,
    Battery,
}

With this, you could offer a base class/dll file that people could import as reference to their project, then implement the interfaces. The dll files could be loaded from "%APPDATA%/Roaming/AIDA64/plugins", and then execute the UpdateData() method to call the custom code to update the data.
On the actual interface, you could add something like "customplugin.dll" next to each collection name in gray, with a hover event stating that the collection is a custom plugin.
 

For reading the data, your program would load all dlls in the plugin folder, and then run the UpdateData each loop of your program. Then it would read the SensorCollection, and pull the values, and update the interface with them.


(If you already have support for custom dlls, could you link documentation of it? I could not find any references to custom dlls besides this post.

Link to comment
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.



×
×
  • Create New...