ПРОЕКТИ:

Безкоштовні точки доступу Wi-Fi в Україні

- Пошук людей через Інтернет

Тестуємо Wi-Fi доступ до Інтернету: моніторинг, безпека…__SEO - пошукова оптимізація – ключ до успіху

Безкоштовні телефонні дзвінки через Інтернет__Соціальні мережі, як спосіб знайти однодумців

Безпека при роботі в Інтернеті__Про Київ в Інтернеті

Arduino _

Raspberry Pi  Unix, Linux. Ubuntu, Fedora...- це не так вже й страшно

Знайти драйвер в Інтернеті  Пошук технічної документації

Сценарії для Інтернету   Пошук патентів в Інтернеті

Невидимий Інтернет    Пірингові мережі: видимі і невидимі

Посилання:

Сайт про все: isearch.in.ua

Персональний сайт Пальшина Єгора

Сайт мого учня

Ділова розвідка в Інтернеті

Як використовувати GPIO на Raspberry Pi (Raspbian-Wheezy)
Рейтинг статті: / 8
НайгіршеНайкраще 
GPIO-Raspberry-PiЄ два різних методи для запису і читання з периферійних пристроїв на вбудованих системах, що використовують Linux.
Перший з них - створюючи доступ через типи файлів до периферії в файловій системі, а другий - запис/читання базових адрес пам'яті, виділеної до GPIO або модуля SoC, використовуючи покажчики. Ці комірки пам'яті можна знайти в даних для BCM2835 у випадку Raspberry Pi.
Примітка: Призначення GPIO для Raspberry Pi відрізняється у версіях 1 і 2.
GPIO-Raspberry-Pi-1
Не використовуйте рівні напруги, що перевищують 3.3В, бо Raspberry Pi не підтримує 5В і не має захисту від перенапруги.
Перший метод (файлова система)
*Перед стартом startx
Використовуйте обліковий запис адміністратора (SuperUser) (після кожного перезавантаження) або використовуйте команду sudo перед будь-якою командою:
sudo su
Підключіть світлодіод через резистор між GPIO11 і GND.
GPIO-Raspberry-Pi-2
Створення файлового доступу до GPIO за допомогою консольних команд
Якщо Ви запишете у файл ./export в підкаталозі /sys/class/gpio/, то система створить файл зі структурою GPIO відповідно до входу. У нашому випадку ми хочемо створити доступ для запису безпосередньо в GPIO11 з метою керування світлодіодом.
Створіть файл доступу GPIO:
echo 11 > /sys/class/gpio/export
Налаштуйте напрямок передавання виводу (вхід/вихід):
echo out > /sys/class/gpio/gpio11/direction
Записуємо значення для включення світлодіода за допомогою GPIO11:
echo 1 > /sys/class/gpio/gpio11/value
Тепер Ваш світлодіод повинен засвітитися!
GPIO-Raspberry-Pi-3
Запишіть значення, щоб погасити світлодіод, підключений до GPIO11:
echo 0 > /sys/class/gpio/gpio11/value
Тепер Ваш світлодіод повинен погаснути!
Видаліть створений GPIO (11):
echo 11 > /sys/class/gpio/unexport
Ви можете організувати доступ до GPIO за допомогою python або іншої мови програмування. Ми написали сценарій на python, щоб показати, як з ним працювати. Завантажити.
Відкрийте новий термінал і виконайте сценарій:
wget https://sites.google.com/site/semilleroadt/raspberry-pi-tutorials/gpio/ADT_blink.py
python ADT_blink
Сценарій задасть питання, щоб вели, до якого виводу приєднали діод і скільки разів Ви хочете щоб він блимав:
Введіть номер GPIO, через який Ви хочете блимати діодом: 11
Введіть число раз, скільки б Ви хотіли блимнути, наприклад: 10
Тепер Ваш GPIO 11 блимає як новорічна ялинка.
Відкрийте сценарій python за допомогою текстового редактора і вивчіть всі рядки (спробуйте зрозуміти, що являє собою простий сценарій, який використовується для доступу до файлів)
Другий метод (покажчики)
Якщо Ви хочете читати/писати в GPIO з використанням покажчиків, то кращим способом буде встановити бібліотеку bcm2635, а щоб зрозуміти, як все працює, прочитати довідник bcm2835, починаючи з розділу 1.2.2.
Встановлення бібліотеки bcm2835:
wget http://www.open.com.au/mikem/bcm2835/bcm2835-1.15.tar.gz
tar zxvf bcm2835-1.15.tar.gz
./configure
make
make check
make install
Тепер Ви можете просто використовувати цю бібліотеку для доступу до GPIO, бібліотека використовує покажчики щоб писати/читати з GPIO або змінювати значення в регістрах HW, модифікувати функції кожної периферії (PWM-модулів, UART, тощо).
Завантажте приклад коду, написаний на C.
Відкрийте термінал і використайте gcc для компіляції коду:
wget https://sites.google.com/site/semilleroadt/raspberry-pi-tutorials/gpio/main.c
gcc -o main -l rt main.c -l bcm2835
Виконайте скомпільований код:
./main
Тепер Ваш світлодіод, підключений до GPIO11, блимає! Як і в прикладі з сценарієм на python.
Відкрийте код C за допомогою текстового редактора і вивчіть всі його рядки.
Тепер питання: який спосіб кращий, щоб отримати доступ до GPIO на Linux? Відповідь тут: http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/
ШІМ
Проект WiringPi - це бібліотека, яка включає в себе додаток для простого доступу до GPIO.
Для ШІМ вона дозволяє налаштувати апаратні модулі для спеціальних виводів PWM, а також використати програмне забезпечення для реалізації PWM на інших виводах.
Встановіть WiringPi (WiringPi використовує git, систему керування вихідним кодом):
sudo apt-get install git-core
Скачайте або "клонуйте" проект WiringPi і побудуйте його:
git clone git://git.drogon.net/wiringPi
./build
Якщо Ви вже його завантажили, то можете оновити до останньої версії:
cd wiringPi
git pull origin
./build
Для того, щоб використовувати додаток WiringPi, Вам треба знати призначення контактів, пов'язаних з ним, які пояснюються на цьому сайті: https://projects.drogon.net/raspberry-pi/wiringpi/pins/
Використання модуля HW для ШІМ.
Підключіть світлодіод за допомогою резистора між GPIO18 і GND. (Вивід 1 для WiringPi)
Зверніться до "довідкової сторінки" ("man page") в недавно встановленій програмі WiringPi під назвою "gpio":
man gpio
Зверніть увагу, що можете налаштувати вивід, щоб він був входом, виходом, ШІМ, up, down або мав три стани.
Відповідно до цього, налаштуйте GPIO18 (WiringPi вивід 1) для режиму HW ШІМ за допомогою командної оболонки:
gpio mode 1 pwm
Запишіть значення в модуль PWM (від 1 до 1023):
gpio pwm 1 500
Щоб видалити конфігурацію виводу, використовуйте:
gpio unexport 1
Щоб видалити всі конфігурації:
gpio unexportall
Не соромтеся використовувати програму GPIO для налаштування інших виводів як вхідних або вихідних (ШІМ тільки для спеціальних функціональних виводів типу GPIO18 (WiringPi 1), інші виводи ШІМ зайняті на 3,5 мм аудіо роз'єм.
UART
Для того, щоб використовувати виділені виводи для UART на Raspberry Pi, спочатку вони повинні бути видалені з їх застосування за замовчуванням, яке налагоджене. Для цього треба редагувати "/boot/cmdline.txt" і "/etc/inittab".
Можна зробити резервну копію цих файлів, якщо хочете повернутися пізніше до конфігурації за замовчуванням:
cp /boot/cmdline.txt /boot/cmdline.bak
cp /etc/inittab /etc/inittab.bak
Видаляємо параметри конфігурації "console=ttyAMA0,115200" і "kgdboc=ttyAMA0,115200" з конфігураційного файла "/boot/cmdline.txt" за допомогою редактора нано:
nano /boot/cmdline.txt
Закоментуємо останній рядок у файлі "/etc/inittab". Поставте '#' перед "T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100:
nano /etc/inittab
Тепер контакти RXD (GPIO15) і TXD (GPIO14) доступні для загального використання UART.
Нижче приклад програми використання виводів UART за допомогою Python і бібліотеку pyserial:
Для встановлення Pyserial завантажте останню версію з http://sourceforge.net/projects/pyserial/files/pyserial/
Встановіть, запустивши setup.py:
python setup.py install
Відкрийте термінал Python (пам'ятаєте, що завжди треба запускати під управлінням суперкористувача за допомогою sudo або su):
python
Для перевірки без необхідності під’єднання іншого пристрою, а просто підключимо TXD і RXD виводи Raspberry один одного.
Виконайте наступні команди з терміналу python:
import serial
ser = serial.Serial("/dev/ttyAMA0")
ser.write("UART the Font")
read = ser.read()
print read
ser.close()
Команда друку повинна вивести рядок, відправлений за допомогою команди запису. Для конфігурування порта UART, прочитайте наступну інструкцію: http://pyserial.sourceforge.net/shortintro.html
Встановіть "minicom" для емуляції терміналу:
apt-get install minicom
Ви можете використовувати minicom за допомогою наступних рядків команди:
minicom -b 9600 -o -D /dev/ttyAMA0
І, на закінчення, коротке відео про те, як використати виводи GPIO на Raspberry Pi за допомогою WebIOPi – веб-інтерфейсу для перемикання входів і виходів через мережу:
Тая Максимчук, магістрант НТУУ «КПІ» (За матеріалами sites.google.com)
 
>
КнигаНовиниПрактика пошукуПартнериПро нас
Підтримка та дизайн: Могильний С.С. Шаблон: Joomla Templates by BuyHTTP Joomla Hosting
Google Analytics Alternative