Что нам нужно:
sudo apt-get upgrade
sudo apt-get install python-bottle
Теперь осталась практически последняя, самая лёгкая часть. Нужно скачать файл в формате python по ссылке и сохранить его в корневом каталоге /pi. Когда вы всё это сделаете, зайдите в редактирование этого файла и на месте этой строчки укажите ваш Ip
Если вы не знаете ваш
ifconfig
Часть 3.Подключение GPIO пинов и запуск сервера.
Теперь подключим светодиод к 18 GPIO пину
Подключать светодиод к пину надо при выключенной Raspberry Pi
Теперь надо запустить наш сервер. Это делается одной командой.
sudo python web_control.py
Спасибо, что прочитали этот пост и всем удачного программирования!
habr.com
Для домашнего сервера, на котором будут храниться какие-то файлы, Raspberry Pi – неплохое решение. Эта плата недорого стоит, а её мощности достаточно для работы всего необходимого ПО.
Первое, что понадобится, чтобы сделать из Raspberry Pi NAS-сервер – дать «Малине» постоянный IP-адрес в локальной сети. Это необходимо, чтобы при перезагрузке роутера устройство не получало новый адрес, из-за чего бы приходилось менять настройки приложений, которые имеют доступ к серверу.
Для этого нужно изменить состояние нескольких конфигурационных файлов. Инструкции по тому, что нужно сделать, легко найти в Сети по запросу: «назначение устройству на Linux статичного IP-адреса».
Для того чтобы на Raspberry Pi 3 NAS-сервер заработал необходимо установить Samba. Это ПО есть в стандартном репозитории. На Raspbian оно скачивается командой: apt-get install samba samba-common-bin. Ее, конечно, нужно выполнять из-под sudo.
Теперь потребуется отредактировать конфигурационный файл. Для этого нужно воспользоваться предпочтительным консольным редактором, например, nano. Чтобы начать настройку, следует из-под суперюзера в консоли ввести следующее: nano /etc/samba/smb.conf.
В первую очередь нужно раскомментировать строку Authentication, убрав перед ней символ решетки. Далее следует найти строчку security=user, тоже удалив перед ней символ диез.
Когда вышеперечисленное сделано, останется указать путь к сетевым ресурсам. Это делается в переменной path. Ей следует присвоить следующее значение: /nas/shares/public. Под ней должна быть строчка read only. Нужно, чтобы значение соответствующей переменной было no. В противном случае не будет возможности записывать файлы в хранилище. Далее нужно сохранить изменения и можно выходить.
Теперь следует назначить пароль доступа. Делается это при помощи следующей команды: smbpasswd –a pi. После нажатия на ввод система предложит ввести пароль, а затем нужно будет подтвердить его, указав еще раз.
Далее понадобится подключить к «Малине» накопитель, например, жесткий диск. Его следует отформатировать. Для этого в консоли нужно ввести следующие команды:
unmount /dev/sda1 – размонтирует подключенный диск;
mkfs.ext3 /dev/sda1 – выполнить быстрое форматирование в формат ext
Теперь понадобится создать папки. Это делается следующей командой: mkdir /nas/shares/public/nas1 –p.
Но пока система не знает, какой именно накопитель использовать в качестве хранилища. Для этого следует открыть файл /etc/fstab и прописать в него следующее:
Теперь, чтобы завершить создание сервера на Raspberry Pi, остается только назначить права. Но предварительно следует перезагрузить «Малину».
После загрузки нужно ввести следующее:
Эти команды делают несколько вещей. Во-первых, они сообщают, какие пользователи могут иметь доступ к серверу. Во-вторых, дают им определенные права. В нашем случае они почти полные – возможность не только загрузки, но и записи новых данных на диск.
Вот и вся инструкция, касающаяся того, как из Raspberry Pi сделать сервер. Теперь можно подключиться к нему через встроенные в систему или сторонние инструменты. Например, в Windows это делается следующим образом:
NAS-сервер на основе Samba имеет множество функций. Чтобы узнать о них, обратитесь к документации (лучше официальной) Samba. Также вы можете получить более подробную информацию на эту тему, просто почитав о NAS-серверах и их настройке на платформе Linux. Ведь неважно, поднимается ли на Raspberry Pi 3 сервер или он создается на основе обычного ПК, или даже гигантского хранилища. Принципы работы с ним одни и те же, так как ПО используется одно и то же.
myraspberry.ru
Я бы советовал использовать решение из коробки, с автоматическим установщиком нужной OC на карту памяти. В специальном руководстве для новичков, вы можете узнать как ее установить.
Если коротко, то вам необходимо отформатировать вашу карту в формате FAT программой SD Formatter, скачать автоматический установщик, выбрать OC и дождаться ее загрузки на карту. В нашем случаи это будет Raspbian.
Первый запуск Raspberry pi
При первом запуске Вам понадобиться монитор с выходом на hdmi (либо переходником) и клавиатура. Подключить вы их сможете через USB порты вашего raspberry. Далее вставьте карту памяти в Raspberry pi и подключите блок питания к устройству. Чуть не забыл про LAN кабель, его тоже следует подключить, а иначе у устройства не будет доступа к интернету. Если все сделано правильно, то после включения Вы увидите много бегущего текста в конце которого предстанет меню конфигурации.
Интерфейс Raspi-config
Расширяем память SD карты
Первым делом управляя клавиатурой, переходим к пункту Expand Filesystem и тем самым расширяем свободное место хранения файлов на SD карте. Но если вы использовали автоматический загрузчик, а не монтировали образ в ручную, то этот пункт можно проигнорировать.
Меняем пароль пользователя
Далее рекомендуется поменять пароль пользователя Change User Password, вам будет предложено ввести новый пароль 2 раза. Не ошибитесь с раскладкой.
Логин и пароль по умолчанию: pi/raspbian
Добавляем русский язык
Переходим в пункт
Дополнительные настройки
Перейдите к пункту Advanced Options он раскроет перед вами список дополнительных настроек где необходимо внести еще 2 изменения.
Hostname (не обязательно)
Чтобы сменить имя хоста, нажмите на Hostname и впишите свое название сервера. Например: pedanto.com
Включение SSH
Также вам необходимо включить SSH для работы с командной строкой через putty делается это там же в дополнительных настройках.
Сохранение изменений
После того как вы внесли все изменения, выберите пункт , ваш raspberry будет перезагружен и все изменения вступят в силу.
Снова открыть консоль настроек можно используя команду: sudo raspi-config
Настройка роутера и сети
Чтобы наше устройство было видно извне мы должны получить свой статический внешний IP адрес. Купить его можно у провайдера и как правило он не стоит больше доллара в месяц. В противном случаи на Ваши сайты заходить сможете только Вы.
Узнаем IP адрес на котором висит Raspberry
Далее нужно узнать какой сетевой IP был назначен роутером для Raspberry. В консоли нужно прописать соответствующую команду
hostname -I
Позволяет узнать на каком IP у роутера висит Raspberry
Узнаем IP роутера
Обычно IP адрес роутера такой: http://192.168.1.1, но в моем случаи он выглядит так miwifi.com
Чтобы узнать адрес наверняка, переверните Ваш роутер и посмотрите на наклейку снизу. Там как правило есть вся необходимая информация.
Логин и пароль всех роутеров по умолчанию: admin/admin
Открытие 80 порта
В настройках роутера, вам необходимо задать правило проброса портов. Дело в том что у вас есть
В http протоколе используется 80 TCP порт, поэтому необходимо сделать port forwarding в Вашем роутере.
Я понимаю что роутеры у всех разные, поэтому изучите настройки своего и найдите аналогичное меню.
У меня это выглядит так:
После этого при обращении на ваш внешний IP посетитель будет получать данные генерируемые вашим Raspberry pi. Но пока он у нас нечего не генерирует, и сейчас мы это будем исправлять.
Подключаемся по SSH
Вы конечно можете продолжать использовать монитор и клавиатуру для работы с Вашим raspberry pi, но я предпочитаю вводить все команды удаленно через putty, так как клавиатура и монитор у меня всего одни, и без них мой основной компьютер не работает как следует
Для подключения к Putty используйте внутренний IP вашего Raspberry, и в целях безопасности не советую открывать доступ к консоли извне.
После того как откроется консоль вас попросит ввести логин и пароль от Rasp
hlampc.ru
Не так давно приобрел забавную игрушку Raspberry Pi. Я планирую использовать ее в качестве «мозгов» для робота на базе Arduino, но об этом в другой раз. Что бы «малина» не валялась без дела. пока я проектирую робота, решил на базе нее поднять домашний web-server. И так приступим…
Скачиваем образ с официального сайта Распаковываем, на данный момент это 2013-05-29-wheezy-armel.img Подключаем карточку флешь память к компьютеру Копируем образ на флеш-карту dd if=/home/user/Download/2013-05-29-wheezy-armel.img of=/dev/sdN, где sdN — имя вашей флешь-карточки После того как создали образ, заходим в /etc/network/interfaces и прописываем сетевые настройки
1 2 3 4 5 6 7 8 9 |
|
В консоле набираем
И получаем графическое меню
Остальные настройки по вашему желанию. После этого перегружаемся. Не забудем обновить систему, командами
1 |
|
Устанавливаем все необходимое
1 2 3 |
|
Запускаем
1 |
|
Проверяем, набираем в браузере http://192.168.1.10, если все сделали правильно, то должны увидеть надпись Welcome to nginx!
Создаем файл /etc/nginx/sites-enabled/ajaxblog
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
Создаем папку /var/www/html/ajaxblog куда заливаем wordpress
Наш сайт пока мы можем видеть только по локальному адресу http://192.168.1.10. Для того чтобы мы могли видеть сайт по доменому имени http://ajaxblog.ru, нам нужно:
Прописать DNS запись у регистратора домена
1 |
|
Теперь нужно чтобы запрос пришедший на X.X.X.X, был перенаправлен домашним роутером на Raspberry Pi. Для этого в админки вашего роутера нужно настроить перенаправление. Заходим на вкладку NAT Setting — Virtual Server
1 2 3 4 5 |
|
Через какое-то время обновиться DNS запись у провайдера и можно смело смотреть свой блог по адресу http://ajaxblog.ru
ajaxblog.ru
Если ваша концепция умного дома «все ресурсы сидят дома», то использования mqtt брокера в облаке вам может казаться очень болезненным. Не будем страдать и сделаем свой сервер дома. На малине, конечно.
К слову сказать, я бы для такого mqtt брокера лучше бы использовать какой-нибудь Orange PI Zero т.к. он стоит дешевле и питание у него удобнее — 5-и вольтовое.
Для начала нам нужно залить на флешку образ ОС. Скачать его можно с сайта http://www.orangepi.org/downloadresources/
Подробности установки и детали первого запуска расписывать не буду.
Подключаемся к терминалу нашей Pi и вводим:
raspi-config
В файле конфигурации нам нужно включить опцию Expand Filesystem, дающая разрешение на использование всей флешки файловой системой.
Для удаленного доступа Advanced Options — SSH — Enable активирует ssh клиент.
Далее нужно настроить для «малины» параметры подключения к сети или просто запомнить ip адрес, если вы подключились проводом к роутеру:
ifconfig eth0
Теперь нужно перезагрузиться командой:
reboot
После запуска системы мы будем подключаться к ней по ssh каналу связи. В качестве клиента на windows можно использовать чудо программу Putty. Если вы используете linux или osx — у вас уже есть bash консоль и больше ничего не потребуется.
Что бы избавиться от неожиданностей в процессе установки нужно обновить все загруженное ПО:
apt-get update
Менеджер пакетов сверится с репозиториями и затянет все обновления.
Подготовка завершена теперь приступим к установки MQTT броккера mosquitto.
apt-get -y install libssl-dev cmake libc-ares-dev uuid-dev daemon
Для работы брокера потребуется поддержка websocket. Этим будет заниматься отдельный пакет. Установим его вручную.
cd ~ mkdir src cd src wget https://github.com/warmcat/libwebsockets/archive/master.zip unzip master.zip rm master.zip cd libwebsockets-master/cmake
Теперь нужно выполнить сборку:
cmake .. make install
Сборка займет некоторое время. После завершения нам нужно построить все необходимые связи между пакетами и библиотеками. Этим занимается автоматическая утилита ldconfig. Запустим ее:
ldconfig
Теперь нужно заняться развертыванием masquitto. Разворачивание будем проводить в дирректории src.
cd ../.. wget http://mosquitto.org/files/source/mosquitto-1.4.8.tar.gz tar zxf mosquitto-1.4.8.tar.gz cd mosquitto-1.4.8
Нужно будет внести изменения в конфиг. Откроем файл config.mk любым редактором и зададим значение опции WITH_WEBSOCKETS:=yes
sed -i -- 's/WITH_WEBSOCKETS:=no/WITH_WEBSOCKETS:=yes/g' config.mk make make install
После завершения вы увидите что-то такое:
Не забываем, что mqtt сервер работает должен работать из под учетной записи пользователя и ее нужно сконфигурировать. Добавим строки с данными подключения в конец файла mosquitto.conf
cp mosquitto.conf /etc/mosquitto echo "listener 1883" >> /etc/mosquitto/mosquitto.conf echo "listener 9001" >> /etc/mosquitto/mosquitto.conf echo "protocol websockets" >> /etc/mosquitto/mosquitto.conf useradd -r -m -d /var/lib/mosquitto -s /usr/sbin/nologin -g nogroup mosquitto
Настроим автозапуск mosquitto. Создадим новый файл в фиддерктории и /etc/init.d
nano /etc/init.d/mosquitto
Вставим в него содержимое:
#!/bin/bash #/etc/init.d/mosquitto case "$1" in start) echo "Starting mosquitto" /usr/local/sbin/mosquitto -d -c /etc/mosquitto/mosquitto.conf\ >> /var/log/mosquitto/mosquitto.log \ 2>> /var/log/mosquitto/mosquitto.error ;; stop) echo "Stopping mosquitto" killall mosquitto ;; *) echo "Usage: /etc/init.d/mosquitto start|stop" exit 1 ;; esac exit 0
Дадим директории разрешающие права и создадим папку для логирования:
chmod +x /etc/init.d/mosquitto mkdir -p /var/log/mosquitto
Добавляем сервер в список автозапуска и стартуем его:
update-rc.d mosquitto defaults /etc/init.d/mosquitto start
На этом все. Наш броекр-сервер MQTT запущен. Убедимся, что он исправлен выполнив в консоли комманду:
ps acx | grep mosquitto
Если вы потерпели феаско, то не расстраивайтесь, а затем смотрите логи:
log_type /var/log/mosquitto log_type /etc/mosquitto/mosquitto.conf
Сервер HTTP MQTT будет слушать порт 1883, а WebSocet MQTT — 9001.
Открыть доступ брокер сервера из интернета можно на роутере, если прокинуть порт 9001 во внешнее internet соединение.
diytimes.ru
Поэтому я решил оборудовать свой домашний медиацентр только бесшумными (в крайнем случае, малошумными) составляющими.
В наличии был ПК (в кабинете), внешний винчестер WD MyBook 1TB, подключенный к ТВ, звуковой проектор Yamaha YSP-900, куда по toslink выводился звук (это добро в комнате для просмотра фильмов, то есть в спальной).
Телевизор Samsung B550, 2009 года, хотя и показывает фильмы с USB (после шаманства с настройками), но далеко не все, также не умеет битстримить DTS на проектор. Для просмотра фильмов был выбран дешевый WDTV Live Streaming 2012 года, славящийся своей всеядностью. Однако, винчестер продолжал шуметь и мешать как просмотру, так и сну.
Поэтому, винчестер был перенесен в кабинет, и подключен к новокупленному Raspberry Pi, после чего был переформатирован в ext4.
Сам Raspberry Pi питается от USB порта компьютера (такая схема работает в том числе и при глубоком сне).
Далее туториал по настройке Raspberry Pi
1. Устанавливаем последнюю версию Raspbian www.raspberrypi.org/downloads на карточку
2. Меняем настройки загрузки (для fullHd экрана)
disable_overscan=1
hdmi_group=1
hdmi_mode=16
arm_freq=800
Установка частоты больше 800 требует дополнительного охлаждения, иначе система будет нестабильна и на сложных задачах будет намертво зависать.
3. Меняем wheezy на jessie в /etc/apt/sources.list, переименовываем /etc/apt/sources.list.d/collabora.list и /etc/apt/sources.list/raspi.list с ~
4. Обновляемся sudo apt-get dist-update &&sudo rpi-update
5. Настраиваем вход по SSH по ключам (http://www.howtoforge.com/set-up-ssh-with-public-key-authentication-debian-etch и www.howtoforge.com /ssh_key_based_logins_putty), отключаем вход по паролю
6. Теперь нужно иметь постоянно примонтированный USB
Делается это так
sudo blkid -c /dev/null
/etc/fstab
UUID=ae614151-2654-4ca0-88ee-4fc97a62c048 /media/WD_MyBook_1 ext4 relatime,errors=remount-ro 0 1
UUID=17f5c5ce-6fde-48ce-98c7-b78d42205e9c /media/WD_MyBook_2 ext4 relatime,errors=remount-ro 0 1
8. На jessie есть проблема с локалями. Исправляем perlgeek.de/en/article/set-up-a-clean-utf8-environment
9. Устанавливам torrent-клиент transmission
sudo apt-get install transmission-daemon
sudo adduser —disabled-password transmission
sudo su transmission
transmission-daemon -f
Меняем настройки
sudo chown -R transmission:transmission ./WD_MyBook_1
sudo chown -R transmission:transmission ./WD_MyBook_2
habrahabr.ru/post/87287 trac.transmissionbt.com/wiki/Scripts/initd
Скорость скачивания в 100 MBit сети провайдера — около 4.5 MB/s
10. Устанавливаем NFS
sudo apt-get install nfs-kernel-server portmap nfs-common
www.cyberciti.biz/faq/how-to-ubuntu-nfs-server-configuration-howto
На WDTV Live Streaming нужно включить поддержку Linux Shares
11. Устанавливаем Lighthpd server и PHP www.penguintutor.com/linux/light-webserver
12. Устанавливаем FTP, настраиваем анонимный доступ внутри локальной сети.
sudo apt-get install vsftpd
Правим vsftpd.conf
anonymous_enable=YES
write_enable=YES
anon_root=/media/
anon_umask=0000
chown_upload_mode=0644
anon_other_write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
use_localtime=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=transmission
ftp_username=transmission
async_abor_enable=YES
Скорость скачивания по FTP в локальной 100 MBit сети — около 7 MB/s
13. Следующие шаги требуют сборки из исходников, потому устанавливаем git и checkinstall
sudo apt-get install git-core checkinstall
14. Собираем последнюю версию MiniDLNA
собираем x264 ./configure —enable-shared —prefix=/shared && make && sudo checkinstall —pkgname=x264 —pkgversion «1:0.git`date +%Y%m%d`+`git rev-list HEAD -n 1 | head -c 7`» —backup=no —default —fstrans=no
собираем ffmpeg
sudo apt-get install build-essential libfaac-dev libfaad-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev libsqlite3-dev libflac-dev
./configure —enable-gpl —enable-version3 —enable-nonfree —enable-postproc —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libtheora —enable-libvorbis —enable-libx264 —enable-libxvid —enable-x11grab —extra-cflags=»-I/shared/include» —extra-ldflags=»-L/shared/lib» —extra-libs=-ldl —enable-shared —disable-static
make
sudo checkinstall -fstrans=no -install=yes -pkgname=ffmpeg -pkgversion «1:0.svn`date +%Y%m%d`« -default
собираем MiniDLNA
./configure
make
sudo checkinstall -fstrans=no -install=yes -pkgname=MiniDLNA -pkgversion «1:0.svn`date +%Y%m%d`« -default
Меняем настройки MiniDLNA
media_dir=V,/media
friendly_name=Raspberry DLNA Server
db_dir=/home/pi/.minidlna
log_dir=/home/pi/.minidlna/log
На Android смотрю фильмы через BubbleUPNP
15. Устанавливаем Firebird 2.5 mapopa.blogspot.com/2012/11/debian-and-raspberry-pi-love-small-arm.html
16. Дополнительные плюшки:
15.1. я установил etherwake, и по необходимости вывожу основной компьютер из спячки удаленно по SSH
15.2. написал на PHP скрипт для автоматического переключения на резервный ADSL канал, если основной провайдер умрёт (роутер ASUS DSL-N10 B1 не делает это автоматически), поместил в сron
15.3. Как оказалось, WDTV Live Streaming не умеет показывать BD Remux, но прекрасно показывает BD-ISO. Потому ремуксы перегоняем в ISO genisoimage -allow-limited-size -o .iso
15.4. Отключил лишние tty
15.5. Собрал elinks2
15.6. Написал консольную версию игры 2048 github.com/AndriiZ/2048
Планы:
1. Подключить mono как fastcgi, поднять ASP.NET MVC сайт
2. Подключить датчик температуры и влажности. Сделано github.com/AndriiZ/RaspberryPI/tree/master/SmartHouse
3. Поднять интернет-радио на Raspberry
Итого: Raspberry Pi скачивает и раздает контент, WDTV Live Streaming и планшет его показывает. И тишина, потому что компьютер, съемный винчестер и Raspberry Pi стоят в отдельном кабинете.
Raspberry Pi — прекрасная штука для экспериментов.
habr.com
В «сети» полно рецептов. Но я приведу один из своих первых вариантов. (сразу скажу что в итоге я остановился на совершенно другом. Но сейчас не об этом).
Так как все разрабатывается на коленке. Не буду приводит примеров кода с обновлением raspbian (Если зашли сюда из поисковика,то им Вы определенно пользоваться умеете. Если что, то в качестве ключевых слов можно добавлять Linux и Debian, так как Raspbian это и есть немного оптимизированный дистрибутив Debian).
Сейчас я опишу пару этапов установки. В качестве демона слушающего 80-й порт я буду использовать nginx. Если интерес еще не потеряли, то пожалуйста. Продолжаем.
Выполним команду:
sudo apt-get install nginx
apt-get — Это менеджер пакетов Raspbian
install — Это параметр менеджера пакетов, который сообщает менеджеру что необходимо произвести проверку и установить следующие пакеты
nginx — Это наименование пакета.
ЗЫ; Просто решил обозначить что делаем, если кто не вкурсе
Отвечаем утвердительно (y) на вопросы менеджера пакетов. Дожидаемся окончания установки, после чего перезагружаем нашу машку:
sudo reboot
После перезагрузки устройства можно проверить что на устройстве нам отвечает nginx и с любого компьютера в Вашей локальной сети открыть браузер, в качестве адреса URL указываем IP адрес Вашей Raspberry Pi. Вам должен ответить nginx следующим содержанием:
Welcome to nginx!
Отлично!
По умолчанию домашний каталог «/usr/share/nginx/www«
В «/etc/nginx/» конфигурации nginx
Настраиваете по своему усмотрению.
Установим MySQL и поддержку PHP выполним в консоле на Raspberry Pi
sudo apt-get install mysql-server php5-mysql php5-fpm
В принципе все готово. Можно пользоваться и наслаждаться ;). Если есть вопросы, то я жду их в комментариях или лучше на форуме.
С уважением Ваш ИТ Инженер.
Это новый способ привлечения потенциальных клиентов в Интернете — лидогенерация. Результативный маркетинг с оплатой за результат.
olorg.ru