Телефонуйте » (+38) 096 227 41 41

Raspberry Pi (RPi) – мікрокомп’ютер з хорошими обчислювальними можливостями та мережними інтерфейсами. Але часто не вистачає входів/виходів для організації взаємодії з сенсорами і виконавчими механізмами. Один з шляхів вирішення проблеми – використовувати його разом з мікроконтролером Arduino.

Arduino - це велика екосистема і інтерфейс RPi з виводами GPIO можна адаптувати до виводів Arduino. В цьому випадку, можна використовувати RPi разом з багатьма платами розширення Arduino та його апаратними/програмними ресурсами. ARPI600 якраз і призначений для цього. Більше того, ARPI600 також підтримує модулі XBee, що полегшує додавання бездротових функцій до проекту.

Параметри:

·    Сумісність з Arduino UNO, Leonardo та різними платами апаратного розширення Arduino
·    Роз'єм XBee для підключення різних модулів XBee.
·    Сенсорний інтерфейс для підключення різних сенсорів.
·    Вбудований перетворювач USB TO UART для налагодження послідовного порту. Також можна його налаштувати як адаптер XBee.
·    АЦП на платі, 10 біт, 38KSPS, 11 каналів (6 каналів для інтерфейсу Arduino, 5 каналів для сенсорів).
·    Годинник реального часу на платі (RTC)

Елементи плати

1.  Роз’єми для підключення різних плат апаратного розширення Arduino.
2. ICSP-інтерфейс: Arduino ICSP (ICSP - In Circuit Serial Programming). ICSP дозволяє програмувати мікросхему, яка вже підключеної в деяку, використовуючи послідовний протокол, наприклад, перезапис завантажувача.
3. Роз'єм XBee для підключення різних модулів з інтерфейсом XBee.
4.  Сенсорний інтерфейс для підключення різних сенсорів.
5. Роз'єм для підключення RPi
6.  USB TO UART
7.  TLC1543: АЦП.
8.  PCF8563: RTC
9.  CP2102
10.  Кварц 32,768 КГц: для RTC
11.  Індикатор живлення
12.  Індикатор стану XBee
13.  Кнопка RESET інтерфейсу XBee та Arduino
14.  Кнопка EASYLINK XBee
15.  Тримач батареї RTC: для батареї CR1220
16.  TLC1543 - перемикач для опорної напруги (5 В або 3,3 В)
17.  Перемички RTC
18.  Перемички UART:
·    коли підключені P_RX і CP_TX, P_TX та CP_RX, то USB TO UART підключено до послідовного порту RPi;
·    коли підключені XB_RX та CP_TX, XB_TX та CP_RX, відповідно, то USB TO UART підключено до послідовного порту XBee;
·    коли підключення XB_RX та P_TX, XB_TX та P_RX, відповідно, то послідовний порт RPi підключений до послідовного порту XBee.
19.  Перемички вибору АЦП Arduino:
·    закорочені 2 і 3: виводи A0-A5 Arduino як входи АЦП;
·    закорочені 1 і 2: виводи A0-A5 Arduino цифрові.
20.  Перемички вибору I2C Arduino:
·    перемичка закорочена: виводи A4-A5 Arduino для керування I2C (необхідно видалити перемичку для вибору A4-A5 АЦП Arduino)
21.  Перемичка вибору SPI Arduino:
·    закорочені 1 і 2: виводи D11-D13 Arduino для керування SPI (за замовчуванням);
·    закорочені 2 та 3: виводи D11-D13 Arduino як цифрові.

Інсталяція бібліотек для RPi

Щоб використати ARPI600 спільно з RPi необхідні деякі бібліотеки, які встановимо вручну. Це бібліотеки:
·    bcm2835 libraries
·    wiringPi libraries

Інсталяція бібліотеки WiringPi

Перейдіть за цим посиланням, щоб завантажити бібліотеки wiringPi, або ви також можете отримати останню версію на вебсайті WiringPi: https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/

Копіюйте інсталяційний пакет на свою власну систему через USB флешку, або скористайтеся WiSCP, щоб перекинути директорію з десктопного комп’ютера на RPi. Зайдіть в директорію WiringPi і виконайте інсталяцію:

sudo chmod 777 build
./build

Запустіть наступну команду для перевірки інсталяції:

gpio –v

Інсталяція бібліотеки C bcm2835

Хоча на Raspberry Pi 3 використана схема bcm2837, а не bcm2835, на сайті розробника плати запевняють, що бібліотека для bcm2835 працює. Цікаво, а як з підримкою 4-х ядер?

Перейдіть за посиланням, щоб завантажити бібліотеку bcm2835-1.55. Також останню версію бібліотеки можна отримати на сайті bcm2835: http://www.airspayce.com/mikem/bcm2835/

Копіюйте інсталяційний пакет на RPi, перейдіть в директорію bcm2835-1.55 бібліотек, щоб виконати наступні команди для інсталяції:

./configure
make
sudo make check
sudo make install

Інсталяція бібліотек Python

Бібліотеки Python для Raspbian (вміщують інсталяційні пакети RPi.GPIO і spidev. Див.: https://pypi.python.org/pypi/RPi.GPIO https://pypi.python.org/pypi/spidev) отримують за допомогою команд пакету apt-get.
Переконайтеся, що ваш Raspberry Pi підключений до мережі, коли використовуєте команди apt-get для інсталяції бібліотек. Перед інсталяцією вам необхідно запустити наступну команду, щоб оновити список програмного забезпечення:

sudo apt-get update

1. Запустіть наступну команду для інсталяції пакету python-dev:

sudo apt-get install python-dev

2. Інсталюйте пакет RPi.GPIO (функції інтерфейсу GPIO). Копіюйте інсталяційний пакет RPi.GPIO (https://pypi.python.org/pypi/RPi.GPIO) на свою плату RPi і розархівуйте його. Зайдіть в створену директорії з терміналу і запустіть наступну команду для інсталяції бібліотеки:

sudo python setup.py install

3. Запустіть наступну команду для інсталяції бібліотеки smbus (функції інтерфейсу I2C):

sudo apt-get install python-smbus

4. Запустіть наступну команду для інсталяції бібліотеки послідовного порта, яка підтримує функції інтерфейсу UART:

sudo apt-get install python-serial

5. Інсталюйте бібліотеки spidev (функції SPI). Копіюйте інсталяційний пакет spidev (https://pypi.python.org/pypi/spidev) на вашу плату RPi і розархівуйте його. Зайдіть в створену директорії і запустіть з терміналу наступну команду для інсталяції бібліотеки:

sudo python setup.py install

6. Запустіть наступну команду для інсталяції бібліотеки Python:

sudo apt-get install python-imaging

Конфігурація інтерфейсів

(Перед тим, як запустити надані нам коди API, слід запустити відповідні драйвери основних інтерфейсів. У файлі образу готової системи для використання як I2C, так і SPI встановлені значення Дозволено за замовчуванням, але послідовний порт все ще знаходиться в режимі функціональної налагодження термінала.)

1. Увімкніть функцію I2C. Запустіть наступну команду для конфігурації плати RPi:

sudo raspi-config

Виберіть Advanced Options -> I2C -> yes для запуску драйвера ядра I2C. Після цього треба модифікувати файл конфігурації. Запустіть наступну команду, щоб відкрити для редагування файл конфігурації:

sudo nano /etc/modules

Додайте наступні два рядки у файл конфігурації:

i2c-bcm2708
i2c-dev

Натисніть клавіші Ctrl+X для виходу і введіть Y, щоб зберегти зміни. Тепер перезавантажте модуль, щоб зміни почали працювати.

2. Увімкніть функцію послідовного порта. Послідовний порт RPi встановлений для виконання функції режиму налагодження послідовного терміналу. Якщо ви хочете, щоб служби послідовного порту були загальними IO, вам слід змінити налаштування на RPi. Коли функція налагодження терміналу вимкнена, буде неможливо отримати доступ до плати RPi через послідовний порт. Якщо хочете керувати RPi, вам може знадобитися знову ввімкнути функцію налагодження послідовного порту.

sudo raspi-config

Виберіть Advanced Options -> Serial. Виберіть опцію no, щоб відключити функцію налагодження послідовного порта. І тоді, послідовний порт може бути використаний для послідовного зв'язку. Виберіть опцію yes, щоб увімкнути функцію налагодження послідовного порта. Вам слід перезавантажити модуль, щоб ввести в дію налаштування.

Примітка: послідовний порт на Raspberry Pi 3 Model B не можна відразу використати, тому що виводи 14 і 15 підключені до вбудованого модуля Bluetooth. Для використання необхідно спочатку внести зміни у файл конфігурації.

3. Запустіть функцію spi за допомогою наступної команди:

sudo raspi-config

Виберіть Advanced Options -> I2C -> yes, щоб запустити драйвер ядра I2C.

Налаштування годинника реального часу (RTC)

1.    Перевірте, чи встановлені перемички RTC JMP на ARPI600.
2.    Відкрийте LXTerminal на робочому столі Raspbian і введіть код:

i2cdetect -y 1

3.    Тепер, ви повинні побачити адресу пристрою PCF8563, підключеного до RPi. Нижче на рис. адреса пристрою PCF8563 - 51, що означає, що PCF8563 ідентифікований RPi.
Адреси пристроїв PCF8563, приєднаних до RPi:

4.    Відкрийте LXTerminal і виконайте команди:

modprobe i2c-dev
sudo chmod 766 home/sys/class/i2c-adapter/i2c-1/new_device

echo pcf8563 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
hwclock

(Прочитайте час приєднаного через шину I2C RTC. LXTerminal покаже час від PCF8563, який може відрізнятися від часу Raspbian)

5.    Запустіть LXTerminal і виконайте команди:

hwclock -w (записати час Raspbian в PCF8563)
hwclock -r (синхронізувати час від Raspbian на PCF8563)
hwclock -s (синхронізувати час Raspbian за допомогою RCT)

Завдання

Реалізуйте синхронізацію часу від PCF8563 до Raspbian, якщо відсутній доступ до Інтернету, і від Raspbian до PCF8563, якщо є такий доступ.

Попереднє заняття - Наступне заняття

Новини

  • SDR в IoT

    iotSDR пропонує платформу розробок для IoT-радіо та мережевих доменів. На платі два передавачі Microchip AT86RF215, для вводу-виводу модему на Xilinx ZYNQ SoC, приймач GNSS MAX2769 для GPS, Galileo, BieDou та Glonass. Плата сумісна з ПЗ GNURadio SDR. Дозволяє розробити протоколи фізичного рівня LoRa, SigFox, WightLess, Bluetooth, BLE, 802.15.4, ZigBee тощо для IoT, або шлюз IoT через TheThingsNetwork, LPWAN або Google Thread. Пам'ять EEPROM: 1x AT24MAC602 , flash-пам'ять: 1x QSPI 128 Мб, RAM: 256 MБ DDR3,слот для Micro SD карти, входи/виходи: 2x 8-бітних інтерфейси PL, інтерфейс 8-бітного PS, Gigabit Ethernet, USB 2.0 (USB3310), USB 2.0 (CP2104), 2x SMA RF-роз'єми для приймача діапазонів IoT, 2x SMA RF-роз'єми для приймача 2,4 ГГц , RF-роз'єм приймач GNSS, FPGA-роз'єм JTAG для програмування. Розміри плати: 76,2 мм x 101,6 мм.

     

    in Новини

Записатися на курс