Подключение к БД Firebird с помощью IBExpert и FlameRobin

В предыдущей статье мы выполнили установку и настройку БД Firebird на удаленном сервере Ubuntu, однако с настройками по умолчанию данный сервер не будет "виден" другим компьютерам в сети. Для того что бы дать доступ клиентских машин к серверу базы данных, необходимо в файле конфигурации Firebird (firebird.conf) изменить параметр "RemoteBindAddres = localhost" на "RemoteBindAddres = " и перезагрузить сервер.


Firebird. Настройка сервера для доступа клиентских машин


Подключаемся к серверу с помощью программы IBExpert (для Windows систем).

Запускаем программу IBExpert. Нажимаем кнопку "Зарегистрировать БД" и заполняем следующие поля:

  • Server: Remote (Для нас это сервер Remote - удаленный)
  • Server name: 192.168.100.55 (IP адрес или HOST имя сервера, у меня это 192.168.100.55)
  • Protocol: TCP/IP (Протокол взаимодействия с сервером - TCP/IP)
  • Server Version: Firebird 2.1 (Версия сервера. Должна соответствовать версии, установленной на сервере, для меня это Firebird 2.5 или максимально поддерживаемая программой IBExpert)
  • Database file: tst.dbf (Имя базы данных - это как раз то имя, которое мы задавали в файле aliases.conf)
  • Database alias: tst.dbf (Имя для отображения в программе IBExpert - может быть любым для вас понятным)
  • User name: SYSDBA
  • Password: masterkey


  • IBExpert. Настройка подключения к удаленному серверу Firebird


    Нажимаем "Ok", а затем "Подключиться к БД". После подключения пробуем прочитать любую таблицу - результат ниже.


    IBExpert. Подключение к удаленному серверу Firebird


    Подключаемся к серверу с помощью программы Flamerobin (для Linux систем).

    Устанавливаем программу Flamerobin:

    sudo apt-get install flamerobin


    Flamerobin. Установка


    Запускаем программу Flamerobin и регистрируем сервер: выбираем "Server -> Register server":

  • Display name: 192.168.100.55 (Имя для отображения в программе Flamerobin - может быть любым для вас понятным)
  • Host name: 192.168.100.55 (IP адрес или HOST имя сервера, у меня это 192.168.100.55)
  • Port: не заполняем (порт TCP/IP по умолчанию 3050)

  • Нажимаем кнопку "Register".


    Flamerobin. Регистрация сервера


    Регистрируем таблицу. Выбираем сервер, нажимаем правую кнопку мыши и выбираем "Register existing database". Заполняем поля:

  • Display name: tst.fdb (Имя для отображения в программе Flamerobin - может быть любым для вас понятным)
  • Database path: tst.fdb (Имя базы данных - это как раз то имя, которое мы задавали в файле aliases.conf)
  • User name: SYSDBA
  • Password: masterkey

  • Нажимаем кнопку "Сохранить", а затем, через контекстное меню, выбираем команду "Connect". Если соединение выполнено успешно, вы увидите структуру БД и можно будет попробовать прочитать какую нибудь таблицу:


    Flamerobin. Подключение к базе данных и чтение талицы

    Установка БД Firebird на сервер Ubuntu 14.04.4 LTS

    Будим сервер:
    wakeonlan 192.168.100.55 00:1a:4d:3d:7c:60

    Подключаемся по SSH:
    ssh 192.168.100.55

    Обновим информацию о пакетах:
    sudo apt-get update

    Установим пакеты:
    sudo apt-get install libstdc++5
    sudo apt-get install xinetd
    sudo apt-get install firebird2.5-super

    В процессе установки firebird2.5-super будет предложено задать пароль суперпользователя SYSDBA - зададим как "masterkey"

    Установим примеры и dev-пакет разработчика:
    sudo apt-get install firebird2.5-examples firebird2.5-dev

    Добавим себя в группу firebird:
    sudo adduser `id -un` firebird

    Запустим конфигуратор Firebird:
    sudo dpkg-reconfigure firebird2.5-super

    Настроим автоматический запуск сервера при старте системы (ответим "Да" на запрос), и если необходимо, поменяем пароль для пользователя SYSDBA.


    Firebird. Настройка автозапуска


    Firebird. Смена пароля

    Проверить работу сервисов Firebird можно с помощью команды:
    ps -A | grep fb

    В результате вы должны увидеть как минимум два рабочих процесса БД Firebird: fbguard и fbserver (может быть несколько).

    Firebird. Сервисы БД

    Распакуем файл с примером БД:
    sudo gunzip /usr/share/doc/firebird2.5-examples/examples/empbuild/employee.fdb.gz

    Запустим mc (должен быть установлен командой sudo apt-get mc) и создадим папку, где будут храниться базы, например:
    /home/alexander/server/firebird/bd

    и папку с настройками firebird (этот и следующий шаг необходим только для удобства последующих настроек сервера и его можно пропустить):
    /home/alexander/server/firebird/config

    В папке с настройками создадим символические ссылки на файлы конфигурации Firebird:
    - файл с паролем SYSDBA (доступен для просмотра и правки только под root):
    /etc/firebird/2.5/SYSDBA.password
    - файл с краткими ссылками на БД:
    /etc/firebird/2.5/aliases.conf
    - основной файл конфигурации Firebird:
    /etc/firebird/2.5/firebird.conf


    Firebird. Создание символических ссылок на настройки

    Из папки /usr/share/doc/firebird2.5-examples/examples/empbuild/ в папку /home/alexander/server/firebird/bd/ скопируем файл с примером БД "employee.fdb".

    Скорректируем файл aliases.conf для кратких ссылок на базу:
    tst.fdb = fdb /home/alexander/server/firebird/bd/employee.fdb
    tst = fdb /home/alexander/server/firebird/bd/employee.fdb


    Firebird. Правка файла алиасов (кратких ссылок)

    Проверим работоспособность сервера. Запустим консольную утилиту isql-fb:
    isql-fb

    На приглашение введем (не забываем про символ ";" в конце команды):
    connect "localhost:tst.fdb" user 'SYSDBA' password 'masterkey';
    или, если добавили себя в группу firebird:
    connect "tst.fdb" user 'SYSDBA' password 'masterkey';
    а можно указать и целый путь:
    connect "localhost:/home/alexander/server/firebird/bd/employee.fdb" user 'SYSDBA' password 'masterkey';

    Eсли все ок - в ответ должны увидеть:
    Database: "localhost:tst.fdb", User: SYSDBA

    Зачитаем список таблиц:
    show tables;

    В ответ получим:
    COUNTRY
    CUSTOMER
    DEPARTMENT
    EMPLOYEE
    EMPLOYEE_PROJECT
    JOB
    PROJECT
    PROJ_DEPT_BUDGET
    SALARY_HISTORY
    SALES

    Наберем для выхода из isql-fb: exit;


    Firebird. Проверка работоспособности сервера

    Сервер настроен. Работоспособность сервера Firebird на локальной машине проверена. В следующей статье рассмотрим пример подключения к данному серверу с другого компьютера при помощи графических оболочек IBExpert (для Windows) и FlameRobin (Linnux - систем).

    Настройка терминального клиента FreeRDP

    В предыдущей статье был рассмотрен пример настройки терминального сервера XRDP для сервера Ubuntu 14.04.2 LTS. Сейчас настроим терминальный клиент FreeRDP (http://www.freerdp.com/) для подключения к нему.

    Запускаем root.
    sudo su

    Устанавливаем терминальный клиент.
    apt-get install freerdp

    Подключаемся к серверу.
    xfreerdp -u user1 -p XXXXXXXX -f 192.168.100.55

    Некоторые полезные параметры запуска xfreerdp.
  • -u user1 имя пользователя при подключении;
  • -p XXXXXXXX пароль при подключении;
  • -f запуск в полноэкранном режиме (выход из полноэкранного режима - Ctrl+Alt+Enter);
  • -g 1024x768 запуск с разрешением экрана Ширина х Высота;

  • с другими параметрами запуска можно ознакомиться введя команду:
    xfreerdp --help


    Настройка терминального сервера XRDP для сервера Ubuntu 14.04.2 LTS

    Инструкция по настройке удаленного терминального сервера по протоколу SSH. Если у вас имеется физический доступ к серверу и настройка терминального сервера выполняется непосредственно на нем, то пункты, отмеченные "звездочкой" выпонять не требуется.

    *Включаем сервер удаленно.
    wakeonlan 192.168.100.55 00:0b:6a:06:dc:32

    *Подключаемся к серверу по SSH.
    ssh 192.168.100.55

    Запускаем root.
    sudo su

    Перезачитываем заголовки пакетов и обновляем действующие пакеты.
    apt-get update && apt-get upgrade

    Перезагружаемся.
    reboot

    *Подключаемся к серверу по SSH.
    ssh 192.168.100.55

    Запускаем root.
    sudo su

    Устанавливаем Midnight Commander.
    apt-get install mc

    Устанавливаем программу для работы с репозиториями GitHub.
    apt-get install git

    Устанавливаем графическую оболочку LXDE (http://lxde.org/).
    apt-get install lxde

    Настраиваем LXDE на автоматический вход в вистему. Для чего запускаем mc. Правим файл (F4) "/etc/lxdm/lxdm.conf" параметр "autologin".
    autologin=имя_пользователя_для_входа

    Перезагружаемся.
    reboot

    *Подключаемся к серверу по SSH.
    ssh 192.168.100.55

    Запускаем root.
    sudo su

    Скачиваем исходники XRDP из репозитория GitHub (актуальный адрес репозитория можно узнать на сайте http://scarygliders.net/). Исходники скачиваются в домашний каталог в папку "X11RDP-o-Matic".
    git clone https://github.com/scarygliders/X11RDP-o-Matic.git

    Запускаем процесс установки XRDP. Длится он ну очень долго. Впрочем, все зависит от скорости соединения с интернет и мощности компютера (Athlon XP 1700+, 300kБ/с примерно 2,5 часа).
    cd X11RDP-o-Matic
    ./X11rdp-o-matic.sh –justdoit

    Помимо, собственно, установки XRDP, в папке "/X11RDP-o-Matic/packages/" будут сформированы *.deb пакеты, которые могут пригодится в будущем, для установки XRDP без предварительной компиляции.

    Запускаем скрипт, который создаст настройку (файл *.xsession) для запуска рабочего стола (в наем случае LXDE) при подключении пользователей.
    ./RDPsesconfig.sh

    Можно перезапустить XRDP, для того что бы проверить установку.
    /etc/init.d/xrdp restart

    Перезагружаемся.
    reboot

    *Подключаемся к серверу по SSH.
    ssh 192.168.100.55

    Запускаем root.
    sudo su

    Создаем настройки по умолчанию для новых пользователей: скопируем папки ".config" и "Desktop" в папку "/etc/skel/" через mc или воспользовавшись командами:
    cp -R -f -b .config/ /etc/skel/
    cp -R -f -b Desktop/ /etc/skel/

    Создадим пользователей терминальных сессий.
    adduser user1
    adduser user2
    adduser userX

    Переходим к настройке терминального клиента FreeRDP.



    Зарядное устройства VERTER для автомобильного аккумулятора

    Примечание:
    Эксплуатация прототипа зарядного устройства VERTER дала возможность довести конструкцию девайса до логического завершения, а использование современных комплектующих и оптимизация схемы - все это позволило разместить устройство в более компактном корпусе при этом даже нарастить функциональность.

    Зарядное устройство предназначено для автоматической зарядки свинцово-кислотных автомобильных аккумуляторов постоянным током (ток заряда устанавливается на этапе сборки устройства и может составлять от 1 до 6А). Устройство реализовывает такие функции как заряд, разряд, тренировка, десульфация и расчет емкости аккумулятора. Предусмотрено подключение к ПК для снятия зарядных кривых. Реализует в себе алгоритмы заряда аккумуляторов, изложенные в статье "Заряд кислотных аккумуляторов". Инструкция по эксплуатации и подробное описание работы устройства см. тут.

    Схема устройства приведена ниже:


    VERTER. Схема зарядного устройства.

    Печатная плата разработана в программе Sprint-Layout версии 5.0 и изготовлена по технологии ЛУт:


    VERTER. Разработка печатной платы зарядного устройства.

    Все основные блоки (диодный мост, фильтрующий электролитический конденсатор, мощный транзистор, схема управления) размещены на основании из текстолита без медного покрытия. Крепление к основанию выполнено с помощью медной проволоки и силикона. Для удобства последующего монтажа все соединительные провода промаркированы.


    VERTER. Зарядное устройство в процессе сборки.

    В качестве корпуса использовался обрезанный задний кожух от ЭЛТ-монитора, в котором на "лицевой" стенке были прорезаны отверстия для закрепления элементов управления. Для улучшения охлаждения (кроме размещения диодного моста и мощного транзистора на радиаторах) было принято решение дополнительно использовать два вентилятора от компьютерных блоков питания.


    VERTER. Зарядное устройство.

    Фото готового зарядного устройства VERTER:


    VERTER. Зарядное устройство в сборе.

    А так выглядит зарядное устройство в процессе эксплуатации:


    VERTER. Зарядное устройство в процессе эксплуатации.

    Программирование выполняется в следующей последовательности: подключить программатор к разъему версии 4, установить режим программирования на пониженной частоте, если необходимо, скорректировать fuseprog.bat и progprog.bat, указав свой программатор, запустить вначале fuseprog.bat, а затем progprog.bat

    Скачать схему зарядного устройства, печатную плату в формате Sprint-Layout, HEX и EEP файлы для прошивки микроконтроллера, программу avrdude для программирования контроллера.

    С другими вариантами реализации можно ознакомиться на этой странице.


    PCDUINO. Программирование на C++ или Python

    Примеры программ для PCDuino, разработанные на C++ или Python можно найти на этой странице: https://learn.sparkfun.com/tutorials/programming-the-pcduino/introduction.

    AVRDUDESHELL. Запуск программы по ОС Linux (wine)

    Для запуска программы AVRDUDESHELL (начиная с версии 01.09.2015) под управлением ОС Linux (wine) необходимо выполнить следующие действия:

    1. Включить учетную запись root:
    sudo su

    2. Установить wine:
    apt-get install wine

    3. Установить утилиту avrdude:
    apt-get install avrdude

    4. Найти физическое размещение файлов утилиты avrdude, воспользовавшись командой whereis avrdude:

    5. Дать разрешение на доступ к утилите avrdude:
    chmod +s /usr/bin/avrdude

    6. Скачать последнюю версию программы AVRDUDESHELL.

    7. Распаковать архив программы AVRDUDESHELL в папку диска "c:\" программы wine, например в: "/.wine/drive_c/Application/AVRDUDESHELL/". Там же создать папку для размещения симлинков на программу avrdude, например avrdudelinux. Структура папок должна получится примерно следующей:

    8. В папке avrdudelinux создать симлинки на файлы avrdude и avrdude.conf.

    9. Запустить программу AVRDUDESHELL:

    в параметрах программы на вкладке "Файлы и папки" назначить "Папку утилиты AVRDUDE для программирования чипов" - в нашем случае это папка avrdudelinux (см. п. 7).

    Попробовать прочитать фьюзы:

    Записать фьюзы:

    Прочитать EEPROM и дизассемблировать:

    10. Для удобства запуска можно разместить ярлык программы на рабочем столе, создав файл с любым именем и расширением ".desktop", например "avrdudeshell.desktop" со следующим содержанием:

    [Desktop Entry]
    Version=1.0
    Type=Application
    Name=AVRDUDESHELL
    Comment=Программировать Atmega
    Exec=wine avrdudeshell.exe
    Icon=
    Path=/home/alexander/.wine/dosdevices/c:/Application/AVRDUDESHELL
    Terminal=false
    StartupNotify=true