Raspberry Pi - що це таке?
Raspberry Pi - це мікрокомп’ютер, який несподівано для його авторів набув досить великої популярності. Випускається у декількох версіях, ціна приблизно $40. Незважаючи на досить маленькі розміри (уміщається на долоні) - це справжній мікрокомп’ютер, на який встановлюється операційна система і який працює майже як звичайний комп’ютер. "Майже" - тому що не гуде :)
Raspberry Pi може працювати під Windows CE, Debian, Fedora, Gentoo, Arch Linux, RISC OS, AROS або FreeBSD, навіть існує Android для Raspberry Pi. Також розроблені ОС які базуються на Debian (Raspbian) і Fedora (FedoraRemix, Pidora) оптимізовані під Raspberry Pi.
Оскільки крім стандартних, притаманних комп’ютеру інтерфейсів, Raspberry Pi має "ноги" для підключення зовнішніх приладів, це розширює сферу застосування Raspberry Pi у системах автоматизації та при побудові інших цікавих речей від розумного дому та роботизованих систем до автопілотів. Мені дали протестувати Raspberry Pi вже з встановленою системою Raspbian. Оскільки я адмін FreeBSD, розібратися з клоном Debian проблем не було. Далі всі приклади будуть для ОС Raspbian.
Хочу відразу зауважити, що з моїх вражень Raspberry Pi - перш за все комп’ютер. А потім вже - плата, до якої можна підключити сенсори чи зовнішні прилади. Оскільки на Raspberry Pi буде стояти операційна система Raspbian, треба мати хоча б елементарні навички у керуванні Unix-подібних систем з командного рядка. Для тих, хто звик у віконця тикати мишкою, - буде трохи незвично розбиратися.
Перше знайомство
Я знав, що Raspberry Pi маленький за розміром, але, коли взяв його в руки, навіть вагався: чи варто витрачати на нього час? Та цей малюк мене приємно здивував.
- Живлення - +5В. через звичайний шнур з microUSB. Можна ввімкнути до USB комп’ютера, або використовувати зарядний пристрій для смартфона;
- Ethernet - наскільки швидкісний Ethernet у Raspberry Pi я не з’ясовував. Для моїх цілей було достатньо. Може, якщо фільми дивитися, то буде і замало;
- USB - два порти, які зразу були зайняті клавіатурою і мишкою;
- HDMI - для підключення до монітора чи телевізора;
- Video - можна підключити до стандартного Video входу будь-якого пристрою;
- Stereo Audio - Звуковий вихід, можна музичку слухати;
- Два роз`єми - один для камери, а другий для чого - я поки що не з’ясовував;
- Тримач SD картки. На SD картку встановлюється операційна система.
- GPIO - 26 ніг для приєднання до них будь-чого (сенсорів, мікросхем, мікроконтролерів, тощо). Підтримуються також UART, I2C, SPI.
Існує декілька видів Raspberry Pi. Я тестував Raspberry Pi B, нові моделі (Raspberry Pi B+) більш цікаві . Детальніше тут: http://www.element14.com/community/community/raspberry-pi/raspberry-pi-bplus?ICID=rpimain-topban-BPlus
Встановлення операційної системи
Качаємо тут http://www.raspberrypi.org/downloads/ образ операційної системи, та заливаємо її на SD картку, виконуючи інструкції: http://www.raspberrypi.org/documentation/installation/installing-images/README.mdПерший запуск с Raspbian
Вставляємо SD картку. Підключаємо USB клавіатуру, мишу (не обов’язково). Підключаємо до монітора чи до телевізора HDMI кабелем. Підключаємо живлення через microUSB. Операційна система досить швидко завантажується. Перший запуск потребує деякого елементарного налаштування системи, про що свідчить меню на екрані. Я не буду на цьому загострювати увагу, скажу тільки, що рекомендую пройти всі пункти послідовно. Доречі, можна увімкнути і графічний інтерфейс. І, хоча у подальшому планувалося використовувати і налагоджувати Raspberry Pi через SSH консоль, через цікавість я увімкнув GUI. Після ребуту системи завантажується робочий стіл, як у справжнісінькому комп’ютері. Я приєднав Raspberry Pi до свого домашнього маршрутизатора і у консолі набрав ifconfig. Raspberry Pi вже сам отримав IP адресу з DHCP. Запустив браузер, можна полазити в Інтернеті.Пароль root
Під час першого запуску в налаштуваннях пропонувалося задати пароль для користувача pi. Але для виконання деяких команд прав у цього користувача недостатньо. Для виконання таких команд (з підвищеними правами) використовують sudo. Але інколи і цього не досить, треба знати пароль користувача root.Пароль root змінюється командою:
sudo passwd root
Налаштовуємо статичну IP адресу
Динамічна IP адреса - це не завжди зручно. Оскільки я планую підключатися до Raspberry Pi через SSH, потрібно знати IP адресу. Для цього правимо файл /etc/network/interfaces використовуючи редактор nano.Команда:
nano /etc/network/interfaces
Приклад файлу:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Змінюємо на таке:
auto lo
iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp
Де: 192.168.1.20 - IP адреса 192.168.1.1 - IP адреса шлюзу
Після коригування виконуємо команду (як root)
/etc/init.d/networking restart
Або можна перезавантажити Raspberry Pi командою reboot.
Тепер Raspberry Pi матиме фіксовану IP адресу.
Правимо /etc/resolv.conf
Крім налаштування IP адреси потрібно вказати DNS сервер (або декілька DNS серверів). Інакше будуть питання при доступі до Інтернету. Це робиться у файлі /etc/resolv.confКоманда:
nano /etc/resolv.conf
Приклад файлу:
nameserver 192.168.1.1
nameserver 8.8.8.8
Якщо ви з якихось причин не знаєте IP адресу DNS серверу, вкажіть 8.8.8.8 - це адреса халявного DNS серверу Google.
Підключаємось по SSH
За допомогою SSH клієнта (наприклад PuTTy) підключаємось до Raspberry Pi по вже відомій нам IP адресі. Raspbian (оскільки це нащадок Debian) дозволяє відразу заходити як root. Незвична вільність після FreeBSD. Я не рекомендую працювати під користувачем root, особливо початківцям. Краще заходьте під користувачем pi. А якщо недостатньо прав, використовувати sudo. До того ж, з міркувань безпеки, краще вимкнути можливість підключатися користувачеві root по SSH. Ви зможете підключатися під іншим користувачем та за потреби підвищити свої повноваження до root командою su.Для відключення можливості підключатися користувачеві root по SSH треба підкоригувати файл /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
Знайти опцію:
PermitRootLogin yes
і видалити її або закоментувати. Після чого перезапустити SSHD
sudo service ssh restart
Отже тепер ми можемо від’єднати клавіатуру, мишу і телевізор і керувати Raspberry Pi через консоль з домашнього (робочого) комп’ютера.
NTP клієнт
Raspberry Pi - це комп’ютер і він має внутрішній годинник. Налаштуємо NTP клієнта для синхронізації часу. Надалі це може стати в нагоді при розробці проектів, де задачі повинні бути прив’язані до конкретного часу. Для правильної синхронізації треба коректно встановити timezone.Виконуємо наступну команду:
sudo raspi-config, select change_timezone
або
sudo dpkg-reconfigure tzdata
Після того як ви вкажете країну і timezone на екрані з’явиться щось таке:
Current default time zone: `Europe/Kiev`
Local time is now: Tue Sep 9 16:23:18 EEST 2014.
Universal Time is now: Tue Sep 9 13:23:18 UTC 2014.
Переглянемо дату командою:
date
Побачимо поточну дату:
Tue Sep 9 09:05:20 EEST 2014
Після цього повинно все запрацювати. Файл /etc/ntp.conf містить перелік хостів з якими потрібно синхронізуватися:
# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will
# pick a different set every time it starts up. Please consider joining the
# pool:
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
Audio програвачі MP3, WAV
Raspberry Pi має Audio вихід. Послухаємо музику. Raspbian має встановлений програвач omxplayer. Програти mp3 файл можна командою:
omxplayer <mp3-file>
Для прикладу скачаємо файл example.mp3
wget http://goo.gl/MOXGX3 -O example.mp3 --no-check-certificate
Запускаємо:
omxplayer example.mp3
omxplayer дозволяє направляти вивід на різні виходи, наприклад на HDMI:
omxplayer -o hdmi example.mp3
Для програвання mp3 файлів можна використовувати іншу програму - mpg321. Встанолюємо mpg321:
sudo apt-get -y install mpg321
запускаємо програвання:
mpg321 example.mp3
Для програвання та запису аудіо файлів також існують команди arecord, aplay.
Розпіновка GPIO
Забігаючи наперед, скажу, що треба уважно роздивлятися розпіновку. Raspberry Pi B було два варіанти: звичайний і Revision 2.0. Зазвичай на платах повинен бути напис Revision 2.0.Наступного разу ми розглянемо управління виводами GPIO, та познайомимось з деякими несподіванками.
Успіхів.
Дивись також:
- Raspberry Pi — що це таке?
- Raspberry Pi — GPIO
- Raspberry Pi — UART
- Raspberry Pi — FT232
- Raspberry Pi — PWM і Сервопривод
- Raspberry Pi — DHT11
- Raspberry Pi - FM Transmitter
- Прошивка AVR мікроконтролерів за допомогою Raspberry Pi
- Raspberry Pi — LCD display 1602
- Raspberry Pi — WiFi
- Raspberry-Pi — I2C (TWI)
- Raspberry Pi - DS18B20
- Raspberry Pi Camera
- nRF24L01+ ATMEGA + Raspberry Pi
- BMP180 + Raspberry Pi + WH1602
- Wi-Fi Метео станція
- Raspbian. Apache + PHP + Python + MySQL
- Встановлюємо Raspbian на Raspberry Pi без клавіатури та монітору
- IR-дистанційне керування. Використання LIRC у Python
- Raspberry Pi. Raspbian. Відправлення пошти через аккаунт Gmail
- Neoway M590 – GSM/GPRS modem
- MPU-6050 – гіроскоп – акселерометр
- HMC5883L Магнітометр
- PWM контролер з інтерфейсом I2С на базі мікросхеми PCA9685
- Метеостанція на Raspberry Pi своїми руками
- Raspberry Pi. Live-stream video
Недавні записи
- Фільтрація Back-EMF. Безсенсорні BLDC мотори
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
Tags
barometer dht11 wifi bmp280 meteo ssd1306 uart books dc-dc lcd tim ssd1331 timer programmator battery exti mpx4115a motor flask nodemcu usb dma html java-script rs-232 st-link 3d-printer rfid esp8266 nvic encoder gpio piezo eb-500 brushless docker sms pmsm ngnix servo examples avr led smd i2c bkp eeprom usart solar soldering python flash stm32 raspberry-pi bme280 mpu-9250 hih-4000 foc bldc sensors rtc pwm capture adc max1674 atmega gps bluetooth remap mongodb mpu-6050 websocket css git watchdog displays ethernet web options
Архіви