Защо искам да направя това?
Pi, дори облицован в здрав калъф, е малък компютър. Това е идеално за поставяне на място някъде отстрани, без да се налага да се захващате с кабели - за много проекти просто не се нуждаете от постоянен монитор и периферен придружител.
Че не означава, че няма да се налага да се свързвате с кутията, за да правите промени, да актуализирате неща, да прехвърляте файлове и т.н. Перфектен пример за това е хладният индикатор за дъжд, който построихме като част от нашия LED индикатор "Изграждане на LED" с статия "Малина Пи" (за имейл, метеорология или нещо). Не е нужно всичко свързано с него, но все пак бихме искали да се впуснем в устройството и лесно да правим промени или да изпробваме нови експерименти със светодиодния модул, без да се налага да го плъзгаме обратно в цеха и свържете го към монитор, клавиатура, мишка и т.н. Чрез конфигурирането му за отдалечен корпус, отдалечен работен плот и отдалечен пренос на файлове, правим супер прост да взаимодействате винаги с нашето устройство Pi от удобството на нашия настолен компютър, - включихте устройството до пълна работна станция.
От какво се нуждая?
За този урок ще ви трябват следните неща:
- Малина Пи, изпълняваща Raspbian.
- Настолен или преносим компютър.
- Локална Wi-Fi или кабелна мрежа за свързване на Pi и компютъра.
Първо, повечето от стъпките в този урок трябва да работят с други Linux дистрибуции на Pi но ние ще използваме Raspbian. Трябва да имате малко проблеми при адаптирането на урока към други дистрибуции.
Второ, използваме машина на Windows като нашият мрежов компютър, за да взаимодействаме с устройството Raspberry Pi като дистанционно управление / интерфейс. Когато е подходящо, ще направим всичко възможно да свържем уроци и да предложим четене относно изпълнението на паралелни задачи и инструменти на OS X и Linux.
Настройване и свързване към сървъра SSH
Отворете терминала в Rasbian, а прякорът е LXTerminal на работния плот и въведете следната команда:
sudo raspi-config
Отидете надолу до SSH и натиснете клавиша enter. Когато получите подкана за SSH сървъра, изберете Активиране и натиснете Enter отново. Ще бъдете върнати в панела Raspi-config; навигирайте надолу до завършек и натиснете Enter, за да затворите конфигурационния инструмент. Това е всичко, което трябва да направите, за да включите SSH до вашия Pi. Стандартното влизане и парола за SSH е пи и малина, съответно.
Докато все още седите на командния ред, сега е чудесно време да проверите IP адреса на вашия Raspberry Pi блок в локалната мрежа. Тип фоп на ред и след това погледнете изхода на командата. Ако използвате Ethernet порт, който искате да търсите init addr в eth0 раздел; ако използвате Wi-Fi, искате да търсите init addr в wlan0 секция. Освен че проверявате и отбелязвате IP адреса, това е също така чудесно време да настроите статичен IP запис във вашия рутер, така че в бъдеще да не се налага да преследвате IP адреса.
Сега, когато имаме SSH сървъра активиран, познаваме влизането и знаем IP адреса на машината, време е да се свържем през SSH и да го изпробваме. За да го направите от Linux и OS X, можете просто да използвате SSH команда в терминала. Потребителите на Windows обаче ще имат нужда от SSH клиент като PuTTY.
Тъй като използваме Windows кутия за дистанционно управление на нашия Pi, PuTTY е. Инсталирайте копие на PuTTY или извадете преносимата версия и я задействайте. Има много от настройките, които можете да се забъркате в PuTTY, но трябва само да се притесняваме за едно нещо, което да се свърже с нашия Pi. В основния интерфейс на сесията просто въведете IP адреса на вашия Pi и изберете SSH под него:
удар отворено в долната част и PuTTY ще пусне терминален прозорец за вас, ще се свърже с вашия Pi и ще ви подкани да влезете в профила си. Отидете напред и влезте с пи / малина:
Преди да продължим, има някаква допълнителна функционалност, която можем да изтръгнем от SSH. В допълнение към отдалеченото управление на командния ред можете отдалечено да прехвърляте файлове чрез Secure Copy. Това е интензивна командния ред и не е особено удобна за прехвърляне на голям брой файлове, идващи от няколко директории, но за еднократно прехвърляне на конфигурационни файлове или друга малка дъмп, това е доста удобно. Проверете нашето ръководство за копиране на файлове през SSH използвайки командата SCP тук.
Ще разгледаме по-близо по-лесни за ползване / GUI базирани техники за прехвърляне на файлове по-късно в урока.
Настройване и конфигуриране на отдалечения работен плот
Въпреки че ние го наричаме "отдалечен работен плот" до този момент, инструментът, който всъщност инсталираме, е познат като Виртуална мрежова изчислителна система (VNC), чиито познати са много, като RealVNC и TightVNC. За този урок ние ще инсталираме TightVNC на Pi. За да получите достъп до сесията TightVNC, базирана на Pi, ще ви е необходим отдалечен клиент като:
- TightVNC настолен клиент за Windows
- TightVNC настолен клиент за Linux / Unix-подобни системи
- RealVNC настолен клиент за OSX
Вземете копие сега и ние ще го направим по-късно в този раздел. Засега нека да се постараем да инсталирате TightVNC сървъра на Вашата малина. Отворете терминала. Въведете следната команда, за да започнете:
sudo apt-get install tightvncserver
Това ще изтегли и разопакова инсталационните файлове; когато бъдете подканени да продължите да натиснете Y. След като инсталацията приключи, ще бъдете върнати на подканата. Можете да стартирате VNC един от двата начина. Просто изпълнявайки командата за сървъра така:
tightvncserver
Друга възможност е да използвате много по-точна, макар и по-дълга, команда, която ви дава по-голям контрол върху това, как отдалеченият компютър ще вижда работния плот - най-важното - каква резолюция ще се показва на работния плот, за да можете да се насладите на екран на цял екран отдалечения компютър. За да определите разделителната способност на работния плот VNC, използвайте следната команда, заменяйки стойността на разделителната способност (четвъртия елемент в командата) за резолюцията на отдалечения работен плот:
vncserver:1 -geometry 1600×900 -depth 16 -pixelformat rgb565:
Ако в даден момент направите грешка при настройването на VNC сървъра и / или искате да изключите VNC сървъра, просто въведете следното (промяна на номера след двоеточие до номера на VNC потребителския модел, който искате да убиете):
vncserver –kill:1
Сега, когато имаме VNC сървъра, нека се свържем с него от нашия отдалечен работен плот. Изключете TightVNC зрителя на компютъра си и включете IP адреса на блока Raspberry Pi, последван от: 1 хареса:
sudo chown pi /home/pi/.Xauthority
Тази команда променя собствеността на файла.Xauthority обратно на потребителя pi - за любопитното, файлът.Xauthority се използва от системата X-windows в Rasbian и нещо по време на процеса на инсталиране и конфигуриране на TightVNC сървъра причинява малкото разрешение за прихващане.
С тази малка малка обиколка на пътя, нека да се върнем към завършването на нашата конфигурация за отдалечен работен плот.
Сега, когато имаме пълен достъп до командния ред и настолния достъп до Raspberry Pi, имаме едно не толкова необичайно ощипване, което трябва да направим. Инструментът за конфигуриране на Raspi зададе SSH сървъра да започне автоматично при зареждане за нас, но VNC сървърът все още не е конфигуриран по такъв начин. Можете да пропуснете тази стъпка и ръчно да стартирате сървъра на командния ред чрез SSH, когато имате нужда от него, но се опитваме да направим това възможно най-безпроблемно за бъдеща употреба. Да вземем една минута и да създадем стартов файл за VNC сървъра.
За да стартираме автоматично VNC сървъра, трябва да настроим файл за инициализация или инициализация, който Raspbian ще използва, за да стартира и затвори сървъра по време на процеса на зареждане и изключване. Нека сега да създадем файла за иницииране. На командния ред въведете следната команда:
sudo nano /etc/init.d/tightvnc
Това ще създаде файл в директорията за инициализиране, наречен "tightvnc", и ще отвори редактора за нано, за да можем да го поставите в нашия скрипт. В редактора за нано добавете следния код (не забравяйте да промените стойността на разделителната способност 1600 × 900, за да съответства на екрана на отдалечения компютър:
#!/bin/sh ### BEGIN INIT INFO # Provides: tightvncserver # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start vnc server # Description: ### END INIT INFO
case “$1” in start) su pi -c ‘vncserver:1 -geometry 1600×900 -depth 16 -pixelformat rgb565:’ echo “VNC Started”;; stop) pkill Xtightvnc echo “VNC Terminated”;; *) echo “Usage: /etc/init.d/tightvnc {start|stop}” exit 1;; esac
В допълнение към промяната на екранната част на скрипта, има още едно нещо, което можете да промените. На линия 14 можете да промените командата "su pi -c" на всяка друга потребителска сметка освен "pi", ако искате да VNC към конкретния работен плот за този акаунт.
След като сте поставили и промените кода, е време да го запазите. Натиснете CTRL + X, за да излезете и запазите работата си в нано. След като се върнете на командния ред, трябва да извършим няколко бързи промени в разрешенията на файла:
sudo chmod 755 /etc/init.d/tightvnc
Файлът за инициализация е изпълним. Можем да го изпробваме от подканата:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stop
Последната промяна, която ще направим, е да актуализирате файла rc.d (който проследява кои скриптове за инициализация се намира в /init.d/ папката):
sudo update-rc.d tightvnc defaults
След като въведете тази команда, ще получите потвърждение, че файлът е актуализиран. Сега е време за истинския тест: дали файлът се зарежда правилно след рестартиране? Въведете следното в командния ред, за да рестартирате и да се подготвите с Вашия VNC клиент, за да тествате връзката за момент:
sudo reboot
След като системата завърши рестартирането, влезте с вашия VNC клиент.Ако вашият VNC сесия не успее, посетете командния ред и стартирайте командата startvnc start (от тестовата част по-горе), за да проверите отново дали файлът е изпълним и дали паролата е запазена правилно.
В този момент ние сме още по-нататък в мисията ни за напълно дистанционно управление на нашия Raspberry Pi единица. Notkyky τη not τη not nototot not τηototot notky τη τη nototky τη τη nototot τη τη notky
Настройване и конфигуриране на инструменти за прехвърляне на файлове
Ky τη notky Помнете ли как говорихме за използването на SCP през SSH по-рано в урока? Стартирането му от командния ред става наистина досадно, реално бързо. С GUI wrapper, ще можем да прекарваме повече време при преместване на файлове и да играем с нашата Pi и по-малко време да кълнем на клавиатурата.
Въпреки че има много GUI обвивки за командата SCP, ще отидем с инструмент от различни платформи, който много хора вече знаят, имат и обичат (и може дори да не са наясно, че правят SCP трансфери): FileZilla. Той е достъпен за Windows, OS X и Linux - можете да вземете копие тук.
След като инсталирате FileZilla, го задействайте и отидете на File -> Site Manager. Създайте нов запис в сайта, го наименувайте и включете потребителско име и парола за вашия Pi.
Възползвайки се от съществуващия SSH трансфер на файлове е най-лесният начин да получите на файловете на Pi без необходимост от допълнителна конфигурация но ако искате да конфигурирате своя Pi да получава и споделя файлове без отдалечен потребител, изискващ някакви фантастични инструменти (като SCP-способен FTP клиент като FileZilla), силно препоръчваме да проверите конфигурационната част на Samba от нашето ръководство: Как да превърнете малина Pi в устройство за съхранение на данни с ниска мощност. Четенето по този въпрос ще ви запознае с настройването на основната част на Samba на Pi, за да създадете споделена папка, лесно достъпна за почти всеки във вашата мрежа без допълнителни средства.
Вие сте конфигурирали SSH, сте конфигурирали VNC и сте настроили прост SFTP и / или Samba достъп до вашия Pi - в този момент можете да заредите своя Raspberry Pi, премахнете монитора, клавиатурата и мишката, и го изхвърли като безшумна машина без глава.
Имате идея за проекта Raspberry Pi и умирате за нас, за да напишем урок за това? Излезте от коментарите или ни изпратете имейл на [email protected] и ще направим всичко възможно, за да ви помогнем.