Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
piP

pi

@pi
Сводка
Сообщения
6.3k
Темы
1.6k
Группы
1
Подписчики
0
Подписки
0

Сообщения

Последние Лучшие сообщения Спорные

  • Версии Raspbian
    piP pi

    27.09.2013 Wheezy (Debian 7, Версии ядра 3.6, 3.10, 3.12, 3.18)
    28.09.2015 Jessie (Debian 8 )
    17.08.2017 Stretch (Debian 9)
    24.06.2019 Buster (Debian 10)
    03.12.2021 Bullseye (Debian 11)
    10.10.2023 Bookworm (Debian 12)
    01.10.2025 Trixie (Debian 13)


  • XBMC просто и легко
    piP pi

    Совсем немного терпения, чуть чуть интернета и главное трезвый ум Я надеюсь кроме самой малинки у вас уже есть всё необходимое: картридер, SD карта памяти или микро SD с адаптером, питальник 5В желательно помощнее (по моему личному опыту не менее 1000 мА), HDMI кабель, телевизор с ПДУ и HDMI входом.

    Необходимо так же иметь права администратора ОС вашего компьютера. Сначала скачиваем образ диска ___ GB Image под свою карту памяти вот отсюда например: http://sparky0815.de/openelec-download-images-fat-files/, оттуда же скачиваем обновления FAT-Files (Update), после распаковываем во временную папку образ из архива и обновления. Дальше необходимо записать образ системы на карту памяти, делаем это с помощью утилиты Win32DiskImager , дальше копируем с заменой в уже созданную систему все обновления из скачанного FAT`a:

    ВСЁ!!!

    Подключаем ваш Raspberry к телевизору к Ethernet кабелю, питанию и радуемсяНастройки XBMC и юзер мануалы в большом количестве представлены в интернете

    PS для воспроизводства сетевого видеоконтента требуется license key http://www.raspberrypi.com/license-keys/


  • Archlinux Yota - router
    piP pi

    Cтолкнутся с archlunux при работе с raspberry PI.
    Пришлось устанавливать его так как freebsd очень сырой для RPI. Вот мои действия что-бы получить и раздать интернет.

    Логинимся на свежезалитый archlinux -> Подключаем Yota LTE модем.

    Прописываем ip на локальный интерфейс

    levantuev #> ifconfig eth0 172.16.10.1/24
    

    Получаем интернет

    levantuev #> ifconfig eth1 192.168.0.2/24
    levantuev #> route add default gw 192.168.0.1
    

    Обновляем пакеты и устанавливаем firewall. Тянет около 300мб.

    levantuev #> pacman -Syu
    levantuev #> pacman -S iptables
    

    Получаем базовые файлы так как они отсутствуют

    levantuev #> pacman -Syu initscripts
    

    Раздаем интернет локальной подсети

    levantuev #> echo 1 > /proc/sys/net/ipv4/ip_forward
    levantuev #> iptables -t nat -A POSTROUTING -o eth1 -s 172.16.10.0/24 -j MASQUERADE
    levantuev #> service iptables save
    levantuev #> service iptables restar
    

    Все вопросы пишите на pavel@levantuev.com


  • minecraft pi eidtion-------для чайников
    piP pi

    Всем привет! Недавно я узнал что minecraft пришел на raspberry pi, я скачал и установил его...

    Для его установки нужно иметь интернет на RPI, права администратора на rpi и головуустановка:

    • 1)перейти по сылке http://depositfiles.com/files/k5sr8722r на своем RPI и скачать файл.
    • 2)открыть его в программе xarhiver.
    • 3)выбрать папку mcpi и щелкнуть правой кнопкой мыши.
    • 4)нажать export.
    • 5)экспортировать на раб.cтол.
    • 6)на рабочем столе появиться папка mcpi (ее открывать не нужно!!).
    • 7)открыть LXTerminal.
    • 8)ввести cd /home/pi/Desktop/mcpi.
    • 9)ввести ./minecraft-pi .
    • 10)готово играйте на здоровье

    есть 1 минус версия 1.0.0


  • установка русской раскладки
    piP pi

    Всем привет сегодя я хотел рассазать о установке русскoй раскладки на малине.
    есл вы знаете как это делать то не читайте,
    прошу не судите строго я только первый год освaеваю его.
    для настройки нужно:

    • 1.RPI
    • 2.права админа
    • 3.клавиатура и мышь

    ----------настройка---------
    ВНИМАНИЕ! ПЕРЕД УСТАНОВКОЙ ДОЛЖНА БЫТЬ ЛАТИНСКАЯ РАСКЛАДКА

    1. Пишем в терминал
    sudo raspi-config
    
    1. Выбираем configure_keyboard и жмем enter
    2. Выбираем модель вашей клавиатуры (я выбрал BTC 5090
    3. Указываем раскладу клавиатуры русская
    4. Выбираем удобное сочетание для смены раскладки клавиатуры
    5. Жмем обе клавиши с логотипом
    6. Выбираем клавишу которую вы хотите использовать как AltGr
    7. Выбираем составную клавишу
    8. И жмем да
    9. Жмем tab, выбираем finish.
    10. Перегружаем пирог
      теперь нажимаем сочитание
      которое поставил
      и радуйся!

    --------ОШИБКА ПРИ УСТАНОВКЕ------
    Один раз я gытался поставить русский язык не посоветовавшись с инетом и запортил себе систему(квадратики вместо букв и невозможно войти)
    чтобы этого не допустить проверяйте каждое своё действие и подумайте что может случится !
    я исправил проблему подключившись по ssh и поменял raspi-config
    с наилучшими пожеланиями!
    Bаш Серега


  • Микрофон и распознавание речи на raspberry pi
    piP pi

    Ранее было описано как настроить синтезаторы речи festival и espeak на rasberry pi. http://raspberrypi.ru/blog/readblog/153.html

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

    Хочу сразу заметить , что ни одно готовое решение для Linux найденное в интернете у меня сразу не заработало, все настраивалось экспериментально. Как известно, raspberry pi не имеет входа для микрофона, но это не проблема поскольку можно подключить usb микрофон. Как всегда в магазине микрофона не оказалось и я взял usb камеру со встроенным микрофоном Microsoft VX-800, которая входит в список поддерживаемых устройств на сайте производителя. Начинаем подключать. Для начала надо установить некоторые пакеты, делаем:

    apt-get install v4l-utils sox alsa-tools alsa-oss flac
    

    Запускаем :

    #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 004: ID 045e:0766 Microsoft Corp.    
    Bus 001 Device 005: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
    

    Наша камера: Bus 001 Device 004: ID 045e:0766 Microsoft Corp.

    Камеру увидели, хорошо.

    v4l2-ctl --all    
       
    Driver Info (not using libv4l2):   	
    Driver name   : uvcvideo   	
    Card type     : Microsoft LifeCam VX-800   	
    Bus info      : usb-bcm2708_usb-1.2   	
    Driver version: 3.2.27   	
    Capabilities  : 0x04000001   		
    Width/Height  : 640/480   	
    Pixel Format  : 'YUYV'   	
    Field         : None   	
    Bytes per Line: 1280   	
    Size Image    : 614400   	
    Colorspace    : Unknown (00000000)  
     Crop Capability Video Capture:   	
    Bounds      : Left 0, Top 0, Width 640, Height 480   	
    Default     : Left 0, Top 0, Width 640, Height 480   	
    Pixel Aspect: 1/1  
    Video input : 0 (Camera 1: ok)   
    Streaming Parameters Video Capture:   	
    Capabilities     : timeperframe   	
    Frames per second: 30.000 (30/1)   	
    Read buffers     : 0
    

    Ну здесь вроде бы все про видео камеру, много всякой информации. Проверяю номер устройства для записи.

    arecord -l      
    **** List of CAPTURE Hardware Devices ****   
    card 1: VX800 [Microsoft LifeCam VX-800], device 0: USB Audio [USB Audio]   
     Subdevices: 1/1     Subdevice #0: subdevice #0
    

    Ну вроде наш микрофон 1,0

    Еще можно посмотреть

    #cat /proc/asound/cards        
    0 [ALSA           ]: 
    BRCM bcm2835 ALSbcm2835 ALSA - bcm2835 ALSA                        
    bcm2835 ALSA    1 [VX800          ]: USB-Audio - Microsoft LifeCam VX-800                        
    Microsoft Microsoft LifeCam VX-800 at usb-bcm2708_usb-1.2, high speed
    

    И вот теперь начинаются грабли, что хорошо работало в других версиях Linux на РС здесь никак не хочет.

    В пакет Sox входять утилиты sox, play и rec, так вот если sox и play запустить получилось, то rec ни в какую микрофон видеть не хочет. Запуск play.

    #export AUDIODEV="hw:0" 
    #play test.wav
    

    вот так работает.

    Откровенно говоря и не надо , у нас есть arecord. Делаем запись с указанными параметрами, почему именно так - не знаю , но так любит googl.

    arecord -B --buffer-time=1000000 -f dat -r 16000 -d 4 -D plughw:1,0 send.wav
    

    Теперь расшифрую:

    • -B --buffer-time=1000000 - какой то буфер , о нем описано в --help, если его не ставить то будет ошибка overrun!!!(...) и google не распознает, причем это происходит не всегда, но хочется иметь какую то стабильность.
    • -f dat - без этой команды пишет 8 бит запись ,а с этой 16 бит
    • -r -- sample rate 16000 опять же google любит
    • -d 4 -- длительность записи 4 сек , мне хватает чтобы сказать фразу из двух трех слов
    • -D plughw:1,0 -- а это , что называется за что боролись, наш микрофон.
    • send.wav - файл куда пишем.

    Если все правильно , то при запуске на камере загорается светодиод на 4 сек и в этот момент надо что то сказать.

    Проверка:

    aplay send.wav
    

    Теперь надо преобразовать в формат flac , так любит google, делаем:

    flac -f -s send.wav -o send.flac
    

    Вот теперь у нас два файла send.flac и send.wav , .wav можно удалить.

    Теперь с помощью PHP надо отослать этот файл на сервер google для расшифровки. Просто я больше PHP предпочитаю.

    $file_to_upload = array('myfile'=>'@./send.flac');   
    $ch = curl_init();   
    // в конце строки надо указать lang=ru-RU или en-US для английского   
    curl_setopt($ch, CURLOPT_URL,"https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU");  
    curl_setopt($ch, CURLOPT_POST,1);   
    curl_setopt($ch, CURLOPT_TIMEOUT,15);  
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: audio/x-flac; rate=16000")); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $file_to_upload);   
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
    $result=curl_exec ($ch);     
    echo $result."\n";
    

    В ответ получим много всякой информации, в том числе и необходимую нам расшифровку. Ниже метод как пропарсить строку:

    if(strlen($result) >  3 ) 
    // if coonect and get response   
    {    
    $fm_google=substr($result,strpos($result,"utterance")+12,strpos($result,"confidence")-27  - strpos($result,"utterance")+12);  
    }
    

    кто-то может использовать другой метод ,более эффективный, я буду только рад за подсказку. Теперь полученный ответ кажды может использовать на свое усмотрение , я например использую базу MySQL с набором вопросов и ответов.

    Самый простой вариант в РНР:

    system("espeak -ven -s 160 -g 5 \"".$fm_google."\" 2> /dev/null &");
    

    а можно какой то скрипт запустить. Пример. Запускаем скрипт и говорим "сколько время".

    #!/usr/bin/php5      
    system("arecord -B --buffer-time=1000000 -f dat -r 16000 -d 4 -D plughw:1,0 send.wav");   
    system("flac -f -s send.wav -o send.flac");       
    $file_to_upload = array('myfile'=>'@./send.flac');  
    $ch = curl_init();  
    // в конце строки надо указать lang=ru-RU или en-US для английского   
    curl_setopt($ch, CURLOPT_URL,"https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=ru-RU"); 
    curl_setopt($ch, CURLOPT_POST,1);   
    curl_setopt($ch, CURLOPT_TIMEOUT,15);  
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: audio/x-flac; rate=16000"));  
    curl_setopt($ch, CURLOPT_POSTFIELDS, $file_to_upload);  
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
    $result=curl_exec ($ch);     
    if(strlen($result) >  3 ) 
    // if coonect and get response   
    {   
    $fm_google=substr($result,strpos($result,"utterance")+12,strpos($result,"confidence")-27  - strpos($result,"utterance")+12);   }   
    if($fm_google=="сколько время")   
    {   
    // указываем скрипт , сообщающий время   
    system("./gettime.sh");   
    }
    

    У меня эта связка работает совместно с Arduino UNO и подключенным к нему sound sensor. Происходит все так:

    1. Говорю медленно "Артур" (типа R2 по англиски) , запускается скрипт записи и загорается лампочка.

    2. Говорю "сколько время" или "который час" (в базе прописаны все подобные варианты)

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

    4. Слушаем ответ типа "Босс время в системе ......".

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


  • I2C 1-Wire RTC
    piP pi

    Собрал RTC и 1-Wire.

    Схема:

    3bd241b1-a40b-423b-bff7-3a3f210252bd-image.png

    То что получилось

    bb2d2817-872c-46d6-8d63-8970d4381699-image.png

    Настройка RTC

    Добавляем в систему I2C если ранее это не сделано.

    Редактируем файл /etc/modprobe.d/raspi-blacklist.confsudo

    nano /etc/modprobe.d/raspi-blacklist.conf
    

    редактируем файл /etc/modules, вставляем #перед строкой blacklist i2c-bcm2708

    nano /etc/modules
    

    вставляем в конец строку i2c-dev

    ставим I2C тулс

    sudo apt-get install i2c-tools
    

    смотрим какие I2C устройства есть на шине

    pi@raspberrypi ~ $ i2cdetect -y 1   
    
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e
    
    f00:-- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- --
    18 -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- --
    
    68 -- -- -- -- -- -- --
    
    70: -- -- -- -- -- -- -- --
    

    sudo modprobe rtc-ds1307
    18 - это адрес 1-wire

    68 - это RTC DS1307

    набираем

    потом меняем пользователя на root: sudo -s и вводим

    echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device (для rev 1 Pi)
    echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device (для rev 2 Pi)
    

    теперь выведем в консоль время с RTC:

    pi@raspberrypi ~ $ sudo hwclock -r Set 01 Jan 2000 00:01:20 EEST  -0.814742 seconds
    pi@raspberrypi ~ $ dateSun Jun 16 13:40:36 EEST 2013
    

    для того чтобы записать время из системы в RTC

    sudo hwclock -w
    

    Tеперь настроим чтобы часы находились после перезагрузки. Для этого отредактируем файл modules командой

    sudo nano /etc/modules
    

    и добавим туда rtc-ds1307

    потом отредактируем файл /etc/rc.localsudo

    nano /etc/rc.local
    

    и добавим в него

    echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device (для v1 raspberry pi)
    echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device (для v2 raspberry pi)sudo hwclock -s
    

    эти строчки нужно вставить перед строкой exit 0

    Все теперь в системе есть RTC.OWFS настраивал по инструкции с этого сайта

    http://wiki.temperatur.nu/index.php/OWFS_with_i2c_support_on_Raspberry_Pi_(English_version)


  • Добавляем кнопку Hard Reset
    piP pi

    Был у меня момент когда отключили инет,и сделать рестарт на малине я ни как не мог,кроме выдернуть БП из сети и запустить заново.

    Вот и появилась идея сделать кнопку reset,перелопатив интернет нашёл несколько решений,но выбрал этот способ.

    e44f680b-81c5-4299-8130-6f6ec6563b28-image.png

    1)Куда припаивать
    3afcf3a6-79a0-4bfe-872f-2e92978a5110-image.png
    2)Что припаивать
    cd658b6f-1550-4bb3-a952-a156bed0fe54-image.png
    3)Припаиваем

    d0199237-6f53-4d81-9ee3-b2e256705a76-image.png

    Готово

    Подробнее в моём блоге: http://raspberrylive.blogspot.com/

    Спасибо за внимание.


  • Расширяем дисковое пространство с помощью Google Drive
    piP pi

    Прочитав статью про подключения к Малине облачного диска "Яндекс.Диск" я решил повторить описанное у себя на малине. Проблема в том, что экосистемой Яндекса я не пользуюсь, а регистрировать аккаунт ради одного только "Диска" - не вижу смысла. К тому же у меня уже есть аналогичный сервис от Google - "Google Drive"

    Покопавшись в интернете, собрав из кусков информацию я сумел подключить гуглодиск. Как это сделать опишу ниже. Замечу только, что инструкция рассчитана на то что у вас уже есть аккаунт GoogleDrive. Если нету - вы всегда можете зарегистрировать его здесь https://drive.google.com/

    Итак, приступим.

    Для начала зайдем на сайт http://dav-pocket.appspot.com/ . Тут нам нужно зарегистрировать аккаунт. Это нужно потому, что изначально Google Drive не поддерживает протокол WebDav, а наш софт, который мы будем использовать для монтирования работает именно с ней. Сайт выступает в роли промежуточного звена - он берет данные из Google Drive и как бы выставляет их в виде WebDav. Для регистрации нужно нажать оранжевую кнопку "Sign up", после чего ввести желаемое имя пользователя и пароль (дважды). Подтверждение по Email не требуется, так что вас сразу перенаправят на следующую страницу, где нужно будет нажать кнопку "Authorize DAV-pocket service". По её нажатию Вас перенаправит на страницу гугла, где Вы должны будете предоставить доступ к Вашему аккаунту. После проделанного вас перебросит на страницу, где вам будут выданы данные для подключения, а именно Server Adress (адрес сервера), Login (логин) и Password (пароль :). Можете оставить эту вкладку открытой, или просто сохраните эти данные - они понадобятся нам во время следующих действий. Когда все описанное выше проделано, вооружимся консолью Raspberry Pi и выполним в нем следующие команды:

    1. Установим davfs2:
    sudo apt-get install davfs2
    

    Соглашаемся на то, чтобы система скачала архив.

    1. Перенастроим пакет davfs2
    sudo dpkg-reconfigure davfs2
    

    В открывшемся интерфейсе выбираем "Да". Этим мы позволим монтировать систему непривилегированным пользователям ОС.3.Добавим нашего пользователя в группу davfs2

    sudo usermod -aG davfs2 pi
    

    pi - это имя пользователя. Если вы меняли стандартное имя то впишите вместо "pi" имя вашего пользователя. 4. Создадим папку, куда будет монтироваться наше облако.

    mkdir Gdrive
    

    Опять же. "Gdrive" - имя папки. Вы можете выбрать любое которое нравится Вам, но в дальнейшем инструкция будет написана именно для этого имени файла. 5. Настроим параметры авторизации.

    sudo nano /etc/davfs2/secrets
    

    Откроется файл, в конец которого надо добавить запись формата:

    https://dav-pocket.appspot.com/docso [Логин выданный сайтом] [пароль выданный сайтом]
    

    Логин и пароль нужно ввести без квадратных скобок. То есть, к примеру, если сайт выдал Вам логин "Login123", а пароль "parol", то запись будет такой:

    https://dav-pocket.appstot.com/docso Login123 parol
    

    Сохраняем файл -Ctrl+O и закрываем его - Ctrl+X

    1. Настраиваем автоматическое монтирование.Для того чтобы наше облако автоматически монтировалось при инициализации сетевого интерфейса нам нужно отредактировать файл fstab
    sudo nano /etc/fstab
    

    В него нужно дописать следующую строку (в конец)

    https://dav-pocket.appspot.com/docso [абсолютный путь к папке монтирования] davfs uid=1000,user,rw,_netdev 0 0
    

    абсолютный путь к папке указывается БЕЗ квадратных скобок, и выглядеть должен как путь из корня файловой системы. Например если Вы создали папку Gdrive в домашней папке пользователя pi, то путь будет выглядеть так:

    /home/pi/Gdrive
    

    Сохраняем файл - Ctrl+O и закрываем его - Ctrl+X, по уже знакомой нам схеме.Теперь осталось только перезагрузить Малинку для проверки автоматического монтирования.

    sudo reboot
    

    Если все сделано правильно, то в папке которую вы создали и выбрали как точку монтирования должны появиться файлы находящиеся на облаке (советую закачать туда хоть что-то для наглядности, если у вас там пусто). Эти файлы не занимают места на SD карте, но при этом остаются доступными для редактирования.Надеюсь эта статья будет кому-то полезна. Если вы найдете какие-то ошибки, или у вас возникнут какие-то вопросы - пишите это все в комментарии - буду рад ответить.


  • проблема с чтением по шине i2c Raspberry pi
    piP pi

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

    Datasheet AK8973 (трех осевой электронный компас );

    Спасибо artyr_n за помощь, и пояснения.

    Микросхема взята из бортового компьютера от Mitsubishi Pajero Sport 2012 года выпуска

    Цель была, подключить AK8973 через шину i2c к raspberry pi , и прочитать значение температуры

    1c29f150-90c2-43a4-aae0-cddf2df3dd3f-image.png

    15284e6c-db79-4491-9019-51a92156b64a-image.png

    8faa1bed-8d51-46c7-b156-5d6d7c493466-image.png


  • проблема с чтением по шине i2c Raspberry pi
    piP pi

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

    Буду признателен за любую информацию. думаю на картинке все ясно
    1b2fc342-7be1-410f-87ca-f9e18ee496a7-image.png

    Спасибо @artyr_n за помощь в воплощении дальнейших телодвижений с попытками чтения регистров AK8973Я в итоге продвинулся в этом деле , но цель не в полном объеме достигнута , буду ковыряться дальше интересно то что в регистрах записаны одни и те же значения 0х00Я так и не понял адресацию что значит это 0х00 и почему в документации написано к примеру адрес C1H а его надо как то видоизменять типа 0хс1 или 0х1h
    посоветуйте где искать ответы комментарии очень приветствую

    cd5beef7-969d-4eff-acdf-294c47f17268-image.png


  • Подключение символьного 16х2 LCD дисплея по I2C
    piP pi

    Единственный рабочий вариант, кторый мне попался (перепробовал много разных)Дисплей наиболее распространенный в данный момент на eBay. Вот такой:

    f921309f-7a8f-4d0d-83ff-b50492d2bd6d-image.png

    332b6049-b133-43a6-9088-2d3a3f287c5e-image.png

    С физическим подключением ни каких проблем. Питание 5В, земля и SDA/SCL взяты с RPi.

    Для дисплейчика идеально подошла колодка от старого компового БП (которая на дисковод)а вот с драйверами и прочим была засада. С трудом нашел рабочий вариант.

    Сначала поднимем в системе поддержку i2c - редактируем /etc/modules

    sudo nano /etc/modules
    

    добавив: i2c-bcm2708 i2c-dev в конец файла. После сохранения требуется перезагрузка.

    Проверяем, и если нужно, накатываем необходимые пакеты:

    sudo apt-get install python-smbussudo 
    apt-get install i2c-tools
    

    Редактируем /etc/modprobe.d/raspi-blacklist.conf закомментировав (#)

    blacklist spi-bcm2708
    blacklist i2c-bcm2708
    

    Создаем библиотечку ‘i2c_lib.py’

    import smbus
    from time import *
    
    class i2c_device:
       def __init__(self, addr, port=1):
          self.addr = addr
          self.bus = smbus.SMBus(port)
    
    # Write a single command
       def write_cmd(self, cmd):
          self.bus.write_byte(self.addr, cmd)
          sleep(0.0001)
    
    # Write a command and argument
       def write_cmd_arg(self, cmd, data):
          self.bus.write_byte_data(self.addr, cmd, data)
          sleep(0.0001)
    
    # Write a block of data
       def write_block_data(self, cmd, data):
          self.bus.write_block_data(self.addr, cmd, data)
          sleep(0.0001)
    
    # Read a single byte
       def read(self):
          return self.bus.read_byte(self.addr)
    
    # Read
       def read_data(self, cmd):
          return self.bus.read_byte_data(self.addr, cmd)
    
    # Read a block of data
       def read_block_data(self, cmd):
          return self.bus.read_block_data(self.addr, cmd)далее сам драйвер lcddriver.pyimport i2c_lib
    from time import *
    
    # LCD Address
    ADDRESS = 0x27
    
    # commands
    LCD_CLEARDISPLAY = 0x01
    LCD_RETURNHOME = 0x02
    LCD_ENTRYMODESET = 0x04
    LCD_DISPLAYCONTROL = 0x08
    LCD_CURSORSHIFT = 0x10
    LCD_FUNCTIONSET = 0x20
    LCD_SETCGRAMADDR = 0x40
    LCD_SETDDRAMADDR = 0x80
    
    # flags for display entry mode
    LCD_ENTRYRIGHT = 0x00
    LCD_ENTRYLEFT = 0x02
    LCD_ENTRYSHIFTINCREMENT = 0x01
    LCD_ENTRYSHIFTDECREMENT = 0x00
    
    # flags for display on/off control
    LCD_DISPLAYON = 0x04
    LCD_DISPLAYOFF = 0x00
    LCD_CURSORON = 0x02
    LCD_CURSOROFF = 0x00
    LCD_BLINKON = 0x01
    LCD_BLINKOFF = 0x00
    
    # flags for display/cursor shift
    LCD_DISPLAYMOVE = 0x08
    LCD_CURSORMOVE = 0x00
    LCD_MOVERIGHT = 0x04
    LCD_MOVELEFT = 0x00
    
    # flags for function set
    LCD_8BITMODE = 0x10
    LCD_4BITMODE = 0x00
    LCD_2LINE = 0x08
    LCD_1LINE = 0x00
    LCD_5x10DOTS = 0x04
    LCD_5x8DOTS = 0x00
    
    # flags for backlight control
    LCD_BACKLIGHT = 0x08
    LCD_NOBACKLIGHT = 0x00
    
    En = 0b00000100 # Enable bit
    Rw = 0b00000010 # Read/Write bit
    Rs = 0b00000001 # Register select bit
    
    class lcd:
       #initializes objects and lcd
       def __init__(self):
          self.lcd_device = i2c_lib.i2c_device(ADDRESS)
    
          self.lcd_write(0x03)
          self.lcd_write(0x03)
          self.lcd_write(0x03)
          self.lcd_write(0x02)
    
          self.lcd_write(LCD_FUNCTIONSET | LCD_2LINE | LCD_5x8DOTS | LCD_4BITMODE)
          self.lcd_write(LCD_DISPLAYCONTROL | LCD_DISPLAYON)
          self.lcd_write(LCD_CLEARDISPLAY)
          self.lcd_write(LCD_ENTRYMODESET | LCD_ENTRYLEFT)
          sleep(0.2)
    
       # clocks EN to latch command
       def lcd_strobe(self, data):
          self.lcd_device.write_cmd(data | En | LCD_BACKLIGHT)
          sleep(.0005)
          self.lcd_device.write_cmd(((data & ~En) | LCD_BACKLIGHT))
          sleep(.0001)
    
       def lcd_write_four_bits(self, data):
          self.lcd_device.write_cmd(data | LCD_BACKLIGHT)
          self.lcd_strobe(data)
    
       # write a command to lcd
       def lcd_write(self, cmd, mode=0):
          self.lcd_write_four_bits(mode | (cmd & 0xF0))
          self.lcd_write_four_bits(mode | ((cmd << 4) & 0xF0))
    
       # put string function
       def lcd_display_string(self, string, line):
          if line == 1:
             self.lcd_write(0x80)
          if line == 2:
             self.lcd_write(0xC0)
          if line == 3:
             self.lcd_write(0x94)
          if line == 4:
             self.lcd_write(0xD4)
    
          for char in string:
             self.lcd_write(ord(char), Rs)
    
       # clear lcd and set to home
       def lcd_clear(self):
          self.lcd_write(LCD_CLEARDISPLAY)
          self.lcd_write(LCD_RETURNHOME)ну и тестовый скрипт  lcd.pyimport lcddriver
    from time import *
    
    lcd = lcddriver.lcd()
    
    lcd.lcd_display_string("Hello world", 1)
    lcd.lcd_display_string("I am a Raspberry Pi", 2)
    #lcd.lcd_display_string("My name is", 3)
    #lcd.lcd_display_string("picorder", 4)
    

    Особо внимательный заметили, что оно и для 4х строчных экранчиков подходит. Первоисточник тут: http://www.recantha.co.uk/blog/?p=4849


  • Установка LAMP и создание I2P сайта на Raspberry Pi
    piP pi

    Установка LAMP и создание I2P сайта на Raspberry Pi

    1. Установка LAMP (Linux + Apache + MySQL + PHP)

    а) Устанавливаем Apache + PHP:

    sudo apt-get install apache2 php5 libapache2-mod-php5
    

    Делаем рестарт Apache:

    sudo service apache2 restart
    

    Теперь введите IP-адрес Raspberry Pi и вы должны увидеть надпись на странице "It works!". Значит Apache установлен и работает.

    Чтобы включить Htaccess нужно изменить конфиг файл:

    sudo nano /etc/apache2/sites-enabled/000-default
    

    меняем везде строку

    AllowOverride None на AllowOverride ALL

    затем Y проверяем путь и нажимаем Enter и еще раз перезагружаем Apache.

    б) Установка MySQL-сервера:

    sudo apt-get install mysql-server mysql-client php5-mysql
    

    После установки пароля для root пользователя жмем Enter и ждем окончания установки.

    в) Установка PhpMyAdmin:

    sudo apt-get install phpmyadmin
    

    В процессе установки Вас попросят ввести пароль root пользователя (который мы установили в предыдущем пункте).

    Это нужно чтобы установить свои таблицы с настройками.

    Также Вас попросят установить пароль в админ панель базы данных.

    После удачной установки вновь сделаем рестарт Apache.

    Сделаем помощь Apache, подключив конфигурации для веб-сервера от phpmyadmin.

    Для этого выполним:

    sudo nano /etc/apache2/apache2.conf
    

    И в самый конец файла вставим:

    Include /etc/phpmyadmin/apache.conf
    

    затем Y проверяем путь и подтверждаем Enter.

    И опять повторно перезапускаем Apache.

    Пробуем зайти в PMA (http://ip-адрес Raspberry Pi/phpmyadmin)

    На этом установка LAMP завершена.

    Перейдем к установке I2P и запуску сайта.

    2. Установка I2P

    Скачиваем jar инсталятор.

    cd /home/pi
    wget https://geti2p.net/ru/download/0.9.11/https/download.i2p2.de/i2pinstall_0.9.11.jar/download
    

    Далее в Paspberry Pi введите:

    java -jar i2pinstall_0.9.11.jar
    

    P.S. Если вы попытаетесь установить его через SSH у вас ничего не выйдет.

    Для установки через SSH:

    java -jar i2pinstall_0.9.11.jar -console
    

    После успешной установки запустите I2P роутер:

    /home/pi/i2p/i2prouter start
    

    И дождитесь пока туннели не запустятся (это примерно 2 минуты).

    После того как туннели запустятся переходим к запуску сайта.

    3. Настройка и запуск сайта

    а) Заходим в менеджер туннелей и находим кнопку - Новый серверный туннель: создать.

    Нажимаем на ее, предварительно выбрав в выпадающем списке "HTTP".

    б) В появившийся форме заполняем несколько полей:

    • Название(N). Нужно для отображения в списке туннелей (назвать можно по любому, но чтобы не запутаться называем также как и домен сайта)
    • Адрес(H). Оставляем неизменным: 127.0.0.1
    • Порт(P). Также оставляем неизменным: 80
    • Имя веб-сайта(W). Адрес сайта который вы будете использовать. Заполнять без http://
    • Поле Локальный адрес назначения(L) не заполнять, оно автоматически заполнится после создания тоннеля.

    ВНИМАНИЕ! После создания туннеля сделайте бэкап файла указанного в поле Файл секретного ключа(k).

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

    Он находится в корне папки /home/pi/i2p

    Также желательно поставить галочку возле Автозапуск(A). Это необходимо в случаи аварийного отключения света в доме или по другими причинам перезагрузки Raspberry Pi. В дальнейшем при запуске I2P данный туннель будет запущен автоматически.

    Дальнейшие настройки не трогаем (пока что, если надо будет вы их измените в процессе эксплуатации сайта) и жмем внизу страницы кнопку "Сохранить".

    Все серверный туннель вашего сайта создан.

    Осталось положить файлы сайта в /var/www и все! Сайт полностью запущен в I2P сети.

    Примечание. Необязательно выполнять. Нужно только тем администраторами, которые собираются хостить на Paspberry Pi несколько I2P сайтов. Для этого нужно произвести соответствующую настройку Apache Virtual Hosts.

    Для этого выполните:

    cd /etc/apache2/sites-available
    sudo touch namei2psite // создали файл namei2psite (назвать можете как и домен сайта)
    nano namei2psite
    

    И вставим это содержимое:

    DocumentRoot /home/pi/www/namei2psite //путь к директории с сайтом
       ServerName namei2psite.i2p //url сайта
     
       Options FollowSymlinks
       AllowOverride All
    

    Сохраним файл и выйдем из nano.

    Теперь создадим для другого сайта.

    Скопируем файл namei2psite:

    sudo cp namei2psite namei2psite2
    

    И изменим строку DocumentRoot и Directory на папку где лежим сайт namei2psite2

    Создадим симлинк (символическую ссылку на один файл в другой директории):

    ln -s /etc/apache2/sites-available/namei2psite /etc/apache2/sites-enabled/namei2psite
    ln -s /etc/apache2/sites-available/namei2psite2 /etc/apache2/sites-enabled/namei2psite2
    

    После чего делаем рестарт Apache и сайты работают.

    Примечание. Для лучшего понимания ОС, стоит добавить перенаправление созданного хоста на 127.0.0.1 в файл в /etc/hosts. Так мы укажем ОС, что сайт хостится у нас.

    Добавите в конец файла:

    127.0.0.1       namei2psite.i2p
    127.0.0.1       namei2psite2.i2p
    

    Делаем рестарт Apache.

    На этом настройка и установка I2P сайта завершена.

    Удачи в освоении I2P сети.

    Иногда бывает что в доме отключают свет и после его включения Paspberry Pi запускается, но i2p router не запускается вместе с ним. Чтобы это исправить достаточно добавить в автозагрузку скрипт запуска роутера.

    Делается это так:

    sudo nano /etc/crontab
    

    И в конец файла добавьте эту строчку:

    @reboot pi /home/pi/i2p/i2prouter start
    

    Перезагрузите Paspberry Pi и проверьте что после его запуска i2p router сам запуститься.

    I2P
    LAMP
    ВЕБ-СЕРВЕР


  • Очень нужна ваша помощь. Видеонаблюдение
    piP pi

    Здравствуйте. подскажите как сделать с помощью raspberry pi, чтобы на любом компьютере с интернетом можно было ввести адрес и увидеть видео с web камеры подключенной к Raspberry.

    Имеется сам Raspberry уже с операционной системой, доступ в интернет, Web камера.Именно через интернет, а не по локальной сети. Допустим зайти со смартфона и посмотреть видео в режиме онлайн.


  • Raspberry Pi и mjpg-streamer или видеотрансляция
    piP pi

    Это моя первая статья о Raspberry Pi.

    Сначала думал сделать IP-камеру для наблюдения за машиной под окном, но угол обзора у камеры всего около 30 градусов. Потом думал сделать видеоняню и столкнулся с тем , что светочувствительность никакая. Даже ночник не помог. В итоге просто сделал камеру с доступом по сети ради простого любопытства.

    Часть первая. Установка необходимого ПО

    Что использовалось:

    • Raspberry Pi, Raspberry Camera module,
    • приложение для смартфона (на Android) IP Cam Viewer,
    • программа захвата видео и трансляции в сеть mjpg-streamer

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

    Подразумевается, что Вы уже умеете это делать.

    Итак приступим.

    Подключаемся по SSH к «малине» и первое, что мы делаем это запускаем обновление

    sudo apt-get update
    
    sudo apt-get upgrade(процедура длительная, наберитесь терпения)
    

    Затем заходим в raspi-configи включаем поддержку камеры

    sudo raspi-config
    

    0284c044-fdb5-4b10-badf-4dceed5050af-image.png

    меняем значение с Disable на Enable

    4d347f88-edb0-4558-9ef9-515aabcaa7be-image.png

    Перезагружаемся, снова коннектимся и устанавливаем дополнительные библиотеки и приложения, которые нужны дляmjpg-streamer:

    sudo apt-get install libjpeg8-dev
    sudo apt-get install cmake
    wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip
    

    разархивируем

    unzip ./master –d ./ms (ms я взял сам, чтобы не писать постоянно полное имя)
    

    Переходим в папку

    cd /ms/mjpg-streamer-master/mjpg-streamer-experimental
    

    и собираем

    make clean all
    

    Изменяем файл start.sh командой

    sudo nano ms/mjpg-streamer-master/mjpg-streamer-experimental/start.sh
    

    убираем две незакомментрованные строки и пишем вместо них вот эти

    cd etc/ms/mjpg-streamer-master/mjpg-streamer-experimental
    ./mjpg_streamer -o "./output_http.so -w ./www" -i "./input_raspicam.so -x 640 -y 480 -fps 10 -ex auto -awb auto -vs -ISO 100"
    

    должно получиться вот так

    b9842125-8d57-4589-b39e-e170097791eb-image.png

    "./output_http.so -w ./www"– вывод изображения на вебсервер

    "./input_raspicam.so -x 640 -y 480 -fps 10 -ex auto -awb auto -vs -ISO 100"-- захват видео с камеры и параметры захвата (640х480, 10 к/с, экспозиция АВТО, автобаланс белого, вертикальная синхронизация и ISO 100). На самом деле все эти параметры можно убрать, оставив только разрешение и частоту кадров, остальное эт просто опции.

    Далее выходим из редактора nano командой Ctrl+X, затем Enter(соглашаемся с изменением) и Y(да). Находясь в папке mjpg-streamer-experimental запускаем наш скрипт

    ./start.sh
    

    Должно запуститься и в консоли увидите следующее:

    e076b255-bad1-4661-8539-9b05d71c2c56-image.png

    и светодиод на камере должен загореться.

    Выход командойCtrl+C. Скрипт остановится и светодиод погаснет.

    Далее с браузера заходим по такой ссылке:http://ip-address-raspberry:8080/?action=stream(где ip-address-raspberry – это IP Вашей «малины»)и попадаем на вебсервер, нажимаем на Stream.

    Естественно Ваши устройства должны быть в одной сети: компьютер с Putty, «малина» и телефон с Ip Cam Viewer. Если Ваш комп не видит малину, Но Вы точно знаете что SSH имеет доступ, то вероятно у Вас роутер блокирует связь между устройствами. Я так однажды попал. Не наступайте на те же грабли 🙂

    Теперь нам надо подключиться с телефона к нашей камере. Я использовал программу IP Cam Viewer, так как она содержит богатый функционал.

    Что там нужно сделать, так это только добавить Вашу камеру :

    нажимаем «меню», «управление камерами», затем «+» для добавления новой камеры, выбираем «стандартный адрес», Имя: любое; Производитель «Generic URL»; Модель «Generic URL»; URL «вписываем точно такой же адрес «: http://ip-address-raspberry:8080/?action=stream», затем нажимем «Тест» и если изображение с камеры получено, то сохраняем.

    Теперь о настройках камеры. Сама камера тоже имеет много настроек изображения. Начиная от разрешения и частоты кадров, заканчивая наложением всяких эффектов. Подробно можно вязть описание с ресурса https://github.com/jacksonliam/mjpg-streamer/blob/master/README.md

    Собственно с этого ресурса я взял всю информацию по настройке. Как Вы заметили, я взял разрешение камеры 640х480 и частоту кадров 10 к/с. Максимально возможные эти параметры 1920х1080х30.

    Собственно вот результат:
    eacdf936-67ff-4503-89f6-790bae76b03e-image.png
    А это на телефоне:
    3bca4a4a-00bf-482c-9862-341356d34318-image.png


  • Портретная ориентация изображения
    piP pi

    Добрый день.

    Подскажите пожалуйста как можно реализовать портретный вывод информации по HDMI. Чуть деталей:

    К raspberry подключена матрица на 55' по интерфейсу HDMI - Сам raspberry при подаче напряжения включается (попутно подавая команду матрице на включение) и начинается загрузка ОС

    Необходимо реализовать:

    • При включении raspberry на матрицу изображение выводится в портретном режиме

    • При загрузке ОС нет ни каких системных надписей и прочего, просто черный экран и лого в центре.

    Для участия в небольшом проекте, требуются:

    • Специалист в ОС debian gnu/linux

    • Электронщик (народный кулибин)


  • Подключение LCD дисплея к Raspberry Pi
    piP pi

    Кто бы мог подумать еще в 2010 году, что такое явление как "Raspberry Pi" обретет тысячи поклонников по всему миру.

    Не смог пройти мимо и я. Сегодня я покажу на примере как подключать и использовать LCD (хотя аббревиатура уже включает в себя слово "дисплей" далее я будут все равно его использовать) совместно с Raspberry Pi.

    Скажу сразу: статья ориентирована на тех, кто не первый раз сталкивается с Raspberry.

    Пример подключения LCD дисплея к Raspberry Pi
    На борту Raspberry Pi имеет особый разъем типа GPIO. К нему-то мы и подключим дисплей.

    Выбор LCD дисплея

    Для наших целей подойдет любой жидкокристаллический знакосинтезирующий (символьный) дисплей на базе микроконтроллера Hitachi HD44780U или его аналогов. LCD дисплеи бывают 8x2, 16x2, 4x20 и т.д. - строк на количество знаков. Их выпускает куча разных фирм - Winstar, МЭЛТ и другие.Для сборки прототипа я приобрел дисплей Winstar WH0802A-YYH-CT. Теперь нужно определиться с порядком соединения пинов на разъеме IDC с пинами на GPIO, плюс разобраться как мы подключим питание к нашему дисплею.Оказывается все просто! В документации находим таблицу с распиновкой порта LCD дисплея для 4-х битного режима и дополняем ее следующим образом:

    1a8bba27-73b8-4492-8051-1b8b1e1e6503-image.png

    Где GND - это "минус", а +5V - "плюс" питания, которое мы берем все из того же GPIO разъема. Подписи GPIO - соответствуют ... ну вы сами догадались)Данный дисплей имеет подсветку. Для ее включения достаточно подключить LEDA к +5V, а LEDK - к GND.

    !ВНИМАНИЕ! Для использования LCD дисплея в данной схеме ваш источник питания, который вы подключаете к Raspberry Pi, должен быть рассчитан на потребляемый ток, как минимум, 2А. !ВНИМАНИЕ!

    Выбор и использование библиотек для работы с LCD дисплеем

    Для работы с LCD дисплеем нам нужно написать программу. Делать это я буду на языке Си. Но для компиляции листинга нам потребуется загрузить набор библиотек. Мой выбор пал на пакет библиотек wiringPi , который был использован в статье. Сам пакет предназначен не только для подключения LCD дисплея.Процесс установки пакета описан на сайте.
    Листинг "mylcd.c" с текстом программы я привожу ниже (по стандарту С99).

    #include <stdio.h>  //стандартная библиотека ввода-вывода
    #include <wiringPi.h>  //библиотека из пакета wiringPi
    #include <lcd.h>  //библиотека из пакета wiringPi
    
    int main (void) {
     printf ("Raspberry Pi LCD test\n") ;
     //Инициализация порта GPIO
     if(wiringPiSetup ()==-1) {
      printf ("GPIO Setup failed!\n") ;
     }
    
     int fd;
     printf ("Start LCD initialization...\n") ;
     //Инициализация LCD
     fd = lcdInit (2,8,4, 11,10, 1,0,2,3,0,0,0,0);
    
     if(fd==-1){
      printf ("Initialization failed\n") ;
     }
     else{
      printf ("GO!\n");
      //Очистка дислпея
      lcdClear(fd);
      
      //Перевод каретки на первую позицию первой строки
      lcdPosition (fd,0,0);
      
      //Вывод форматированного текста
      lcdPrintf(fd, "Hello Pi");
    
      //Перевод каретки на вторую строку и вывод текста
      lcdPosition (fd,0,1);
      lcdPrintf(fd, " World!");
     }
     return 0;
    }
    

    В листинге нас особо интересует следующие функции:

    1.wiringPiSetup()- функция для инициализации порта GPIO2.

    lcdInit(int rows, int cols, int bits, int rs, int strb, int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7) - функция для инициализации LCD дисплея, где:

    • int rows - число строк дисплея (у нас 2)
    • int cols - число знаков в строке (у нас 😎
    • int rs - маппинг порта wiringPi на управляющий регистр дисплея RS (у нас 11)
    • int strb - маппинг порта wiringPi разрешающий регистр дисплея E (у нас 10)
    • int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7 - маппинг портов wiringPi на шину данных дисплея3.

    lcdPrintf(int handle, char *message, …) - в качестве int handle передаем указатель на дисплей, * message - указываем в кавычках текст для вывода

    b06eee15-28e3-4c44-b055-634051dd7f70-image.png

    Теперь чуть подробнее про маппинг. В wiringPi используется понятие мапинга (привязки) физических пинов порта GPIO к "виртуальным" пинам - wiringPi. Таблица с маппингом приведена выше. Сопоставив ее с таблицей 1 мы и получим комбинацию

    fd = lcdInit (2,8,4, 11,10, 1,0,2,3,0,0,0,0);
    

    Пины int d4, int d5, int d6, int d7 в 4-х битном режиме не используются! Итак, мы сохранили листинг с программой в файле "mylcd.c" в директории /home/pi/wiringPi/ (которая создается автоматически после установки пакета).

    Далее для компиляции кода набираем в консоли:

    gcc -Wall -o mylcd wiringPi/mylcd.c -lwiringPi -lwiringPiDev
    

    Если не вывелось никаких "ворнингов" и "эрроров" - значит повезло программа написана верно!Для запуска программы набираем в консоли:

    sudo ./mylcd
    

    Получаем диагностические сообщения, которые мы сами и выводим:Raspberry Pi LCD testStart LCD initialization...GO!

    75d27e28-c4fc-4e51-91b2-1561f0a0df66-image.png

    Смотрим на результат:

    08c92d7d-75de-4986-933b-dc7c4d819a00-image.png

    О том как подключить 4х строчный дисплей к Raspberry Pi читайте в моей оригинальной версии полной статьи, которая размещена в моем блоге: http://shabpoint.blogspot.ru/2013/09/lcd-raspberry-pi.html


  • Подключение Raspberry Pi к Wi-Fi
    piP pi

    Рассмотрим подключение Raspberry Pi к беспроводной Wi-Fi сети.

    Мы не будем рассматривать установку драйверов для специфичных Wi-Fi адаптеров, а будем подразумевать, что адаптер уже настроен.

    Чтобы не мучиться с настройкой Wi-Fi адаптера, я рекомендую использовать USB приёмники, которые автоматически определяются в Raspbian и работают "из коробки", например такой - http://smartelectronika.com/viewproduct/35/

    1. Смотрим список доступных Wi-Fi сетей
    iwlist  wlan0 scan
    
    1. Генерируем WPA PSK ключ на основании пароля для выбранной сети и записываем его в конфиг /etc/wpa_supplicant/wpa_supplicant.conf:
    wpa_passphrase %essid выбранной сети% %пароль к сети% > /etc/wpa_supplicant/wpa_supplicant.conf
    

    После перезагрузки подключение к выбранной сети произойдёт автоматически.

    Можно обойтись без перезагрузки -

    /sbin/ifdown  wlan0
    подождать 3-5 секунд
    /sbin/ifup --force wlan0
    

    Внимание! В Raspbian Stretch необходимо добавить строки

    country=RU
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    

    в начало файла /etc/wpa_supplicant/wpa_supplicant.conf


  • FT FTP доступ к файлам и папкам на Raspberry Pi
    piP pi

    Нам понадобиться доступ по SSH или клавиатура подключенная к RPi.

    Все предельно просто, установим пакет

    sudo apt-get install pure-ftpd -y
    

    Проверить работу можно с помощью любого FTP клиента, например FileZilla.

    В качестве логина и пароля для FTP используйте логин и пароль, который используете для входа в систему.

    На этом все)


  • Пассивное охлаждение Raspberry Pi: факты и цифры
    piP pi

    Недавно писал в своём личном блоге об опыте охлаждения моей Raspberry Pi радиаторами Zalman и последующем разгоне.

    Ссылка на полное описание процесса: http://kspitfire.blogspot.com

    Сюда же выложу несколько фото и результаты температурных замеров CPU

    c17e69bb-d63e-4b14-8c61-799887e799ea-image.png

    Вентиляторы невысокие, смотрятся очень аккуратно. Извиняюсь за размытость фото, щелкал на старый телефон.
    d0d28bc3-c6b9-45c9-9ee2-e165f001e07b-image.png
    Температуру замерял при каждой "покорённой" частоте, в трёх режимах загрузки CPU. Записывал среднее арифметическое результатов 15ти замеров. Такие результаты:
    8f797b2c-c643-4c47-aa8d-732a30778def-image.png
    В целом, даже пассивное охлаждение справляется с задачей нагрева при разгоне.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 313
  • 314
  • 3 / 314
  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи