Лекція 3.2 Моноплатні ПК для систем керування
Сайт: | Навчально-інформаційний портал НУБіП України |
Курс: | Комп'ютерно-інтегровані технології. Ч1 ☑️ |
Книга: | Лекція 3.2 Моноплатні ПК для систем керування |
Надруковано: | Гість-користувач |
Дата: | вівторок, 24 грудня 2024, 02:25 |
1. Raspberry Pi
Raspberry Pi - це мініатюрний одноплатний комп'ютер, який з легкістю поміститься на долоні дорослої людини. Незважаючи на свої скромні розміри, плата має високу продуктивність, що дозволяє їй вийти на один рівень зі стаціонарними ПК.
Відео урок Огляд Raspberry pi 4. Кому і для чого вона потрібна?
Спочатку Raspberry Pi була розроблена, як навчальний посібник з інформатики. Але сама ідея виявилася настільки вдалою, що за кілька років міні-комп'ютер став популярний в дуже широких колах. З плином часу Raspberry Pi пережила кілька модифікацій, кожна з яких відрізнялася від попередника будь-яким параметром. Такий підхід дозволив регулювати вартість виробу в залежності від потреб користувача, що також позитивно позначилося на популярності пристрою. Вся лінійка Raspberry Pi застосовує процесори з АРМ-архітектурою, яка зарекомендувала себе з кращого боку.
Зовнішній вигляд однієї з популярних плат Raspberry Pi В +.
Станом на 2019 рік існувало 11 різновидів Raspberry Pi. Останні версії оснащені бездротовими WiFi і Bluetooth модулями, які розширюють межі застосування міні-пк в області Ethernet-технологій. Нижче наведено порівняльну таблицю, в якій відображені особливості кожної модифікації із зазначенням деяких технічних даних
1.1. Banana Pi
Banana Pi не має ніякого відношення до Raspberry Pi, хоча їх схожість очевидна. Журнал «Linux user & Developer» не вважає його прямим клоном, але відзначає значну схожість, в той час як linux.com вважає його клоном з поліпшеними характеристиками. Компонування друкованої плати лише незначно відрізняється, хоча відносні розміри різні. Крім того, не всі аксесуари сумісні з Raspberry Pi.
Китайське суспільство Lemaker, позиціонує Banana Pi як більш сучасний і потужний аналог Raspberry Pi. Banana Pi близький за розміром з Raspberry Pi і поставляється з сумісним слотом для підключення розширень. При цьому пристрій комплектується двоядерним процесором Allwinner A20 1GHz Cortex-A7 (замість Broadcom BCM2835 700MHz ARM11), поставляється з більш потужним графічним прискорювачем Mali-400MP2 GPU (OpenGL ES 2.0 / 1.1), 1 Гб ОЗУ, портом SATA, micro-USB і гігабітним портом Ethernet. Підтримується установка Android 4.4, Debian, Ubuntu, а також прошивок, створених для Raspberry Pi і Cubieboard. Вартість пристрою $ 74, що приблизно в два рази дорожче Raspberry Pi.
1.2. Orange Pi
Orange Pi 3G-IOT-B - одноплатний міні-комп'ютер реалізований на основі двоядерного ARM Cortex-A7 MT6572, з частотою 1.2GГГц. В ролі графічного ядра виступає ARM Mali-400MP1 з частотою 500МГц. Об'єм оперативної пам'яті складає 512Мб DDR2.
Сховище даних представлено в ролі слота Micro-SD карти ( з підтримкою гарячої заміни ) і модуля EMMC Flash, об'ємом 4Гб. На борту реалізовані: Wi-Fi, Bluetooth, FM і GPS. Присутній і роз'єм SIM карти (Mini Single SIM Card). Через 40 піновий роз'єм, можливе підключення зовнішньої перріферіі, такої як: SPI × 2, I2C × 3, UART × 2. Реалізована можливість підключення відеокамери через MIPI роз'єм. Окремі мікрофон, роз'єм для навушників, USB 2.0 х 1, LCD інтерфейс. Живлення здійснюється через роз'єм Micro-USB 5В / 2А і контакти підключення батареї. Включення плати проводиться за допомогою кнопки. В якості індикації присутні два світлодіода: світлодіод живлення червоного кольору і статусу, зеленого кольору.
Рекомендоване живлення плати становить 5В / 2А !!!
Різноманітний вибір бездротового зв'язку робить даний міні комп'ютер відмінною платформою для розробки проектів інтернет-речей (IoT) або чудовим рішенням в освітніх цілях.
Характеристики:
- Центральний процесор: двоядерний ARM Cortex-A7 MT6572, з частотою 1.2ГГц
- Графічне ядро: ARM Mali-400MP1 з частотою 500МГц
- Об'єм оперативної пам'яті: 512Мб DDR2
- Сховище даних: Micro-SD карта або модуль EMMC Flash об'ємом 4Гб
- Wi-Fi і Bluetooth 5.0: присутні
- Додатково: FM, GPS
- Підтримувані частоти:
- GSM: 850/900/1800/1900
- WCDMA: B1/B2/B5/B8
- TD-CDMA
- CDMA2000
- Аудіо та відео роз'єми: мікрофон, роз'єм аудіо вхід / вихід, відеокамера через MIPI роз'єм
- Відео вихід: LCD інтерфейс
- GPIO 40PIN: SPI × 2, I2C × 3, UART × 2
- Управління живленням: кнопка
- Індикація: світлодіод живлення (червоний) і світлодіод статусу (зелений)
- Живлення: Micro-USB, роз'єм підключення батареї
- Підтримка операційних систем: Android 4.4
- Підтримка мов програмування: C, C ++, Kotlin, Java, Shell, Pyhon
- Розміри: 52мм × 68мм
- Вага: 25.5г
1.3. LattePanda
Панда серед пінгвінів...
Міні-комп'ютер LattePanda на 4-х ядерному процесорі Intel Cherry Trail Z8350 з об'ємом оперативної пам'яті 4 ГБ і з внутрішньою eMMC пам'яттю 64Гб. Встановлено Windows 10 без ключа активації. LattePanda - це повнофункціональний одноплатний комп'ютер під управлінням операційної системи Windows 10. Він має всю необхідну периферію що і звичайний ПК і може робити все, що робить звичайний ПК. Він сумісний практично з усіма поширеними пристроями: принтери, джойстики, камери і багато іншого. Будь-які периферійні пристрої, які працюють на вашому ПК, будуть працювати на LattePanda. LattePanda поставляється з попередньо встановленим з повним виданням Windows 10 Home Edition, так що Ви можете запускати потужні інструменти, такі як Visual Studio, NodeJS, Java, обробка та багато інших.
LattePanda унікальний тим, що для зв'язку із зовнішнім світом комп'ютер містить інтегрований контролер Arduino Leonardo. Міні-комп'ютер знайде широке застосування в портативних, вбудованих системах, системах віддаленого збору інформації та управління, 3D принтерах і т.д.
Характеристики:
- Процесор: Intel Cherry Trail Z8350 Quad Core
- Базова частота процесора: 1.44ГГц (1.92GHz максимальна)
- Операційна система: Windows 10 Home Edition (Неактивована)
- Оперативна пам'ять: 4GB DDR3L
- eMMC пам'ять: 64GB
- Графічний прискорювач Intel HD Graphics, 12 EUs @ 200-500Mhz
- USB інтерфейси: USB 3.0 x 1, USB 2.0 x 2
- Бездротовий інтерфейс: Wi-Fi 802.11n 2.4G
- Bluetooth: 4.0
- Arduino інтерфейс: ATmega32u4 (Arduino Leonardo)
- Відео вихід: HDMI і MIPI-DSI
- Роз'єм підключення сенсорної панелі
- Ethernet: 100Mbps
- GPIO входи / виходи:
- GPIO процесора Intel x 6
- GPIO контролера ATmega32U4 x 20
- Інтерфейсні роз'єми x 6
- Напруга живлення: 5В 2А - рекомендуємо даний блок живлення
- Розміри плати: 88 x 70мм
- Вага: 55g
Комплектація:
- Міні-комп'ютер LattePanda 4G / 64GB x 1
- WiFi антена x 1
2. Особливості моноплатних ПК
Накопичувачі даних. Особливістю усіх вище згаданих моно платних ПК є використання в якості накопичувача SD карт пам’яті. Проте найбільш поширені на ринку SD-карти (і SSD) мають досить обмежений ресурс записи. Залежно від типу: QLC - близько 1 тис, найпоширеніші сьогодні TLC 3D NAND - 3 тис циклів перезапису. І тільки одношарова версія SLC має до 100 тис циклів. При обробці фотознімків активно використовується великі обсяги оперативної пам’яті і система буде активно використовувати СВОП - ділянку накопичувача, який стає розширенням ОЗУ. Відповідно СВОП буде інтенсивно зменшувати ресурс NAND пам'яті. Проте можливо використовувати зовнішні накопичувачі даних такі як USB вінчестери на магнітних накопичувачах даних. Такі рішення вдало зарекомендували себе на спеціалізованих системах відеоспостереження.
Енергозабезпечення RaspberryPi здійснюється джерелом постійного струму напругою 5В (максимальний струм 2,5А).
Відеовихід для RaspberryPi може бути здійснено як з допомогою інтерфейсу HDMI, що використовується переважно в сучасних телевізорах так і спеціалізований порт DSI Display Port. Display Serial Interface (DSI) - специфікація Mobile Industry Processor Interface (MIPI) Alliance, спрямована на зниження витрат на програмну підсистему в мобільних пристроях. В основному вона орієнтована на LCD і тому подібні технології дисплея. Специфікація визначає послідовну шину і протокол зв'язку між хостом (джерело зображення) і пристроєм (одержувачем зображення). Схему підключення приведено на рис.
Схема підключення дисплею до порту J4 RaspberryPi
Пристрої технічного зору. До RaspberryPi можливо підключення веб камер, як універсальних через інтерфейс USB так і спеціалізованих через інтерфейс CSI призначений саме під системи технічного зору. Проте камера із CSI інтерфейсом використовує апаратні ресурси відеопроцесора, в зв'язку з чим не створює зайвого навантаження на центральний процесор на відміну від USB камер, які також можна підключити до Raspberry Pi.
На рис. представлено зовнішній вигляд камери Omnivision 5647.
Камера Omnivision 5647 (5 МПікс) для ПК RaspberryPi із інтерфейсом CSI
Специфікація камери:
- інтерфейс: CSI;
- сенсор: Omnivision 5647;
- максимальна роздільна здатність: 8 Мп (3280 x 2464);
- формати відео: 1080p (30fps), 720p (60fps), 640 × 480p (90fps);
- кут огляду по-горизонталі: 53,5 °;
- кут огляду по-вертикалі: 41,1 °;
- вага: 3 грама
3. Операційні системи
Моноплатні ПК працюють під управлінням однієї із спеціалізованих операційних систем, побудованих на базі ОС Linux. Найбільш розповсюдженими є:
Debian - операційна система з відкритим вихідним кодом. До складу Debian входить більш 59000 пакетів вже скомпільованого ПО. Система використовує ядро Linux або FreeBSD. У стандартний дистрибутив включені: Стільниця GNOME з набором найбільш популярних програм, таких як Firefox, LibreOffice, Evolution, і інший набір для роботи з мультимедіа. Також є можливість установки образів з використовуваними середовищами робочих столів KDE, Xfce, LXDE, MATE і Cinnamon.
Ubuntu - система заснована на Debian GNU/Linux. За популярністю Ubuntu займає перше місце серед дистрибутивів Linux, призначених для web-серверів. До складу дистрибутива входять: програма для перегляду Інтернет; офісний пакет, програми для комунікації і тощо.
Raspbian - дана операційна система в 2015 році була представлена як основна для Raspberry Pi. Вона по максимуму оптимізована для процесорів з АРМ-архітектурою і досить активно продовжує розвиватися. Основою операційної системи є Debian GNU / Linux. Середовище робочого столу складається з LXDE (середа для UNIX та інших POSIX-сумісних систем типу Linux і BSD), а також менеджера вікон Openbox (безкоштовний менеджер для X Window System). До складу дистрибутива входять:
- програма комп'ютерної алгебри Mathematica;
- модифікована версія Minecraft PI;
- урізана версія Chrome.
4. GPIO
GPIO (Інтерфейс введення / виводу загального призначення (англ. General-purpose input / output) це інтерфейс для спілкування з будь-якими зовнішніми пристроями і управління ними. Контакти GPIO можуть виступати як в ролі входу, так і в ролі виходу.
Користувачеві доступна можливість управління цими виводами, а це значить, що до Raspberry Pi та його аналогів можна підключати дисплеї, кнопки, датчики, реле та інші електронні модулі, якими можна маніпулювати на свій розсуд.
Зовні GPIO виконаний у вигляді дворядної штирьовий колодки з кроком 2,54мм, яка розташована на краю плати. Ранні моделі, такі як В і А містять 26 висновків, а більш сучасні - 40. На малюнку показаний зовнішній вигляд портів загального призначення для плати Raspberry Pi 3В + із зазначенням нумерації виводів.
Як видно з вищенаведеного рисунку, на колодці крім самих GPIO виведені штирі з напругою 3,3V, 5V, а також висновки GND. Деякі GPIO мають альтернативні функції, призначення яких вказано в синіх блоках. До того ж не можна порушувати навантажувальні здатності порту, щоб не вивести Raspberry Pi з ладу. Слід пам'ятати, що GPIO працює з напругою 3,3V і максимальним струмом навантаження 50mA на один вивід. Це означає, що будь-яке перевищення зазначених параметрів негативно позначиться на працездатності плати, тому краще використовувати гальванічну розв'язку між GPIO і зовнішнім виконавчим пристроєм. Те ж саме відноситься і до вхідних ланцюгах, до яких застосовуються резистивні подільники та всілякі перетворювачі рівнів.
Приклад правильного і неправильного підключення базових елементів.
У лівій частині рисунку пряме підключення світлодіода призведе до перевищення максимально допустимого струму 50mA. Це, в свою чергу, виведе GPIO10 з ладу. У правій частині малюнка доданий обмежувальний резистор, який буде утримувати струм в допустимих рамках. Що стосується кнопки, то може виникнути ситуація, коли GPIO10 помилково буде налаштований на вихід, і її натискання призведе до прямого з'єднання 3,3V і GND. При додаванні резисторів R2 і R3 все висновки будуть гарантовано захищені від перевантажень. Виходячи з вищевикладеного можна зробити висновок, що розмінюватися на дрібниці в елементах захисту не варто, так як працездатність Raspberry Pi набагато важливіше купки дешевих резисторів.
Схема підключення реле з
допомогою транзистора КТ315 до 4 порту GPIO
5. Програмування GPIO
Операційна система Raspbian пропонує користувачам зручний модуль для програмного управління GPIO. Називається він RPi.GPIO і є стандартним додатком.
Щоб мати практичне уявлення про роботу з GPIO, приведено невеликий проект, який накаже Raspberry Pi блимати світлодіодом один раз в секунду, а при натисканні на кнопку збільшувати частоту миготіння в 5 разів.
За керування світлодіодом буде відповідати GPIO4, а за читання стану кнопки GPIO17.
За класикою, програми для Raspberry Pi пишуться на скриптовій мові програмування Python. Особливість його в тому, що для запуску програми не потрібно компілятор. Скрипт запускається і починає роботу відразу, але його необхідно зберегти в файл з наступним завантаженням в плату. Для цього відкриваємо термінал і прописуємо наступний рядок:
Тим самим ми створюємо файл «led_key_test.py» в директорії «/ home / pi». Як наслідок відкриється редактор, в який необхідно написати нижченаведений код.
Шрифти
Розмір шрифта
Колір тексту
Колір тла