Enpoint Device Info

I am using an Endpoint to aquire images from a USB camera and retransmit (selected images as required) to a PC based application . This all works very “slick”…

My question is - Is it possible to access device information from the endpoint device similar to what we can do with TinyCLR - CPU usage, memory etc.? (serial number would be nice :))

As an aside I needed to connect the Endpoint board to a USB camera and wired ethernet so I used one of these https://www.waveshare.com/usb-hub-3u-eth.htm works a treat - I do have it “powered” but it seemed quite happy being powered from the Endpoint USB-A. Thought this might be of use to others.

2 Likes

Yes. I assume you want to know how?

Endpoint is a trimmed down Linux system. So, you have options via the command line.

You can SSH into the endpoint device and get a command prompt (ssh root@192.168.82.2 when connected to a PC via USB). Issue the command “free -h” and you have information on memory utilization.

Connected via SSH, you can also use the “top” command. This will provide lots of information about memory and cpu usage. Top runs as a live character graphics program. Live means it updates in real-time.

There are lots of discussions on how to access CPU and memory utilization from within your program, via .NET, on the Internet. I have researched this before but I don’t remember what I used.

As far as serial number… I don’t know if the chip being utilized has a serial number. You would have to check the documentation for the chip.

If you want a unique number, and have a WiFi or Ethernet dongle, you could enumerate the available network interfaces and see if any interfaces have a MAC address visible.

1 Like

This may be useful for others.

The STM32 does have a unique identifier

RM0442 Reference manual STM32MP153 advanced Arm®-based 32-bit MPUs

Page 3873

The identifier is read from a 96 bit register

The output of the below code on my EP-Domino24 Rev B is:

4A002B
33325114
39353238


Dim register_base_address As UInt32 = &H5C00_5000
Dim UID_1_address As UInt32 = register_base_address + &H234
Dim UID_2_address As UInt32 = register_base_address + &H238
Dim UID_3_address As UInt32 = register_base_address + &H23C

Dim UID_1 As UInt32 = Register.Read(UID_1_address)
Dim UID_2 As UInt32 = Register.Read(UID_2_address)
Dim UID_3 As UInt32 = Register.Read(UID_3_address)

Debug.WriteLine(UID_1.ToString("X"))
Debug.WriteLine(UID_2.ToString("X"))
Debug.WriteLine(UID_3.ToString("X"))
1 Like