Android Studio. Ошибка "Сannot resolve symbol "R""

При сознании новых прогектов в Android Studio начал получать ошибку "Сannot resolve symbol "R"".


Android Studio. Ошибка "Сannot resolve symbol "R""


Проблема возникает из-за "недоработки" в библиотеке совместимости "appcompat". Решение простое. Необходимо изменить текущую версию библиотеки на стабильную, например на "com.android.support:appcompat-v7:22.2.0" (по состоянию на 2017.01.05).

Как это сделать? Идем в структуру проекта "File->Project Structure".


Android Studio. Структура проекта


В открывшемся окне, в левой части формы, выбираем "app" и переходим на вкладку "Dependensies".


Android Studio. Изменение версии библиотеки совместимости


Удаляем текущую библиотеку совместимости "com.android.support:appcompat-v7:XX.X.X" (нажав "минус" в правой части формы) и добавляем новую с именем "com.android.support:appcompat-v7:22.2.0" (без кавычек).


Android Studio. Изменение версии библиотеки совместимости



Девайсы. Другие реализации зарядного устройства VERTER

Ниже представлены другие варианты конструкции автоматического зарядного устройства для автомобильных аккумуляторов VERTER.

От пользователя stream.3, г. Киев, Ноябрь 2016 г.

Отличительной особенностью этой реализации является то, что в качестве источника тока используется внешний блок.


Зарядное устройство для автомобильных аккумуляторов VERTER. Конструкция.


Зарядное устройство для автомобильных аккумуляторов VERTER. Общий вид.


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


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


Зарядное устройство для автомобильных аккумуляторов VERTER. Печатная плата.

Скачать печатную плату в формате Sprint Layout.

Связаться с автором реализации можно по адресу: stream.3@mail.ru

Подключение к БД 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 для программирования контроллера.

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