luisqtr / exciteometer

The Excite-O-Meter is a user-friendly Unity plugin for XR creators to integrate physiological user information in the development and evaluation of XR content. Specifically, it allows to record, analyze, and visualize validated metrics of heart activity from the chest strap sensor Polar H10 and movement trajectories from VR headsets.
http://exciteometer.eu/
GNU General Public License v3.0
43 stars 4 forks source link

No data recieved in Unity #17

Open JayTeeMacquarie opened 1 month ago

JayTeeMacquarie commented 1 month ago

I'm doing this at university so if it is a firewall issue that is really bad.... but I am using the .unitypackage along with the Windows store version of exciteometer.

Here is the application: image

Which is recording fine, but Unity has nothing

image

I feel like its not a firewall issue due to the fact it's showing on the app? Please let me know.

luisqtr commented 1 month ago

It may be a firewall issue. The communication between the Polar and the Windows App is entirely Bluetooth, which causes no issues. But the communication between the Windows app and Unity is through LSL. Please check the firewall setup and make sure that Unity has access to the ports. An alternative is to download the LSL App Recorder to make sure that your laptop is internally processing LSL streams: https://github.com/labstreaminglayer/App-LabRecorder

Also check the response in this issue: https://github.com/luisqtr/exciteometer/issues/15

/Luis

JayTeeMacquarie commented 1 month ago

I tried the LSL running Lab Recorder.exe but there are no streams while I can see the data within exciteometer's desktop app. What should I do? I assume the default port is correct.

Is it possible to get exciteometer's unity package to record heart-rate purely by using bluetooth instead of LSL or is that too difficult?

image

luisqtr commented 1 month ago

Hi,

Run this loopback exemption PowerShell script so that the EoM from Windows can communicate with the other apps. Note that it requires admin rights and the LoopbackNetworkExemption window should be always open to enable LSL transmission: https://github.com/luisqtr/exciteometer-devices-UWP/blob/master/LoopbackNetworkExemption.ps1

Unfortunately communication through BLE is not enabled yet. Hopefully I will find time for it soon.

/Luis

JayTeeMacquarie commented 1 month ago

Unfortunately we don’t have admin rights (myself as a student or the tutors) so this isn’t possible :(

On Mon, 21 Oct 2024 at 11:40 PM, Luis Quintero @.***> wrote:

Hi,

Run this loopback exemption PowerShell script so that the EoM from Windows can communicate with the other apps. Note that it requires admin rights and the LoopbackNetworkExemption window should be always open to enable LSL transmission: https://github.com/luisqtr/exciteometer-devices-UWP/blob/master/LoopbackNetworkExemption.ps1

Unfortunately communication through BLE is not enabled yet. Hopefully I will find time for it soon.

/Luis

— Reply to this email directly, view it on GitHub https://github.com/luisqtr/exciteometer/issues/17#issuecomment-2426559798, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQQGNQTZEYZCIW2SZE5ZCVLZ4TY5RAVCNFSM6AAAAABQE7D56GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRWGU2TSNZZHA . You are receiving this because you authored the thread.Message ID: @.***>

BunnyMerz commented 1 month ago

Hello! I had some similar issues recently. In my case, my Ethernet had a different LAN than my Wi-Fi, and by default Unity will use the Ethernet. Disabling the Ethernet interface trough Configurations > Wifi and network solved my issue. There might be a chance that the same thing happens on the Excite-Devices app.

You can also troubleshoot using Wireshark. Install in both machines and filter for ip.addr == <Excite-Devices PC IP> no quotes needed for the IP. You should be looking for a flux of UDP packets:

After installing and opening Wireshark, access your interface here (Ethernet for cabled, or Wi-Fi) image

Afterwards, filter by your IP (the computer that is connected to the polar via Bluetooth) here and look out for IGMPv1 or small bursts of 5 UDP packets (Look at the protocol column). That means your PC is trying to locate another PC. The author may confirm if these packets truly are from the app, but from my tests it seems they are. image

If it connects and Unity is work, you will get plenty of UDP packets with a few TCP, this is how your Wireshark will look like: image