PYTHON
Інтерфейс на Python для роботи з модулем камери Raspberry Pi | Заняття 11
Веб-бот на Python | Заняття 15-16
Використання блокнота Jupyter | Заняття 2
Використання сенсорів з інтерфейсом I2C з Raspberry Pi | Заняття 21-22
Використання ШІМ та створення графічного інтерфейсу для керування світлодіодами | Заняття 5-6
Дослідження плати розширення Pioneer600 | Заняття 18-19
Зв’язок з Raspberry Pi через UART з використанням Python | Заняття 23
Керуємо кроковим двигуном за допомогою Python | Заняття 10
Керування двигуном постійного струму, використовуючи Python і Raspberry Pi | Заняття 7
Керування сервоприводом за допомогою сценарію Python | Заняття 9
Класи в Python та керування двома двигунами з Raspberry Pi | Заняття 8
Короткий довідник з Python
Куховарська книга Raspberry Pi для програмістів на Python
Навчання згорткової нейронної мережі з Keras | Заняття 4
Підключення сенсорів з інтерфейсом 1-Wire до Raspberry Pi | Заняття 20
Підраховуємо трафік в Mikrotik RouterBoard за допомогою скрипта Python
Перетворення тексту в мову з Raspberry Pi | Заняття 14
Початок роботи з платою розширення ARPI600 | Заняття 17
Починаємо працювати з Keras | Заняття 3
Починаємо програмувати на Python для Raspberry Pi | Заняття 1-2
PYTHON
ПОЧАТОК РОБОТИ З ПЛАТОЮ РОЗШИРЕННЯ ARPI600 | ЗАНЯТТЯ 17
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)
· Роз'єм 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 як цифрові.
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
· 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
./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
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 для інсталяції бібліотек. Перед інсталяцією вам необхідно запустити наступну команду, щоб оновити список програмного забезпечення:
Переконайтеся, що ваш 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
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 і введіть код:
2. Відкрийте LXTerminal на робочому столі Raspbian і введіть код:
i2cdetect -y 1
3. Тепер, ви повинні побачити адресу пристрою PCF8563, підключеного до RPi. Нижче на рис. адреса пристрою PCF8563 - 51, що означає, що PCF8563 ідентифікований RPi.
Адреси пристроїв PCF8563, приєднаних до RPi:
Адреси пристроїв PCF8563, приєднаних до RPi:
4. Відкрийте LXTerminal і виконайте команди:
modprobe i2c-devsudo chmod 766 home/sys/class/i2c-adapter/i2c-1/new_device
echo pcf8563 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
hwclock
hwclock
(Прочитайте час приєднаного через шину I2C RTC. LXTerminal покаже час від PCF8563, який може відрізнятися від часу Raspbian)
5. Запустіть LXTerminal і виконайте команди:
hwclock -w (записати час Raspbian в PCF8563)
hwclock -r (синхронізувати час від Raspbian на PCF8563)
hwclock -s (синхронізувати час Raspbian за допомогою RCT)
hwclock -r (синхронізувати час від Raspbian на PCF8563)
hwclock -s (синхронізувати час Raspbian за допомогою RCT)
Завдання
Реалізуйте синхронізацію часу від PCF8563 до Raspbian, якщо відсутній доступ до Інтернету, і від Raspbian до PCF8563, якщо є такий доступ.
Немає коментарів:
Дописати коментар