This site uses cookies for functional purposes. To continue please read and agree to our Data Privacy.

By closing this message, you consent to our use of cookies on this device.

PLCnext on Instagram  PLCnext on YouTube Github PLCnext CommunityStore PLCnext Community

 

 How to create a Blog Entry

Find user stories of interesting ideas and solutions in this blog. If you have any problems with editing or publishing please contact us at This email address is being protected from spambots. You need JavaScript enabled to view it..


 

The Libwebsockets API ("LWS") covers a lot of interesting features for people making embedded servers or clients:

  • HTTP(S) serving and client operation
  • HTTP/2 support for serving
  • WS(S) serving and client operation
  • HTTP(S) apis for file transfer and upload
  • HTTP 1 + 2 POST form handling (including multipart / file upload)
  • cookie-based sessions
  • account management (including registration, email verification, lost pw etc)
  • strong SSL / TLS PFS support (A+ on SSLlabs test)
  • ssh server integration
  • serving gzipped files directly from inside zip files, without conversion
  • support for linux, bsd, windows etc... and very small non-linux targets like ESP32

    Here's how to crosscompile it - first the easy way, and then for advanced users:

OpenCV (Open Source Computer Vision) is a cross-platform and free-for-use library for use in the emerging field of computer vision, a science on how computers extract information from digital images or videos. It's about acquiring and processing visual data, and making decisions and performing actions based on the analysis. OpenCV support deep learning frameworks and includes a statistical machine learning library, what makes it applicable for motion tracking, gesture and facial recognition, and object identification.

By using embedded systems (and a PLC is in fact nothing else) it is a vital requirement to analyze the timing behavior of the application (programs and tasks). This is not only useful to enhance the general performance of an application, but absolutely necessary to find seldom and sporadic issues.
We decided to use for that purpose the powerful Linux open source package LTTng (Linux Trace Toolkit Next Generation - http://lttng.org) and to give the application engineers the full insight into the system.

This manual should introduce the general usage of LTTng for the AXC F 2152 with the stand alone tool Trace Compass (http://tracecompass.org)

Every PLCnext Control is based on a Linux operating system and is delivered with a preconfigured admin user with a unique password.

With the admin user it is possible to get access to the most important functions (e.g. OpenVPN® and firewall configuration, set time and date, read/write project specific folders), but sometimes it might be necessary to get root permissions.

This can be done temporary by using the "sudo" command, but it is also possible to create a persistent root user.

Watch also our Tutorial Video on Youtube How to create a root user

This little guide describes how a VPN tunnel can be created in an easy manner between a server and a client (AXC F 2152) via OpenVPN® by using certificates.

Keep in mind that there are several ways of how to configure a VPN tunnel, this examples shows only one possible way of many.

Use this guide at your own risk. I tried to make it reasonably safe, but you should always assure yourself if it’s safe, if their are vulnerabilities known, and if protocols might be compromised.

Using your own or other cross compiled executables is sometimes not clear documented for which target it was originally compiled. Compiling a Library for the AXC F 2152 means you have to compile it for an ARM architecture.
In such situation the tool "readelf" is very helpful and this manual demonstrates the usage with an example
(a more detailed description is available here).

 

 
Download
article

Page 3 of 3

Most clicked articles in the makers blog