Lazarus. Установка дополнительных компонент и модулей

Установку дополнительных ВИЗУАЛЬНЫХ компонент в IDE Lazarus рассмотрим на примере библиотеки TComport для работы с COM портом (RS232).

1. Скаченный архив распаковываем в папку "\lazarus\components\comport\":



2. Переходим в папку "comport" и запускаем на выполнение файл "*.lpk", в данном конкретном случае - файл "CPortLib10.lpk":



Файлы *.lpk для установки компонентов можно открывать и из IDE Lazarus выбрав "Пакет -> Открыть файл пакета (*.lpk)":



3. В открывшемся окне нажимаем "Компилировать":



4. После удачной компиляции в этом же окне нажимаем "Использовать -> Установить":



5. На запрос о пересборке Lazarus отвечаем утвердительно:



6. После 5 операции IDE Lazarus будет автоматически закрыта и перезапущена уже с новым установленным компонентом:



Установку НЕ ВИЗУАЛЬНЫХ модулей и библиотек выполняем следующим образом:

1. Скачиваем библиотеку, например Synapse.

2. Распаковываем библиотеку в папку "\lazarus\components\synapse\".

3. Запускаем IDE Lazarus, открываем свойства проекта "Проект -> Параметры проекта -> Пути", заполняем параметр "Другие модули (-Fu)" указав папку с установленным модулем.



4. Можно установить галку "Использовать как параметры по умолчанию", тогда этот путь будет автоматически добавляться для новых проектов.


Lazarus. Уменьшение размера исполняемого файла

При компиляции проектов Lazarus размер исполняемого файла может привышать "разумные" размеры. Так, например, размер приложения, состоящего из одной формы, с настройками компиляции "по умолчанию", составляет 20,7 Мб и 13,9 Мб для Linux и Windows систем соответственно.

Для того что бы уменьшить размер исполняемого файла необходимо настроить параметры компиляции. Для этого в IDE Lazarus выбираем "Project -> Project Options..." ("Проект -> Параметры проекта...") и устанавливаем флажки на вкладках:

1. "Code Generation" (Генерация кода)
- "Smart linkable (-СХ)" - Умная компоновка

Lazarus. Вкладка "Code Generation" (Генерация кода)


2. "Linking" (Компоновка)
- Use external gdb debug symbol file (-Xg) - Использовать внешний файл отладочных символов GDB
- Strip symbol from executable (-Xs) - Вырезать символы из исполняемого файла
- Link smart (-ХХ) - Умная компоновка

Lazarus. Вкладка "Linking" (Компоновка)


Таким образом получается сократить размер исполняемого файла до 3,3 Мб (Linux) и 1,7 Мб (Windows).

Использовав утилиту upx (сжимает исполнительный файл, официальная страница) можно уменьшить размер дополнительно - до 1,0 Мб (Linux) и 0,6 Мб (Windows).

Для Linux мне пришлось установить пакет "upx-ucl" через Synaptic. Для Windows необходимо скачать вот этот архив.

Пример использования утилит для Linux:

upx --best путь_к_исполнительному_файлу


и Windows:

upx.exe --best путь_к_исполнительному_файлу

125kHz RFID reader

Этот считыватель предназначен для чтения 125кГц RFID ключей по протоколу EM4100. Данная реализация - это повторение авторской конструкции взятой с: http://www.serasidis.gr/circuits/RFID_reader/125kHz_RFID_reader.htm, поэтому подробности работы устройства описывать не буду.

Схема 125kHz RFID reader мной "доработана" только в части подключения звукового излучателя (бипера из старого будильника).


Схема 125kHz RFID reader


В качестве переходника USB-COM взят китайский PID_2303, от него же осуществляется и питание девайса. Выход Rx (TTL) считывателя должен быть подключен ко входу RX переходника. Связь девайса с ПК осуществляется на скорости 2400 бод.


Китайский USB-COM переходник PID_2303


Катушка намотана проводом диаметром 0,5 мм, 116 витков на оправке диаметром 60 мм. Автор рекомендует + 2-3 витка для оптимальной настройки расстояния для считывания карты (отмотал - считал карту - сделал выводы). У меня считывание карты работает на расстоянии 5-6 см от катушки с количеством ровно 116 витков.


Катушка для 125kHz RFID reader


Разработка печатной платы выполнялась в программе Sprint-Layout v. 5.0. Размер печатной платы получился 47х21 мм.


Печатная плата 125kHz RFID reader


Печатная плата, изготовленная по технологии ЛУТ:



Готовое устройство:







Девайс помещен в пластиковый корпус и залит силиконом:



Устройство в корпусе:


Общий вид 125kHz RFID reader


Пример настройки программы терминала для работы со считывателем:



Пример чтения карты собственным обработчиком RFID данных:



А это чтение RFID карты в ОС Linux в программе cu:



Видео работы 125kHz RFID reader:


Прошивка микроконтроллера ATTINY13 выполняется с помощью BAT файлов (запускаем сначала fuseprog.bat затем progprog.bat) включенных в архив, или с помощью программы AVRDUDESHELL. Программатор - USBASP настроенный на низкоскоростное программирование. Подключение программатора к девайсу - переходником версии 4.

Теперь о проблемах, которые возникли при изготовлении 125kHz RFID reader:

  • HEX файл, предоставляемый на странице автора (под ATTINY13) у меня не заработал, поэтому пришлось искать старые архивы с программой.
  • Звуковое оповещение о считывании RFID не работает. Судя по исходникам, эта функция отключена.

  • Скачать архив 125kHz RFID reader одним файлом.

    Архив содержит:

  • Схему 125kHz RFID reader.
  • Печатную плату 125kHz RFID reader в формате LAY.
  • Исходный код проекта в AVR Studio 6.
  • Скомпилированный HEX файл проекта.
  • Программу AVRDUDE для прошивки микроконтроллера.
  • BAT файлы для быстрой прошивки программы и фьюзов микроконтроллера.
  • Windows драйвер для USB\VID_067B&PID_2303&REV_0300 (китайский переходник USB-COM).
  • Программу терминала для проверки работы считывателя.