Перейти к содержанию

FAQ Raspberry Pi - Миникомпьютер с Linux за 25$/35$


Рекомендуемые сообщения

Программа останется та же , или ее сильно переделывать придется?

Прога для Pi видимо будет на базе вот такого кода:http://www.airspayce...8c-example.html

или вот такого на базе ШИМ: http://www.airspayce...8c-example.html

с предустановленной "C library for Broadcom BCM 2835", отсюда http://www.airspayce...2835/index.html

Собирайте схему, давайте данные по подключению, сваяю код - выложу для теста, не заработает - ищем баги... правлю, выкладываю и т.д. Может на входе какую тригерную логику можно прикрутить? И по уровню сигнала, читай 1-0, отслеживать? Или важно нарастание-убывание сигнала?

Hello! A am mechanic too!

Спасибо за ответ! Для меня это слишком сложно. Программа, я так понял, будет сильно отличаться...

А на входе, я так понимаю, нужно только отслеживать 0 или 1, и потом подсчитывать число импульсов...

Если будет время, может попробую...

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Программа, я так понял, будет сильно отличаться...

А на входе, я так понимаю, нужно только отслеживать 0 или 1, и потом подсчитывать число импульсов...

Код в примере написан под другой компилятор, который в принципе баловство и ограниченная под ряд контроллеров фигня... Предлагается код под могучий gcc, что еще может быть надо?

По входному сигналу два варианта.

Первый: отслеживать низкий уровень_0 и при выходе_1 подавать сигнал зуммером - металл найден...

Второй: Вести подсчет импульсов за заданный промежуток времени и сравнивать с уставочным значением, если равно - металл близко, если больше -металл найден... Что-то типа этого... Но в процессе всегда приходит полезное озарение...

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

"...Однако, если у вас сеть с статическим IP, то тут придется немного постучать по клавиатуре.

В имидже Raspbian файл сетевых интерфейсов находится здесь: /etc/network/interfaces

Чтобы его отредактировать, введите следующую команду:

sudo nano /etc/network/interfaces

nano – это текстовый редатор, можете конечно юзать и vi если вы хардкорный юниксоид

Строчку iface eth0 inet dhcp необходимо закомментировать:

#iface eth0 inet dhcp

Добавьте туда следующие строки:

iface eth0 inet static

address 192.168.1.30

netmask 255.255.255.0

gateway 192.168.1.1

Где:

address – статический адрес Raspberry Pi

netmask – маска подсети

gateway – шлюз (как правило IP вашего сетевого маршрутизатора)

После внесения изменений, необходимо сделать рестарт, чтобы изменения вступили в силу:

sudo /etc/init.d/networking restart..."

Возможный вариант настройки со статическим адресом:

  1. Под линуксом: после закатки имиджа на SD вытаскиваем и вставляем карту в картридер снова. Заходим на раздел большего размера (корневую директорию).
  2. Редактируем /etc/network/interfaces - добавляем в файл следующее:
    iface eth0:1 inet static
    address 192.168.1.30
    netmask 255.255.255.0
    gateway 192.168.1.1
    auto eth0:1
    Где:
    address – статический адрес Raspberry Pi
    netmask – маска подсети
    gateway – шлюз (как правило IP вашего сетевого маршрутизатора)
  3. Редактируем /etc/hosts: добавляем строку 192.168.1.30 raspberrypi в конец файла для корректной работы сети
  4. Если Вы делаете всё непосредственно на raspberry pi, то пункт 1 можно пропустить... :rolleyes:

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Доброго времени суток!

Возможно осуществлять удалённо сбор информации используя NRF24L01+ совместно с RPi?

Я так понимаю на приёмо-передающей (сервер с графиками, веб интерфейсом .....) стороне будет стоять RPi + NRF24L01+ , а на удалённой стороне NRF24L01+ + какой то датчик

В нете про такую связку мало информации, практически нет

если да, то как правильно сделать?

Ссылка на комментарий
Поделиться на другие сайты

Спасибо за подробные мануалы, очень помогли.

Возникла небольшая проблема:

Потоковое видео с вебкамеры, подключенной к Raspberry Pi

...

... выводится: file /webcam.mjpeg not found. То же самое в терминале. Сама камера видеопоток отдает корректно (к слову, в ее качестве выступил автомобильный видеорегистратор :) , а веб-камера Logitech так и не завелась, точнее работала, но с огромным количеством артефактов изображения и ошибок в терминале), проверял через mplayer.

Кстати, есть более удобный вариант настройки связки ffserver и ffmpeg, а именно прописыванием ffmpeg в параметре Launch файла /etc/ffserver.conf в секции feed.

Народ, насколько мне известно, mjpeg (moving jpeg) это видео, где минимум межкадрового сжатия, т.е. поток большой будет. Когда начало развиваться видео в сети, пропускная споспобность была еще не так велика, а потому не уверен, что этот формат поддерживается браузерами в принципе.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Могу ли я через этот разъем передавать и получать данные?? то есть с помощью этого разъема определять и использовать устройство как USB клиент, а не USB хост..? ... аппаратно он позволяет это делать, а вот программная часть нигде не описана... :\

Ссылка на комментарий
Поделиться на другие сайты

Micro USB на Raspberry Pi исключительно для питания. Данные через него нельзя передавать.

Изменено пользователем Vascom
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Сваял следующий проектик.... Связка RaPi + usbGSM-модем в качестве GSM-шлюза, установленный Asterisk зареган на Sipnet.ru (как вариант)....

Lets go....Ищем usbGSM-модем Huawei из следующего списка:

static const char * const seven_bit_modems[] = {
"E1550",
"E1750",
"E160X",
"E150",
"E173",
"E1552",
"E171",
"E153",}

этот список выдернул из модуля (драйвера) для Asterisk, который будем собирать для работы с usbGSM-модемом... Были потуги заставить работеть модем типа MF627, но Asterisk его не видит, драйвер не знает... Забил.. понял-надо брать из списка...

Подготавливаем GSM-модем для работы с Pi ставим

apt-get install libusb-dev minicom usb-modeswitch* autoconf

запускаем терминал

minicom -D /dev/ttyUSB2 (у меня второй)

Узнаем IMEI GSM-модема, если на нем не написано, следующим образом, используя следующие AT-команды:

AT
ok //по каждой команде должен быть такой эхо-ответ или данные
ATZ //сброс если повиснет
ATE //включаем режим эха, чтоб видеть ответы мопеда
ATI //инфа о модеме, запоминаем IMEI
AT^U2DIAG=0 //устройство в режиме только модем
AT^CARDLOCK? // смотрим залочен иль нет.

где

CARDLOCK: A,B,0
где A -> 2- означает, что симлока нет, 1-если модем залочен
B -> количество оставшихся попыток разблокировки.
((=^CARDLOCK: 2,10,0))

Выходим из терминала нажатием <Ctrl + A и Shift+Q>

При необходимости разлочиваем GSM-модем (если симка одного оператора, должна работать в модеме от другого)... Если модем-универсал, пропускаем... Разлочка фри..

Ищем свой мопед по его типу-номеру сначала здесь http://a-zgsm.com/freecode/, нашли вводим IMEI-получаем анлок код и переходим сразу к разлочке...

Если мопеда нет в списке идем на их форум сюда: http://mobile.a-zgsm.com/forum-4.html

кликаем new thread - создаем новый пост... И пишем что-то подобное:

Hi! I can get code?
Model: E173
Revision: 11.126.15.00.209
IMEI: 868931002774567

И ждем несколько дней, может быстрее (изучаем пока конфиги Asterisk :))

Если приставать могут послать лесом и забанить, у них написано..

Получим ответ типа такого:

RE: I can get code?
IMEI: 868931002774567
NEW ALGO UNLOCK CODE: 51343137
NEW ALGO HASH RESET: e1dc535bed527a2e860def59219f5d01
OLD ALGO UNLOCK CODE: 52944437
OLD ALGO HASH RESET: 3aad7113be60480f825cd0dbbbb2b63f
FLASH CODE: 55387050

Благодарим + или баблом, кто как хочет, иначе ответа потом при необходимости не получим, у них написано. Нам не трудно, можно просто за спасибо:

Big Thank! All works!
AT^CARDLOCK?
^CARDLOCK: 1,5,0
OK
AT^CARDLOCK="51343137"
OK
AT^CARDLOCK?
^CARDLOCK: 2,5,0
OK

Разлочиваем мопед:

minicom -D /dev/ttyUSB2 //терминал
ate //вводим
ок

AT^CARDLOCK? //вводим
^CARDLOCK: 1,5,0 // 1-значит залочен, 5-осталось пять попыток, говорит о том что не стоит вводить левые коды более 4 раз в моем случае, 10-попыток по-дефолту стоит.
OK

AT^CARDLOCK="51343137" //вводим полученный код
OK

AT^CARDLOCK? //вводим
^CARDLOCK: 2,5,0 // 2-значит разлочен, кол-во попыток осталось те же 5..
OK

Выходим из терминала нажатием <Ctrl + A и Shift+Q>

Устанавливаем модуль Dongle (читать драйвер Asterisk для работы с gsm-мопедом) http://softnastroy.c...sm-shlyuza.html

Устанавливаем Asterisk http://softnastroy.c...p-asterisk.html

Настройка Asterisk это целая поэзия, поэтому спрашиваем или курим мануал, прикрепил:

Все не так все страшно... У меня например все работает со следующими конфигами:

Конфиг модуля Asterisk для работы с gsm-модемом dongle.conf


[general]
interval=15 ; Number of seconds between trying to connect to devices
dtmf=off  ; control of incoming DTMF detection, possible values

[mts]
audio=/dev/ttyUSB1 ; tty for audio connection
data=/dev/ttyUSB2 ; tty for AT commands
context=mgf
languge=ru
group=1
rxgain=3 ; increase the incoming volume
txgain=3 ; increase the outgoint volume
autodeletesms=yes
resetdatacard=yes ; reset datacard during initialization
u2diag=0 ; set U2DIAG parameter (256 = modem+card_reader)
usecallingpres=yes ; use the caller ID presentation or not
;callwaiting=no ; Принимать второй звонок при активном разговоре
callingpres=allowed_passed_screen ; set caller ID presentation
disablesms=no ; chan_datacard в данный момент глючит с приемом SMS. Когда SMS приходит во время звонка

Конфиг Asterisk правила набора номера extensions.conf здесь привожу только для gsm-dongle и моего VoIP-оператора:


[mgf]
exten => s,1,Background(beep)
exten => s,n,DISA(9999,disa,"number")
exten => s,n,Playback(vm-nobodyavail)
exten => s,n,Hangup()

[disa]
exten => _8XXXXXXXXXX,1,Dial(SIP/MyLoginSipnet/${EXTEN},90,m,D)

Конфиг Asterisk sip.conf моего VoIP-оператора:


[general]
relaxdtmf=yes 
dtmfmode = auto

register=MyLoginSipnet:password@sipnet.ru/MyLoginSipnet

[MyLoginSipnet]
	 type=friend
	 username=Login
secret=password
	 host=sipnet.ru
	 defaultip=sipnet.ru
	 ;nat=yes
	 fromuser=Login
	 fromdomain=sipnet.ru
	 dtmfmode=rfc2833
	 insecure=invite
	 context=disa
	 disallow=all
        allow=ulaw
	 ;allow=alaw
        ;allow=g729
        ;allow=GSM

Делаем для контроля набора номера настройки логгера :

Увидеть что и как на самом деле принимается при донаборе можно добавив в logger.conf
console => ....,dtmf
и перезапустив логгер
logger reload

Теперь при вводе пин-кода и донаборе номера в панели rasterisk будет видно следующее:

raspberrypi*CLI>
[Mar 15 16:17:02] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '9' received on Dongle/mts-010000011c
[Mar 15 16:17:02] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '9' on Dongle/mts-010000011c
[Mar 15 16:17:02] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '9' received on Dongle/mts-010000011c, duration 229 ms
[Mar 15 16:17:02] DTMF[6450]: channel.c:4067 __ast_read: DTMF end passthrough '9' on Dongle/mts-010000011c
[Mar 15 16:17:03] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '9' received on Dongle/mts-010000011c
[Mar 15 16:17:03] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '9' on Dongle/mts-010000011c
[Mar 15 16:17:03] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '9' received on Dongle/mts-010000011c, duration 140 ms
[Mar 15 16:17:03] DTMF[6450]: channel.c:4067 __ast_read: DTMF end passthrough '9' on Dongle/mts-010000011c
[Mar 15 16:17:03] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '9' received on Dongle/mts-010000011c
[Mar 15 16:17:03] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '9' on Dongle/mts-010000011c
[Mar 15 16:17:03] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '9' received on Dongle/mts-010000011c, duration 140 ms
[Mar 15 16:17:03] DTMF[6450]: channel.c:4067 __ast_read: DTMF end passthrough '9' on Dongle/mts-010000011c
[Mar 15 16:17:04] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '9' received on Dongle/mts-010000011c
[Mar 15 16:17:04] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '9' on Dongle/mts-010000011c
[Mar 15 16:17:04] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '9' received on Dongle/mts-010000011c, duration 153 ms
[Mar 15 16:17:04] DTMF[6450]: channel.c:4067 __ast_read: DTMF end passthrough '9' on Dongle/mts-010000011c
[Mar 15 16:17:04] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '#' received on Dongle/mts-010000011c
[Mar 15 16:17:04] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '#' on Dongle/mts-010000011c
[Mar 15 16:17:04] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '#' received on Dongle/mts-010000011c, duration 216 ms
[Mar 15 16:17:04] DTMF[6450]: channel.c:4067 __ast_read: DTMF end passthrough '#' on Dongle/mts-010000011c
[Mar 15 16:17:05] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '8' received on Dongle/mts-010000011c
[Mar 15 16:17:05] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '8' on Dongle/mts-010000011c
[Mar 15 16:17:05] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '8' received on Dongle/mts-010000011c, duration 140 ms
[Mar 15 16:17:05] DTMF[6450]: channel.c:4067 __ast_read: DTMF end passthrough '8' on Dongle/mts-010000011c
[Mar 15 16:17:07] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '9' received on Dongle/mts-010000011c
[Mar 15 16:17:07] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '9' on Dongle/mts-010000011c
[Mar 15 16:17:07] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '9' received on Dongle/mts-010000011c, duration 165 ms
[Mar 15 16:17:07] DTMF[6450]: channel.c:4067 __ast_read: DTMF end passthrough '9' on Dongle/mts-010000011c
[Mar 15 16:17:08] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '8' received on Dongle/mts-010000011c
[Mar 15 16:17:08] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '8' on Dongle/mts-010000011c
[Mar 15 16:17:08] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '8' received on Dongle/mts-010000011c, duration 204 ms
[Mar 15 16:17:08] DTMF[6450]: channel.c:4067 __ast_read: DTMF end passthrough '8' on Dongle/mts-010000011c
[Mar 15 16:17:08] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '2' received on Dongle/mts-010000011c
[Mar 15 16:17:08] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '2' on Dongle/mts-010000011c
[Mar 15 16:17:08] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '2' received on Dongle/mts-010000011c, duration 178 ms
[Mar 15 16:17:08] DTMF[6450]: channel.c:4067 __ast_read: DTMF end passthrough '2' on Dongle/mts-010000011c
[Mar 15 16:17:09] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '5' received on Dongle/mts-010000011c
[Mar 15 16:17:09] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '5' on Dongle/mts-010000011c
[Mar 15 16:17:09] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '5' received on Dongle/mts-010000011c, duration 89 ms
[Mar 15 16:17:09] DTMF[6450]: channel.c:4067 __ast_read: DTMF end passthrough '5' on Dongle/mts-010000011c
[Mar 15 16:17:09] DTMF[6450]: channel.c:4083 __ast_read: DTMF begin '5' received on Dongle/mts-010000011c
[Mar 15 16:17:09] DTMF[6450]: channel.c:4087 __ast_read: DTMF begin ignored '5' on Dongle/mts-010000011c
[Mar 15 16:17:10] DTMF[6450]: channel.c:3998 __ast_read: DTMF end '5' received on Dongle/mts-010000011c, duration 127 ms

где видно приняла или проигнорировала Asterisk нажатие клавиши...

Работает это все так: запускаем rasterisk, проверяем активность набираем: dongle show devices....Видим что-то типа такого:

ID		 Group State	 RSSI Mode Submode Provider Name Model	 Firmware		 IMEI			 IMSI			 Number
mts		 1	 Free	 18 3 3	 MTS RUS	 E173	 11.126.15.00.209 868931002774567 250012411317673 Unknown

Звоним на мопед, слышим beep, набираем 9999# (мой случай-это код доступа, прописан в строке: exten => s,n,DISA(9999,disa,"number") extensions.conf, можно прописать свой любой или через функцию Asterisk: GotoIf($["${CALLERID(num) фильтровать по номеру абонента курим фак..

После кода доступа если принят слышим beep и ВНИМАНИЕ набираем нужный межгород (мобилу) начиная с 8, как прописано в строке _8XXXXXXXXXX, подчеркивание впереди значит что это шаблон набора номера, есть разные варианты, курим фак...У меня так...

Далее по правилу набора _8XXXXXXXXXX,1,Dial(SIP/MyLoginSipnet/${EXTEN},90,m,D) попадаем в sip.conf в MyLoginSipnet который зареган на sipnet.ru...

Проверить регистрацию можно в панели rasterisk набрав sip show registry увидим мой случай:

Host								 dnsmgr Username	 Refresh State			 Reg.Time
sipnet.ru:5060						 N	 MyLoginSipnet		 105 Registered		 Sat, 15 Mar 2014 15:13:17
1 SIP registrations.

Фича Asterisk одна из бесчисленных, при ожидании ответа 90 сек. Asterisk (определено в строке _8XXXXXXXXXX,1,Dial(SIP/MyLoginSipnet/${EXTEN},90,m,D) параметр m, настройки в musiconhold.conf, проигрывает мне сингл scooter, нарезка в формате .wav 16bits, у меня так, курим фак или спрашиваем....

Теперь грабли... При вводе кода и номера дозвона, Asterisk не всегда корректно распознает DTMF-коды нажатых клавиш телефона. Поэтому подсмотрев решение здесь http://voip.rus.net/...1&display=print, в sip.conf звуковые кодеки все кроме allow=ulaw у меня запрещены. Не смотря на это Asterisk упорно иногда не хочет принимать например три набранные подряд цифры пять...

Короче, шлюз у меня преренаправляет через раз, но работает... Надеюсь устранить траблы с DTMF....

Да еще, связка настроена и работает только в одну сторону Мобила --->GS-шлюз---->Asterisk--->VoIP...

Обратные звонки из VoIP ---> Мобилы настраиваются добавлением правила-екстена в extensions.conf..

Мне пока без надобности, надо спрашиваем....

Внес изменения в dongle.conf и sip.conf по устранению граблей. Сделал несколько тестовых звонков на разношерстные номера, все вроде работает, dtmf распознается, дозвон идет сразу...

Asterisk.rar

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

Устанавливаем Asterisk http://softnastroy.c...p-asterisk.html

Устанавливаем модуль Dongle (читать драйвер Asterisk для работы с gsm-мопедом) http://softnastroy.c...sm-shlyuza.html

В такой последовательности конечно ПРАВИЛЬНО будет....

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

Прикольно.

А можно ли как-нибудь произвести управление RasPi через сотовый посредством отправки команд, например "12345#"?

Допустим, хочу послушать музыку на RasPi:

- звоним на аппарат, тот автоматически снимает трубку и ожидает команды.

- при поступлении "12345#" - автоматически включает проигрыватель с музыкой.

- при поступлении "stop#" или через некоторый промежуток времени - передача данных прекращается и аппарат кладет трубку

Можно ли так сделать?

Ссылка на комментарий
Поделиться на другие сайты

Прикольно.А можно ли как-нибудь произвести управление RasPi через сотовый посредством отправки команд, например "12345#"?Допустим, хочу послушать музыку на RasPi:

Это самое малое ЧТО можно сделать с Астериск... Но слушать музон посредством мобилы в формате .wav 16bits не прикольно, но можно...Вот фича для безграничного полета фантазии... Управление ПК посредством Астериск:создаем в extensions.conf диалплан типа такого....

[run_script]
exten => 777,n,Dial(SIP/777/${EXTEN},60)
exten => s,n,Read(auth | | 4 | | 1 |5)
exten => s,n,GotoIf($["${auth}" = "000"]?yes:no) ; ввод пароля
exten => s,n,(yes),System(winexe -U /% //"c:\script.bat" >>/var/log/asterisk/win.log)
exten => s,n,(no), Hangup()

а в sip.conf типа такого...

[777]
type=friend
username=777
;secret=
context=run_script
host=dynamic
disallow=all
allow=ulaw
;allow=alaw
;allow=g729
;allow=GSM

В наш контекст добавляем контекст run_script посредством include...

[disa]exten => _8XXXXXXXXXX,1,Dial(SIP/MyLoginSipnet/${EXTEN},90,m,D)
include => run_script

Линуксовая утилита winexe (прикрепил) позволяет удаленно выполнять команды в Windows NT/2k/XP/2k3Ставим ее в свою Линукс-систему, на которой пашет Астериск...теперь при звонке на 777при правильных данных узнавания, на удаленном хосте будет выполнены все команды, описанные в script.bat (как вариант)...

Это все дано для отладки и полета фантазии, мне пока без надобности...

winexe.rar

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

Нужен совет. ОЧЕНЬ!

Нужно сделать Систему Учета Рабочего Времени на базе Raspberry pi.

Принцип работы похож на ЭТУ.

К Raspberry pi нужно подключить считыватели (RFID Proximity 125 KHz EM-marine ) !2-4шт!.

Вопрос:Можно ли напрямую? например USB считыватели. Или может через какой-то сетевой контроллер по wiegand26?Какой? Как подключить? Или может можно напрямую подключить ЕМ считыватели без контролера (к GPIO) .

Данные о входе/выходе и времени нужно передавать на веб-сервер по каналу GPRS (для того чтобы просматривать через личный кабинет на сайте и отправлять смс о входе/выходе через интеренет шлюз смс), а также управлять распбери удаленно.

Вопрос: можно ли использовать для этого обычный 3G модем или лучше шильд sim 900

И наконец как организовать бесперебойную работу устройства в случае пропажи электричества ? какую акб, ббп использовать.

Всем заранее благодарен за помощь!

Изменено пользователем liked
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Прошу помощи.

Делаю систему на датчиках расстояния (пока изучаю теорию). Нужен практический совет.

В качестве датчиков расстояния использую специфическую технологию на SMD: TSL2671 (Digital Proximity Detector).

В интернете есть на неё даташит.

Управление по протоколу IIC.

Размеры самого датчика: 2х2 мм (вот такой он маленький).

Имеет выводы: VDD, GND, LDR, SCL, SDA, INT.

Дальность детектирования примерно 45 см, хотя на практике может быть меньше.

У меня есть 8 штук таких датчиков.

Подскажите, как подключить все восемь (или хотя бы два) что бы была возможность снимать показания с каждого из них?

Смущает только вывод INT (Interrupt - open drain) и адрес у всех одинаковый - 0х39.

Я так понимаю, что без дополнительного селектора для выбора нужного датчика не обойтись. Это печально немного.

Подскажите, какие есть в продаже вообще такие микрухи-селекторы? Что можно ещё использовать?

И как этим селектором можно управлять через выводы малинки?

Ссылка на комментарий
Поделиться на другие сайты

Размеры самого датчика: 2х2 мм (вот такой он маленький).

Имеет выводы: VDD, GND, LDR, SCL, SDA, INT.

А как распаивать будешь? Я например не смог распаять BMA250 тоже 2х2 размер, выводы отпаялись и облом...

Подключение видимо такое же как в случае с BMA250...

Например:

P1-03 (GPIO 2) -- SDA

P1-05 (GPIO 3) -- SCL

P1-01 3.3 V -- VDD

P1-09 GND -- GND

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

Нужен совет. ОЧЕНЬ!

Нужно сделать Систему Учета Рабочего Времени на базе Raspberry pi.

Принцип работы похож на ЭТУ.

К Raspberry pi нужно подключить считыватели (RFID Proximity 125 KHz EM-marine ) !2-4шт!.

Вопрос:Можно ли напрямую? например USB считыватели.

Данные о входе/выходе и времени нужно передавать на веб-сервер по каналу GPRS (для того чтобы просматривать через личный кабинет на сайте и отправлять смс о входе/выходе через интеренет шлюз смс)

Это не тривиальная задачка...

Первое...Например на сайте первого попавшегося продавца RFID Proximity 125 KHz EM-marine, написано:"драйвера для Windows 98/Me/2000 на CD в комплекте."....

Для Pi надо покупать где будет написано :"драйвера для Linux (Debian) на CD в комплекте"...

Второе.. Чтобы отладить-подружить RFID Proximity 125 KHz EM-marine с например Asterisk и самое простое передавать SMS(что она умеет делать), надо иметь само устройство под рукой...

Третье... Многое другое....

Не проще ли подключить RFID Proximity 125 KHz EM-marine, поставить его дрова на Винду, поставить Asterisk для винды или какую другую софтину, передавать СМС и т.д...

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Вот сваял включение посредством Asterisk ffmpeg на запись формат mjpeg. Фишка в том, что камера у меня подключена к одному Rasp Pi который в свою очередь подключен по wifi к АР... А Asterisk установлен на втором Rasp Pi (в свое время два купил и не жалею, надо было три :)) подключен шнурком...

Теперь как это все работает?

Первое надо сделать подключение по SSH без ввода пароля между Pi-1 и Pi-2 (так назовем).. Делаем как написано тут: http://rus-linux.net...untuhack95.html Сгенерировать ключи надо на обоих Pi, чтобы нужные файлики самоорганизовались и нам проще было...

Вводим

ssh-keygen -t rsa

И жмем всегда ентер... Вот..

Оговорюсь, если asterisk и вебка стоят на одном девайсе, все проще, выше пропускаем...

Создаем на Pi с астериском скрипт ssh.sh:

#!/bin/sh
ssh root@192.168.1.79 /home/wrt.sh

который будет коннектится к Pi с вебкой и запускать скрипт wrt.sh, который запускает на запись посредством следующего кода:

#!/bin/sh
ffmpeg -v verbose -r 5 -s 640x480 -f video4linux2 -i /dev/video0 /home/web/mov.avi

Теперь настройки конфигов Астериск....Создаем в extensions.conf диалплан который будет принимать наш звонок и при вводе добавочного номера выполнять наш скрипт... Все просто...У меня типа такого, все без наворотов.. Привожу весь отрывок из конфига, из коментов все должно быть понятно:

[disa]
exten => _NXXXXXXXXXX,1,Dial(SIP/MySipNumber/${EXTEN},90,m,D)
include => sys ; добавляем в Наш основной диалплан disa, диалплан --sys
include => areboot ; то же самое по диалплану -- areboot
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;dial 77 = Rec on camera
[sys]
exten => 77,1,System(/home/astr/ssh.sh)
exten => 77,n,Hangup
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; dial 33 = Restart sistem
[areboot]
exten => 33,1,System(/home/astr/sshreb.sh)
exten => 33,n,Hangup

Теперь при дозвоне на Asterisk, как и ранее слышим гудок-beep.... Вводим код доступа 9999# как написано через пару постов back... Слышим гудок-beep, если код принят и вводим добавочный 77 (диалплан [sys]), далее у меня выполняется скрипт ssh.sh, далее выполняется wrt.sh и начинается запись в файл mov.avi на флеш..

Теперь как остановить запись... Здесь я не особо заморачиваясь, делаю нехитрые перемещения видео-файлов и ребут Pi...

Почему так? Не знаю как использавать kill, требует ID процесса ffmpeg чтоб убить его, короче остановился пока на ребут, с копированием и сохранением последнего видео в другой директории, вот код скрипта -- areboot.sh:

#!/bin/sh
cp /home/web/mov.avi /home/oldweb/mov.avi
mv -f /home/oldweb/mov.avi /home/oldweb/mov1.avi
rm -f /home/oldweb/mov.avi
rm -f /home/web/mov.avi
reboot

И соответственно скрипт запуска sshreb.sh который с Pi-1 Астериск, коннектится и запускает скрипт areboot.sh на Pi-2 с вебкой...

#!/bin/sh
ssh root@192.168.1.79 /home/areboot.sh

Соответственно при дозвоне на Asterisk для ребута набираем уже допномер 33 (диалплан [areboot]), далее понятно из скриптов что произойдет...

Ну и теперь добавим в sip.conf следующие контексты с доп номерами:

[77]
type=friend
username=77
;secret=
context=sys
host=dynamic
disallow=all
allow=ulaw
;allow=alaw
;allow=g729
;allow=GSM

[33]
type=friend
username=33
;secret=
context=areboot
host=dynamic
disallow=all
allow=ulaw
;allow=alaw
;allow=g729
;allow=GSM

Все протестировано, все работает... Иногда сбоит узнаванием DTMF, но об этом уже писалось, лекарства пока нет.

Могу добавить что данным образом, посредством команды System в Астериск, можно запустить-остановить любое приложение на Pi.... Например включить-выключить посредством gpio какое нибудь устройство, считать и отправить по SMS (Asterisk умеет) температуру с датчика и т.д.

Надо бы kill ffmpeg до ума довести без ребута.. Еще не знаю как сохранять видео в одной директории с разными именами, чтоб файлы копились в архив, а так приходится перезаписывать с ключом -f.....

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

Надо бы kill ffmpeg до ума довести без ребута..

Убить процесс по имени можно так:

killall ffmpeg

Тогда скрипт areboot.sh можно дополнить так:

#!/bin/sh
cp /home/web/mov.avi /home/oldweb/mov.avi
mv -b /home/oldweb/mov.avi /home/oldweb/mov1.avi
mv -f /home/oldweb/mov.avi /home/oldweb/mov
rm -f /home/oldweb/mov
mv -f /home/web/mov.avi /home/web/mov
rm -f /home/web/mov
killall ffmpeg

Ключ b в этой строке позволяет забэкапить существующий видео-файл :

mv -b /home/oldweb/mov.avi /home/oldweb/mov1.avi

Вот эти строки:

mv -f /home/oldweb/mov.avi /home/oldweb/mov
mv -f /home/web/mov.avi /home/web/mov

добавлены для того чтобы убрать расширение видео-файла... Ведь большинство прог восстановления данных, сканируют-восстанавливают файл по расширению... На случай если кто latter будет сканировать флеху for recovery... А нам это не надо, если надо -надо стороки убрать....

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

...... есть утилита shred.

Тогда будет так:

#!/bin/sh
cp /home/web/mov.avi /home/oldweb/mov.avi
mv -b -S old /home/oldweb/mov.avi /home/oldweb/mov1.avi
shred -u /home/oldweb/mov.avi
shred -u /home/web/mov.avi
killall ffmpeg

.... считать и отправить по SMS (Asterisk умеет) температуру с датчика и т.д.

По этому вопросу, надо задействовать сторонние СМС-сервисы, поэтому у меня будет видимо воплощено через festival, с которым Астериск умееет работать... Пока на стадии разработки, сделано следующее:

- установлен и настроен festival

- Настроены диалплан и контекст для него в Астериск

Пока при наборе допномера 22, умеет проговорить-прочитать в трубку строку набитую в кавычках диалплана типа такого:

[festival]
exten => 22,1,Answer
exten => 22,n,Festival('Asterisk and Festival are working together')
exten => 22,n,Hangup

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

Изменено пользователем I am mechanic

От модератора: Нарушение правил форума - ссылка в подписи. В след. раз будет предупреждение

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...
Гость Александр

Здравствуйте!

Подскажите пожалуйста на сколько мощные можно подключать в малинке сервоприводы? Например мне надо поднять груз 3 кг как это можно сделать? надо будет какое-то отдельное питание для моторчика или напрямую к плате подсоединять? И не вырвет ли порывом ветра всю мою конструкцию? Или придётся какие-то ограничители ставить?

Желание такое: при достижении критической температуры в удалённой серверной открывать окно для проветривания. Температуру берёт малина из датчика (тут вроде уже и модель и схему написали, спасибо добрым людям) и если она равна или больше той, что зашита в малину, то открыть окно, если ушла в минимальное нужное значение, то закрыть.

Я ни разу не пробовал себя в схемо- и робото- технике, поэтому и прошу совета. Заранее огромное спасибо!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...