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
Недавні записи
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
Tags
docker sensors rtc led timer wifi remap sms css websocket mongodb bme280 rfid bluetooth esp8266 nodemcu bkp piezo bmp280 i2c mpu-6050 encoder examples avr brushless ngnix nvic displays bldc java-script pmsm barometer pwm lcd ethernet stm32 raspberry-pi capture usart gpio exti atmega meteo solar smd dma adc eeprom eb-500 flask python ssd1306 uart options flash mpx4115a html gps st-link 3d-printer servo dc-dc foc git books battery hih-4000 watchdog dht11 web tim programmator ssd1331 mpu-9250 usb rs-232 motor max1674 soldering
Архіви