LXF165-166: Сверхзадача для Raspberry Pi
|
|
|
Содержание
|
Сверхзадача для Raspberry Pi
Бен Эверард со своим верным паяльником научит вас извлечь из Pi максимум.
Впервые мы рассказали о Raspberry Pi в феврале, сразу после их выпуска. Мы их сразу полюбили, но не знали, придутся ли они по душе всем остальным. Не думаем, что на тот момент кто-то испытывал к ним большую привязанность.
Однако Raspberry Pi задели внутренние струнки любителей со всего мира так, как ни одно устройство за последние годы. Начальная партия количеством 10 000 штук разлетелась так быстро, что только самым везучим и убежденным фанатам удалось урвать себе экземпляр, а сейчас они распродаются буквально с конвейера. Да чему тут и удивляться – ведь всего за £30 вы получаете рабочий компьютер с Linux, с процессором ARM и 512 MБ ОЗУ (на платах, выпущенных после 15 октября), размером с кредитную карту.
Цель данного проекта – революционизация отсталого компьютерного образования в Великобритании, но пока рано судить, будет ли она достигнута. Одно можно сказать уверенно: миру любительского хакерства оборудования прежним уже никогда не быть. Эти крошечные, но полнофункциональные системы идеальны для внесения возможности обработки данных в необычные места, где в большом дефиците пространство и электроэнергия. Их отправляли в космос и готовят для пересечения океанов, но с тем же успехом они применяются в домашних пивоварнях и для дистанционного управления автомобилями. Мы рассмотрим ряд интересных проектов для Pi и технологии превращения Pi в устройство вашей мечты. Благодаря всесторонности и глубине инструментов Linux, Pi легко превратить во что угодно, от настольного компьютера до мультимедиа-центра или контроллера оборудования.
Дистрибутивы
Как вы резонно предполагаете, для Pi имеется масса дистрибутивов, и создается впечатление, что еженедельно появляются все новые и новые. Здесь мы рассмотрим самые популярные, а также парочку свежих.
Устанавливается дистрибутив не совсем так, как на обычном компьютере. Поскольку все работает с SD-карты, нужно всего лишь записать на эту карту новую операционную систему. Проще всего сделать это утилитой командной строки dd. Этот инструмент записывает данные, бит за битом передавая их между устройством и файлом (или, при необходимости, между двумя файлами или двумя устройствами). Дистрибутивы идут в виде файлов-образов (немного похоже на файлы ISO для CD), которые можно записать на диск после распаковывания с помощью
sudo dd if=<image-file> of=<sd-card-device> bs=4k
sudo sync
Вторая строка обеспечивает запись всех данных на карту без отсидки в каком-либо буфере. Скажем, на нашем тестовом компьютере, оборудованном двумя жесткими дисками (sda и sdb), SD-карта появляется, как dev/sdc. Если вы не уверены в том, каким устройством отображается ваша SD-карта, запустите в терминале df –h, и вы увидите список всех устройств. Из него должно быть все ясно.
Чтобы сделать резервную копию настройки вашего Raspberry Pi, можете создать новый файл образа, поменяв флажки if (input file) и of (output file) в команде dd. То есть:
sudo dd if=<sd-card-device> of=<new-imagefile> bs=4k
Затем этот образ можно сжать с помощью gzip или bzip, чтобы он не занимал слишком много места на жестком диске.
Raspbian
Этот дистрибутив рекомендует Raspberry Pi Foundation. Если у вас нет веской причины использовать иной дистрибутив, он, вероятно, будет наилучшим выбором. Основан он на Debian Wheezy, и вы мигом сможете установить что угодно из обширных репозиториев Debian.
Средой рабочего стола по умолчанию является LXDE, который славен исключительной легковесностью, но некоторые полагают, что он предлагает лишь самую основу. Для любителей графических прелестей имеется Xfce. В нем есть программа raspi-config, дающая, вероятно, самый простой способ настройки вашего Pi.
Raspberry Pi создавался для того, чтобы увлечь детей программированием, и Raspbian соответствует этому намерению. Вы обнаружите на его экране Idle (IDE Python) и Scratch (среду программирования для детей). Берите его с сайта www.raspberrypi.org.
Raspbmc
Может быть, Raspberry Pi и создавался в качестве образовательного инструмента, но любители очень быстро превратили его в игрушку. Данный дистрибутив намерен превратить ваш Pi в мультимедиа-центр, пригодный для управления ТВ. Он основан на XBMC, который позволяет воспроизводить музыку и видео, имеющиеся у вас в виде файлов, или в виде потока из Интернет. Образ можно скачать с www.raspbmc.com. Более подробная информация по установке и настройке Raspbmc приводится на следующих страницах. Если у вас настроен движок MythTV, можете использовать XBMCPi для обеспечения внешнего интерфейса.
В зависимости от того, что вы намереваетесь воспроизвести, вам, возможно, придется приобрести пакет кодеков для доступа к защищенным патентами алгоритмам видео и аудио.ия возможности обработки данных в необычные места, где в большом дефиците пространство и электроэнергия. Их отправляли в космос и готовят для пересечения океанов, но с тем же успехом они применяются в домашних пивоварнях и для дистанционного управления автомобилями. Мы рассмотрим ряд интересных проектов для Pi и технологии превращения Pi в устройство вашей мечты. Благодаря всесторонности и глубине инструментов Linux, Pi легко превратить во что угодно, от настольного компьютера до мультимедиа-центра или контроллера оборудования.
Arch Linux
Если Raspbian пытался защитить пользователей от внутренней настройки операционной системы, то Arch Linux призван помочь пользователям досконально разобраться, как функционирует операционная система.
Изначальный образ, доступный на www.raspberrypi.org, включает только базовую систему, чтобы ваш Pi заработал и соединился с сетью. В него не включены многие программы, которые могут вам понадобиться для работы с системой, например, графическая среда. Необходимую вам информацию вы найдете на http://bit.ly/9APmgA.
Превращение Arch из изначального состояния в рабочую систему потребует некоторых усилий, но в процессе вы узнаете, как взаимодействуют внутренние составляющие дистрибутива Linux.
Конечно, только вы сами можете решить, стоит ли Arch таких трудов.
Android
Официальная версия Android для Pi находится в разработке (официальное в ней то, что она одобрена Raspberry Pi Foundation). Представлено видео его работы. Когда готовилась эта статья, он не был доступен для скачивания, но на момент вашего чтения ситуация может измениться. Все новости объявляются на www.raspberrypi.org.
Сообщество работает над неофициальной версией. Производительность у нее хуже, чем должна быть у официальной (разработчики ее описывают как «просто пригодную к использованию»), зато она доступна уже сейчас.
Если это вас заинтересовало, загляните на сайт проекта – www.razdroid.net.
Raspbian
Для большинства пользователей Raspberry Pi Raspbian является графическим лицом Pi. Его можно найти и установить на SD-карту, следуя инструкциям с предыдущей страницы. Установив и подготовив его к работе, было бы неплохо найти самые свежие версии всех программ: выйдите с вашего Pi в Интернет, откройте терминал и запустите
sudo apt-get update
sudo apt-get upgrade
Совершенно убойная функция в Raspbian – программа raspi-config. Она запустится автоматически при первой загрузке, или ее можно запустить в любое время, введя в терминале sudo raspi-config. В ней имеется несколько функций, но важнейшие из них таковы:
» expand_rootfs Из-за способа установки Raspbian, тот создает только файловую систему размером 2 ГБ, и если ваша карта больше по объему, все оставшееся место будет пустовать. Вы можете использовать эту опцию, чтобы расширить файловую систему и не дать месту на карте пропасть зря.
» memory_split Raspberry Pi использует одинаковый объем памяти для основного процессора и для графического чипа. С помощью данной опции вы можете изменить этот показатель для каждого из них.
» overscan Эта опция применяется на некоторых дисплеях, чтобы задействовать для отображения графики все пространство экрана. Ее можно благополучно игнорировать, если не возникнет никаких проблем.
» overclock получите дополнительные 50 % производительности без всяких дополнительных затрат! Более подробно вы узнаете об этом из врезки.
» boot_behaviour Эта опция с несколько загадочным названием дает возможность выбора – загрузить ваш Pi в графической или текстовой среде.
Количество установленных программ минимально. Это хорошая идея, но вы можете обнаружить, что здесь не хватает инструментов, к которым вы привыкли в других дистрибутивах. К счастью, поскольку Raspbian соединен с репозиториями Debian Armhf, у вас есть доступ к большему количеству программ, чем человеку нужно. Мышелюбы, видимо, захотят установить графический менеджер пакетов. Мы рекомендуем Synaptic. Чтобы установить его, введите в терминале
sudo apt-get install synaptic
Затем его можно открыть, перейдя в LXDE menu > Preferences >Synaptic Package Manager. После этого устанавливайте любые программы, какие захотите.
15 крутых уловок Raspberry Pi
1 Превратите Pi в ноутбук: http://logeeka.ru/raspberry-pi/
2 Используйте в качестве экрана Kindle: www.ponnuki.net/2012/09/kindleberry-pi
3 Превратите Pi в суперкомпьютер (почти): http://bit.ly/OGBGfD
4 Управляйте Arduino через Сеть: http://bit.ly/Xyjsld
5 Создайте синтезатор: www.raspberrypi.org/archives/1878
6 Бродите по ночам: www.aonsquared.co.uk/the_dark_pi_rises
7 Управляйте настройкой солнечных батарей: http://bit.ly/MHwCHF
8 Беседуйте с иностранцем: www.willpowell.co.uk/blog/?p=219
9 Отправьте груз в (ближний) космос: www.daveakerman.com/?p=592
10 Контролируйте свой дом из Сети: http://bit.ly/WK1YCR
11 Варите пиво: http://bit.ly/PSfdzr
12 Учредите школьный класс в коробочке: http://elinux.org/Rubus
13 Играйте в старые игры: http://petrockblog.wordpress.com/retropie
14 Учитесь создавать ОС: www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os
15 Создайте будку моментального фото: http://bit.ly/PvmWjF
Разгон процессора
Процессор в сердце Raspberry Pi предназначен для работы на частоте 700 MГц, то есть совершения 700 000 000 операций в секунду. Естественно, «предназначен для работы» не означает «обязан работать». Вы можете увеличить эту скорость.
Однако тогда увеличится и энергопотребление, что, в свою очередь, усилит нагрев. Если Pi чересчур перегреется, вы, вероятнее всего, получите вместо рабочего процессора дымящийся кусочек кремния.
К счастью, свежая версия Raspbian (2012-9-18) включает инструмент, который поможет вам нарастить скорость, заодно следя за температурой. Поскольку это официальный инструмент, его применение не нарушит вашей гарантии (в отличие от более ранних неофициальных методов).
Разгон вашего Pi означает всего-навсего запуск sudo raspi-config и выбор Overclocking. Здесь есть несколько опций, из которых предстоит сделать выбор, в зависимости от того, на что вы отважитесь. Если вы заметите, что ваш Pi стал нестабилен, перезагрузитесь, нажав и удерживая клавишу Shift, чтобы отключить разгон, а затем измените настройку, выбрав другую опцию в raspi-config. Максимальные параметры дадут вам дополнительные 50 % скорости, что, по нашему мнению, значительно улучшает работу, особенно если речь идет о работе в сети.
Если вам нужно приглядывать за температурой, добавьте виджет Temperature на панель LXDE.
Однако ваш Pi автоматически отключит разгон, если температура достигнет 85 °C.
RaspBMC
Вы можете установить на Raspbian медиа-плейер, такой как VLC, и использовать его для просмотра видео. Это отлично работает, если вы используете свой Pi как обычный компьютер и только периодически наделяете его мультимедийными функциями. Однако малый размер и бесшумность работы устройства делают его отличным выбором для создания собственного развлекательного центра.
Можно начать с Raspbian и настроить его в соответствии со своими потребностями, и это – неплохая мысль, если вы подумываете о каких-то необычных функциях. Однако мы здесь, в Linux Format, довольно ленивы и предпочитаем стянуть плоды тяжких трудов других людей, вместо того, чтобы надрываться самим. К счастью для нас (и для вас тоже), команда хакеров уже выполнила самую трудную часть работы по созданию мультимедиа-центра для Raspberry Pi и подготовила пакеты.
Воззьмите программу установки с http://bit.ly/PSFGIe или с диска и скопируйте ее на свой Pi (вам понадобится рабочий Raspbian, откуда мы и начнем). Затем надо просто запустить
sudo python install.py
чтобы скачать и настроить дистрибутив. Данные на вашей SD-карте будут уничтожены, так что сначала сделайте резервные копии всех важных файлов на другом носителе.
По окончании работы инсталлятора перезагрузите систему. Как только запустится графическая среда, вы увидите разницу.
Здесь используется популярный мультимедийный рабочий стол XBMC, весьма непохожий на LXDE, с которым вы, возможно, работали в Raspbian. Вы можете воспроизводить медиа, хранящиеся локально, или, через дополнения, воспроизводить потоковый контент из Интернета.
Музыку и видео можно добавлять к вашей настройке или с помощью устройства USB, или прямо на SD-карту с помощью FTP (имя пользователя – pi, пароль – raspberry). См. ниже информацию по поиску IP-адреса.
Вероятно, единственная настройка, которую вам придется сделать – это позаботиться о том, чтобы звук направлялся в нужное место. В System > System > Audio Output проверьте, чтобы Output был установлен на Analog, если вы используете гнездо, или HDMI, если используете этот интерфейс.
Все это хорошо, но управлять телевизором мышью и клавиатурой как-то не очень комфортно. Славные парни из XBMC учли это, и добавили поддержку дистанционного пульта. Самый простой и удобный способ сделать это – используя web-интерфейс RaspBMC. С его помощью любое устройство с web-браузером, находящееся в той же сети, что и Pi, может управлять воспроизведением.
Эта функция включена по умолчанию, и все, что от вас требуется – это выяснить IP-адрес Pi в System > System Info (нужно настроить его так, чтобы он был статическим IP на вашем маршрутизаторе). Затем на любом другом устройстве, присоединенном к сети, откройте браузер и направьте его на этот IP.
Те, кто идут в ногу со временем и используют мобильное устройство с Android или iOS, найдут солидный выбор в разнообразных магазинах приложений, и смогут сделать то же самое в интерфейсе поприятнее, чем страницы HTML.
Мы обнаружили, что Raspbian вытягивает всю энергию из источника питания. Если вы добавите еще и периферийные устройства и обнаружите, что он стал нестабилен, причина может быть именно в этом. Лучшим способом решения данной проблемы будет подсоединение всех устройств USB через хаб с собственной подпиткой.
Пойдем еще дальше
Можно полностью управлять ТВ с помощью Linux, например, смотреть прямые трансляции и записывать передачи – например, при посредстве MythTV (который находится на www.mythtv.org). Вам понадобится отдельный компьютер с соответствующими кабельными соединениями, который работал бы в качестве сервера.
Однако мы должны предупредить: MythTV известен привередливостью своей настройки. Из-за стрессов, полученных во время этой процедуры, у редактора LXF Грэма Моррисона появился не один седой волос.
Вы можете воспроизводить видеофайлы, хранящиеся на других компьютерах в вашей сети, например, на сетевом устройстве хранения (Network Attached Storage, NAS). Выбор способа воспроизведения зависит от типа выдачи доступа к этим файлам, но тот настраивается кнопками Add Sources. Более подробную информацию вы найдете в wiki на сайте http://bit.ly/OOvXb6.
Контроллер камеры
Создайте резервные копии своих фотографий с помощью Pi.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Размер Raspberry Pi позволяет управлять им другими встраиваемыми устройствами. Это может показаться перебором – ведь встраиваемые устройства в той или иной форме уже снабжены контроллерами; но это означает, что можно расширять их и создавать для них скрипты такими способами, которые просто невозможны (или, по крайней мере, очень трудны) без дополнительных устройств. Практически все, что подключается к обычному настольному компьютеру, можно запрограммировать на Pi, но мы здесь рассмотрим камеры, на что есть несколько причин. Во-первых, большинство их поддерживается в Linux, и во-вторых, есть ряд полезных проектов, которыми вы сможете заняться, разобравшись с основами.
Лучший инструмент командной строки для работы с камерами в Linux – Gphoto2. Его можно установить командой
apt-get install gphoto2
Прежде чем углубиться в проект, рассмотрим, что умеет этот полезный инструмент. Среда рабочего стола может попытаться подмонтировать камеру, из-за чего у Gphoto2 бывают проблемы, так что самый простой способ – запустить его без этого. Откройте терминал и запустите sudo rasbpi-conf, и в Boot Behaviour выберите No, чтобы не запускать систему окон, и затем перезагрузитесь. В нашей тестовой системе мы обнаружили, что таким образом можно запустить все, что угодно, обойдясь энергоснабжением Pi, но если в то же время использовать мышь, придется применить подпитываемый хаб. Естественно, это зависит от особенностей ваших периферийных устройств и энергоснабжения.
В новой текстовой среде подключите камеру и скомандуйте
gphoto2 --auto-detect
Команда попытается найти все камеры, присоединенные к вашему Pi. Будем надеяться, она и вашу обнаружит. И хотя она поддерживает внушительный список камер, есть несколько таких, которые работать не будут. Если ваша относится как раз к числу неудачников, то вам придется выпросить, стырить или занять камеру у друга, прежде чем продолжать процесс.
Не все поддерживаемые камеры одинаковы, и следующим шагом будет выяснение того, что умеет камера. Для вывода списка имеющихся действий запустите
gphoto2 --auto-detect –abilities
Не вдаваясь в подробности, можно сказать, что есть два класса способностей: съемка и загрузка/скачивание. Первая позволяет делать снимки с помощью скриптов и присутствует в основном на высококачественных камерах. Вторая позволяет работать с фотографиями, хранящимися на карте памяти, и имеется в большинстве поддерживаемых камер. В данном проекте мы будем работать только со вторым набором способностей.
Самая простая команда, которую мы можем отправить в камеру – получить все фотографии, хранящиеся в ней:
gphoto2 --auto-detect --get-all-files
Она запустит скачивание всех фотографий с камеры в текущую директорию. На обычном компьютере это нормально, но вам, возможно, не захочется делать этого на Pi, поскольку есть риск слишком быстро заполнить память. Вместо этого мы скопируем их на флэшку USB. Чтобы сделать это в интерактивной сессии, можете просто подмонтировать флэшку инструментом GUI, затем запустить df -h, чтобы увидеть, куда она подмонтирована, и перейти в эту директорию. Однако, поскольку это будет происходить автоматически, нам надо знать, где будет находиться устройство. Это можно сделать несколькими способами, но мы не будем усложнять. Мы подмонтируем первый раздел первого серийного диска, и будем сохранять фотографии туда.
Мы предполагаем, что вы работаете как пользователь по умолчанию – pi. Если нет, надо настроить скрипт. Во-первых, нам нужна точка монтирования для диска. Это просто папка, и ее можно воткнуть куда угодно – мы «нарушим конвенцию» и поместим ее в нашу домашнюю директорию. Поэтому перед вызовом скрипта запустите
mkdir /home/pi/pic_mount
Теперь мы готовы приступить. Вот скрипт для монтирования диска и скачивания фотографий:
- !/bin/bash
if mount /dev/sda1 /home/pi/pic_mount ; then
echo “Раздел смотнирован”
cd /home/pi/pic_mount
yes ‘n’ | gphoto2 – auto-detect --get-all-files
umount /dev/sda1
else
echo “/dev/sda1 невозможно смонтировать”
fi
yes ‘n’ – это команда, которая просто выпускает поток символов n. Это означает, что команда Gphoto2 переписать ранее загруженные файлы будет отклонена. Крайне важна umount, потому что она обеспечивает должную синхронизацию диска и возможность его удаления.
Мы назвали скрипт get-pics.sh, и сохранили его в домашней директории Pi. Чтобы сделать его исполняемым, запустите
chmod +x /home/pi/get-pics.sh
Теперь вы должны суметь запустить его вручную. Вам придется использовать sudo, потому что скрипту нужно монтировать диск.
Последний кусочек мозаики – заставить скрипт запускаться автоматически. Для этого мы добавили его в файл /etc/rc.local. Этот скрипт запускается при загрузке и исполняется от имени root, так что насчет разрешений переживать незачем. Просто откройте файл в текстовом редакторе от имени root, например, sudo nano /etc/rc.local, и добавьте строку
/home/pi/get-pics.sh
///end code///
прямо перед строкой exit 0.
Вам остается только подключить свою камеру (убедитесь, что она включена) и устройство USB, и ваши фотографии будут копироваться при загрузке.
Пойдем еще дальше
Если вы хотите запустить устройство без клавиатуры и мыши, что вполне ожидаемо, вы можете присоединить светодиоды (LED) к контактам GPIO, как это было показано в нашей статье, и использовать их для отображения статусов.
Помимо сохранения фото на устройстве USB, можете загружать их на онлайн-сервисы – например, Flickr. В таблице по беспроводному подключению вы найдете информацию о том, как подключить ваш Pi к телефону.
Вы можете ввести нечто вроде выключателя, чтобы сообщать Pi, какие фотографии нужно загрузить, а какие сохранить на USB-носителе: например, загружать изображения с низким разрешением и сохранять изображения с высоким разрешением. Или можно создать версии изображений с низким разрешением и загрузить их.
Конечно, на этом можно и не останавливаться. Если в вашем Pi имеется сетевой адаптер, воспользуйтесь им для запуска сервера HTTP. С помощью скриптов PHP (или другого языка) вы сможете создать интерфейс для Gphoto2, который позволит вам подключаться к своему мобильному телефону.
Теперь развернемся в другую сторону: если ваша камера поддерживает опции съемки, вы сможете не только копировать своим Pi фотографии, но и делать их.
Работа в сети
Raspberry Pi поставляется с проводным соединением Ethernet, что прекрасно подходит в большинстве случаев, но иногда кабель просто не дотягивается до нужного места.
При желании вы можете использовать беспроводной USB-брелок. Однако если у вас есть телефон Android и ваш носитель не отключил эту функцию, примените его в качестве сетевого устройства. У него имеется то преимущество, что он потребляет меньше энергии, чем Pi, и поэтому облегчает возможность употребления для его питания батареек.
У вас должно получиться подключить телефон и к Wi-Fi, и к 3G, чтобы не повлиять на лимит данных. Конечно, лучше всего проверить тип подключения до начала закачки больших файлов. Для этого подключите телефон к Pi, и отключите режим модема [tethering] в Settings > Wireless and Networks > Tethering and Portable Hotspots (на телефоне). В Pi, если вы введете sudo ifconfig, вы должны увидеть список интерфейса usb0, но у него не будет IP-адреса.
Сетевые интерфейсы управляются файлом /etc/network/interfaces. По умолчанию здесь нет пункта для сетевого соединения USB, и нам надо его настроить. Откройте файл своим любимым текстовым редактором через sudo – например, с помощью sudo nano /etc/network/interfaces – и добавьте строки
iface usb0 inet dhcp
nameserver 208.67.220.220
nameserver 208.67.222.222
Здесь мы использовали серверы имен OpenDNS, но вы можете при желании использовать другие.
Теперь можете перезагрузить интерфейс или Pi, чтобы изменения вступили в силу, и у вас должно появиться рабочее интернет-соединение.
Передача информации
Используйте контакты GPIO, чтобы зажечь несколько светодиодов (LED).
Благодаря малому размеру, Raspberry Pi идеален для создания собственных встраиваемых устройств. Так можно успешно создавать небольшие компьютерные устройства для решения специфических проблем, что мы продемонстрировали с контроллером камеры. Однако есть небольшая загвоздка: как узнать, что происходит внутри вашего Pi, без экрана? К счастью, разработчики Pi подумали об этом и добавили возможность обмениваться информацией с Pi без множества обычных периферийных устройств для ПК. Это делается с помощью General Purpose Input and Output (GPIO) [Ввод и Вывод Общего Назначения]. Возможно, вы недоумевали, зачем нужны эти острые штырьки около устройства считывания SD-карты – что ж, теперь вы знаете. Эта базовая схема может использоваться для отображения информации из любого источника, но здесь мы используем ее, чтобы решить проблему, с которой часто сталкиваемся в редакции LXF: обнаружение конечного байта IP-адреса.
Это полезно, если вам нужно удаленно управлять доступом к своему Pi, но нельзя настроить его статический IP-адрес, потому что, например, он перемещается из одной сети в другую. Обычно первые три байта вычислимы по сетевой маске, но последний может от вас ускользать, если у вас нет монитора.
Мы будем использовать программу gpio, являющуюся частью WiringPi. Более подробную информацию о ней ищите на сайте http://bit.ly/RP8UKJ.
Эта программа имеется также на DVD. Она идет в виде исходного кода, так что нам нужно распаковать его и скомпилировать с помощью
tar xvf wiringPi.tgz
cd wiringPi/wiringPi
make
sudo make install
cd ../gpio
make
sudo make install
Также мы будем использовать bc, поэтому установите его, командой
sudo apt-get install bc
Ну, довольно программ – перейдем к железу! Но сначала предупреждаем: неправильно соединив провода, вы сломаете свой Pi, так что дважды все проверьте перед тем, как включать питание.
Схема для этого очень проста: нужно просто соединить каждый вывод с плюсовой ножкой светодиода, потом минусовую ножку светодиода (обычно более короткую) – с резистором 1 KOм, и, наконец, другой контакт резистора – с общей землей. Более подробно это показано на рис. 1, 2 и 3.
Соединив полностью настроенную плату с Pi, приступим к работе. Для начала просто используем конечный контакт. Это контакт 7 (контакты расположены не в порядке номеров). Откройте терминал и настройте его на вывод командой
gpio –g mode 7 out
Затем включайте его с помощью
gpio --g write 7 1
а отключайте –
gpio --g write 7 0
Если вы похожи на нас, то вы будете заниматься этим, пока не надоест. После чего вы созрели запустить скрипт. Он разбит на четыре части. Первая часть просто настраивает контакты на нужный режим и обеспечивает их выключение:
pins=”7 8 25 24 23 18 15 14”
for x in $pins
do
gpio -g mode $x out
gpio -g write $x 0
done
Вторая получает IP-адрес от ifconfig, превращает его в двоичный, затем при необходимости снабжает нулями в начале.
ipaddress=`ifconfig eth0 | grep ‘inet ‘ | awk ‘{print $2}’ | cut -f4 -d’.’`
binary=`echo “ibase=10;obase=2;$ipaddress” | bc`
paddedBinary=`printf %08d $binary`
Следующая часть посредством cut вырезает нужную нам часть из этой двоичной строковой переменной и выводит ее на соответствующий контакт.
bit=1
for x in $pins
do
out=`echo $paddedBinary | cut -b$bit`
gpio -g write $x $out
bit=$((bit+1))
done
И, наконец, мы даем скрипту команду поспать в течение пяти минут, а затем отключаем светодиоды.
sleep 5m
for x in $pins
do
gpio -g write $x 0
done
Вот и все! Скопируйте showIP.sh с DVD, сделайте его исполняемым с помощью
chmod a+x showIP.sh
и введите sudo ./showIP.sh для отображения своего IP-адреса. Чтобы все это делалось автоматически при загрузке, добавьте строку
/home/pi/showIP.sh &
в rc.local. В разделе Контроллер Камеры вы найдете более подробную информацию о том, как это сделать.
Мы показали вам, как передавать информацию через GPIO, но его название предполагает, что оно может также и принимать информацию.
При этом еще более важно не направить слишком сильный ток на контакты. Чтобы принять информацию, просто настройте режим на прием с помощью gpio --g mode <pin number> in, затем считайте показатель с помощью gpio --g read <pin number>.
Это оборудование может отображать восемь битов любой информации, и вы можете не ограничиваться отображением только IP-адресов. Например, можно сделать модифицированную версию скрипта контроллера камеры, использовав светодиоды для отображения его состояния.
Более подробную информацию по всем контактам GPIO вы найдете на http://bit.ly/JTlFE3. Контакты, которые мы употребили, одинаковы в версиях 1 и 2 Raspberry Pi, но некоторые контакты впоследствии изменились. Если вы создаете собственную схему или используете схемы, найденные в Сети, убедитесь, что контакты пригодны для вашей платы.
Не ограничивайтесь простым включением и выключением контактов. Pi поддерживает несколько способов передачи более солидных объемов данных через GPIO. Самые популярные – шина Serial Peripheral Interface (SPI) и Inter-Intergrated Circuit (I2C).
Есть ряд устройств, которые их используют, и масса информации, которая поможет вам разобраться. Итак, чего же вы ждете? Берите паяльник – и вперед, к созданию собственной армии роботов. |
Закон Ома
Есть два основных способа измерить электричество: напряжение и сила тока. Напряжение (измеряется в вольтах) – это количество энергии, которым располагает определенное число электронов, а сила тока (измеряется в амперах) – это количество электронов, проходящих через определенную точку.
И оба этих параметра связаны между собой законом Ома, который гласит: Напряжение=Сила тока*Сопротивление, или U=IR. Вам следует учитывать эту взаимосвязь, чтобы случайно не спалить свой Pi, пропустив через него слишком сильный ток.
Настройка Pi представляет собой некоторую сложность. Для желающих как следует разобраться с ней Герт ван Лоо [Gert van Loo], один из разработчиков, составил объяснение, которое можно найти здесь: http://bit.ly/Qp4PMl.
Если рассматривать все это с практической точки зрения, вы можете рассчитывать на напряжение на выходном контакте GPIO величиной 3,3 В, и вам нельзя превышать силу тока 16 мA или подавать большую величину на входной контакт.
Это максимальная величина силы тока; старайтесь использовать ток меньшей силы. Итак, поскольку нам известно, что по закону Ома U=IR, то R=U/I. Если мы получаем данные с Pi и хотим быть уверенными в их сохранности, мы знаем, что R должно быть больше, чем 3,3/0,016, что составляет 206,25 Oм.
Помните, что это – самая малая величина сопротивления, которую можно безопасно использовать с выходом GPIO. Вам надо стремиться к обеспечению уровня безопасности в несколько раз выше этого, если только не возникнет крайней необходимости. В наших схемах мы использовали килоомы, что обеспечило нам фактор безопасности почти 5.
Gertboard и Arduino
Подключение напрямую к контактам GPIO вашего Pi может предоставить вам базовый контроль ввода-вывода, но оно не лишено ограничений. Есть два дополнительных компонента, которые помогут вам более точно взаимодействовать с миром вокруг вас.
Достаточно полный комплект расширений для связывания Pi с реальным миром – Gertboard, включающий микроконтроллер, а также ряд опций ввода-вывода. Он поставляется в разобранном виде, и вам придется поработать паяльником, чтобы его собрать.
А вот Arduino – это микроконтроллер, подключаемый к Pi (или любому другому компьютеру) через порт USB. Как правило, он поставляется готовым, но доступны также и комплекты частей. В сыром виде он имеет меньше функций, чем Gertboard (который включает микроконтроллер Arduino), однако может быть расширен огромным диапазоном щитков.