admin

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

470 сообщений в этой теме

Вот прога на Си, считывает с gpio_07 RasPi уровень сигнала - 1 или 0. На gpio подключен

Sound sensor module.

Like this - http://ru.aliexpress...2319235663.html

Программа ваялась как модуль - для прикручивания к Asterisk посредством agi - sound sensor, но не нашел решения, пока забил (если кто подскажет код - как прикрутить к asterisk через agi, stdout, stdin и тэдэ, буду признателен).

Прогу можно задействовать, например - для включения света (или еще чего) по хлопку или произнесенному слову - с выводом управления через другие GPIO....

Прикрепил исходник и готовый вариант...

ssensor.c.rar

ssensor.rar

Поделиться сообщением


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00

Сваял полезную фичу в связке Asterisk + motion. Как поднять motion см. здесь - http://forum.cxem.ne...40#comment-2284732... (449 - пост)

Как поднять Asterisk см. здесь - http://forum.cxem.ne...5 :) Can i go...

Фича пашет следующим образом - при дозвоне на Asterisk и наборе допномера 69 - производится запуск скрипта:

[sendcam]
exten => 69,1,System(/home/astr/sendcam.sh)
exten => 69,n,Playback(/var/lib/asterisk/answer/mailgo)
exten => 69,n,Hangup

С последующим голосовым оповещение что мыло отправлено...

А отправляется фотка (snapshot), которая делается motion - как написано по указанной выше ссылке... Фотка выбирается из дирректории по времени звонка, из скрипта sendcam.sh - все станет, may be ясно - прикрепил...

Теперь пошагово - что делает скрипт:

- обновляет dns - сервера на гугловский 8.8.8.8 (на всякий случай)..

- зипует с паролем выдернутую из папки motion фотку, сделанную в момент дозвона, реалтайме. Бывает пролет - фотка еще не сделана мотионом - не было движения например, а скрипт отработал и приходит пустое письмо. Тогда надо повторить дозвон с донабором 69.. (не нашел пока решения для устранения этого бага)..

- кодирует zip-архив в base64 кодировке, иначе ssmtp - не сможет отправить вложение - фото.. Кстати его хоть и обозвали эмулятором почтовика, а работает он как часики и без танцев с бубном.. Как поднять его здесь - http://forum.cxem.ne...2 (пост №5)

- отправлят посредством ssmtp - зазипованно-закриптованную и закодированную фотку (snapshot) на нужный адрес...

- шредером скребет диры где все добро лежало..

Вот собственно и все.. Можно поставить в Авто все это хозяйство скрыто и делать фоты при включении зажигания, тогда надо в rc.local - до строки exit 0, прописать путь до нашего скрипта, например:

/home/sendcam.sh

Тогда при старте ОС, будет стартовать и наш скрипт - но успеет ли запустится мотион и сделать фотку - до этого момента - большой вопрос!? Для решения этого - в скрипте sendcam.sh - первой строкой надо дописать - спать 30 секунд, после этого исполняться - например..

sleep 30

Можно также закинуть в cron, дальше фантазия рулит... :)

Прикрепил 7zip, ставится так:

tar jxvf p7zip_15.14.1_src_all.tar.bz2
cd p7zip_15.14.1/
make
sudo ./install.sh
7za

Теперь как увидеть фотку в Винде (мой вариант).. Приходит письмо в теле которого белиберда в кодировке base64, вот кусок кода:

AMxH6uSfUMFhmi3I3XXbpAJVVogV8zJoMvESCw0VfBAV+GLnq28nmrJzNpqS+rjw3l+nCHYn4kD6
t+T0rNV8Zx7nBAjCwdX9bqIksKqMpXIXjRYGPiuI6cUn8ZB5cvzNrKVxSteUuQfVttORWUWWnzjw
Yj744aft0/oYO+Wu12gEFoWkAf2XGH57yKK3glR/xm2IoSH04x9kh1GBY4rV+0232St3R9kVdUu7
cGnlZWtLjTDUyqDnB9SCFStE1aSFqQYyoxPxTDob5swZmDpJLa7/QB09aPq2HSwARcjqr2EqkQGH
bFBPNCEx0weD0BqXUY2HeKI6MQDF2J4uR/wALKoZ0INg1Qe4tEXP1n3w3f0rf3V8+cTy/g20jpTN
T6SnH26MFWRs/uofJhaC6HejGnnzrWKI3zAPVWDxn5og+5uda8q1ufxJoMqvbllQ1RZ6hrmp8WzA
u1Rn1gg6w//EjOXbdrZRgr1nAPjq4w4BEjvAkpWfEWkNfe+nwF/CUlhNO3ZijyHigAwgTvhBpWI4
t2PwmjeRzxdYUnkT18nHYDbMb3Lu82jLcx1GbnaE+701oxY6UGT6tQtBOhp0lOU7KD9j3NWFdy+U
UZNogDMvmitCSBFWuieZ50D/1SxOkGKBaaw9fxLrtckBJkoEAtoRofagdTL/yvvJaLLYNMe0HUxL
iUqC3U5mg67hivGrBkGlxKEBXLgr1MHeeYnxZMnjttqtj+trTcY/oXdh7ajpX/h2jXUGIFYKWFfq
vaGaaVQpFHOSjLhe/9sSeKYJydHxxYKx3A7CkpQ80pexzkaLEEckLL5N0xDgywdUMOdUdtG/6KTp
pJLm0zEEp6rmlHaTPRrTlLD1xWmGgOH9zuzAYGC4K3cVNwzxWolD8rqPc0kJowxu+gsfVcGO5RW2
i5tfBsfaJJCz9BFFb7IMoFNCj6Pf9TjlPK7Py+JKwkAovqZICabhwxgzn+u3inwZoED16PfvQsHc
rN2jTjn525nDLinFb1pP3pEgDpfS0skEZZMniSaZup7D5TqkZgiWepyffg5g0O/n9iGN1tN4rHUU

Все это дело надо декодировать программой - base64.exe - прикрепил... Выделяем Ctrl-A, весь код в письме (а НЕ сохраняем письмо в .txt) так как будет сохранена и обертка smtp-письма - декодировщик выдаст ошибку.. Открываем пустой текстовик - вставляем код и сохраняем с расширением .b64. Натравливаем на него программу base64.exe, напримет так:

base64.exe -d send.b64 send.zip

Получаем на выходе zip-архив, распаковываем с вводом пароля и зрим фотку, можно всю эту процедуру загнать в батник, здесь поле для творчества.. The End...

sendcam.rar

base64.zip

p7zip_15.14.1.rar

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sezam    0

Всем привет.

Появилась проблема с перенаправлением видеотрансляции с RaspiCam.

Запускаю камеру командой:

ffserver -f /home/www/ffserver.conf & raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -f flv http://127.0.0.1/webcam.ffm

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

В итоге, хочу получить что-то в виде "картинка-в-картинке".

Сервер apache2 поднят. Хочу сделать пока простую html-страничку с её размещением на RasPi, на которой была трансляция с RaspiCam без торможений.

Есть ещё вариант размещения на web-странице контейнера с возможностью ввода команд прямо в linux, но как такое реализовать - не знаю. Что-то в виде консольного режима управления.

Поделиться сообщением


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

Прогу можно задействовать, например - для включения света (или еще чего) по хлопку или произнесенному слову - с выводом управления через другие GPIO....

Приинклюдил модуль бипера к проге ssensor - теперь при внешнем звуке, запускается модуль beeper и Малина отзывается - пикает бипером - подключенным к RPI_GPIO_P1_12 и GND, через резистор 1 кОм.. См.комменты.. Можно вместо бипера навесить диод или... все что фантазия подскажет.. Естесстно с правильной схемой подключения, любой нагрузки..

Прикрепил исходники...

ssensor_beeper.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
S_Stalker    21

Чтобы не плодить тем спрошу здесь. В версии pi3 из разъёма GPIO можно снять I2S или прийдётся ставить модуль ? Поиском пользовался, есть несколько вариантов, но внятного ответа именно по "железному" i2S не нашёл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sezam    0

А если так запускать http://localhost/webcam.ffm ?

Получилось вот так:

raspivid -t 999990 -w320 -h240 -o - | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8025/}' :demux=h264

При этом загрузка системы составила 3-5% и задержка 1-1.5 секунды, а посмотреть потоковое видео в VLC можно так:

rtsp://<IPofRaspberryPi>:8025/

Теперь другой вопрос. Как организовать контейнер для потокового видео на странице HTML сайта, поднятого на Raspberry (Apache2)? Может у кого есть готовый контейнер?

Изменено пользователем sezam

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vascom    598

Чтобы не плодить тем спрошу здесь. В версии pi3 из разъёма GPIO можно снять I2S или прийдётся ставить модуль ? Поиском пользовался, есть несколько вариантов, но внятного ответа именно по "железному" i2S не нашёл.

Ты имеешь в виду I2C? Можно:

Raspberry-Pi-GPIO-pinout-diagram-new.png

Изменено пользователем Vascom

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Гость   
Гость Гость

I2S - это одно, а I2C - другое

Лишь бы напостить... :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Гость   
Гость Гость

Тогда совершенно очевидно что ты не в теме вообще...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vascom    598

Вы всегда оскорбляете пытающихся помочь?

Изменено пользователем Vascom

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Гость   
Гость Гость

Вопрос поставлен некорректно.

Да и лучше бы пост повисел без ответа, чем с такими "помощниками".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
S_Stalker    21

В аттаче картинка из pi b+ . Мой pi 3 ещё не приехал, самому проверять не на чем.

pi_b_gpio_i2s.gif

Изменено пользователем S_Stalker

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Гость   
Гость Гость

С третьей PI замануха относительно модуля Wi-Fi, занимает UART. А относительно i2s - не, не слышал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
S_Stalker    21

Да я слышал что UART стал наполовину софтовым у 3 pi. Универсализация и рационализация, мать её...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Гость   
Гость Гость

Поэтому и сижу на 2-й, разница в производительности не очевидная, а вот вопросы к третьей версии есть

Поделиться сообщением


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

Вот сваял проектик gsm-сигнализации в зачаточном виде.. Работает это "чудо мысли" так - к RaspPi подключен обычный геркон типа ИО102-2, через резистор 1 кОм (см. комменты в gerkon.c - прикрепил)..

При размыкании геркона - производиться запуск скрипта - alarm_gerkon.sh (прикрепил..)

Который в свою очередь посредством call-файла (прикрепил..) производит дозвон на нужный номер.. Тема разъжевана здесь http://forum.cxem.ne...2

У себя прогу gerkon - закинул в cron.. Почему не запустил в цикл? - читаем комменты..

*/2 * * * * /root/gerkon/gerkon

Кто доваяет прогу до уровня цикла - просьба выложить..

gerkon.rar

alarm_gerkon.rar

gkalarm.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Антон   
Гость Антон
В 22 августа 2016 г. в 12:58, I am mechanic сказал:

// Компиляция: gcc -o server server.c -lbcm2835 -lrt
// Исполнение: sudo ./server

#include <stdio.h>
#include <bcm2835.h>

#define PIN1 RPI_V2_GPIO_P1_03
#define PIN RPI_V2_GPIO_P1_05

int main()
{

        if (!bcm2835_init())   // Инициализация GPIO
        return 1;              //Завершение программы, если инициализация не удалась
        bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_INPT); // Порт на ввод
bcm2835_gpio_fsel(PIN1, BCM2835_GPIO_FSEL_OUTP);
bcm2835_gpio_set_pud(PIN1, 2);

while(1){
          while(!bcm2835_gpio_lev(PIN))
        {bcm2835_delay(5000);
        if(!bcm2835_gpio_lev(PIN)){}}

         printf("Серверная открыта!\n");
         system("/home/pi/email");
	 system("python /home/pi/ds18b20/Open.py");

         while(bcm2835_gpio_lev(PIN))
        {bcm2835_delay(5000);
        if(bcm2835_gpio_lev(PIN)){}}

        printf("Серверная закрыта!\n");
        system("/home/pi/email-out");
	system("python /home/pi/ds18b20/Closed.py");

}
        return (bcm2835_close ());     // Выход из программы
}

я вот так цикл организовал

 

 

 

Поделиться сообщением


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




 

В 23 сентября 2016 г. в 02:46, Гость Антон сказал:
я вот так цикл организовал...


 

Если программу с циклом:

Цитата

while(1){
          while(!bcm2835_gpio_lev(PIN))
        {bcm2835_delay(5000);
        if(!bcm2835_gpio_lev(PIN)){}}
 

запустить, он разве не съедает всю память и система прихлопнет процесс? Или как-то иначе код работает? 

 

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

Поделиться сообщением


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

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

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

  Разрешено не более 75 смайлов.

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

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

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

Загрузка...

  • Похожие публикации

    • Автор: Антон Миханько
      Здравствуйте.
      Собираю из Raspberry удобное подобие планшета, чтоб можно было бы кодить в машине, автобусе, кровати и без проводов. 
      Задумался над тем, чтобы прикрутить к малинке колонки (вдруг захочу еще и фильм глянуть). Аудиовыход имеется, мелкие динамики куплю. 
      Думаю дальше сборка будет как у наушников, плюс\минус динамика к соответствующему контакту аудио-штекера.
      С этим понятно (если я не ошибаюсь), но, если я так сделаю, то мой аудио-выход малины будет всегда занять колонками, а если я захочу подключить наушники, то динамики придется снимать.
      На планшетах, ноутбуках при подключении наушников динамики отключаются сами. Как бы такое же сотварить с малинкой?
    • Автор: Selyk
      В. Я подключаю светодиод (СД, LED), а он не горит?
      О. Не правильно подключен СД (не соблюдена полярность)
      СД не исправен
      В. Как правильно подключить СД?
      О. У светодиода два контакта: анод(плюс) и катод (минус). Обычно, длинный контакт у светодиода – это анод, но бывают и исключения

      Для каплевидных светодиодов самый надежный вариант - "чашечка" это минус, а второй вывод, от которого в светодиоде к чашечке идет едва различимый глазом золотой волосок (проводник) - плюс.
      Если светодиод не светится при таком подключении, то можно поменять полярность, при условии, что напряжение источника не превышает 3-4 вольт. Это не позволит пробить его обратным напряжением.
      В. Как проверить СД?
      О. Включаем мультиметр на режим прозвонки. СД как и диод должен прозваниваться лишь в одном направлении. Если его сопротивление равно 0 в оба направления то он пробит, если бесконечности то обрыв
      В. Как узнать параметры СД?
      О. Подключаем СД на номинальное напряжение и меряем ток.
      Таблица примерных напряжений светодиодов в зависимости от цвета


      В. У меня СД на 3В а напряжение блока 5В.Как подключить СД?
      О. Через токоограничивающий резистор

      Расчет резистора для светодиода
      В. Как подключить СД к 220В?
      О. С помощью резистора и диода(защита от пробоя обратным напряжением)

      Можно использовать схему с гасящим конденсатором

      В зависимости от количества СД и их параметров будет изменятся С1
      Пример его расчета
      Так же можно применить специальные драйверы
      В. Как сделать лампочку на СД для 220В?
      Светодиодная Лампа, Цоколь Е27
      В. Что такое драйвер?
      О. Для того чтобы светодиоды работали максимально долго, требуется надежная и стабильная подача питания. Главным параметром СД есть ТОК.Так что драйвер представляет собой стабилизатор тока, так же может иметь дополнительные функции в виде регулировки яркости и разных режимов роботы СД.
      В. Что собой являет простейший драйвер?
      О. Самый простой это резистор.
      Недостатки
      Требуется стабилизация питающего напряжения
      Слишком высокое выделение тепла на ограничительном резисторе R1
      Реальная опасность "лавинного теплового разрушения" светодиода
      Что такое "лавинное тепловое разрушение"? Дело в том, что при нагреве светодиода значительно снижается прямое падение напряжения на нем, а соответственно увиличивается ток потребляемый светодиодом, что в свою очередь ведет к еще большему нагреву светодиода и т.д. В конце этого "лавинного нагрева" светодиод или перегорает или полностью деградирует, что собственно говоря, не многим лучше.
      Далее простым есть LM 317(и её аналоги)в режиме стабилизации тока

      Недостатки
      Низкий КПД и соответственно непозволительный нагрев элементов стабилизации
      Далее идут специальные МС а также DC/DC преобразователи
      В. Как регулировать яркость СД?
      О. Самым оптимальным будет ШИМ. Вот одна из многих схем

      В.Как сделать стробоскоп на СД?
      О. Воспользуемся снова 555 таймером (расчет 555)

      И еще:
      Светодиодный стробоскоп (светодиодный маяк) на TL494
      Стробоскоп своими руками на 10 эффектов
      В.Как правильно запитать мощный СД?
      О. Для мощных СД обязательным условием есть радиатор и драйвер. Ток драйвера советую сделать ниже номинального, не так быстро будут деградировать СД
      В. Мощные СД широко светят как уменьшить угол?
      О. Для изменения угла света применяют коллиматоры(оптические линзы)

      В.Как сделать цветомузыку на LED?
      Цветомузыка. Что может быть проще?
      В. Как собрать мигалку на СД?
      Разные световые эффекты
      В. Хочу подключить СД к аккумулятору/блоку питания подскажите драйвер.
      Ниже приведены найденные мной схемы драйверов.Большинство из них можно пересчитать под свои СД




      Описание
      Светодиодный драйвер на PT4115
      Светодиодный драйвер на LM2596 и LM358
      Мощный светодиодный драйвер с функцией диммирования PT4115
      Светодиодный драйвер на LTC3454 + управление на ATtiny13A
      Драйвер светодиода своими руками на микросхеме LM3406
      LED-драйвер 3 Ватт
      Простой светодиодный драйвер с ШИМ входом
      Дополнительная информация по светодиодам
      Светодиоды и их применение
      Светодиодный калькулятор
      О светодиодах: азы для начинающих
      Расчет охлаждения: Thermal_mode.pdf
    • Автор: ktulx
      Приветствую.
      Схема простая: малина - pca9685 - оптрон - LDD-1000H - светодиоды.
      Все питания берётся от одного БП, причём на драйвер идёт минус 48 вольт. Отсюда и оптрон.
      Теперь о проблеме.
      Запускаю питоновый скрипт через cron. Каждый раз, будь то включение сд, выключение или изменение яркости - сначала происходит мгновенная вспышка на максимальной яркости, а затем уже то, что по плану. В общем-то оно и понятно - создаю новый объект класса при каждом запуске скрипта.
      Пример led_on:
      import Adafruit_PCA9685 pwm = Adafruit_PCA9685.PCA9685() pwm.set_pwm_freq(100) pwm.set_pwm(0, 0, 1000) Был на форуме Adafruit. Там мне "посоветовали", чтобы я не инициализировал контроллер каждый раз.
      Но как так-то?
      В общем, возможно ли софтварно решить эту задачу?
      Хардварно не придумал ничего лучше, чем повесить полевик на Output Enable и менять уровень на пине каждый раз перед работой с контроллером из нового скрипта.
      Это хоть и лучше, чем сейчас, но всё равно будет кратковременно моргать, только уже темнотой )
      Здесь можно посмотреть библиотеку от Adafruit для работы с PCA9685.
      Прошу советов.
    • Автор: MasterElectric
      Продаю свои запасы разных МК список будет (позже). Есть STM8, STM32(F1,F2, F3, F4, F7), ADUC, ADUCM, SiLabs (EFM8, EFM32, 8051F), LPC, AVR. Цены будут ниже чем в магазинах. Если что в ЛС пишите посмотрю. Только Украина.
    • Автор: ekaterina_b
      Команда проекта расположена в разных странах, но большинство технических специалистов находятся в России, а именно в Санкт-Петербурге. Само назначение проекта - создание умной потребительской электроники, гаджетов и онлайн-сервисов. Отличительной особенностью этой работы является возможность участия в создании инновационных, нестандартных продуктов. Если тебе это по душе, то откликайся! В связи с расширением мы ищем Инженера-схемотехника.
      Обязанности:
      Разработка электрических принципиальных схем; Выбор элементной базы; Трассировка печатных плат; Техническое сопровождение изготовления опытных образцов, отладка и настройка; Требования:
      Знание и опыт работы с AltiumDesigner; Опыт работы в сфере радио и высокочастотной электроники. Условия:
      Дружная команда единомышленников; Уютный офис в центре города Конкурентоспособная заработная плата; Фрукты и сладости в офисе; Полное обеспечение всеми необходимыми в работе учебными материалами; Возможность участие в отраслевых мероприятиях.