Dear Community User! We are updating our platform to a new system.
Read more: Important information on the platform change.

cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

EtherCat Master API via Unix Socket

EtherCat Master API via Unix Socket

fzankl
Member

Hi everyone,

to get some device specific parameters we want to use the EtherCat Master API directly.
Using HTTPS and the IP address of the ctrlX CORE everything works as expected.

Is there a way to request data form the EtherCat Master API using Unix Sockets such as the license API?
(So that there is no need for HTTPS and a valid bearer token)

Can anybody provide an example which plug is required and what's the correct path to the socket file?

Thanks in advance.

Regards,
Fabian

3 REPLIES 3

AndreasL
New Contributor

The datalayer SDK uses IPC when running locally and TCP when running remotly:

https://github.com/boschrexroth/ctrlx-automation-sdk/blob/main/samples-go/datalayer.client.simple/pk...

// Builds the connection string: 'ipc' if running inside a snap, otherwise 'tcp'.
func (cb *Remote) Build() string {
	if os.Getenv("SNAP") != "" {
		return "ipc://"
	}

	return "tcp://" + cb.user + ":" + cb.password + "@" + cb.ip + "?sslport=" + strconv.Itoa(cb.sslPort)
}

So if you build an snap that runs in the core its better to use this then the rest API.

 

MauroRiboniMX
Contributor

Hello, 

You have to options:
- keep your code and use Service-2-service auth in order to get a valid token withaout a user in the app 🙂
- Do as @AndreasL suggested and use the SDK libs

Thanks for pointing me in the right direction.
To request the data via the Data Layer directly seems to be the right way.

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist