Советы

Raspberry Pi для домашней автоматизации. Структурная схема

Raspberry Pi для домашней автоматизации. Структурная схема

Сегодня четвертый урок, на котором мы поработаем с портами GPIO, в частности помигаем светодиодом в разных режимах.

Урок ориентирован на начинающих пользователей и представлен в текстовом и видео-форматах.

Видео четвертого урока:

Для урока нам понадобится:

  • плата Raspberry Pi;
  • кабель питания;
  • USB-клавиатура;
  • USB-мышь;
  • монитор или телевизор с HDMI/RCA/DVI интерфейсом;
  • кабель, один конец которого RCA или HDMI, а другой соответствует вашему монитору;
  • SD-карта с уже установленной ОС Raspbian ();
  • светодиод;
  • кнопка;
  • резистор на 220 Ом
  • 3 провода «мама-папа»
  • 2 провода «папа-папа».

Программирование Raspberry Pi GPIO на языке Python

Для сегодняшнего урока мы выбрали язык программирования Python.

Python — современный объектно-ориентированный язык. Он наиболее часто используется для программирования GPIO на Raspberry Pi. Python входит в состав операционной системы Raspbian.

Сборка модели

Для работы нам потребуется собрать следующую схему:

Схема подключения светодиода и кнопки к Raspberry Pi

Обратите внимание, что порты GPIO на Raspberry Pi не подписаны, полезно иметь распечатанную распиновку.

Распиновка Raspberry Pi. Схема с ledgerlabs.us

Собранная модель со светодиодом и кнопкой

Управление светодиодом на Raspberry Pi из консоли

Заходим в LXTerminal и набираем:

После этого вместо имени пользователя в начале строки должно отобразиться >>> .

Вводим следующие строки:

Import RPi.GPIO as GPIO #импорт библиотеки
GPIO.setmode(GPIO.BOARD) #"включение" GPIO
GPIO.setup(7, GPIO.OUT) #объявление 7-го пина как выход

Затем для включения светодиода можно использовать команду
GPIO.output(7, 1)

А для выключения
GPIO(output(7, 0)

После работы с GPIO желательно выполнить команду
GPIO.cleanup()

Программа для мигания светодиодом на Raspberry Pi

Для автономной работы светодиода нам потребуется написать и запустить программу. Для этого откроем предустановленную программу IDLE 3 и в меню File нажмем New. В открывшемся окне мы можем писать программу.

Напишем:
import RPi.GPIO as GPIO #импорт библиотеки для работы с GPIO
import time #импорт библиотеки для ожидания
GPIO.setmode(GPIO.BOARD) #"запуск" GPIO


____GPIO.output(7, 1) #включение светодиода

____GPIO.output(7, 0) #выключение светодиода
____time.sleep(1) #ожидание 1 секунды

Сохраним программу в папке /home/pi.

Теперь мы можем запустить программу из LXTerminal с помощью команды
sudo python programname.py

Управление светодиодом с помощью кнопки

Поуправляем светодиодом с помощью внешней кнопки: когда кнопка зажата — светодиод горит, когда отжата — не горит.

Для этого подключим кнопку к порту 5.

Для управления нам потребуется следующая программа:

Import RPi.GPIO as GPIO #импорт библиотеки GPIO
GPIO.setmode(GPIO.BOARD) #"включение GPIO"
GPIO.setup(7, GPIO.OUT) #объявление порта 7 как выход
GPIO.setup(3, GPIO.IN) #объявление порта 3 как вход
while True: #бесконечный цикл
____if GPIO.input(3) == False: #если кнопка зажата
________GPIO.output(7, 1) #включаем светодиод
____else: #иначе
________GPIO.output(7, 0) #выключаем

Управление светодиодом с клавиатуры

Сделаем еще одну программу. Она будет менять состояние светодиода при получении пустой строки и заканчиваться при получении другой строки.

Import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
while True:
____str = input("Enter - включение, другое - выход ");
____if str != "":
________break
____else:
________GPIO.output(7, 1)
____str = input("Enter - выключение, другое - выход ");
____if str != "":
________break
____else:
________GPIO.output(7, 0)
GPIO.cleanup()

На этом четвертый урок по Raspberry Pi для начинающих закончен, продолжение следует!

Raspberry PI - это устройство имеющее достаточную производительность для того чтобы на его основе могли быть построены роботы способные распознавать образы, выполнять работу людей и прочие подобные устройства для автоматизации и выполнения сложных вычислительных действий. Т.к. тактовая частота процессора Raspberry PI 3 м.б. 1.2 ГГц а его разрядность 32 бита то Raspberry PI 3 значительно превосходит обычное Arduino у которого тактовая частота как правило 16 МГц а разрядность микроконтроллера 8 бит, Arduino безусловно занимает своё место в выполнении операций не требующих большой производительности но когда её уже не хватает Raspberry PI "приходит на помощь" и перекрывает такой большой диапазон возможных применений что можно быть абсолютно уверенным в целесообразности приобретения данного одноплатного компьютера Raspberry PI 3 (можно заказать по ссылке) . Т.к. Raspberry PI - это компьютер то для того чтобы его использовать нужно на него установить операционную систему (хотя существуют обходные пути но всё же лучше и проще установить операционную систему (ос далее)). Существует много ос которые можно установить на Raspberry Pi но одной из самых популярных (для использования с Raspberry Pi), наиболее подходящих для начинающих является ос Raspbian. Для того чтобы установить ос на Raspberry Pi понадобиться micro sd карта с расширителем для того чтобы её можно было вставить в обычный компьютер и записать на неё ос. Sd карта должна иметь не менее 4Гб памяти при установке полной версии Raspbian и не менее 8Гб для установки минимальных версий Raspbian. Минимальные версии могут не иметь (и скорее всего не имеют) графического интерфейса и много всего остального что может считаться лишним и занимает место. Для избежания проблем с отсутствием необходимых файлов, можно поставить полную версию. Можно использовать SD карту 10го класса и с 32Гб памяти (проверено работает (как см. видео ниже)). После приобретения карты памяти её надо вставить в компьютер в соответствующий разъём, после этого посмотреть с какой буквой появился диск в разделе "мой компьютер" и запомнить, потом надо скачать ос с официального сайта https://www.raspberrypi.org/downloads/raspbian/ нажав кнопку "Download ZIP" под "RASPBIAN JESSIE" для скачивания полной версии или под "RASPBIAN JESSIE LITE" для скачивания облегчённой но, для начинающих, лучше выбрать "RASPBIAN JESSIE" т.е. полную версию. После скачивания архива "RASPBIAN JESSIE" его нужно разархивировать, потом скачать программу (или от сюда https://yadi.sk/d/SGGe1lMNs69YQ), установить её, открыть, далее нужно в правом верхнем углу указать букву диска (запомненную ранее), найти разархивированный образ ос

И нажать кнопку "write".

После чего выведется окно с предупреждением и в этом окне надо нажать кнопку "Yes",

После того как запись закончиться и появится окно сообщающее об успешной записи (Write Successful) нужно нажать кнопку "Ok" в этом окне.

Потом закрыть программу, вытащить SD карту безопасным способом и вставить в Raspberry Pi.

Далее можно подключить к Raspberry Pi usb клавиатуру (или ps2 через ), usb мышь и монитор или телевизор через hdmi кабель или можно подключить ethernet кабель (но это для опытных пользователей поэтому далее рассмотрим первый вариант). После этого надо подключить питание через micro usb например от зарядного устройства от смартфона. После подключения питания начнётся установка операционной системы. Как правило в новых (на момент написания данной статьи) версиях ос уже настроена возможность связи с Raspberry Pi по SSH и поэтому для того чтобы настроить связь с Raspberry Pi 3 по wifi достаточно настроить только wifi, Для этого в правом верхнем углу экрана есть значёк на который нужно нажать и выбрать wifi,

После чего вписать пароль от данного wifi в появившееся текстовое поле,

После этих действий wifi на Raspberry Pi 3 будет настроен и дальше можно будет не используя провода программировать Raspberry Pi 3 удалённо по wifi. После настройки Raspberry Pi 3 можно выключить вписав в командной строке (в программе LXTerminal которую можно открыть двойным кликом по иконке программы) команду sudo halt или нажав соответствующие кнопки выключения в графическом режиме, после окончательного выключения можно отключить питание и при следующей подаче питания Raspberry Pi 3 включиться с wifi. Теперь чтобы программировать Raspberry Pi 3 по wifi нужно выяснить какой у него ip адрес. Для того чтобы это сделать надо подать питание на Raspberry Pi 3, дождаться окончания загрузки ос, зайти в веб интерфейс маршрутизатора (вписав в строке браузера 192.168.1.1 или то что надо для входа в веб интерфейс, ввести логин и пароль), найти вкладку DHCP Leases или что то подобное, найти там строку с raspberry и ip адрес Raspberry Pi 3.

Далее нужно открыть программу PuTTY (если её нет то перед этим скачать (или ) и установить) поставить порт 22, соединение по SSH, вписать в поле "Host Name (or IP Adress)" ip адрес Raspberry Pi 3,

После чего нажать кнопку "Open" внизу окна, далее появиться чёрное окно с предложением ввести логин. По умолчанию логин "pi" - его надо ввести и нажать enter. Далее надо ввести пароль, по умолчанию "raspberry". При вводе пароля он не отображается - это нормально. После того как пароль введён невидимыми буквами нужно нажать enter и если всё было сделано правильно то мы получим доступ к Raspberry Pi 3 если нет то нужно повторить действия. После того как получен доступ к Raspberry Pi 3 можно его программировать, для начала нужно войти в папку "pi" для этого надо вписать команду

И нажать enter (после cd обязательно пробел).
Теперь можно открыть текстовый редактор nano. Nano - это специальный текстовый редактор который есть на большинстве ос на подобии Linux и в котором можно написать программу для Raspberry Pi. Для открытия этого редактора и одновременно с этим создания файла с названием "first" и расширением "py" нужно вписать команду

И нажать enter. Откроется редактор nano и можно заметь что его интерфейс немного отличается но в основном - это то же чёрное поле в которое надо вписывать команды. Т.к. мы хотим управлять портами ввода вывода общего (GPIO) то прежде чем запустить программу по управлению этими портами, нужно подключить к ним какое нибудь устройство чтобы можно было видеть что управление получилось. Надо также отметить что пины настроенные как выходы у Raspberry Pi могут выдавать очень небольшой ток (предполагаю что до 25мА) и учитывая что Raspberry Pi это всё таки не самое дешёвое устройство то настоятельно рекомендуется позаботиться от том чтобы нагрузка на выводы не была слишком большой. Маломощные индикаторные светодиоды, как правило, могут использоваться с Raspberry Pi т.к. им для того чтобы светиться достаточно небольшого тока. Для первого раза можно сделать приспособление с разъёмом, двумя встречно параллельно включёнными светодиодами и резистором с сопротивлением 220Ом включённым последовательно со светодиодами. Т.к. сопротивление резистора 220Ом, ток обязательно проходит через этот резистор и нет параллельных путей его прохода, напряжение на выводах 3.3В то ток не будет больше чем 3.3/220=0.015А=15мА. Подключить это можно к свободным GPIO например к 5 и 13 как на схеме

(распиновка взята с https://en.wikipedia.org/wiki/Raspberry_Pi), выглядеть это может примерно так:

После того как всё аккуратно и правильно подключено и есть уверенность в том что ничего не сгорит можно скопировать в редактор NANO первую простенькую программу на языке Python

Import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)
GPIO.output(13, True)
GPIO.output(5, False)
time.sleep(1)
GPIO.output(13, False)
GPIO.output(5, True)
time.sleep(1)
GPIO.output(13, True)
GPIO.output(5, False)
time.sleep(1)
GPIO.output(13, False)
GPIO.output(5, True)
time.sleep(1)
GPIO.output(13, True)
GPIO.output(5, False)
time.sleep(1)
GPIO.output(13, False)
GPIO.output(5, True)
time.sleep(1)
GPIO.cleanup()

Потом нажать

После выхода из редактора NANO можно ввести команду

Sudo python first.py

После чего светодиоды помигают некоторое количество раз. Т.е. получилось управлять портами ввода вывода общего назначения по wifi! Теперь давайте рассмотрим программу и выясним как это получилось.
Строка:

Import RPi.GPIO as GPIO

Это подключение библиотеки "GPIO" для управления выводами.
Строка:

Это подключение библиотеки "time" для задержек.
Далее идёт установка режима GPIO:

GPIO.setmode(GPIO.BCM)

Конфигурация выводов 5 и 13 как выходы:

GPIO.setup(13, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)

Установка логической единицы на выводе 13, установка логического нуля на выводе 5:

GPIO.output(13, True)
GPIO.output(5, False)

Задержка

Установка логического нуля на выводе 13, установка логической единицы на выводе 5:

GPIO.output(13, False)
GPIO.output(5, True)

Переводит все выводы в исходное состояние и программа завершается. Т.о. можно управлять любыми свободными пинами по wifi и если сделать питание 5В от аккумулятора то уже можно сделать какого нибудь автономного робота или устройство не привязанное проводами к чему либо стационарному. Язык программирования Python (питон) отличается от си подобных языков, например вместо точки с запятой, для завершения команды, в питоне используется перевод строки, вместо фигурных скобок используется отступ от левого края который делается клавишей Tab. В общем Python это очень интересный язык на котором получается легко читаемый простой код. После того как работа (или игра) с Raspberry PI 3 закончена можно его выключить командой

И после полного выключения убрать питание. При подаче питания Raspberry PI 3 включается и с ним снова можно работать (или играть). Заказать Raspberry pi 3 можно по ссылке http://ali.pub/91xb2 . О том как делается настройка Raspberry PI 3 и управление его пинами можно посмотреть на видео:

После успешного мигания светодиодами можно приступить к полномасштабному изучению данного компьютера и созданию проектов используя возможностями Raspberry PI 3 которые ограничены лишь вашим воображением!

Raspberry Pi – это инновационный продукт от английских разработчиков. Их главной целью было популяризировать компьютерное образование среди широких слоев населения, сделать программирование более обширной и доступной дисциплиной и побудить больше людей создавать что-то новое при помощи новых технологий.

Название продукта Raspberry Pi означает «малиновый пирог» , компания-производитель таким образом сделала акцент на том, что этот компьютер предназначен в первую очередь для детей.

Что представляет собой это изобретение, и каково применение Raspberry Pi в современном мире, об этом мы и расскажем ниже.

Особенности компьютера Raspberry Pi

Устройство Raspberry Pi представляет собой маленький компьютер в виде одной платы без корпуса. Разработчики призывают так детей и взрослых обращать внимание не только на пользование компьютерами, но и на его изучение изнутри, а также предлагают задействовать фантазию и сделать другим что-то свое на базе этого компьютера.

Как полагают разработчики, устройство Raspberry Pi должно выполнять такие образовательные цели:

  • заинтересовывать школьников развивать навыки программирования;
  • способствовать в начинаниях молодых программистов;
  • помогать опытным компьютерщикам открывать новые горизонты, и делать новые достижения в области программирования.

В родной стране устройства Raspberry Pi – Великобритании, его полный комплект можно приобрести всего за 75 фунтов. Сам комплект при этом состоит из таких составляющих:

  • самого мини-компьютера Raspberry Pi модели В;
  • микро- CD (8 гигабайт);
  • клавиатуры;
  • оптической мыши;
  • микро-адаптера CD Card ;
  • источника питания;
  • кабелей HDMI и микро USB .

Первая партия Raspberry Pi производилась в Поднебесной, но с конца 2012 года производство целиком перенесено в Великобританию, на завод в Пенкойде (Уэльс). В среднем, завод производит порядка 40 тысяч мини-компьютеров Raspberry Pi в неделю.

Технические характеристики Raspberry Pi

Итак, какие же технические характеристики этого уникального компьютера без корпуса, давайте выясним:

Применение компьютера Raspberry Pi для дома

Наиболее применяемая модель мини-компьютера Raspberry Pi – это модель В на 215 Мб оперативной памяти с поддержкой Ethernet . Также есть еще одна модификация прибора, в которой компоненты размещены более компактно, также она имеет четыре порта USB , количество портов ввода и вывода GPIO в ней существенно больше, кроме того, отсутствует композитный видеовыход.

Сферы применения компьютера Raspberry Pi достаточно широки. Несмотря на то что этот прибор не слишком мощный, но при этом это вполне полноценный компьютер. Если вам нужна машина для решения простейших задач, которые не требуют применения мощных ресурсов в плане вычисления, то вы смело можете подключать к устройству Raspberry Pi стандартные элементы машины:

  • монитор;
  • мышь;
  • клавиатуру;
  • подключение любого дистрибутива ОС Linux .

В домашних условиях устройство Raspberry Pi вы можете использовать в таких целях:

  • создание домашнего медиа-сервера;
  • как сервер хранения данных;
  • в качестве «мозгового центра» для автоматизированных станков или роботов;
  • как сервер домашней автоматизации (или системы «умный дом»).

Как мы видим, сферы применения Raspberry Pi для частных нужд могут быть разные. В основном – это узкопрофильные задачи, связанные с работой программистов или других разработчиков. А если говорить о широком применении, то стоит ознакомиться с особенностями применения Raspberry Pi для систем домашней автоматизации или так называемого умного дома . Давайте рассмотрим практическую сторону этого вопроса.

Любая система домашней автоматизации или же так называемый умный дом является достаточно сложной и многоструктурной. Помимо того, что она призвана выполнять те или иные сценарии, которые задаются ей пользователем, она имеет свойство принимать свои собственные решения в определенной нештатной ситуации. Смело можно сказать, что такая система имеет задатки искусственного интеллекта .

Многие сегодня применяют понятие «умный дом» ко всему, например:

  • сигнализации GSM ;
  • датчику протекания воды;
  • световому управлению датчикам движения и т.д.

Все эти явления могут входить в структуру домашней автоматизации, но являться ею по отдельности они не могут.

Система домашней автоматизации («умный дом») включает в себя такие компоненты:

  • центральный сервер;
  • он связан посредством интерфейса RS485 с контроллерами, которые стоят в каждой комнате и помещении дома;
  • к контроллерам подключены те или иные управленческие устройства для защиты, контроля и регулирования работы системы.

Такая сетевая архитектура данной системы хороша тем, что у владельца дома нет необходимости протягивать от каждого устройства к серверу неудобные провода, а нужно просто соединить контролеры, к которым они подключаются посредством одного кабеля UTP. Одна пара его проводов применяется для интерфейса RS485, а другие питают датчики и контроллеры. Стоит отметить, что структура работы предусмотрена таким образом, что если выйдет из строя один из контроллеров или несколько, или даже будет нарушена работа центрального сервера, на работу системы в целом это влиять не будет.

А мини-компьютер Raspberry Pi в данной системе и является центральным сервером . На него нужно установить Веб-сервер, с помощью которого любой пользователь посредством своего мобильного устройства (смартфона, планшета или ноутбука) сможет посредством обычного браузера иметь данные обо всех процессах, которые происходят в доме и управлять этими процессами. Доступ к серверу пользователь имеет посредством логина и пароля через домашнюю локальную сеть или через глобальную сеть, если входить в нее через Wi - Fi -устройство.

К последовательному порту устройства UART посредством согласовывающего прибора через интерфейс RS485 подключают контроллера, которые оснащены разным набором выводов или вводов. Также к этому же интерфейсу можно подключать GPS -модель и с его помощью иметь доступ в систему посредством мобильной или стационарной телефонной связи, если пользователь находится в зоне, где нет доступа в Интернет. Доступ разрешается также через пароль, как и в предыдущем случае. Еще одно устройство в сети – это радиомодуль , с помощью которого можно привязать к общей системе все радиодатчики и пульты дистанционного управления.

Итак, существующая на сегодняшний день версия системы домашней автоматизации на базе компьютера Raspberry Pi состоит из центрального сервера и контроллеров с интерфейсом RS485, которые нужны для связи с сервером. Их описание выглядит так:

А сейчас давайте узнаем, каким образом устройство Raspberry Pi было применено изобретателями для создания инновационных изделий . Рассмотрим некоторые из них.

Конструктор Kano

Конструктор Kano для детей – это не просто обычный конструктор, это модульный компьютер, собрать такую головоломку сможет даже ребенок. Набор конструктора включает в себя следующее:

Таким образом, даже ребенок может сам собрать компьютер, который затем подключается к монитору или телевизору посредством HDMI -порта .

Такой конструктор изначально был создан для детей, но стал популярным и среди взрослых. Средства на разработку и реализацию этого проекта были собраны посредством платформы для сбора средств на творческие изобретения. Благодаря собранному компьютеру можно выполнять такие действия:

  • записывать музыку;
  • смотреть видео в формате HD ;
  • писать программы;
  • создавать свои игры.

Летающее устройство SkyJack

Другие изобретатели на базе компьютера Raspberry Pi создали аппарат-беспилотник SkyJack, который управляется посредством Wi - Fi соединения. Такой аппарат способен брать вертолетную высоту, отслеживать пути военных вертолетов и управлять ими, также с его помощью можно перехватывать радиосигналы и создавать помехи. Однако, несмотря на такие возможности, аппарат разрешен для массового пользования из-за своего небольшого радиуса действия.

Poppy: робот-инопланетянин

Робот Poppy был создан посредством трехмерной печати французской компанией INRIA Flowers . Робот управляется посредством мини-компьютера Raspberry Pi. Конструкция робота повторяет биологическое строение человека, он имеет суставы, позвоночник и сухожилия, его походка похожа на человеческую, он ходит, переступая с пятки на нос и равномерно руководить центом своей тяжести.

Что такое No More Woof?

No More Woof – это прибор, который пока находится на стадии разработки, и создается на базе Raspberry Pi. С его помощью хозяин будет понимать, что хочет его пес. Так, прибор будет прикрепляться к голове животного и работать по принципу электроэнцефалографа, то есть считывать информацию с головы собаки и передавать ее хозяину посредством Raspberry Pi. Когда подобный прибор будет готов и каким образом он будет точно использоваться, пока неизвестно, но подобные гарнитуры, пусть не настолько совершенные, уже применялись профессиональными кинологами.

Все видят, что с наступлением нового тысячелетия интерес к компьютерам у нового поколения и не только является исключительно потребительским. Дети не хотят учиться программировать и создавать что-то новое, а хотят быть исключительно «юзерами». Разработчики Raspberry Pi уверены, что их устройство вернет былой интерес людей к изучению вычислительных наук и заставит их не только пользоваться новыми технологиями, но и создавать их.

Спустя пять лет после выпуска первых устройств Raspberry Pi, проект продолжает набирать все большую и большую популярность и распространятся далеко за пределами его первоначального назначения. Основатель проекта Эбен Аптон изначально надеялся продать не более чем 10 000 плат, но на данный момент уж больше 10 000 000 устройств находятся в руках студентов, преподавателей и других людей ит-специальностей.

Помимо третьего поколения Raspberry Pi, сейчас вы можете найти облегченную модель Raspberry Pi Zero, а также другие компоненты, такие как видеокамера, сенсорный экран и различные датчики.

С таким огромным количеством возможностей может быть сложно понять с чего начать Raspberry Pi 3 применение. В этой статье будет рассмотрено начало работы Raspberry Pi. Я предполагаю, что вы уже знаете как подключить экран, мышь, клавиатуру, питание и поставить операционную систему. Сегодня мы рассмотрим что делать дальше.

У многих людей есть Raspberry Pi, но они даже не знают какая у них версия устройства. Можно определить версию устройства по количеству памяти, этот параметр отличается больше всего. Или например, в более поздних платах были добавлены дополнительные слоты GPIO. Но есть и некоторые незначительные отличия, о которых вам стоит знать при создании своего проекта.

Вы можете выяснить версию платы с помощью визуального осмотра, но лучше всего это сделать с помощью терминала. Для этого включите устройство и выполните команду:

cat /proc/cpuinfo |grep "Revision"

Вывод будет содержать строку из четырех или шести символов, по которой можно понять какое устройство вы используете:

Если вы видите очень большой номер, который начинается с 1000 дальше идет номер ревизии и снова 1000, то это признак перенапряжения питания.

Вот некоторые сравнительные характеристики разных версий устройств:

Если вы хотите узнать больше информации о вашей плате из командной строки, можете воспользоваться следующими командами:

Аппаратное обеспечение:

cat /proc/cpuinfo

cat /proc/version

Оперативная память:

cat /proc/memory

Подключение Raspberry Pi

Возможно, вы привыкли, что для включения любого электрического устройства достаточно подключить его к розетке, нажать кнопку и оно работает. Raspberry Pi не относиться к таким устройствам. Для этого микрокомпьютера важно правильно подобрать устройство питания, которое обеспечит стабильное питание для получения максимальной производительности. Никакой кнопки для включения и выключения нет, но если хотите, вы можете ее сделать.

Если вы считаете, что вашему устройству не хватает питания, можно проверить напряжение с помощью мультиметра. На старых платах есть отверстия на верхней части платы подписанные TP1 и TP2.На модели B+, Pi2 и Pi3 они размещены внизу платы, на стороне SD карты, и отмечены PP3 и PP7.

Сначала подключите все периферийные устройства, которые вы собираетесь использовать. Установите мультиметр на измерение напряжения до 20 вольт. Подключите красный провод к TP1 или PP3, а черный к TP2 или PP7. Мультиметр должен выдать значение около 5 Вольт. отклонение в 0,25 Вольт - это плохо и чем ближе к пяти, тем лучше. Если вы обнаружили снижение напряжения это могло произойти по двум причинам:

  • Ваш шнур USB. Возможно, он подходит для зарядки телефона, но он работает слишком медленно. Для телефона этого достаточно, но Raspberry Pi не хватает мощности.
  • Периферические устройства. Для всех USB устройств нужно питание, чтобы решить проблему можно использовать USB хаб.

В общем, подключение Raspberry Pi не вызывает много проблем.

Добавление кнопки сброса

Теперь, когда вы знаете основы и выбрали источник питания можно добавить кнопку выключения для вашего устройства. В большинстве электроники есть кнопка выключения, но здесь ее нет и если вы захотите перезагрузить Raspberry Pi, вам придется вынуть шнур питания и вставить обратно. Но можно добавить кнопку чтобы этого не делать.

На плате есть два отверстия рядом друг с другом, одно круглое, второе - квадратное. На модели B они отмечены как P6 и находятся рядом с портом HDMI. На более поздних платах они размещаются ближе к портам GPIO и обозначены RUN.

Вы можете приобрести любую кнопку и припаять ее контакты к этим портам. Все что нужно для сброса процессора - это замкнуть эти выходы.

Использование GPIO и датчиков

Помимо своей низкой цены, Raspberry Pi очень привлекательный для пользователей из-за возможности использовать GPIO.

GPIO или general purpose input/output это порты общего назначения ввода и вывода. Почти все проекты Raspberry Pi построены на использовании этих портов. Их сила в гибкости.

Первые платы Raspberry Pi имели 26 GPIO портов, Raspberry Pi 2 и Pi 3 имеют 40. С технической точки зрения только 17 из 26 и 28 из 40 соответственно. Остальные - это электрические контакты и заземления. Все порты обозначены номерами, но чтобы правильно их использовать вам понадобиться распечатка с описанием значений. Например, для 40:

Или для 28:

Ее можно распечатать и приложить к плате, чтобы не запутаться во время работы:

Чтобы заставить GPIO делать то, что вам нужно понадобиться немного программирования. Обычно, все можно сделать на Python. Если вы не знали, то часть имени Pi походит от инструмента для обучения программированию на Python. Вы можете найти очень много инструкций по использованию Python для Raspbery и GPIO в интернете.

Найдите проект

Ваше устройство почти готово. Все, что осталось - это определится с проектом и начать что-то делать. Даже если вы еще не написали ни одной строчки кода или не работали паяльником, Raspberry Pi может стать идеальным средством для обучения этим вещам.

Если вы не хотите ничего программировать, но хочется сделать что-то полезное, можно установить Kodi на Raspberry и сделать домашний медиа центр.

После этого можно перейти к поиску других проектов. Что вам больше нравиться, игры? Домашняя автоматизация? Фотография? Возможно, кто-то уже выложил в интернете инструкции, как сделать то что вы хотите. Используйте их или сделайте что-то свое. Вот некоторые интересные проекты, которые вы можете реализовать:

  • Cupcade - самый простой способ создать собственную небольшую игровую систему. Но здесь нужно покупать устройство комплектом, чтобы получить все необходимые детали;
  • MagicMirror - один из самых популярных проектов на Raspberry Pi, суть в том, чтобы выводить текстовую информацию на зеркало с помощью экрана и этого микрокомпьютера;
  • Minecraft - вы можете создать свой сервер Minecraft на основе Raspberry Pi;

Это далеко не все интересные проекты с помощью которых можно найти применение Raspberry Pi 3. Еще несколько вы можете найти в статье .

Выводы

В этой статье мы рассмотрели начало работы raspberry pi. Это очень интересное устройство может быть достаточно полезным при правильном использовании. А вы уже купили Raspberry Pi? Собираетесь покупать? Или уже собрали свой проект и нашли применение raspberry pi? Напишите в комментариях!

На завершение видео от 16 бит тому назад про Raspberry Pi:

Продолжаем рассматривать применение компьютера Raspberry Pi для домашней автоматизации. Как вы помните, в предыдущих выпусках мы получили общие сведения о Raspberry Pi , научились, как установить и сконфигурировать операционную систему Raspbian , познакомились с фреймворком WebIOPi и его возможностями по работе с портами GPIO , в частности, как управлять дискретными входами / выходами и работу последовательного порта UART .

Сегодня я постараюсь познакомить вас с общей структурной схемой планируемой системы домашней автоматизации, которая будет создаваться с применением Raspberry Pi . (рис.1).

Рис. 1

Система домашней автоматизации состоит из центрального сервера , связанного по интерфейсу RS 485 с установленными в каждом помещении контроллерами , а к контроллерам в свою очередь подключаются все периферийные устройства (различные устройства управления, контроля, регулирования, защиты). Преимущество такой сетевой архитектуры состоит в том, что нет необходимости тянуть провода от каждого устройства к серверу, а достаточно соединить контроллеры, к которым они подключены, двумя парами проводов - по одной паре подается питание, а вторая используется для интерфейса RS 485. Кроме того, логика работы задумывается так, что выход из строя любого контроллера или даже центрального сервера не должен повлиять на работоспособность остальной системы. Другими словами, архитектура системы домашней автоматизации должна быть распределенной и децентрализованной . Подобная архитектура напоминает широко используемую в коммерческих проектах «умного дома» шину Smart Bus .

В качестве центрального сервера системы домашней автоматизации применяется Raspberry Pi . На нем установлен Web сервер , посредством которого пользователь с любого коммуникационного устройства (смартфона, ноутбука, планшета) через браузер может получать информацию о всех процессах, происходящих в доме и соответственно, управлять ими. Доступ к Web серверу по вводу логина и пароля можно получить как из домашней локальной сети, так и из сети интернет через Wi - Fi роутер .

К последовательному порту UART Raspberry Pi через согласующее устройство по интерфейсу RS 485 подключаются контроллеры , имеющие необходимый набор вводов/выводов. Кроме этого, к RS 485 подключается GSM модем для доступа к системе через сотовую или стационарную телефонную сеть на случай, если в точке, где находится пользователь, нет возможности получить выход в интернет. Доступ в этом случае также выполняется через ввод пароля.

Как уже говорилось ранее, Raspberry Pi имеет собственные порты GPIO , которые можно задействовать под различные функции. UART GPIO мы используем для организации интерфейса RS 485, а остальные порты пока свободны. Поэтому, вполне логично, что кроме подключения датчиков и исполнительных устройств к контроллерам, некоторые элементы системы домашней автоматизации можно подключить и непосредственно к портам GPIO Raspberry Pi через буферное устройство при условии, что к таким элементам не нужно прокладывать длинные коммуникации. Например, это может быть датчик атмосферного давления или датчик контроля температуры с управлением охлаждения самого Raspberry Pi . На структурной схеме непосредственное подключение к портам Raspberry Pi показано через буферный модуль GPIO .

Так как на первом этапе практической реализации нашей системы мы будем организовывать подключение порта UART Raspberry Pi к контроллеру по интерфейсу RS 485, а так же подключать исполнительные устройства непосредственно к портам ввода/вывода GPIO , предлагаю для начала завершить настройку и конфигурирование Raspberry Pi для выполнения этих задач.

Итак, если вы прочитали предыдущие три части обзора, выполнили установку фреймворка WebIOPi , попробовали управлять портами, проверили работу UART в режиме двухстороннего обмена через терминальную программу, то для завершения настроек осталось сделать совсем немного.

Заходим в файл конфигурирования командой:

sudo nano /etc/ webiopi / config

и устанавливаем следующие настройки [ GPIO ] (рис.2)

4 = OUT 0

7 = OUT 0

8 = OUT 0

25 = OUT 0

24 = OUT 0

Рис. 2

В разделе [ HTTP Server Configuration ] необходимо прописать строку:

doc-root = /home/pi/myproject/html

Это будет путь к папке, которую мы потом создадим для хранения страницы Web интерфейса index . html . Разумеется, можно было создать эту папку и в другом месте, прописав к ней соответствующий путь, но во избежание путаницы и проблем в дальнейшем, давайте будем придерживаться однообразия (рис.3)

gpio-export = 4, 7, 8, 25, 24

gpio-post-value = true

gpio-post-function = true

device-mapping = true


Рис. 4

В файле конфигурации настройки завершены. Сохраняем их нажатием сочетания клавиш Ctrl и O , затем нажимаем Enter и выходим командой Ctrl и Х .

Создаем на диске Raspberry Pi папки для хранения нашего проекта. Для этого, да и вообще для работы с файлами на диске Raspberry Pi можно воспользоваться файловым менеджером о котором упоминалось . Вложенность создаваемых папок должна иметь следующий вид:

/home/pi/myproject/html (рис.5)


Рис. 5

Для контроля правильности выполненных операций, распакуйте архив тестового файла в папку html . Там должен появится файл index . html . Введите сетевой адрес Raspberry Pi , логин и пароль (webiopi / raspberry ). Выполните перезагрузку WebIOPi командой:

sudo /etc/init.d/webiopi restart

После этого вы должны увидеть тестовый web интерфейс (рис.6). С помощью этого интерфейса можно управлять выходами GPIO 4 , 7 , 8 , 24 , 25 кликая мышкой по соответствующей кнопке. Высокий уровень на выходе показывается оранжевым цветом, низкий - черным. После каждого клика по кнопке состояние выхода меняется на противоположное. Для визуального контроля выполняемых команд к этим выходам можно подключить светодиоды через токоограничивающие резисторы 300 - 470 Ом .

Рис. 6

Если у вас все получилось, значит, настройки выполнены правильно. В следующем выпуске нашего обзора перейдем к практической реализации в «железе» первого этапа системы домашней автоматизации.