понедельник, 23 декабря 2013 г.

Простой робот на arduino

В этой статья я хочу рассказать, как построить простого робота на arduino, с ультразвуковым сенсором HC-SR04 который сможет объезжать препятствия. Для постройки робота нам будет нужна платформа с одной колесной парой, которую можно приобрести на ebay для своего робота я купил такую платформу New Motor Smart Robot Car Chassis Kit Speed Encoder Battery Box For Arduino ESY1

суббота, 23 ноября 2013 г.

LCD Keypad Shield For Arduino

Иногда при разработке электронных устройств на базе Arduino требуется обеспечить взаимодействие человека с устройством. Например, организовать индикацию каких-либо цифровых значений или возможность для изменения настроек устройства. Для этой задачи можно использовать плату LCD Shield For Arduino.

На плате LCD Shield установлены ЖКИ-дисплей 2x16 символов с голубой подсветкой и 6 кнопок, которые можно использовать в программе.
Для управления ЖКИ задействованы цифровые линии 4-10. Пользовательские кнопки подключаются хитрым способом через аналоговый вход A0. Для регулировки контрастности используется подстроечный резистор с обозначением RP1.
 Для проверки платы я использовал Arduino UNO R3 и исходный код, который опубликован на сайте производителя dfrobot. В этой программе для взаимодействия с встроенным контроллером ЖКИ применяется библиотека LiquidCrystal library.

Скачать скетч тут

среда, 20 ноября 2013 г.

Работа с 433Mhz TX/RX Arduino Module

Работа с 433Mhz TX/RX Arduino Module

Соединить пару arduino-к с помощью FS1000A / XY-MK-5V 433Mhz TX/RX Module не просто... А элементарно просто =)
Выглядят они вот так:


Для примера будем пересылать температуру, полученную с датчика DS18B20.
В подключении к arduino ничего сложного нет, три провода: Vcc, GND, DATA - соответственно на "5V", "GND" и любой свободный пин (в данном случае 7).

вторник, 19 ноября 2013 г.

Меню и управление трансивером Baofeng UV-5R

Для быстрого запуска сканирования можно не заходить в меню, а длительно нажать клавишу "*".

Включение блокировки (не блокируется клавиша PTT) длительно удерживать "#". Если станция валяется в кармане, лучше заблокировать, чтобы не сбить текущую частоту.

При коротком нажатии "*" появляется символ «R» на дисплее. Функция реверса.

Переход по пунктам меню в UV-5R осуществляется клавишами вверх/вниз или нажатием кнопки меню и вводом номера пункта меню.

понедельник, 18 ноября 2013 г.

usb-relay-1

Для систем автоматизации умного дома, или для удаленного управления электроприборами, существую небольшие устройства, USB реле на 1, 2, 4, или 8 контактов, на ebay такое устройство можно купить примерно за 9$ что несомненно дешевле нашего аналога, про который я писал в этой статье. Первое чтссылка1 ссылка2. После того как скачали и распаковали архив, подключаем USB relay к компьютеру заходим в распакованную папку -> TestApp -> GuiApp_English.exe
о нам нужно сделать это скачать архив с программой для управления реле
Жмем Find device из выпадающего списка выбираем устройство 1ENLJ  далее жмем open device, если все было сделано верно при нажатии кнопки open реле замкнется. Немного позже опишу как настроить реле в Linux

Arduino и LED MAX7219 Matrix 8x8

Недавно приобрел вот такой девайс в одной из известных азиатских стран,
и как только получил его  решил испытать его с arduino nano.

Начнем с подключения MAX7219 к arduino
MAX7119           ARDUINO
VCC-------------> 5V
GND-------------> GND
DIN-------------> 8
CS--------------> 9
CLK-------------> 10

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

Hello World на C

Маленькая заметка  как написать самую популярную программу Hello World. Мы это сделаем на языке С.
создадим файл hello.c

touch hello.c

С следующим содержанием.

/* hello.c */
#include <stdio.h>

int main (void)
{
 printf ("Hello World\n");
}  

 далее нам нужно скомпилировать нашу супер программу.

gcc -o hello hello.c

И запустим.

./hello 

Всем спасибо, все свободны.

пятница, 1 ноября 2013 г.

мониторинг температуры процессора raspberry pi в cacti.

После написания заметки про воздушное охлаждение raspberry pi, я решил сделать мониторинг температуры процессора в cacti.
Будем считать, что Apache и cacti у нас уже установлены.

создадим скрипт на perl temp_rpi.pl с следующим содержанием
 
#!/usr/bin/perl
delete @ENV{qw(PATH)};
$ENV{PATH} = "/usr/bin:/bin";
$path = $ENV{'PATH'};
 
open(PROCESS, "/opt/vc/bin/vcgencmd measure_temp |");
$avg = <PROCESS>;
close(PROCESS);
 
$avg =~ s/^.*=(\d{2}\.\d)'?C?$//;
 
print "$1";
 

понедельник, 21 октября 2013 г.

Воздушное охлаждение raspberry pi

Как известно, Raspberry pi можно разогнать до 1 Ггц без потери гарантии, но после разгона возникает проблема с нагревом процессора. Один из вариантов - поставить небольшой радиатор, что собственно я и сделал, но как показала практика, даже с радиатором Raspberry pi сильно грелся, поэтому возник вопрос о дополнительном охлаждении. Первое что пришло в голову - это поставить небольшой вентилятор от старой видеокарты, и запитать его от самой Raspberry pi, благо, на это есть порты на самой плате. После установки вентилятора температура не поднималась выше 31С, но хоть вентилятор и несильно шумящий, он создавал шум. Т.к. малинка у меня находится рядом с спальным местом, было принято решение, что постоянно охлаждать процессор необязательно, а можно его включать по достижению какой-либо температуры. Сразу возник вопрос о том, что нужно подключать датчик температуры, снимать с него показания, и в зависимости от его показаний, включать или выключать охлаждение. После небольших поисков в интернете оказалось, что температуру можно узнать и без датчика. Для этого в консоли вводим команду:

пятница, 30 августа 2013 г.

MP709 USB реле управляемое через интернет


MP709 USB реле при помощи которого можно управлять силовыми нагрузками 220 Вольт или низковольтными нагрузками как локально так и через интернет. В качестве хоста  у меня используется raspberry pi. Итак после подключения MP709 смотрим попределилась ли она в системе
# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 16c0:05df VOTI

устройство Bus 001 Device 005: ID 16c0:05df VOTI и есть наше реле теперь скачиваем скрипт для управления реле
wget http://usbsergdev.narod.ru/PROGRAMM/mp709_adriver.tar.rar
распаковываем архив
переходим в папку mp709

Raspberry Pi в качестве FM-передатчика

Маленькая заметка о тот как из raspberry pi сделать FM передатчик.
Скачиваем скрипт
# wget http://www.icrobotics.co.uk/wiki/images/c/c3/Pifm.tar.gz
распаковываем
# tar xvfz Pifm.tar.gz

В качестве антенны к GPIO 4 порту подключаем кусочек провода длинной 75 см. т.к для частоты 100 Mhz  это будет 1/4 диполь. Для проверки работоспособности можно не подключать провод к GPIO 4 т.к выходной мощности хватает даже для вещания через несущую стену панельного дома . Настраиваем FM приемник на частоту 100 Mhz и запускаем скрипт
# sudo ./pifm sound.wav 100.0
Наслаждаемся имперским маршем :)
sound.wav уже был в скачаном архиве вы можете использовать свой файл, но он должен быть в формате WAV 44,1 кГц, 16 бит, моно. 100.0 частота на которой будет вещать наш raspberry pi её мы так же можем изменив например на 99.3 как сказано на wiki странице разработчика диапазон работы можно задавать в пределах от 1Mhz до 250Mhz
# sudo ./pifm sound.wav 99.3

пятница, 9 августа 2013 г.

SSH авторизация по ключу в raspberry pi

SSH авторизация по ключу


Допустим, вам необходимо настроить беспарольный вход по ssh (scp и sftp тоже) на удаленный сервер 192.168.1.94 под пользователем pi. Если имя Вашего локального пользователя совпадает с удаленным, то pi@ везде можно опустить.
1) создаем открытый и закрытый ключ нашей локальной системы
$ ssh-keygen -t rsa
нажимаем "Enter", отказываясь от ключевой фразы. 2) если в системе есть программа ssh-copy-id, то настраиваем удаленную систему на то, чтобы оно авторизировало ssh по открытому ключу
$ ssh-copy-id -i ~/.ssh/id_rsa pi@192.168.1.94
переходим к шагу 4)
3) если ssh-copy-id нет, то можно сделать это вручную.

вторник, 6 августа 2013 г.

Резервирование сервера Asterisk при помощи heartbeat

В этой статье хочу рассказать о простом способе настройки резервирования asterisk при помощи heartbeat.
Мы имеем два сервера с установленым астериском и имеющим один сетевой интерфейс.
asterisk1 192.168.1.34
asterisk2 192.168.1.94
Певрое что мы делаем на каждом узле устанавливаем heartbeat
apt-get install heartbeat

среда, 17 июля 2013 г.

Настройка Trixbox

Для конфигурации trixbox необходимо попасть в его интерфейс, по адресу, выданному DHCP-сервером (или назначенным вручную). В нашем случае нам нужно открыть адрес http://192.168.12.21. Так как он был выделен DHCP-сервером.




Настройка Elastix

Для конфигурации Elastix необходимо попасть в его интерфейс, по адресу, выданному DHCP-сервером (или назначенным вручную). В нашем случае нам нужно открыть адрес http://192.168.12.207. Так как он был выделен DHCP-сервером.

В окне авторизации вводим логин и пароль, заданный при установке дистрибутива Elastix:


воскресенье, 23 июня 2013 г.

Мониторинг Raspberry pi с помощью SNMP + cacti



Для мониторинга  raspberry pi  будем использовать cacti в связке с SNMP.
Итак, у нас есть два сервера .
server   192.168.1.34
Raspberry   192.168.1.94
На server будем строить графики загрузки raspberry
На server уже должен быть установлен apache2, php5, и mysql  переходим к установки cacti
установка незатейлива.

суббота, 22 июня 2013 г.

Установка freeswitch и fusionpbx на raspberry pi



Легкий способ установить freeswitch на raspberry pi
И так у нас имеется только что установленная система raspbian weezy. Для начала нам нужно установить apache2 mysql и php5
Заходим под пользователем root и ставим apache2
sudo apt-get install apache2
ставим mysql
apt-get install mysql-server
далее ставим php5
sudo apt-get install php5

sudo apt-get install php5-mysql

понедельник, 4 марта 2013 г.

Установка и настройка freeswitch в Centos



Цель статьи - рассказать о простом способе установки и настройки  freeswitch в Centos.
Статья не является полным руководством и не претендует на истину в последней инстанции, я бы сказал эта памятка самому себе.

Итак, начнем.
Весь процесс установки очень прост, нужно только скачать скрипт gitit.sh
Переходим в папку

пятница, 1 марта 2013 г.

Управление автозагрузкой сервисов в CentOS

Для добавлении сервиса в автозагрузку ОС CentOS/RHEL, сущеcтвует служба chkconfig
  • chkconfig —list <имя службы>
  • chkconfig —add <имя службы>
  • chkconfig —del <имя службы>
  • chkconfig [--level levels] <имя службы> <on|off|reset>
  • chkconfig [--level levels] <имя службы>

# chkconfig --list httpd (проверяем включен ли в автозагрузку httpd)
httpd              0:выкл    1:выкл    2:выкл    3:выкл    4:выкл    5:выкл    6:выкл
# chkconfig --level 35 httpd on (включаем на уровень исполнения 3 и 5)
# chkconfig --list httpd (проверяем)
httpd              0:выкл    1:выкл    2:выкл    3:вкл 4:выкл    5:вкл 6:выкл
# chkconfig --level 35 httpd off (выключаем службу)
# chkconfig --del httpd (удаляем службу)
# chkconfig --list httpd (проверяем, и видим ошибку и просьбу добавить службу)
# chkconfig --add httpd (добавляем службу в автозагрузку)

вторник, 15 января 2013 г.

microsip softphone с поддержеой кодека g729

Долго искал softphone с поддержкой кодека G729 и такой нашелся MicroSIP - open source проект
с поддержкой кодеков:
speex@8,16,32kHz
iLBC@8kHz
GSM@8kHz
G.711@8kHz (PCMU and PCMA)
G.722@16kHz
G.729@8kHz
SILK@8,12,16,24kHz,
Linear PCM@8,16,44kHz
Видео кодеки
video h264 и h263+
 так же поддерживается шифрование
TLS / SRTP
Сайт проекта