
Using this awesome library you can track and use all available ComPorts on your linux machine.
To make it work just download and add the library path, declare the units and call its functions, it is easy, fast and efficient.
Follow the tutorial to learn how to implement this. In my case i was working with a Windows host running Ubuntu on VirtualBox.
Table of Contents
Installing Development Packages
To install the development packages on Ubuntu:
- Right-click your desktop and select Open Terminal.
- To upgrade the packages you have already installed , type
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
in the terminal. - Type your user password and press Enter
- Wait until prompted to agree to the package upgrade operation. Type Y and press Enter
- Wait until the package upgrade operation is complete. It may take a few minutes to complete.
- To add the development packages, type
sudo apt install joe wget p7zip-full curl openssh-server build-essential zlib1g-dev libcurl4-gnutls-dev libncurses5
in the terminal. - Type your user password and press Enter
- Wait until prompted to agree to the package installation operation. Type Y and press Enter
- Wait until the pacjage installation operation is complete. It may take a few minutes to complete.
Preparing Your Linux Machine
To create Linux applications, you need to add a virtual machine PAServer:
- 1. Find the
LinuxPAServer21.0.tar.gz
file in the following location on your windows machine, and send it to your linux machine:C:Program Files (x86)EmbarcaderoStudio21.0PAServerLinuxPAServer21.0.tar.gz
- 2. Unpack the
LinuxPAServer21.0.tar.gz
file. -
- Right-click the folder where you have unpacked the
LinuxPAServer21.0.tar.gz
file, and then click Open in Terminal. - Enter
./paserver
in terminal. Then, press Enter. - Set your password.
- Right-click the folder where you have unpacked the
Click here to see the full tutorial and how to install on Red Hat.
Now that the machine is ready to receive the deploy from windows, lets check how to implement the code, by the way, there are a simple demo showing how to work whit the library, you can download it here.
After download and open the demo project, follow the steps below to setup and deploy.
Remember to download the SDK for the target Linux OS.
Creating a Connection Profile
- On the Tools > Options > Environment Options > Connection Profile Manager page, click the Add button. The Create a Connection Profile wizard opens.
- On the Profile information page, enter the following:
- In the Profile name field, enter the needed name.
- In the Platform field, click the 64-bit Linux platform.
- Click Next.
- On the Remote machine information page, enter the following:
- In the Remote machine field, enter the IP address or Machine name.
- Click Test Connection to check if the values are valid.
- Click Finish.
Adding the Installed SDK to RAD Studio
- On the Tools > Options > Environment Options > SDK Manager page, click the Add button.
- In the Add a New SDK dialog, enter the following:
- In the Select a platform field, click 64-bit Linux.
- In the Select a profile to connect, select a created profile from the drop-down list.
- In the Select an SDK version field, the name of the SDK that you just installed will automatically appear. If you have not installed SDK previously, you can do it on this step. If you have already installed SDK, move on to the next step
As you can see on the demo project, just declare the unit LComPort
, to track and use the Ports declare the following variables:
1 2 3 |
var ComPort: TLComPort; Devices: TArray<TDevice>; |
Then you can use the following code to list them all:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
try ComPort := TLComPort.Create(nil); try // show available serial devices Devices := ComPort.EnumDevices; for I := 0 to Length(Devices) - 1 do WriteLn('Device ' + IntToStr(I) + ': ' + Devices[I].Name + ' ' + Devices[I].FileName); finally ComPort.Free; end; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; |
and to send some data through the Port:
1 2 3 |
ComPort.DeviceName := Devices[0].FileName; ComPort.Open; ComPort.WriteUtf8('Hello, world!'); |
Hope you guys succeeded to make it work, looking forward to see what comes next.
WINSOFT Library link here, full tutorial Link here.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition