PiFace для подключения Raspberry к внешнему миру

PiFace Digital

Вступление

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

Быстрый взгляд на PiFace

  • 2 коммутационные релюшки
  • 4 кнопки
  • 8 цифровых входов
  • 8 цифровых выходов по схеме с открытым коллектором
  • 8 индикаторных светодиодов
  • Простенькие программы на Python, Scratch и C
  • Графические эммуляторы и симмуляторы

Внимание! Во избежание выхода из строя вашей PiFace Digital и Raspberry Pi, все коммутации проводите с отключенным питанием!!!

Установка платы на Raspberry Pi

Отключите питание, и оккуратно соидените гребенку Raspberry Pi с розетками PiFace так, чтобы обе платы вписывалась в габариты друг друга. Естественно, что все контакты Raspberry должны совпадать c розетками на PiFace.
Установка програмного обеспечения
Самое простое, это скачать уже настроенный имедж для SD карты вот от сюда: http://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro/
Я это не пробовал, если не работает, отпишитесь!
Дрова тут: http://pi.cs.man.ac.uk/download.
Или доустановить необходимые библиотеки в Raspbian самим, об этом ниже.

Постоянно доступный SPI драйвер

Запустите Raspbian, залогиньтесь и отредактируйте файл /etc/modprobe.d/raspi-blacklist.conf

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Закомментируйте строку spi-bcm2708

 #blacklist spi-bcm2708

И задействуйте драйвер

sudo modprobe spi-bcm2708

Далее мы установим библиотеки PiFace Digital libraries и установим нужные права для SPI interface.

sudo apt-get update
sudo wget -O - http://pi.cs.man.ac.uk/download/install.txt | bash
sudo reboot

Проверка

После установки ПО и перезагрузки, загрузитесь, запустите иксы если они не запустились сами, и задействуйте вот эту программу из терминала:

cd
piface/scripts/piface-emulator

Выходы

1. Для ручного управления выходами, в окне эмулятора PiFace, нажмите (Включить Переопределение) Override Enable.
2. Переключите выходной контакт 1, щелкнув по нему. При этом на PiFace должно щелкнуть реле, и включится соответствующий светодиодный индикатор. Обратите внимание, что на графическом экране после обновления, загорятся светодиоды на, контакты соответствующие расположенным рядом светодиотам. Если на этих контактах померить напряжение, то оно будет присутствовать на против горящих светодиодов.
3. Светодиоды указывают, что на контактах есть потенциал.

Входы

Статья не закончена. Если кто может помочь с переводом документации, я буду очень благодарен.
http://piface.openlx.org.uk/

Ссылки:
Управление устройством
Управлять можно практически на всём. На CC, Python, Паскале и т д. Но меня интересует на bash.
Ставим как написано тут GPIO — Command-line access to Raspberry Pi and PiFace GPIO
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/
man gpio
На пример, для того, чтобы задействовать первый выход на плате, надо в терминале:

gpio -p write 0 1

Зажгется первая лампочка на индикаторе и на первом выходе появится потенциал.
Тоже самое на 4 выходе

gpio -p write 0 4

Чтобы отключить первый выход:

gpio -p write 0 0

Тут первая цифра, это номер выхода, а 0, или 4. А вторая это включить или выключить, 1 или 0, соответственно.

Управление PiFace с помощью BASH

Запись опубликована в рубрике Linux, Raspberry с метками , . Добавьте в закладки постоянную ссылку.

34 комментария на «PiFace для подключения Raspberry к внешнему миру»

  1. Константин говорит:

    По этой инструкции не хочет включать выходы.

    • sergey говорит:

      http://www.youtube.com/watch?v=6K_wb9M9sVg
      Оно работает. Я описывал тут то, что делал. Просто может, что не учли?
      Там надо установить нужные библиотеки или скачать дистрибутив с установленными. Вы не забыли это сделать?

      • Константин говорит:

        Все работало до середины лета .Потом пришлось перезаписать образ.Сейчас пишет что типа выход включил но на самом деле нет.Еще после установки пишет,что это lunix следующей версии и говорится что надо что-то,где-то прописать(я чайник).Если окажете помощь буду благодарен,ведь так удобно было,нежели сейчас на python.

  2. Константин говорит:

    Сергей так чего сделать надо,чтобы работало на bash.Я в этом не понимаю,я не программист.Могу только скопировать и вставить в терминале команду.

  3. Константин говорит:

    Сергей а вот этот надо поставить 2013-09-10 wheezy-raspian

    • sergey говорит:

      Давай остановимся на нем.
      У тебя есть вопросы по созданию загрузочной флешки?

  4. Константин говорит:

    fatal: could not create work tree dir ‘piface’.: No space left on device
    bash: line 4: pushd: piface/python: No such file or directory
    python: can’t open file ‘setup.py’: [Errno 2] No such file or directory
    ~
    sudo: piface/scripts/spidev-setup: command not found
    bash: line 8: popd: directory stack empty
    не получается

    • sergey говорит:

      fatal: could not create work tree dir ‘piface’.: No space left on device
      Места на карточке не хватает.

      Константин, я не понимаю на каком этапе у тебя появляется проблема. Судя по первой строке ругани, у тебя не хватает места. Давай начнем по порядку. Вот ты купил «малину», распаковал и подключил.
      Теперь, по поводу подготовки загрузочной CD флешки. У тебя на этом этапе всё получилось? Ты с флешки (raspbian) нормально грузишься?

      Если нормально, то расширил ли ты дисковое пространство флешки по всей величине CD карточки? Это делается коммандой raspi-config

      sudo raspi-config
      или
      sudo su
      raspi-config

      Тут у тебя всё нормально?

      • Константин говорит:

        Забыл,точно! расширить дисковое пространство,сейчас перезапишу.Как загружу напишу.Спасибо.

  5. Константин говорит:

    Делал вот по этой инструкции и по твоей.
    sudo apt-get update
    wget -O — http://pi.cs.man.ac.uk/download/install.txt | bash

    перегружаемся
    sudo reboot

    теперь ставим PiWiring

    · sudo apt-get install git-core

    · git clone git://git.drogon.net/wiringPi

    · cd wiringPi

    · git pull origin

    · cd wiringPi

    · ./build

    Проверяем, что все работает

    gpio -v
    gpio readall
    Установка выходов PiFace

    gpio -p write 1 0 — выключить первый выход
    gpio -p write 1 1 Включить первый выход
    gpio -p read 1 Прочитать состояние первого входа
    После кода ./build пишет вот это.
    GPIO Utility
    [Compile] gpio.c
    gpio.c:85:12: warning: ‘decodePin’ defined but not used [-Wunused-function]
    [Compile] extensions.c
    [Compile] readall.c
    [Link]
    [Install]

    All Done.

    NOTE: This is wiringPi v2, and if you need to use the lcd, Piface,
    Gertboard, MaxDetext, etc. routines then you must change your
    compile scripts to add -lwiringPiDev
    Выходы типа включает,подхожу смотрю нихрена

  6. Константин говорит:

    Мне самому очень хочется понять в чем дело,на raspberry можно зайти через интернет,куда можно ссылку написать …….dyndns.org:22

    • sergey говорит:

      У меня тоже из Git так же пишет, то не та версия железа.
      Но я перепроверил установку бинарных пакетов, все ставится на ура.
      Сейчас скачаю свежий образ, и все попробую перепроверить заново.

    • sergey говорит:

      А тут в разделе «Контакты» есть форма. В неё можно написай IP и Порт.

    • sergey говорит:

      Я там поправил в доке
      sudo wget -O — http://pi.cs.man.ac.uk/download/install.txt | bash

      Это от рута надо выполнять.

    • sergey говорит:

      У меня тоже с новым Распбианом ничего не работает. Завтра постараюсь найти время и разобраться. У меня вроде остался старый имедж настроенной систему, если не в терпеж попробовать, я его выложу.

  7. Константин говорит:

    Я подожду.Я написал в контактах адрес.На самом деле по Lunix у меня еще куча вопросов.Пытаюсь потихоньку учиться.

    • sergey говорит:

      Я зашел на вашу малину, и попробовал повключать входы. У вас вроде сделано все правильно.
      К сожалению ваше устройство я не вижу, а по работе программы ошибок не высыпается в консоль. Но я пробовал на работе, там тоже самое. Ругани нету, но не работает 🙂
      Завтра попробую установить старый образ распбиана где у меня все работало и проверить.

  8. Константин говорит:

    Жду!!

    • sergey говорит:

      Константин, ничего не понимаю!
      Я взял старый образ распбиана, все заново сделал по своей же инструкции, и все работает как часы. Но на последнем распбиане не работает. Пока не могу понять почему. Оно даже в логах не присутствует.
      Попробуй скачать распбиан по старше. Я подозреваю, что тут что-то с udev не то.
      uname -a
      У меня вот такая сборка.
      Linux raspberrypi 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux

  9. Константин говорит:

    чего-то не хочет

    • sergey говорит:

      Не хочет устанавливаться софт или скачиваться образ?

      • Константин говорит:

        Все устанавливается,но включать выходы не хочет

        • Константин говорит:

          Сергей,а какой образ будет работать из всех.Я так и не понял.

          • sergey говорит:

            Давай я тебе просто выложу рабочий образ. Завтра проверю его на отсутствие на нем openvpn 🙂 По ходу там еще реализован контроль температуры для серверной.

  10. Константин говорит:

    pi@raspberrypi ~/wiringPi $ gpio -p write 1 1
    Unable to open SPI device: No such file or directory
    pi@raspberrypi ~/wiringPi $ gpio write 1 1
    pi@raspberrypi ~/wiringPi $ gpio read 1
    0
    pi@raspberrypi ~/wiringPi $
    Все тоже самое.

    • sergey говорит:

      Unable to open SPI device: No such file or directory
      Вот это у меня не появляется. Ты с самого начала ставил софт, или просто скопировал скомпилированный каталог?

  11. Vitaliy говорит:

    Для управления выводами платы PiFace, используются порты с 200 по 215. Пример: gpio -p write 200 0 . У меня тоже не работало по этой инструкции в последней версии raspbian. Это помогло. Достаточно было набрать не gpio readall, а gpio -p readall. Ключ -p указывает, что вы работаете именно с платой PiFace.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Анти-спам: выполните заданиеWordPress CAPTCHA