How to implement an OpenVPN Client in CoDeSys? - raspberry-pi

I need to connect my Codesys PLC (RevPi Connect) to a Webserver using an OpenVPN Client. I could, of course, use the underlying Raspberry Pi to install the OpenVPN, but I would prefer to do this directly in CoDeSys. Is there any way to do this?
Thank you for your replies!

Related

Remote.it and openVPN together

So this is a classic question that I’ve seen many times before...
I’m trying to connect to my home network when not at home using a raspberry pi.
I’m well aware that the way to go with this is to use a vpn server such as OpenVPN.
However, in order to connect to the vpn I would need to forward a port on my router... which I can’t do.
I’ve found remote.it which allows remote connection to a computer (pi) without port forwarding.
What I would like to know is how would I set about using the 2 together, I.e. connecting to remote.it which in turn connects me to my vpn server?
I'm sorry to be finding this question just now, but in case it's still useful to you or to anyone else, here's what you need to do:
Install remote.it
Set-up a remote.it connection to use the protocol (TCP/UDP) and port required by the VPN application
Make a remote.it connection/adding the service to your network (remoteit - Desktop application UI terminology)
Use this connection info (URL/port or localhost:port) with the VPN client
Send an e-mail to support#remote.it if you need help
I would recommend ZeroTier(https://www.zerotier.com/). It haves its own linux client , and you can connect to as many networks as you would like.
You can also configure IP address from the website.
There is also an Android an IOS app that is really simple to connect.

Is there a way to tell the azsphere cli to use a specific com port?

I need to link the azsphere cli to a specific com port on my system. I'm using a Bluetooth <--> Uart device, a HC-05 to configure wifi connectivity on a Sphere project. It would be slick to use the azsphere cli over this connection, but I suspect that the tool is finding the com port based on some com port property.
Is there a way to force the azsphere cli to use a specific com port?
Thanks for any help
There are two different types of UART on the Azure Sphere MT3620 chip.
There are regular UARTs that you can access from your Azure Sphere app. This sample app shows how to use one these UARTs to receive wifi credentials from a BLE chip - the Nordic nRF52 - which sounds similar to the scenario you’re interested in.
There are reserved UARTs that only the Azure Sphere OS can access. When using the MT3620 dev board, they appear as COM ports on your PC but they are only usable by the azsphere CLI: you can’t program them directly. So there is no reason to control which COM port is used - the azsphere CLI is the only user, and it auto-detects which port to use.

Port Forwarding VPN Server

i'm planning on implementing web server hosted by Raspberry Pi at home, while also having a Dedicated Server with public IP.
The main problem is that my provider charge a lot for a static ip, so i simply dont want to pay.
And here is the question:
Is it possible to achieve what i've mentioned on given diagram (if yes, then maybe some hints?)
Will RPi be accessible through local network while connected to VPN
Thank you for any help!
1.
That is basically possible, it is called a Reverse-Proxy (See wiki for a brief description). The exact implementation depends on the web server you use.
Your dedicated Server will then accept client connections, get the content over the VPN from your Raspberry and serve it to the client like it's his.
2.
Your Pi will still be accessible from the local network while being in the VPN, since it should use a virtual adapter for the connection if its a client on its own. Otherwise, if the router acts as a gateway to the VPN it will do the routing and again your Pi will be fine.

Raspberry Pi as standalone Server for Octoprint

I am working on Octoprint for 3Dprinter. Using Raspberry Pi as server and it is working fine with Raspbian OS.
But the system works only when it is connected to internet. Can I run the same without internet and How I can change the UI.
Technically you don't have to be connected to the internet, but OctoPrint is a web server so in order to connect to it, you need to at least have a LAN connection between your client and your Raspberry Pi. If you just intend to use it from localhost (ie client and server are the same machine) you just need enough networking to allow loopback to work. Which as idstam pointed out isn't a programming question.
On changing the UI, that could be a programming question, but your query is very non-specific. OctoPrint is written in python and has a pretty rich plugin system to allow you to add UI and replace parts of the UI. It is also well documented at http://docs.octoprint.org.

How to Stream data over TCP to a Windows 7 laptop?

Im acquiring data from a sensor using RaspberryPi. Now the idea is to get the data streaming over an ethernet link to my Windows 7 laptop and do the monitoring and recording on the laptop. Can I get some advice on how to implement this in C/C++.
The idea is to get the signal from a sensor streamed to a Windows GUI.
You can push data from your raspberry PI to you Windows
You can have some sort of service on your Windows box and your raspberry PI can push information to your software running on your Windows.
or
you can pull data from your raspberry PI to you Windows
In this case, raspberry PI would be a passive provider and Windows would ask for data.
Hard to give you more information without more details but basically you decide who is going to the passive and active and program that way.
I personally would request data from the raspberry PI to Windows as I can have my service running and just update when I need instead of having my service running and suddenly have my data changing.
That said, it's hard to say without more details.
You need to tell what kind of programming language are you going to use.
According to your question, you need to dig into socket programming.
Recently,I linked my two Raspberry-Pi by writing a python script to establish a TCP connection between them.
and there is this protocol called "RTSP(Real Time Streaming Protocol)" to (as the name says) stream data in real-time.
(If you are to use python , there is this module called gst-python for streaming).
I think the above infos would give you where to start.