FORUM CTRLX AUTOMATION
ctrlX World Partner Apps for ctrlX AUTOMATION
Dear Community User! We have started the migration process.
This community is now in READ ONLY mode.
Read more: Important
information on the platform change.
03-21-2022 03:33 PM
Hello
In order to compile software for the core, would it be possible to know the exact type of CPU build in? I could probably compile on the core itselve, but maybe not the best option.
I want to read network interface data, process it and forward flow data.
Thank you,
Martin
Solved! Go to Solution.
03-22-2022 08:59 AM - last edited on 03-22-2022 09:39 AM by CodeShepherd
Hello Martin,
The processor of the ctrlX CORE is ARM64 architecture. You can see the technical details in the online documentation "ctrlX CORE Controls, Operating Manual --> Technical data --> General technical data".
If you want to build software for the ctrlX CORE, please have a look at the SDK on GitHub. Within the SDK is also a development environment, which you can use to compile code and pack your snaps (software container) for the ctrlX CORE.
Here are some other useful links for you:
Best regards,
Nick
03-25-2022 02:30 PM
Hello Nick
Unfortunately the information on the docu page is not enough.
Normally I run:
file /usr/bin/ls
ldd /usr/bin/ls
also could
readelf -h /usr/bin/ls
but only ldd is available on the core, which is not enough.
I would like to access the network interfaces. I did not find library for it in the SDK.
Thanks, Martin
03-28-2022 09:38 AM - edited 03-28-2022 09:39 AM
Hello Martin,
I'm sorry, but I don't know what you want to do exactly. Could you explain your use case a little more?
But keep in mind, that Applications snapped using strict confinement have no network access by default. With interfaces an installed snap gets access to system resources. Interfaces that are required for normal operation are specified at snap build-time within the app metadata of a snap’s snapcraft.yaml.
The network interface allows all outbound network access from the application as a client. Should the application bind to a port, for example to run a server, then the network-bind interface should also be used.
See for example the webserver sample in go from the SDK. And its snapcraft.yaml:
…
apps:
my-server:
command: ./bin/webserver
plugs:
- network
- network-bind
- network-status
- active-solution
daemon: simple
…
Further information:
Best regards,
Nick
03-28-2022 10:14 AM
Hi Nick
Thanks for your input.
I want to monitor the two network interfaces, Eth0 and Eth1. (Was told that the EtherCAT port is not possible to monitor as part of the real time system). With monitoring I want to read in and out going network traffic and convert it to flow data (5-tuple) and send that data to a monitoring server. Basically it is like setting up a mirror/span port, process the data and send it out on one interface.
I have the software available to do this task, but it needs to be compiled for the core. Well, at least is what we do for different plattforms, like Raspberry pi, Windows, Ubuntu, Docker..
Obviously I am not familiar with the snap architecture.
Network security monitoring is part of my project for the ctrlX devellopR challenge, maybe we could setup a short call to discuss?
Thanks!
03-28-2022 02:19 PM
Yes, we can arrange a call with you, your mentors and myself.
I send you a private message with my contact data.
05-17-2022 12:06 PM
Any news here and/or can ths topic be closed?