│Deutsch (de) │ English (en) │ español (es) │ suomi (fi) │ français (fr) │ magyar (hu) │ Bahasa Indonesia (id) │ italiano (it) │ 日本語 (ja) │ 한국어 (ko) │ português (pt) │ русский (ru) │ slovenčina (sk) │ 中文(中国大陆) (zh_CN) │ 中文(台灣) (zh_TW) │
- 1Lazarus-CCR Released Components
- Delphi and C Builder component for serial communication for Windows. communication with devices connected to serial port - easy of use and very powerful - uses multithreading and overlapping for maximum performance - available for Delphi/C Builder 5 - 10.4 and Lazarus 2.0.8 - source code included in registered version.
- Lucas has also just released version 12 of his Synaser serial port communications suite that also runs under Free Pascal. Indy Original (now dormant) effort: Indy for Lazarus project 119 components Indy for FPC/Lazarus. Newer attempt Indy with Lazarus (Both Indy9 and Indy10) Castle Game Engine, a 3D game engine especially focused on VRML/X3D.
Component for serial communication for Windows. Features: Communication with devices connected to serial port. Easy of use and very powerful. Uses multithreading and overlapping for maximum performance. Supports Delphi/C Builder 5 - 10.4 and Lazarus 2.0.8. Source code included in registered version. Royalty free distribution in applications. Using ActiveXperts Serial Port Component with Delphi. ActiveXperts Serial Port Component is a software development kit (SDK) that enables the user to communicate to a device over a serial interface. Such a device can be: a weight indicator, a modem, a scanner, or any other device that is equiped with a serial port. To open a serial port, first access a SerialPort object. For this, you can either prompt the user to select a single serial port by calling navigator.serial.requestPort, or pick one from navigator.serial.getPorts which returns a list of serial ports the website has been granted access to previously. // Prompt user to select any serial port.
Lazarus-CCR Released Components
멀티미디어
- ACS - Audio Component Suite port from ACS
- Bluetooth - Accessing Bluetooth devices. For example the Wiimote.
그래픽
- GLScene - A port of the visual OpenGL graphics Library GLScene
- TOpenGLBox - A barebones OpenGL component for Lazarus that provides an OpenGL rendering area.
- SMNetGradient - A Gradient Fill component for Lazarus.
- TAChart - Charting component for Lazarus
- PlotPanel - A plotting and charting component for animated graphs
- LazRGBGraphics - A package for fast in memory image processing and pixel manipulations (like scan line).
- TMetafile/TMetafileCanvas - EnhMetafile API implementation for Windows.
Tools
- FpSystools - Conversion of TurboPower's Systools for Kylix package to Lazarus/FPC
- DCPcrypt - DCPcrypt Cryptographic Component Library
- RXfpc - Some of the well known RXlib components components converted to Lazarus
- MultiLog - A Log system designed for FPC-Lazarus
- OnGuard - A port of Turbo Power OnGuard
- UniqueInstance - A component to force only one instance running at same time
- XDev Toolkit - Cross-platform development tools.
- MouseAndKeyInput - Tool for cross-platform manipulation with mouse and key input.
- PascalSane - bindings for the libsane scanner API, with demo application.
압축
- Zlibar - Objects to create and extract a zlib compressed archive containing multiple files
- FreePascalArchivePackage - Conversion of TurboPower Software's Abbrevia library for the Free Pascal Compiler
- ZipFile - Component that encapsulates a zipfile, you can read and write from it as if it's a filesystem
- libtar - Classes for .TAR archives by Stefan Heymann, who kindly relicensed so that they are now in the FPC 2.1.1 and later distributions. Can be combined by zstream to create .tar.gz files.
에디터와 뷰어
- PowerPDF - Port of the PowerPDF (visual) components for Lazarus
- RichView - Port of the TRichView Freeware Edition Components to Lazarus
- Fshcomp - Edit components.
- SynEdit - Source Editor component (used by the IDE)
네트워킹
- Hprose - Hprose is a High Performance Remote Object Service Engine. It is a fast serialize and RPC library for Delphi and FreePascal.
- Sockets - TCP/IP Sockets components
- lNet - Networking components for TCP and UDP connections
- FPC and Apache Modules - Headers for creating Apache modules with fpc
- Web Services Toolkit - Web Services authoring and consumption
데이터베이스
- fb embedded2 Laz - Using embedded FireBird 3 with Lazarus
- TPSQL - Components for connecting to PostgreSQL database servers
- tiOPF - TechInsite Object Persistent Framework (Ver. 2)
- TParadoxDataSet - An TDataSet implementation that can read Paradox files up to Version 7 (and up ??)
- ZeosDBO - Component for connecting to multiple database (Firebird, PostgreSQL, MySQL, Oracle)
시스템
- EpikTimer - Precision timer component written specifically for Lazarus.
- TrayIcon - A multiplatform System Tray component
- TPopupNotifier - How to use TPopupNotifier to show 'balloon help'.
- MultiDoc - A component to write pseudo-MDI application with Lazarus.
- MDButtonsBar - ButtonsBar to MultiDoc Component.
- MPICH - Bindings for the MPI - Message Passing Interface. Distributed computing.
- Bluetooth - Accessing Bluetooth devices.
비주얼 컴포넌트
- VirtualTreeview - A port of the fast virtual treeview from SoftGems
- Turbopower Visual PlanIt - A port of the Planner Components
- RingChart and AnalogWatch - Another Elliptical Chart and an Analogic Watch for Lazarus and FPC
- ColorBox - Color picker with preview
- Spook's Panel Components - A collection of panel components
- HistoryFiles - A component for store the recent files list into an .ini file and show the result into a menu.
- ColorPalette - A color palette grid with ability to use custom palette.
- OrphPort - Subset of TurboPower's Orpheus controls.
- TSubForm - A
그 외 FPC/Lazarus 용 패키지들 (외부 링크)
- 2007, Brain Patchwork DX, LLC. has ported their TCP/UDP Client and Server Components to Lazarus 0.9.22/FPC 2.0.4 - visual and non-visual implementation are supported (www.bpdx.com)
- Starting with version 32, Lucas Gebauer's outstanding Synapse TCP/IP library is now compatible with Free Pascal and Lazarus. Lucas has also just released version 12 of his Synaser serial port communications suite that also runs under Free Pascal.
- Indy
- Original (now dormant) effort: Indy for Lazarus project 119 components Indy for FPC/Lazarus.
- Newer attempt Indy with Lazarus (Both Indy9 and Indy10)
- Castle Game Engine, a 3D game engine especially focused on VRML/X3D formats.
- CUPS for Lazarus project Common UNIX Printing System for FPC/Lazarus.
- FIBL FreeIBComponents package porting for Lazarus.
- RackCtls a collection of components with an 'Hi-fi system' appearance.
예제 프로그램
- SysRec - Video Capturing and Recording application, you can download it here.
- Sudoku - A Sudoku solver.
- Libview - Views all exported function names of a given library.
- Contacts Database - An expanded version of the address book example with reports.
- OpenGL Tutorial - Example code for the OpenGL tutorial
- Robot - The Game - Very easy written sample for beginners
- Kaldemonia - Google Searcher shows simple threading, using Synapse networking library.
- LRS_Explorer [1] - A little sofware to add some pictures, music, etc.. into ressource files 'lrs'
기타등등
Original contributors and changes
This page has been imported from the epikwiki version.
- Page created, initial content - T. Lisjac 9/22/2003 User:VlxAdmin
- Moved Synapse package info to here from the Main Page - User:VlxAdmin 10/1/2003
│Deutsch (de) │ English (en) │ español (es) │
This article applies to Arduino boards only.
See also: Multiplatform Programming Guide
Many Arduino projects have the need to send data to a PC running a program for data aquisition and visualisation. Lazarus is highly suitable for developing such programs, i.e. to build the PC-sided counterpart of an Arduino project.
For Lazarus developers Arduino opens a whole new world of smart physical sensors and actuators for monitoring, control and data acquisition.
The fpc compiler is even capable to compile programs for Arduino boards itself.
- 2Communication between a Lazarus application and Arduino
- 2.1One-way serial communication example using Synaser
- 2.1.1Lazarus side serial application
- 2.1.2Arduino side serial application
- 2.2Bidirectional serial communication example using SDPO
- 2.3Ethernet communication
- 2.1One-way serial communication example using Synaser
Currently (2017) most Arduino boards carry microcontrollers of the AVR family (Atmega). An other popular arduino board carries a STM32 (ARM Cortex). For both microcontroller families there are fpc compilers available. Programming Arduino with FPC of course doesn't mean to use the arduino ecosystem with just a different language. Nevertheless arduino libs (C++) can be used in fpc programms, but mixing languages obviously is an advanced topic.While compilation the fpc creates a .hex-file (binary), this can be loaded to the microcontroller, arduino board respectively, using a programming software by choice. AVRDude e.g. also supports program upload using the Arduino bootloader.
There are further wiki pages for programing AVR microcontrollers:AVR, AVR Programming
There is also a tutorial on how to use Lazarus on a AtMega328p (Arduino Uno/Nano) in German language:AVR Embedded Tutorial/de
The following section describes how your Lazarus/FPC application can communicate with Arduino boards, no matter whether fpc or arduino is running on the arduino board.
One-way serial communication example using Synaser
Here we show how to communicate with your board through serial communication channel.
Lazarus side serial application
There are many ways for serial communication in Lazarus and FPC.
Minimal Lazarus Synaser serial example
We will use Synaser from Synapse library in this example. Create Lazarus application with one form and two buttons. Include Synaser unit and add Synapse package as a new requirement to your project (you do this in Project Inspector). In OnClick event of both buttons put something like this:
Arduino side serial application
You can program your Arduino in several languages.
Minimal Arduino C sketch serial example
You can follow this nice step by step tutorial. In short, you need to add a led with proper resistor to your input pin 13, compile this sketch in your Arduino IDE, and download it to your board:
Minimal Arduino mikroPascal serial example
mikroPascal for AVR can be used to develop Arduino programs. TBD.
Minimal Arduino E-Lab AvrCo serial example
E-Lab AvrCo Multitasking Pascal can be used to develop Arduino programs. TBD.
Minimal Arduino FPC serial example
Yes, your Arduino 8-bit AVR board can be programmed with FPC too. TBD.
Bidirectional serial communication example using SDPO
The single directional example is based on synaser, which is not a visual component. SDPO provides a visual wrapper around Synaser, and some people may find this method easier. The following example requires the SDPO package (currently 0.4.0) to be installed in Lazarus. There are other tutorials to show you how to install package. If you cannot find the SDPO component on your component palette, this example will not work.
Lazarus Side of Bidirectional SDPO serial example
Open a new project, and add the following to a form: (Names are the default names)
- the SDPO port (under the SDPO tab after you have installed it).
- four buttons. Caption as follows: Button1 SEND; Button2 CLEAR; Button3 UP; Button4 DOWN;
- a memo. Used to display what is sent and received.
- a panel. Used to display which number is being sent.
Configure the Sdposerial1 properties to match the Arduino with the object inspector.
- Baudrate = br__9600;
- Device = YourSerialPort ( mine is /dev/ttyUSB0 ). This is probably the same port you use to program your Arduino.
- FlowControl = fcNone;
- Parity = pNone;
- StopBits = sbOne;
- SynSer = (TBlockSerial); (notice this from the previous example?)
- Tag = 0;
Using the code window, find the spot under var where it defines Form1: Tform; , and add the next three variables:
Add the following events (code is shown below)
- OnCreate for Form1
- OnDestroy for Form1
- OnRxData for Sdposerial1
- OnClick for each button (4 events)
In the empty code blocks for each event, add the following code.
Test the program, and verify that it compiles.
Arduino side of Bidirectional serial example application
The following code has been tested on a Arduino Mega 2560 clone board. Feel free to alter it as you see fit. It is provided as one block to avoid adding your own strings.
Compile and upload this code to your board. You should be able to test the program by opening the Serial Monitor in Arduino, and sending a number from 0 to 32 to the Arduino. It should respond by 'insulting' you with the appropriate numbered insult. No error checking is provided, so keep your requests in range.
Connecting the Two Sides
Serial Ports cannot be opened by more than one program at a time - particularly when a program grabs the port and hogs it like this simple example does. Make sure you close the Arduino Serial Monitor before attempting to run the Lazarus program. Your Arduino should be plugged in and powered up. If you are working under Linux, you may need to run the program as a superuser, or you may need to add your user to the dialout group. In any case, once the Arduino is up and running, you can run the program. It must be able to connect with the Arduino when it creates the main window, and it will hog the port until you properly close the application. Depending on your computer, sleeping or hibernating may mess up your communications.
Ethernet communication
Lazarus Log Cabin
Here we show how to communicate with your board through ethernet communication channel.
Lazarus Log Cabin Kits
Lazarus side ethernet application
TBD
Lazarus Log Homes Prices
Arduino side ethernet application
Lazarus Log Homes Reviews
TBD