Дополнительный модуль для raspberry pi объединяет функции lcd-экрана и клавиатуры

Содержание

Дополнительный модуль для raspberry pi объединяет функции lcd-экрана и клавиатуры

Подключение LCD дисплея к Raspberry PI

Сенсорный TFT LCD-дисплей превращает Raspberry PI в портативное устройство управлять которым можно вне зависимости от внешних источников сигнала (ТВ, монитор).

Характеристики

Тип дисплея: TFT
Интерфейс: SPI
Сенсор: резистивный
Контроллер сенсора: XPT2046
Кол-во цветов: 65536
Разрешение: 320*240

Проверено на Raspberry Pi «B» и Raspberry Pi «2B»

Для полноценной работы дисплея необходима установка драйвера FBTFT. На момент установки драйвера текущая версия Rasbian была 3.18.7+.

Меняем источник сигнала с HDMI на подключенный дисплей.
В файле 99-fbturbo.conf меняем значение FB0 на FB1

pi# nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

Активируем аппаратный интерфейс SPI

Это можно сделать через утилиту raspi-config.

Исключаем spi-bcm2708 из списка

Загружаем и устанавливаем драйвера pi# REPO_URI=https://github.com/notro/rpi-firmware rpi-update.

Обновление весит порядка 45Mb. После установки необходимо перезагрузить устройство.

Редактируем файл модуля ядра

pi# nano /etc/modules snd-bcm2835 spi-bcm2708 fbtft_device name=waveshare32b gpios=dc:22,reset:27 speed=48000000 waveshare32b width=320 height=240 buswidth=8 init=-1,0xCB,0x39,0x2C,0x00,0x34,0x02,-1,0xCF,0x00,0XC1,0X30, -1,0xE8,0x85,0x00,0x78,-1,0xEA,0x00,0x00,-1,0xED,0x64,0x03,0X12, 0X81,-1,0xF7,0x20,-1,0xC0,0x23,-1,0xC1,0x10,-1,0xC5,0x3e,0x28, -1,0xC7,0x86,-1,0×36,0×28,-1,0x3A,0x55,-1,0xB1,0x00,0x18,-1,0xB6, 0x08,0x82,0x27,-1,0xF2,0x00,-1,0×26,0×01,-1,0xE0,0x0F,0x31,0x2B, 0x0C,0x0E,0x08,0x4E,0xF1,0x37,0x07,0x10,0x03,0x0E,0x09,0x00, -1,0XE1,0x00,0x0E,0x14,0x03,0x11,0x07,0x31,0xC1,0x48,0x08,0x0F,0x0C, 0x31,0x36,0x0F,-1,0×11,-2,120,-1,0×29,-1,0x2c, -3 ads7846_device model=7846 cs=1 gpio_pendown=17 speed=1000000 keep_vref_on=1 swap_xy=0 pressure_max=255 x_plate_ohms=60 x_min=200 x_max=3900 y_min=200 y_max=3900

Редактируем файл cmdline.txt

pi# nano /boot/cmdline.txt
Удаляем все строки и вставляем

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbtft_device.custom fbtft_device.name=waveshare32b fbtft_device.gpios=dc:22,reset:27 fbtft_device.bgr=1 fbtft_device.speed=48000000 fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo dma.dmachans=0x7f35 console=tty1 consoleblank=0 fbtft_device.fps=50 fbtft_device.rotate=0

Добавляем в автозагрузку запуск графической оболочки

add su -l pi -c startx

Обновление системы кроме, загрузчика

sudo apt-mark hold raspberrypi-bootloader sudo apt-get update sudo apt-get upgrade sudo apt-get install rpi-update sudo SKIP_KERNEL=1 rpi-update

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

pi# sudo REPO_URI=https://github.com/notro/rpi-firmware BRANCH=builtin rpi-update pi# sudo reboot

Изменение ориентации экрана

Открываем файле /boot/cmdline.txt
Изменяем параметр с fbtft_device.rotate=0 на fbtft_device.rotate=90

Источник: http://it-donnet.ru/lcd-raspberry/

Подключение LCD дисплея к Raspberry Pi

Кто бы мог подумать еще в 2010 году, что такое явление как “Raspberry Pi” обретет тысячи поклонников по всему миру. Не смог пройти мимо и я.

Сегодня я покажу на примере как подключать и использовать LCD (хотя аббревиатура уже включает в себя слово “дисплей” далее я будут все равно его использовать) совместно с Raspberry Pi.

Скажу сразу: статья ориентирована на тех, кто не первый раз сталкивается с Raspberry.

На борту Raspberry Pi имеет особый разъем типа GPIO. К нему-то мы и подключим дисплей.

Распиновка разъема GPIO представлена в таблице ниже:

Таблица 1.

Для наших целей подойдет любой жидкокристаллический знакосинтезирующий (символьный) дисплей на базе микроконтроллера Hitachi HD44780U или его аналогов.

Почему знакосинтезирующий? 

Все просто: в одном разряде можно отобразить только 1 знак из заданного набора, который хранится во внутренней ROM микроконтроллера. У каждого экземпляра LCD может быть свой набор с дополнительными знаками. Более того, микроконтроллеры некоторых LCD дисплеев позволяют создавать и сохранять свои знаки в EEPROM микроконтроллера.

LCD дисплеи бывают 8×2, 16×2, 4×20 и т.д. – строк на количество знаков. Их выпускает куча разных фирм – Winstar, МЭЛТ и другие.

Для сборки прототипа я приобрел дисплей Winstar WH0802A-YYH-CT. 

Документация (datasheet) на дисплей тут.

Сборка прототипа

Для сборки прототипа я раздобыл макетную печатную плату, цветной шлейф, разъем IDC 26P типа “мама” и латунные стойки для монтажа плат.

Разъем IDC я “подписал” для удобства сборки. Файл с подписями можно скачать тут.

Теперь нужно определиться с порядком соединения пинов на разъеме IDC с пинами на GPIO, плюс разобраться как мы подключим питание к нашему дисплею.

Оказывается все просто! В документации находим таблицу с распиновкой порта LCD дисплея для 4-х битного режима и дополняем ее следующим образом:

Таблица 2.

Где GND – это “минус”, а +5V – “плюс” питания, которое мы берем все из того же GPIO разъема. 

Подписи GPIO – соответствуют … ну вы сами догадались)

Данный дисплей имеет подсветку. Для ее включения достаточно подключить LEDA к +5V, а LEDK – к GND.

!ВНИМАНИЕ! 

Для использования LCD дисплея в данной схеме ваш источник питания, который вы подключаете к Raspberry Pi, должен быть рассчитан на потребляемый ток, как минимум, 2А.

!ВНИМАНИЕ! 

Далее паяем, собираем…

Для работы с LCD дисплеем нам нужно написать программу. Делать это я буду на языке Си. Но для компиляции листинга нам потребуется загрузить набор библиотек.

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

Листинг “mylcd.

c” с текстом программы я привожу ниже (по стандарту С99).

#include //стандартная библиотека ввода-вывода
#include //библиотека из пакета wiringPi
#include //библиотека из пакета wiringPi int main (void)
{ printf (“Raspberry Pi LCD test
“) ; //Инициализация порта GPIO if(wiringPiSetup ()==-1) { printf (“GPIO Setup failed!
“) ; } int fd; printf (“Start LCD initialization…
“) ; //Инициализация LCD fd = lcdInit (2,8,4, 11,10, 1,0,2,3,0,0,0,0); if(fd==-1) { printf (“Initialization failed
“) ; } else { printf (“GO!
“); //Очистка дислпея lcdClear(fd); //Перевод каретки на первую позицию первой строки lcdPosition (fd,0,0); //Вывод форматированного текста lcdPrintf(fd, “Hello Pi”); //Перевод каретки на вторую строку и вывод текста lcdPosition (fd,0,1); lcdPrintf(fd, ” World!”); } return 0;
} В листинге нас особо интересует следующие функции:

  1. wiringPiSetup() – функция для инициализации порта GPIO
  2. lcdInit(int rows, int cols, int bits, int rs, int strb, int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7)  – функция для инициализации LCD дисплея, где:* int rows – число строк дисплея (у нас 2)* int cols – число знаков в строке (у нас 8)* int rs – маппинг порта wiringPi на управляющий регистр дисплея RS (у нас 11)* int strb – маппинг порта wiringPi  разрешающий регистр дисплея E (у нас 10)

    * int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7 – маппинг портов wiringPi на шину данных дисплея

  3. lcdPrintf(int handle, char *message, …) – в качестве int handle передаем указатель на дисплей, * message – указываем в кавычках текст для вывода

Теперь чуть подробнее про маппинг. В wiringPi используется понятие мапинга (привязки) физических пинов порта GPIO к “виртуальным” пинам – wiringPi. Таблица 3 с маппингом приведена ниже. Сопоставив ее с таблицей 1 мы и получим комбинацию fd = lcdInit (2,8,4, 11,10, 1,0,2,3,0,0,0,0);

Пины int d4, int d5, int d6, int d7 в 4-х битном режиме не используются!

Таблица 3.

Итак, мы сохранили листинг с программой в файле “mylcd.c” в директории /home/pi/wiringPi/ (которая создается автоматически после установки пакета).

Далее для компиляции кода набираем в консоли:

gcc -Wall -o mylcd wiringPi/mylcd.c -lwiringPi -lwiringPiDev

Если не вывелось никаких “ворнингов” и “эрроров” – значит повезло программа написана верно!

Для запуска программы набираем в консоли:

sudo ./mylcd

Получаем диагностические сообщения, которые мы сами и выводим:

Raspberry Pi LCD test

Start LCD initialization…

GO!


Вывод в консоли:

Смотрим на результат:

Похоже, что подключить LCD дисплей не так уж и трудно, если вы хоть раз держали в руках паяльник и клавиатуру.

Полезные ссылки

  • http://brewpi.com/
  • http://wiringpi.com/

Источник: http://shabpoint.blogspot.com/2013/09/lcd-raspberry-pi.html

Построение контроллеров на Raspberry Pi #5: отображение сообщений на LCD дисплее

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

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

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

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

Жидкокристаллический дисплей (LCD) был разработан с целью удаления тепловыделения и размытия изображения. Кроме того, LCD дисплеи позволяют выводить множество символов и сложную графику. В данном проекте мы рассмотрим использование LCD с помощью Raspberry Pi.

Raspberry Pi позволит отображать на LCD дисплее простые текстовые сообщения с помощью языка программирования Python. Мы будем использовать библиотеку Adafruit_Python_CharLCD для экспериментов с RPi LCD контроллером для отображения простых текстовых сообщений. Блок-схема нашего RPi LCD контроллера показана на рисунке 1.

Кроме того, ниже приведен также список компонентов RPi LCD контроллера.

Рисунок 1 – Компоненты, необходимые для создания RPi LCD контроллера

Перечень компонентов

Основное об LCD

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

Типовые LCD дисплеи состоят из контроллера и материала стеклянной подложки.

Сегменты LCD дисплея, установленные на материале стеклянной подложки, управляются электронным контроллером, который состоит из микропроцессора или микроконтроллера.

Типовая блок-схема LCD дисплея с контроллером показана на рисунке 2.

Рисунок 2 – Блок-схема типового LCD дисплея

Кристаллические сегменты LCD дисплея расположены между стеклянными пластинами с электродами. Для того чтобы кристаллические сегменты начали отображать буквы или символы, необходимо небольшое переменное напряжение. Переменное напряжение включает кристаллические сегменты.

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

Типовыми LCD контроллерами, используемыми для управления кристаллическими сегментами, являются HD44780 и KS0066. LCD дисплеи поставляются с различным количеством строк и столбцов, например, 8×1, 16×1, 20×2 и 20×4. В данном проекте мы будем использовать стандартный LCD дисплей 16×2.

Типовой LCD дисплей и его контроллер, обозначенный как U2, показан на рисунке ниже.

Рисунок 3 – Обратная сторона типового LCD дисплея. На плате показан LCD контроллер, обозначенный как “U2”.

Теперь, когда мы рассмотрели основные понятия об LCD дисплеях, можно начать сборку RPi LCD контроллера.

Сборка RPi LCD контроллера

Как и предыдущие проекты на Raspberry Pi в данной серии, мы соберем LCD контроллер, используя лишь несколько электронных компонентов.

Беспаечная макетная плата является незаменимым инструментом прототипирования при создании электронных проектов, она так же будет использоваться и при соединении компонентов RPi LCD контроллера.

Кроме того, мы подключим к LCD дисплею потенциометр (10 или 100 кОм) для регулировки контрастности дисплея. Ниже приведены схема соединений компонентов и две принципиальные схемы.

Рисунок 4 – Схема соединений компонентов LCD контроллера

Эквивалентная принципиальная схема из Fritzing для LCD контроллера показана ниже.

Рисунок 5 – Принципиальная схема LCD контроллера во Fritzing

Поскольку принципиальная схема во Fritzing слегка трудночитаема, ниже приведена нормальная принципиальная схема LCD контроллера.

Рисунок 6 – Принципиальная схема RPi LCD контроллера

Перед тем, как перейти к тестированию RPi LCD контроллера, проверьте соединения на наличие ошибок. Если ошибок нет, вы готовы протестировать управление контрастностью LCD дисплея перед загрузкой библиотеки Adafruit_Python_CharLCD на Raspberry Pi.

Рисунок 7 – Собранный макет LCD контроллера на Raspberry Pi

Тестирование правильности сборки LCD контроллера на Raspberry Pi

Теперь, когда LCD контроллер на Raspberry Pi полностью собран на макетной плате, вы готовы провести электрическое испытание устройства. Для проверки правильности сборки LCD контроллера необходимо просто подать питание на Raspberry Pi и подстроить контрастность LCD дисплея с помощью потенциометра.

Вы можете увидеть ряд прямоугольных блоков, их видимость зависит от положения потенциометра. На рисунке 7 ниже приведена фотография моего RPi LCD контроллера. Если прямоугольников не видно, подстройте контрастность дисплея с помощью потенциометра.

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

Рисунок 8 – Тестирование правильности сборки RPi LCD контроллера

Добавление библиотеки Adafruit_Python_CharLCD

Нам остается сделать еще один шаг для получения полностью рабочего LCD контроллера. Всё, что остается, это добавить библиотеку Adafruit_Python_CharLCD на Raspberry Pi для отображения сообщений на дисплее.

Библиотека Adafruit_Python_CharLCD входит в пакет примеров программного обеспечения для Raspberry Pi от Adafruit. HD44780 представляет собой электронный контроллер, обычно используемый в LCD дисплеях. Пакет примеров Adafruit содержит библиотеку для управления данным LCD контроллером.

Библиотеку Adafruit_Python_CharLCD можно получить из репозитория Github.

Перед установкой необходимо проверить наличие следующих зависимостей:

sudo apt-get update sudo apt-get install build-essential python-dev python-smbus python-pip

Затем необходимо убедиться, что установлена библиотека RPi.GPIO, с помощью команды:

sudo pip install RPi.GPIO

Теперь необходимо скачать библиотеку Adafruit_Python_CharLCD, распаковать архив, перейти в каталог распакованного архива и установить библиотеку, выполнив команду:

sudo python setup.py install

Код программы

Обратите внимание на конфигурацию выводов Raspberry Pi, подключенных к LCD дисплею. Кроме того, библиотека Adafruit_Python_CharLCD позволяет управлять подсветкой LCD дисплея (в собранном нами проекте подсветка не используется).

#!/usr/bin/python import time import Adafruit_CharLCD as LCD # Конфигурация выводов Raspberry Pi: lcd_rs = 25 lcd_en = 24 lcd_d4 = 23 lcd_d5 = 17 lcd_d6 = 21 lcd_d7 = 22 lcd_backlight = 4 # Определяем размеры LCD дисплея в строках и столбцах для LCD дисплея 16×2. lcd_columns = 16 lcd_rows = 2 # Пример указания LCD дисплея 20×4. # lcd_columns = 20 # lcd_rows = 4 # Инициализация LCD, используя выводы, определенные выше. lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight) # Напечатать двухстрочное сообщение lcd.message(‘Hello
world!’) # Ждать 5 секунд time.sleep(5.0) # Демонстрация, показывающая курсор. lcd.clear() lcd.show_cursor(True) lcd.message(‘Show cursor’) time.sleep(5.0) # Демонстрация, показывающая мигание курсора. lcd.clear() lcd.blink(True) lcd.message(‘Blink cursor’) time.sleep(5.0) # Остановить мигание и отображение курсора. lcd.show_cursor(False) lcd.blink(False) # Демонстрация прокрутки сообщения вправо/влево. lcd.clear() message = ‘Scroll’ lcd.message(message) for i in range(lcd_columns-len(message)): time.sleep(0.5) lcd.move_right() for i in range(lcd_columns-len(message)): time.sleep(0.5) lcd.move_left() # Демонстрация включения/выключения подсветки. lcd.clear() lcd.message(‘Flash backlight
in 5 seconds…’) time.sleep(5.0) # Выключить подсветку. lcd.set_backlight(0) time.sleep(2.0) # Изменить сообщение. lcd.clear() lcd.message(‘Goodbye!’) # Включить подсветку. lcd.set_backlight(1)Рисунок 9 – LCD контроллер на Raspberry Pi

Читайте также:  Доводчик стекол автомобиля

Вот и всё! Надеюсь, статья оказалась полезной. Оставляйте комментарии!

Символьный LCD дисплей 16×2 HD44780

Символьный (буквенно-цифровой) LCD дисплей. 2 строки по 16 символов. Построен на базе контроллера HD44780. По умолчанию поддерживается в Arduino IDE с помощью библиотеки LiquidCrystal.

Raspberry Pi 3 Model B

Raspberry Pi 3 – это третье поколение Raspberry Pi. Данный компьютер является заменой Raspberry Pi 2 Model B.

Источник: https://radioprog.ru/post/149

3.5-дюймовый модуль с сенсорным экраном, тачскрином (LCD+Touch) XPT2046, 480×320 для Raspberry PI 3 и PI 2

Raspberry PI считаются самыми многофункциональными мини-ПК. С различными расширениями, созданными специально для них, их возможности становятся практически неограниченными. Так, с особыми модулями можно создать разные системы: «Умный дом», мультимедийные центры, сложные системы управления и контроля оборудования.

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

Открытием для продвинутых пользователей стал Модуль 3.5″ для Raspberry Pi 3. Он подключается к мини-компьютеру через штатный разъем. Сенсорный экран с размерами 480х320 пикселей – жидкокристаллический. Важно отметить, что Модуль 3.

5″ для Raspberry Pi 2 и 3 также идеально подходит. Девайс удобен в использовании, при установке не нужно делать никаких сложных настроек, что является большим плюсом. Такое преимущество позволяет работать даже простому пользователю.

Надежность дисплея, несмотря на маленькие размеры, гарантирована производителями. У модуля резистивный тип экрана, тачскрин контроллера XPT2046. Другие параметры 3,5-дюймового экрана для для Raspberry:

– Модуль имеет светодиодную подсветку.- Жидкокристаллический интерфейс SPI (последовательный перефирийный интерфейс).- Цвета 65536.- Для работы модуля можно использовать встроенную прошивку с драйвером.

Модуль 3.5″ для Raspberry легко позволит из компьютера сделать настоящий планшет. Т.е. наладит полноценное и современное взаимодействие с пользователем. Установка экрана не представляет трудностей, важно только определить версию дисплея и согласно ей установить необходимые драйверы.

Подключается через разъем компьютера «методом бутерброда», наглядно это увидеть можно на специализированных сайтах и форумах, а также на фотографиях представленных выше. Подробная инструкция продемонстрирована в инструкции по установке.

Важно отметить, что на Raspberry Pi второй и третьей версии функционируют дисплеи версии 6.0 и более поздние.

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

Источник: https://LTParts.ru/mikrokompyutery-micropi/modul-35-lcdtouch-dlya-raspberry-pi-3-razreshenie-480320rgb/

Raspberry Pi – LCD дисплей 1602

Одни из самых популярных дисплеев – это символьные LCD дисплеи. Они могут быть разных размеров и отличаться количеством строк и символов. Самый популярный из них 1602 – то есть по 16 символов в двух строках.

Ранее я писал о символьных дисплеях в статье Использование cимвольных жидкокристаллических LCD дисплеев. Пример на GCC (WinAVR) для Atmega 8. Они очень хорошо себя зарекомендовали.

Подключим дисплей WH1602 к Raspberry Pi по следующей схеме:

1 : GND 2 : 5V 3 : Contrast (0-5V) 4 : RS (Register Select) -> GPIO25 5 : R/W (Read Write) -> GND 6 : Enable or Strobe -> GPIO24 7 : Data Bit 0 – NOT USED 8 : Data Bit 1 – NOT USED 9 : Data Bit 2 – NOT USED 10: Data Bit 3 – NOT USED 11: Data Bit 4 -> GPIO23 12: Data Bit 5 -> GPIO17 13: Data Bit 6 -> GPIO27

14: Data Bit 7 -> GPIO22

Для работы со срочным дисплеем существует библиотека в проекте Adafruit-Raspberry-Pi-Python-Code. Клонируем его:

git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git

После этого надо в файле Adafruit_CharLCD.py проверить какие ноги используются. Дело в том, что в Raspberry Pi B rev2.0 заменили GPIO21 на GPIO27. Поэтому надо скорректировать номер ноги в соответствии с версией вашего Raspberry Pi.

cd ./Adafruit-Raspberry-Pi-Python-Code/Adafruit_CharLCD
nano Adafruit_CharLCD.py:

Заменяем (21 на 27) (у нас rev2.0). Было:

def __init__(self, pin_rs=25, pin_e=24, pins_db=[23, 17, 21, 22], GPIO=None):

Стало:

def __init__(self, pin_rs=25, pin_e=24, pins_db=[23, 17, 27, 22], GPIO=None):

Запускаем пример:

python Adafruit_CharLCD_IPclock_example.py

Наслаждаемся. Если хотите что-то проще, можно использовать этот скрипт:

#!/usr/bin/python
import RPi.GPIO as GPIO
import time # Define GPIO to LCD mapping
LCD_RS = 25
LCD_E = 24
LCD_D4 = 23
LCD_D5 = 17
LCD_D6 = 27
LCD_D7 = 22 # Define some device constants
LCD_WIDTH = 16 # Maximum characters per line
LCD_CHR = True
LCD_CMD = False LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line
LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line # Timing constants
E_PULSE = 0.00005
E_DELAY = 0.00005 def main(): # Main program block GPIO.setmode(GPIO.BCM) # Use BCM GPIO numbers GPIO.setup(LCD_E, GPIO.OUT) # E GPIO.setup(LCD_RS, GPIO.OUT) # RS GPIO.setup(LCD_D4, GPIO.OUT) # DB4 GPIO.setup(LCD_D5, GPIO.OUT) # DB5 GPIO.setup(LCD_D6, GPIO.OUT) # DB6 GPIO.setup(LCD_D7, GPIO.OUT) # DB7 # Initialise display lcd_init() # Send some test lcd_byte(LCD_LINE_1, LCD_CMD) lcd_string(“Raspberry Pi”) lcd_byte(LCD_LINE_2, LCD_CMD) lcd_string(“Model B”) def lcd_init(): # Initialise display lcd_byte(0x33,LCD_CMD) lcd_byte(0x32,LCD_CMD) lcd_byte(0x28,LCD_CMD) lcd_byte(0x0C,LCD_CMD) lcd_byte(0x06,LCD_CMD) lcd_byte(0x01,LCD_CMD) def lcd_string(message): # Send string to display message = message.ljust(LCD_WIDTH,” “) for i in range(LCD_WIDTH): lcd_byte(ord(message[i]),LCD_CHR) def lcd_byte(bits, mode): # Send byte to data pins # bits = data # mode = True for character # False for command GPIO.output(LCD_RS, mode) # RS # High bits GPIO.output(LCD_D4, False) GPIO.output(LCD_D5, False) GPIO.output(LCD_D6, False) GPIO.output(LCD_D7, False) if bits&0x10==0x10: GPIO.output(LCD_D4, True) if bits&0x20==0x20: GPIO.output(LCD_D5, True) if bits&0x40==0x40: GPIO.output(LCD_D6, True) if bits&0x80==0x80: GPIO.output(LCD_D7, True) # Toggle ‘Enable’ pin time.sleep(E_DELAY) GPIO.output(LCD_E, True) time.sleep(E_PULSE) GPIO.output(LCD_E, False) time.sleep(E_DELAY) # Low bits GPIO.output(LCD_D4, False) GPIO.output(LCD_D5, False) GPIO.output(LCD_D6, False) GPIO.output(LCD_D7, False) if bits&0x01==0x01: GPIO.output(LCD_D4, True) if bits&0x02==0x02: GPIO.output(LCD_D5, True) if bits&0x04==0x04: GPIO.output(LCD_D6, True) if bits&0x08==0x08: GPIO.output(LCD_D7, True) # Toggle ‘Enable’ pin time.sleep(E_DELAY) GPIO.output(LCD_E, True) time.sleep(E_PULSE) GPIO.output(LCD_E, False) time.sleep(E_DELAY) if __name__ == ‘__main__’: main()

Как видите, ничего сложного. Теперь разберемся с подсветкой дисплея. Дисплеи могут иметь подсветку разного цвета на разные вкусы, в некоторых моделях ее нет вообще. Типы подсветки тоже могут быть разные.

Сейчас нас интересует ток, потребляемый элементами подсветки. Некоторые могут потреблять почти 500мА.

Да! пол ампера! Поэтому, перед тем как включать подсветку дисплея, поинтересуйтесь потянет ли такой ток Ваш блок питания.

Программное управление подсветкой дисплея

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

Оптопара защищает ноги Raspberry Pi от попадания на них напряжения, подаваемого на подсветку. Оно выше напряжения, которое может выдержать Raspberry Pi.

Но сама оптопара не может коммутировать нужный нам ток, поэтому установлен более мощный транзистор. Конечно, транзистор должен выдерживать ток, потребляемый подсветкой, с некоторым запасом.

В моем случае подсветка потребляет 420мА при напряжении 6 В, а транзистор выдерживает 1 А.

Теперь мы можем подключить вход оптопары к GPIO18 и программно включать и выключать подсветку. Можно подключить к другому выводу, но на GPIO18 выведен аппаратный ШИМ (PWM). PWM будем использовать чуть позже. Подробнее о PWM в статье Raspberry Pi – PWM и Сервопривод

Настраиваем GPIO18:

echo 18 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio18/direction

Включаем подсветку:

echo 1 > /sys/class/gpio/gpio18/value

Выключаем подсветку:

echo 0 > /sys/class/gpio/gpio18/value

Если нужно привлечь внимание к показаниям на дисплее, можно поморгать подсветкой. Например, когда какие-то значения достигают долгожданного уровня. Или наоборот опасного уровня.

Но, просто включать и выключать – это не интересно. Попробуем регулировать яркость подсветки. Это позволит настроить яркость подсветки по желанию или изменять автоматически, например, в зависимости от уровня освещенности. Регулировать яркость будем с помощью PWM.

Для генерации PWM используем аппаратные возможности Raspberry Pi. Это уменьшит нагрузку на процессор. Подключим вход оптопары к ноге GPIO18 и настроим PWM. Мы будем использовать WiringPi.

Установите WiringPi, если он у Вас еще не установлен:

sudo apt-get install git-core
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
cd ..

Настраиваем PWM:

gpio mode 1 pwm

Изменяя значение от 0 до 1023 устанавливаем яркость подсветки. На практике, наиболее заметные изменения яркости отмечены при значениях pwm от 0 до 80.

gpio pwm 1 10

Я снял небольшое демонстрационное видео, на котором отрабатывает скрипт плавного включения подсветки lcd_light_smooth_on.bash:

#!/bin/bash #PWM
gpio mode 1 pwm for (( c=1; c0; c– ))
do gpio pwm 1 $c sleep 0.01
done gpio pwm 1 0

И общий тестовый скрипт lcd_light.bash:

#!/bin/bash echo 18 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio18/direction
#ON
echo 1 > /sys/class/gpio/gpio18/value
sleep 3
#OFF
echo 0 > /sys/class/gpio/gpio18/value
sleep 2 for (( c=1; c /sys/class/gpio/gpio18/value sleep 0.1 #OFF echo 0 > /sys/class/gpio/gpio18/value sleep 0.1
done echo 18 > /sys/class/gpio/unexport #PWM
gpio mode 1 pwm gpio pwm 1 1000
sleep 1
gpio pwm 1 100
sleep 1
gpio pwm 1 50
sleep 1
gpio pwm 1 10
sleep 1
gpio pwm 1 5 sleep 2 for (( i=1; i 5V, PIN2-> GND.

Смотри также:
Brushless Motors
ESP8266
STM32
Raspberry Pi

Источник: http://www.avislab.com/blog/raspberry-pi-wh1602_ru/

Raspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей

В этом материале мы рассмотрим, как подключить к Raspberry Pi 3 широко распространенные датчик влажности и температуры DHT11 и LCD-дисплей размерности 1602 (шестнадцать символов в строке, две строки) на базе контроллера HD44780. Большинство выпускаемых различными производителями дисплеев не имеют поддержки кириллицы, но для отображения значений температуры и влажности такой недостаток не имеет принципиального значения.

Мы будем использовать дисплей с очень удобным переходником на микросхеме PCF8574T, который позволяет управлять дисплеем по протоколу I2C всего по двум проводам, не считая питания +5В и земли.

При обычных способах подключения дисплея к микроконтроллеру требуется 8 или 12 линий.

Подключение по I2C существенно экономит вводы-выводы общего назначения (GPIO) Raspberry, которые могут понадобиться для подключения других устройств, и никак не мешает наблюдать относительно медленно меняющиеся параметры.

Датчик DHT11 требует для подключения всего один провод линии данных, также не считая питания и земли. Его следует питать напряжением +3,3В. DHT11 имеет собственный протокол обмена данными 1-Wire.

Разберем пошагово установку программного обеспечения и подключение внешних устройств. Мы использовали операционную систему Raspbian Jessie With Pixel, скачанную с сайта raspberrypi.org и плату Raspberry Pi 3 Model B.

Шаг первый.

Подготовим Raspberry к установке необходимого программного обеспечения. Если у вас свежая версия Raspbian, то, скорее всего, необходимые модули уже установлены. Но, на всякий случай, лучше застраховаться.

Откройте терминал и наберите следующие команды:

sudo apt-get update

sudo apt-get upgrade

Первая команда синхронизирует и обновит индексные файлы установленных в системе пакетов, вторая – обновит все установленное на данный момент программное обеспечение. Это занимает некоторое время.

Шаг второй.

Разрешим, если это еще не сделано, использование в системе протоколов I2C и 1-Wire. Для этого введем команду

sudo raspi-config

в открывшемся меню с помощью стрелок вверх/вниз и клавиши Enter зайдем в Interfacing Options, последовательно откроем соответствующие пункты меня и разрешим (выбрав “Y” при запросе) использование I2C и 1-Wire.

Клавишей Tab установим маркер на , нажатием на Enter выйдем в меню верхнего уровня, выберем , нажмем Enter. Для выхода на предыдущий уровень меню также можно использовать клавишу . После выхода в терминал необходимо перезагрузить систему.

Это можно сделать, введя команду

sudo reboot

После перезагрузки необходимо изменить файл конфигурации модулей так, чтобы необходимые модули попали в автозагрузку. Для этого необходимо открыть в редакторе nano файл modules:

sudo nano /etc/modules

Добавьте в открывшийся для редактирования файл к имеющимся строкам еще две строки:

i2c-dev

i2c-bcm2708

Если какая-либо из этих строк уже имеется в файле, ее добавлять не надо.

Выйдем из редактора, нажав и ответив “Y” на вопрос о сохранении файла.

Шаг третий.

Теперь необходимо установить библиотеки smbus и I2C для Python. Для этого последовательно введите в терминале команды:

sudo apt-get update    (еще раз обновим индексные файлы)

sudo apt-get install –y python-smbus i2c-tools    (собственно установка библиотеки)

sudo reboot    (перезагрузка)

Проверим, установилась ли библиотека? Наберем в терминале

lsmod | grep i2c

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

Шаг четвертый.

Настало время подключить датчики к выводам GPIO Raspberry. Повторим схему разъема GPIO для наглядности. Перед подключением внешних устройств обязательно отключите Raspberry от питания!

Подключим LCD-экран и датчик DHT11 в соответствии со следующей таблицей:

Контакты I2C LCD Контакты GPIO Raspberry Описание
GND 6 Земля
VCC 2 +5В
SDA 3 GPIO 2 (I2C1_SDA)
SCL 5 GPIO 3 (I2C1_SCL)
Контакты DHT11 Контакты GPIO Raspberry Описание
GND 9 Земля
DATA 8 GPIO 14
VCC 1 +3,3 В

Шаг пятый.

Включим питание Raspberry и проверим, обнаруживает ли операционная система устройство, подключенное по шине I2С? Введем в терминале команду (она входит в установленную на третьем шаге утилиту i2c-tools):

sudo i2cdetect 1

В ответ система выдаст такую информацию:

На пересечении строки, помеченной цифрой 20, и столбца 7 мы видим адрес единственного подключенного устройства – 27 (в системе счисления по основанию 16). Теоретически, адрес может быть и другим.

Запомним его, он нам понадобится в дальнейшем.

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

Шаг шестой.

Все предварительные действия закончены. На этом  шаге мы настроим и запустим программу на языке Python, которая отобразит температуру и влажность, полученные с датчика DHT11 на дисплее. Загрузим файлы из файлового хранилища: dht11.py и raspi-dht11-i2clcd.py. Первый из них является драйвером датчика DHT11. Он используется в  основной программе, которая находится во втором файле.

Введем в терминале

sudo wget https://masterkit.ru/zip/dht11.py ,

затем

sudo wget https://masterkit.ru/zip/raspi-dht11-i2clcd.py

Команды можно объединить в одну (имена файлов указываются через пробел):

sudo wget https://masterkit.ru/zip/dht11.py https://masterkit.ru/zip/raspi-dht11-i2clcd.py

Файлы будут загружены в рабочий каталог /home/pi.

После загрузки необходимо отредактировать адрес LCD-дисплея на шине I2C, который мы наши пятом шаге, в нашем случае он равен 27. Занесем его в основной файл программы. Откроем файл raspi-dht11-i2clcd.py на редактирование в редакторе nano:

sudo nano /home/pi/ raspi-dht11-i2clcd.py

 

По умолчанию адрес 27 задан в переменной I2C_ADDR = 0x27. Если адрес на пятом шаге не равен 27, следует подставить его значение.

Читайте также:  Текстовой дисплей для удаленной связи с офисом на базе arduino uno

Сохраняем изменения Ctrl-O, закрываем редактор Ctrl-X.

Изменить файл можно и более привычным (для пользователей Windows) способом в редакторе среды программирования Python двойным кликом на файле основной программы:

Редактируем и сохраняем файл.

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

Запуск из терминала:

sudo python raspi-dht11-i2clcd.py

Запуск из редактора среды программирования Python (см.рис 9):

Run->Run Module или F5.

Автозапуск:

Введите в терминале команду, открывающую на редактирование новый файл dht11-lcd.desktop:

         sudo nano /etc/xdg/autostart/dht11-lcd.desktop

В открывшемся окне редактора nano введите 8 строк:

         [Desktop Entry]

         Version=1.0

         Encoding=UTF-8

         Name=dht11-lcd

         Comment=

         Exec=sudo python /home/pi/raspi-dht11-i2clcd.py

         Terminal=false

         Type=Application

и сохраните.

Теперь при включении питания будет автоматически запускаться интерпретатор Python с файлом raspi-dht11-i2clcd.py, что приведет к исполнению нашей программы.

Источник: https://masterkit.ru/blog/articles/raspberry-pi-3-podklyuchaem-datchik-dht11-i-lcd-displej

Делаем ноутбук на Raspberry Pi

Портативный компьютер RasPSION За четыре года с момента выхода Raspberry Pi что только не делали из этого маленького одноплатного компьютера — маленькие видеомагнитофоны, игровые консоли, автомобильные навигаторы, музыкальные плееры и многое другое.

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

Например, один экземпляр Raspberry Pi попал в руки японского моддера nokton35mm, который изготовил мини-компьютер RasPSION в стиле портативных компьютеров Psion конца 90-х.

В комплектацию входит 7-дюймовый экран, клавиатура Bluetooth, 5-вольтовая батарея и камера Pi, довольно стандартный набор для мини-ноутбуков на Raspberry Pi.Что делает RasPSION особенным — так это красивый корпус из полупрозрачного пластика, вырезанный лазером точно по нужному размеру.Здесь главная деталь — поворотный механизм на шарнирах. Он устроен по тому же принципу, что у старых карманных компьютеров Psion.Автор говорит, что ноутбук работает от аккумулятора примерно два часа. Немало, учитывая отсутствие привычной для коммерческих ноутбуков системы управления питанием.

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

В отличие от продвинутой японской модели, здесь автор использовал дешёвые комплектующие, которые были под рукой. Плохонький 3,5-дюймовый ЖК-экран с соотношением сторон 4:3 — от автомобильной видеосистемы.

Аккумуляторная батарея — от старого ноутбука Dell Latitude D600.

Чтобы вместить элементы батарей в корпус, пришлось снять с них пластиковый корпус.Автор показывает, какие контакты нужно соединить на 9-контактной плате Dell.Зарядка аккумуляторов в самодельном ноутбуке осуществляется через стандартное зарядное устройство.

Чтобы разводить питание от аккумуляторов на WiFi-модуль, Bluetooth-модуль, SSD-накопитель, передатчик беспроводной клавиатуры/мыши, а также на саму Raspberry Pi, моддер использовал маленькую хитрость. Вся перечисленная электроника запитывается от 5-вольтового хаба USB, а с батареи идёт 11,1 вольт на ЖК-экран.

Но известно, что некоторые компоненты экрана требуют питания 5 вольт. То есть достаточно найти на плате ЖК-экрана встроенный регулятор напряжения и найти контакты на 5 вольт, а оттуда запитать хаб USB.

SSD-накопитель для Raspbery Pi тоже будет не лишним дополнением, потому что SD-карты работают медленно и имеют невысокий лимит на количество циклов записи/чтения. Да и просто увеличить доступное дисковое пространство тоже приятно. Дополнительно была куплена беспроводная USB-клавиатура с тачпадом.

В данном случае лучше бы, конечно, использовать проводное соединение, но именно в модели Bluetooth оказались правильные размеры и цена.И вот на плате Raspberry Pi Model B (rev. 1) получился такой карманный компьютер.Кирпичик весит примерно 750 граммов, зато это полноценная машина с Linux и SSD-накопителем, клавиатурой и тачпадом.

Автор выложил детали корпуса для печати на 3D-принтере в виде STL-файлов. На задней крышке корпуса для красоты он предлагает разместить логотип Raspberry Pi, который подсвечивается при включении питания. Для этого он взял светодиодную ленту от подсветки клавиатуры, вырезал из неё нужную форму, и подключил к 5-вольтовому выходу USB-хаба.

Больше фотографий
Сейчас в китайских магазинах есть уже немало комплектующих, чтобы собрать ноутбук на Raspberry Pi своими руками, было бы время и желание. Необязательно самостоятельно печатать корпус на 3D-принтере. Например ещё один умелец по имени Джо Тоттен (Joe Totten) использовал для этого готовую «оболочку» Motorola Lapdock. Motorola Lapdock — это такая «докинговая станция» для Android-смартфона, на eBay их можно найти примерно по $100 или дешевле.
Докинговая станция Motorola Lapdock для смартфона Motorola ATRIX 4G Вставляешь смартфон в докинговую станцию — и сразу получаешь практически полноценный ноутбук, с экраном 1366 х 768 пикселов и клавиатурой. Только в нашем случае требуется вставить туда не смартфон, а Raspberry Pi, что и сделал Джо Тоттен. Для соединения Raspberry Pi и Lapdock понадобится набор кабелей и адатеров.Вот список необходимого:

  • Raspberry Pi
  • Motorola Lapdock (Atrix works)
  • 1 кабель USB Male to Micro USB Male (обычный кабель от телефона)
  • 1 кабель USB 2.0 A female to Micro USB B female
  • 1 кабель Micro HDMI Type D Female to Micro HDMI Type D
  • 1 кабель USB Male to USB Male (его придётся вскрыть и перерезать красный 5-вольтовый кабель)
  • 1 кабель MICRO HDMI to HDMI

Источник: https://habr.com/post/372467/

Raspberry Pi. Урок 9. Управление электромотором постоянного тока. | Raspberry Pi в Киеве (Украина)

В этом уроке Вы узнаете, как контролировать скорость и направление электромотора постоянного тока с помощью Python и чипа L293D.

В уроке 8 мы использовали Pi для генерации импульсов, чтобы управлять сервоприводом. В этом уроке мы будем использовать импульсы, чтобы контролировать скорость обычного электромотора постоянного тока, и чип контроля мотора L293D, чтобы изменять направление тока мотора и, как следствие, направление вращения мотора.

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

Raspberry Pi

Модульная плата для кабеля

Набор двухсторонних штекерных джамперов

Макетная плата половинного размера

Электромотор постоянного тока 6В

Интегрированная схема регулятора электромотора мотора L293D

Adafruit Occidentalis 0.2 или более новый дистрибутив этой операционной системы.

Обойма для четырех АА или ААА батареек и сами батарейки

Широтно-импульсная модуляция (или ШИМ) — это способ контролирования питания. Мы будем ее использовать, чтобы контролировать количество тока, который проходит через мотор и, как следствие, скорость вращения мотора.

На диаграмме ниже изображен сигнал разъема ШИМ Raspberry Pi.

Каждую 1/500 секунды разъем ШИМ подает импульс. Длина этого импульса контролирует количество энергии, которое получает мотор. Если импульс не поступает, мотор не будет вращаться.

Если импульс короткий, мотор будет вращаться медленно.

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

Adafruit и Sean Cross разработали модуль ядра со встроенным дистрибутивом Occidentalis. Подробнее про создание Occidentalis здесь. Если Вы хотите использовать модуль с Raspbian или каким-либо другим дистрибутивом, Вы найдете информацию об установке модуля ядра для своей среды здесь.

Вы использовали модуль ядра «ШИМ и Серво», чтобы контролировать сервопривод в уроке 8. В этот раз мы будем использовать тот же модуль, чтобы контролировать скорость мотора.

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

Список файлов, которые модуль использует, чтобы приводить в действие сервопривод, приведен ниже. Все эти файлы находятся в каталоге /sys/class/rpi-pwm/pwm0/ Вашего Raspberry Pi.

active Будет иметь значение 1 для активного состояния, 0 — для неактивного. Прочитав этот файл можно узнать активен ли выходной разъем, а записав его — сделать активным или неактивным.
delayed Если значение 1, то любые изменения в других файлах не будут иметь никаких последствий, пока Вы не активируете выходной разъем с помощью файла выше.
mode Записывайте этот файл, чтобы перевести разъем в режим ШИМ, серво или аудио. Конечно же, в данном случае нам нужен режим серво. Обратите внимание, что разъем также используется разъемом Pi для аудио, поэтому Вы не сможете одновременно использовать звук и контролировать сервопривод.
frequency Количество импульсов генерируемых за секунду.
duty Это значение должно быть от 0 до 100, что означает процент импульса, в течении которого в мотор поступает питание. Чем выше эта цифра, тем быстрее вращается мотор.

Это очень полезный чип. Он может контролировать 2 мотора вне зависимости друг от друга. Мы будем использовать только половину чипа в этом уроке. Большинство разъемов на правой стороне чипа — для управления вторым чипом, но у Raspberry Pi только один разъем ШИМ.

В L293D есть 2 разъема +V (8 и 16). Разъем +Vmotor (8) подает питание моторам, а +V (16) — логическому уровню чипа. Мы подключили разъем 16 к 5В разъему Pi, а разъем 8 — к обойме для батареек.

Чип L293D в этом проекте нужен нам по двум причинам. Первая: мощности Raspberry Pi совершенно недостаточно для питания мотора напрямую и это может повредить Pi.

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

Все это хорошо вмещается на макетной плате половинного размера.

Поскольку нам нужно два управляющих вывода (чтобы подсоединить к разъемам GPIO 4 и 17), нам также понадобится библиотека GPIO. Подробнее о ней в Уроке 4.

Есть много способов получить результат, как на картинке ниже. Но самый простой — это подключить Pi через SSH (смотрите Урок 6) и открыть редактор с помощью этой команды:

Затем вставьте нижеприведенный код и сохранитесь (CTRL-x).

Сначала программа задает 2 разъема GPIO, как выводы. Затем задает той же вспомогательной функции (“set”), которую мы использовали в Уроке 8, записать модуль ядра ШИМ, который позже используется для того, чтобы задать параметры ШИМ,

Есть еще две другие функции, “clockwise” и “counter_clockwise”, которые контролируют направление вращения двигателя переключая два входных контакта.

Если оба управляющих вывода в позиции HIGH или оба в позиции LOW, мотор будет неподвижен. Но если IN1 в позиции HIGH, а IN2 в позиции LOW, мотор вращается в одном направлении, а если наоборот — то в обратном.

Основной цикл программы ожидает от Вас введения команд в формате буквы (“f” или “r”) и цифры от 0 до 9. Буква задает направление вращения мотора, а цифра — скорость, которая рассчитывается умножением этой цифры на 11, что дает результат от 0 до 99, который совместим с библиотекой ШИМ.

Запустить программу можно только от имени суперпользователя, потому что только у него есть доступ к разъемам GPIO. Поэтому введите следующее:

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

Источник: https://raspberry.com.ua/raspberry-pi-lesson-9/

Алюминиевый корпус для Raspberry Pi 3 с ИК-приемником, дисплеем и кнопками

Дoбрoгo врeмeни cутoк вceм!
Муcьку читaю oкoлo гoдa, тeпeрь рeшил пoпрoбoвaть рaзмecтить cвoй oбзoр.

И в кaчecтвe прeдмeтa oбзoрa выcтупит клaccный мeтaлличecкий кoрпуc для микрoкoмпьютeрa Raspberry Pi 3.

Тoчнee, этo нe прocтo кoрпуc. Этo кoмплeкт из кoрпуca и aдaптирoвaннoй пoд eгo гaбaриты плaты рacширeния (HAT) c диcплeeм, шecтью кнoпкaми и ИК-приeмникoм.

Прeдыcтoрия пoкупки

Raspberry Pi 3 я oбзaвeлcя в нaчaлe этoгo гoдa. При пoкупкe cрaзу зaкaзaл для нee рaдиaтoры и кoрпуc:
С рaдиaтoрaми нe прoгaдaл, a вoт aкрилoвый кoрпуc co врeмeнeм пeрecтaл рaдoвaть. Вo-пeрвыx, oн пocтoяннo пoкрывaлcя oтпeчaткaми пaльцeв. Вo-втoрыx, имeл xлипкую кoнcтрукцию, нe прeдпoлaгaющую чтo eгo будут coбирaть бoлee oднoгo-двуx рaз.

В oбщeм, чeрeз нecкoлькo мecяцeв зaщeлки нa нeм cтaли oтлaмывaтьcя, дa и вooбщe cтaлo пoнятнo, чтo xoчeтcя oблaчить «мaлинку» в бoлee нaдeжную и кaчecтвeнную брoню.

Нaчaл приcмaтривaтьcя к мeтaлличecким кoрпуcaм в интeрнeт-мaгaзинax и пaрaллeльнo пoдумывaть нacчeт изгoтoвлeния caмoдeльнoгo кoрпуca из дeрeвa, и тут co мнoй вышeл нa cвязь мeнeджeр из мaгaзинa GearBest, внимaниe кoтoрoгo привлeк цикл cтaтeй o Raspberry Pi нa мoeм блoгe, и прeдлoжил выcлaть кaкoй-нибудь тoвaр нa oбзoр.

Грex былo oткaзывaтьcя oт тaкoгo прeдлoжeния, и я пoпрocил ceбe caмый нaвoрoчeнный кoрпуc из accoртимeнтa иx мaгaзинa. Прeдcтaвитeль GearBest’a дaл coглacиe, 6 мaя мнe cдeлaли зaкaз, a 24 мaя я ужe зaбрaл пocылку c кoрпуcoм из oтдeлeния пoчты.

Тexничecкиe xaрaктeриcтики

Кoрпуc

Мaтeриaл: aлюминий Цвeт: чeрный Ширинa: 61 мм Длинa: 92 мм Выcoтa: 26 мм

Вec: 156 г

Экрaн

Диaгoнaль: 2.2″ Рaзрeшeниe: 320×240 Сeнcoрный интeрфeйc: нeт Чиcлo кнoпoк: 6

ИК-приeмник: ecть

Экрaнный мoдуль прeдcтaвляeт coбoй oчeвидный клoн , тoлькo cлeгкa мoдифицирoвaнный (дoбaвлeн ИК-мoдуль и 4 штырькa GPIO нa нижнeй cтoрoнe), нo oб этoм я пoдрoбнee нaпишу дaлee в oбзoрe.

Внeшний вид, кoмплeктaция, cбoркa

Кaкoй-тo упaкoвки у кoрпуca нeт. Он пocтaвляeтcя зaмoтaнным в пузырчaтую плeнку:
Рaзвoрaчивaeм плeнку и cмoтрим кoмплeктaцию:

Сaм кoрпуc cocтoит из двуx aлюминиeвыx пoлoвинoк. Никaкиx шeрoxoвaтocтeй, зaуceнцeв и т.п. я нe oбнaружил — кaчecтвo изгoтoвлeния нa урoвнe.

Мoдуль c экрaнoм, кнoпкaми и ИК-пoртoм зaпaкoвaн в oтдeльный cлoй пузырчaтoй плeнки c дoпoлнитeльными прoклaдкaми для мягкocти.

В кoмплeктe тaкжe приcутcтвуют: зaщитнoe cтeклo (плacтикoвoe) в трaнcпoртирoвoчнoй плeнкe, нaбoр винтoв и фитингoв для крeплeния, ключ-шecтигрaнник, 6 круглыx мeтaлличecкиx кнoпoк.

Рaccмoтрим внимaтeльнee экрaн:

Кaк я ужe пиcaл вышe, этo oчeвидный клoн cтaрoгo, нo выпуcкaющeгocя и прoдaющeгocя дo cиx пoр диcплeйнoгo мoдуля Adafruit PiTFT 2.2″ HAT Mini Kit, тoлькo cлeгкa мoдифицирoвaнный. Кнoпки в oригинaльнoм мoдулe рacпoлoжeны cнизу oт экрaнa, в китaйcкoм aнaлoгe — cбoку.

Оригинaльныe кнoпки cдeлaны из плacтикa, в китaйcкoм aнaлoгe из мeтaллa. Нe знaю нacкoлькo этo влияeт нa иx дoлгoвeчнocть, нo щeлкaют oни тoчнo грoмчe и чeтчe, чeм xoтeлocь бы :).

Крoмe тoгo в aнaлoгe дoбaвлeн ИК-приeмник (чeрнaя «лaмпoчкa» в вeрxнeм лeвoм углу), a тaкжe вывoд 4 пинoв GPIO нa нижнeй cтoрoнe:

Сaмoe глaвнoe, чтo нecмoтря нa вce мoдификaции к этoму мoдулю вce eщe пoдxoдят oригинaльныe дрaйвeрa oт Adafruit, ocилить уcтaнoвку кoтoрыx cмoжeт дaжe нoвичoк в Linux-cиcтeмax.

Приcтупим к cбoркe:
Пoмeщaeм «мaлину» в нижнюю пoлoвинку кoрпуca. В нeкoтoрыx aлюминиeвыx кoрпуcax приcутcтвуют штыри, кoтoрыe упирaяcь в SoC и микрocxeму пaмяти cнимaют c ниx тeплo, тeм caмым кoрпуc выпoлняeт рoль рaдиaтoрa. К этoму кoрпуcу вce этo нe oтнocитcя. Пoэтoму нужнo имeть рaдиaтoры. Вoт эти мeдныe нeплoxo зaрeкoмeндoвaли ceбя.

Зaкрeпляeм «мaлину» фитингaми.Нacaживaeм cвeрxу мoдуль c экрaнoм, кнoпкaми и ИК-приeмникoм.Пoдгoтaвливaeм вeрxнюю пoлoвину кoрпуca: нaживляeм кнoпки в oтвeрcтия, клaдeм нa мecтo зaщитнoe cтeклo.

Оцeнитe тoлщину пeрeгoрoдoк, oтдeляющиx USB-пoрты oт ocнoвнoй чacти внутрeннeгo прocтрaнcтвa кoрпуca. Мaтeриaлa прoизвoдитeль явнo нe жaлeл.Сoeдиняeм oбe пoлoвинки кoрпуca и зaкручивaeм кoмплeктныe винты кoмплeктным жe шecтигрaнникoм.

Читайте также:  Viper design software

Пocлeдний штриx: нaклeйкa нa днo кoрпуca рeзинoвыx нoжeк. Кcтaти, oбрaтитe внимaниe нa выeмку пoд microSD. Онa тут cдeлaнa пo-людcки, и кaрту пaмяти дeйcтвитeльнo мoжнo вытaщить пaльцeм.

Вo мнoгиx aкрилoвыx кoрпуcax, включaя тoт кoрпуc чтo был у мeня рaнee, oтвeрcтиe для дocтупa к кaртe пaмяти xoть и приcутcтвoвaлo, нo пo фaкту эту кaрту приxoдилocь кaждый рaз выцaрaпывaть нaружу пинцeтoм.
Кoрпуc в cбoрe. Вид c рaзныx рaкурcoв :).

Нacтрoйкa

Пocлe cбoрки кoрпуca нужнo нacтрoить пo oтдeльнocти 3 кoмпoнeнтa: диcплeй, кнoпки и ИК-приeмник.

Диcплeй

Извиняюcь зa кaчecтвo кaртинки, нo cфoтoгрaфирoвaть удaлocь тoлькo тaк. Кoнeчнo жe в рeaльнocти диcплeй нe «cинит», a aдeквaтнo пeрeдaeт вce цвeтa. И кoнeчнo жe oн нужeн нe для тoгo, чтoбы рaбoтaть c ним в Raspbian. Грaфичecкий интeрфeйc Raspbian вooбщe нe рaccчитaн нa рaзрeшeния экрaнa нижe 800×480.

Обoлoчкa aудиoплeeрa Squeezebox (cм. кaртинку в шaпкe oбзoрa — этo oн и ecть), пoртaтивнaя рeтрo-кoнcoль, интeрфeйc умнoгo дoмa или caмoпиcный интeрфeйc для быcтрoгo дocтупa к функциям кaкoгo-тo инoгo DIY-прoeктa нa бaзe Raspberry Pi — вoт oблacть примeнeния пoдoбныx диcплeeв.

Нacтрoйкa диcплeя

Уcтaнoвкa дрaйвeрoв oт Adafruit:sudo echo “deb http://apt.adafruit.com/raspbian/ wheezy main” >> /etc/apt/sources.list sudo wget -O – -q https://apt.adafruit.com/apt.adafruit.com.gpg.key | apt-key add – sudo apt-get update sudo apt-get install node sudo apt-get install occidentalis sudo apt-get install raspberrypi-bootloader sudo apt-get install adafruit-pitft-helper

Активируeм диcплeй:

sudo adafruit-pitft-helper -t 22

Мacтeр нacтрoйки cпрocит, нужнo ли вывoдить нa диcплeй кoнcoль (нужнo) и нужнo ли пoвecить нa 23 пин GPIO кнoпку выключeния.

23 пин GPIO — этo, ecли нe oшибaюcь, caмaя вeрxняя кнoпкa вoзлe диcплeя, пoмeчeннaя кружкoм.

Еcли нe плaнируeтe иcпoльзoвaть кнoпки в другиx цeляx, тo мoжнo coглacитьcя нa прeдлoжeниe мacтeрa нacтрoйки, и тoгдa у вac пoявитcя физичecкaя кнoпкa для зaвeршeния рaбoты и выключeния «мaлинки».

Тeпeрь coздaдим кoнфиг для oкoннoгo грaфичecкoгo интeрфeйca:

sudo nano /usr/share/X11/xorg.conf.d/99-pitft.conf

В нeгo нужнo впиcaть:

Section “Device” Identifier “Adafruit PiTFT” Driver “fbdev” Option “fbdev” “/dev/fb1” EndSection

И пeрeзaгрузитьcя:

sudo reboot

Еcли вce шaги были выпoлнeны прaвильнo, тo нa 2.2″ диcплee пoявитcя cпeрвa кoнcoль co cтaтуcaми зaгрузки, a пoтoм грaфичecкий интeрфeйc Raspbian. Еcли кoнcoль пoявляeтcя, a грaфичecкий интeрфeйc нeт — прoвeрьтe, чтoбы в нacтрoйкax Raspbian cтoялa aвтoзaгрузкa в грaфичecкий интeрфeйc или зaпуcтитe eгo вручную кoмaндoй startx).

Кнoпки

Нa имeюшиecя 6 кнoпoк мoжнo пoдвecить любыe дeйcтвия, в зaвиcимocти oт тoгo кaкую зaдaчу выпoлняeт Raspberry Pi.

Чтoбы прoдeмoнcтрирoвaть иx рaбoтocпocoбнocть я публикую примeр иx иcпoльзoвaния в кaчecтвe эмулятoрa мыши.

В дaннoм cлучae чeтырe кнoпки вoзлe экрaнa будут иcпoльзoвaтьcя для пeрeмeщeния курcoрa пo ocям X и Y, a 2 кнoпки нa прaвoм тoрцe эмулируют клик прaвoй и лeвoй кнoпкaми мыши cooтвeтcтвeннo.

Нacтрoйкa кнoпoк нa примeрe эмулятoрa мыши

Уcтaнoвкa библиoтeк Python для рaбoты c GPIO:sudo apt-get update sudo apt-get install libudev-dev sudo apt-get install python-pip sudo pip install rpi.gpio sudo pip install python-uinput

Активируeм мoдуль uinput:

sudo modprobe uinput

Скaчивaeм cкрипты для рaбoты c кнoпкaми:

mkdir Python-keys cd Python-keys wget www.raspberrypiwiki.com/images/6/6c/Python-keys.zip unzip Python-keys.zip

Зaпуcкaeм cкрипт:

sudo python rpi-2.2TFT-mouse.py

ИК-приeмник

С ИК-приeмникoм cитуaция oбcтoит тaк жe, кaк и c кнoпкaми: тeoрeтичecки, нa кaждую клaвишу пультa мoжнo пoвecить выпoлнeниe любoй кoмaнды.
Публикую крaткoe рукoвoдcтвo пo нacтрoйкe ИК-приeмникa.

Нacтрoйкa ИК-приeмникa

Уcтaнaвливaeм пaкeт LIRC:sudo apt-get install lirc liblircclient-dev

Heдaктируeм фaйл кoнфигурaции:

sudo nano etc/lirc/hardware.conf

Егo cтрoки нужнo привecти к cлeдующeму виду:

LIRCD_ARGS=”–uinput” LOAD_MODULES=true DRIVER=”default” DEVICE=”/dev/lirc0″ MODULES=”lirc_rpi”

Рeдaктируeм фaйл config.txt:

sudo nano /boot/config.txt

В нeм нужнo нaйти cтрoки:

# Uncomment this to enable the lirc-rpi module #dtoverlay=lirc-rpi

И привecти иx к cлeдующeму виду:

# Uncomment this to enable the lirc-rpi module dtoverlay=lirc-rpi,gpio_in_pin=26

Пocлe этиx дeйcтвий нужнo пeрeзaгрузитьcя:

sudo reboot

Тeпeрь прoвeрим зaрaбoтaл ли ИК-пoрт:

sudo modprobe lirc_rpi sudo /etc/init.d/lirc stop sudo mode2 -d /dev/lirc0

Тут нужнo нaпрaвить пульт в cтoрoну ИК-приeмникa и пoнaжимaть кнoпки. Еcли ИК-приeмник рaбoтaeт кoррeктнo, тo увидим примeрнo cлeдующee:

Прeрывaeм выпoлнeниe кoмaнды (Ctrl+C нa клaвиaтурe) и зaпуcкaeм мacтeр нacтрoйки:

sudo /etc/init.d/lirc stop sudo irrecord -n -d /dev/lirc0 ~/lircd.conf

Зaпуcтитcя мacтeр нacтрoйки пультa, кoтoрый прeдлoжит пocлeдoвaтeльнo нaжaть нa вce имeющиecя нa пультe кнoпки — тaк, чтoбы кaждaя из ниx oкaзaлacь нaжaтoй нe мeнee oднoгo рaзa. Кaждaя «пoймaннaя» ИК-приeмникoм кнoпкa будeт oтoбрaжaтьcя пoявлeниeм нoвoй тoчки нa экрaнe.

Пocлe ocущecтвлeния этиx дeйcтвий мacтeр нacтрoйки cгeнeрируeт кoнфиг и пoлoжит eгo в дирeктoрию пoльзoвaтeля. Сдeлaeм этoт кoнфиг кoнфигoм пo умoлчaнию:

sudo cp ~/lircd.conf /etc/lirc/lircd.conf sudo /etc/init.d/lirc start

Нa этoм нacтрoйкa зaвeршeнa.

Прo тo, кaк рaбoтaeт вcтрoeнный Wi-Fi

К мoeму удивлeнию oкaзaлocь, чтo кoрпуc прaктичecки нe влияeт нa рaбoту Wi-Fi. Вcтрoeнный aдaптeр «мaлины» рaбoтaeт oдинaкoвo плoxo кaк в кoрпуce, тaк и бeз нeгo. Вoт тaкиe зaмeры cкoрocти у мeня пoлучилиcь:

В oбoиx cлучaяx «мaлинa» нaxoдилacь в oднoй кoмнaтe c рoутeрoм. В oбщeм, и в aлюминиeвoм кoрпуce интeрнeт прoдoлжaeт рaбoтaть, нo ecли нужнa выcoкaя cкoрocть, тo пoдключaтьcя к ceти нaдo пo Ethernet, a нe пo Wi-Fi.

Прo тo, кaк Raspberry Pi в этoм кoрпуce грeeтcя

Ещe oдин нeмaлoвaжный вoпрoc — нaгрeв «мaлины» в глуxoм мeтaлличecкoм кoрпуce. Пo мoим зaмeрaм тeмпeрaтурa прoцeccoрa в низкoнaгружeннoм рeжимe рaбoты кoлeбaлacь в рaйoнe 46,7°C — 48,3°C. Низкoнaгружeнный рeжим рaбoты — этo кoгдa я кoпaюcь в кoнcoли, уcтaнaвливaю и oбнoвляю пaкeты, рaзбирaюcь c дрaйвeрaми.

Тaкжe прoвoдил cтрecc-тecт.

Кaк прoвecти cтрecc-тecт

Уcтaнoвкa пaкeтa для cтрecc-тecтирoвaния:sudo apt-get install stress wget https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S gcc -o cpuburn-a53 cpuburn-a53.S

Зaпуcк тecтa:

while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& stress -c 4 -t 900s

В рeжимe cтрecc-тecтa прoцeccoр «мaлины» пoлучaeт 100% зaгрузку в тeчeниe 15 минут. Кaждыe 10 ceкунд нa экрaн вывoдитcя тeмпeрaтурa. Критичecкoй тeмпeрaтурoй для «мaлины» являeтcя 80°C — при дocтижeнии этoгo знaчeния нaчинaeтcя т.н.

трoттлинг — cнижeниe чacтoты прoцeccoрa в цeляx избeжaния дaльнeйшeгo пoвышeния тeмпeрaтуры и пoврeждeния oт пeрeгрeвa. С мoими рaдиaтoрaми «мaлинa» прoшлa тecт нa грaни. Спeрвa тeмпeрaтурa вecьмa рeзкo cкaкнулa c 46°C дo 68°C, буквaльнo зa пaру минут.

Пocлe чeгo прoдoлжилa нecпeшнo пoднимaтьcя, и нa пocлeдниx минутax дoпoлзлa-тaки дo 80,1°C. Нo трoттлинг нe нaчaлcя — тecт зaвeршилcя рaньшe, чeм тeмпeрaтурa уcпeлa oкoнчaтeльнo пeрeвaлить чeрeз эту oтмeтку.

Пocлe зaвeршeния тecтa зa минуту тeмпeрaтурa упaлa c 80°C дo 72°C, a в пocлeдующиe 10 минут cнизилacь дo 50°C.

Кoрпуc oщутимo нaгрeлcя. Руку нe oбжигaл, нo был вecьмa тeплым, тaк cкaжeм.

Я рeзультaтaми дoвoлeн. Вce-тaки в нoрмaльнoм рeжимe экcплуaтaции нe бывaeт мoмeнтoв, кoгдa прoцeccoр «мaлины» cтaбильнo зaгружeн нa 100% в тeчeниe дoлгoгo врeмeни. Тaк чтo пeрeгрeвa при иcпoльзoвaнии этoгo кoрпуca мoжнo ocoбo нe oпacaтьcя.

Пoлeзныe мeлoчи

gpio -g mode 27 out

— oтключить пoдcвeтку диcплeя

gpio -g mode 27 in

— включить пoдcвeтку диcплeя oбрaтнo ИК-приeмник пoдключeн к 26 пину GPIO.

PiTFT TouchPi Menu — прocтoe мeню, aдaптирoвaннoe пoд мaлeнькиe экрaны и низкoe рaзрeшeниe.

PiMenu — плитoчнoe мeню, тaкжe aдaптирoвaннoe пoд мaлeнькиe экрaны c низким рaзрeшeниeм.

Зaключeниe

Вoт тaкoй кoрпуc. Личнo я oбрeтeниeм дoвoлeн, кaчecтвo eгo изгoтoвлeния прocтo прeвocxoднoe. Еcли oбзaвeдуcь eщe oднoй Raspberry Pi, тo cкoрee вceгo куплю eщe oдин экзeмпляр этoгo кoрпуca ужe «зa cвoи».

К eгo минуcaм мoгу oтнecти рaбoту чeтырex кнoпoк вoзлe экрaнa — oни щeлкaют грoмчe, чeм xoтeлocь бы (нa видeo c дeмoнcтрaциeй рaбoты этo зaмeтнo). Нe знaю, мoжeт удacтcя кaк-тo зaшумить иx прoклaдкaми из рeзины.

В ocтaльнoм жe впeчaтлeния cлoжилиcь тoлькo пoлoжитeльныe. Функциoнaльнaя и дoбрoтнo cдeлaннaя вeщь.

Цeнa нecкoлькo куcaeтcя, этo дa.
Нo в GearBest cгeнeрирoвaли купoн LCDS, c кoтoрым этoт кoрпуc мoжнo купить пo cнижeннoй цeнe $35.99.

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

Источник: http://musku.ru/alyuminievyj-korpus-dlya-raspberry-pi-3-s-ik-priemnikom-displeem-i-knopkami/

Raspberry Pi: Установка операционной системы без монитора и клавиатуры. Первый запуск. by REALIX.RU – IT, компьютеры и всё остальное

Оказался у меня в руках микрокомпьютер Raspberry Pi Model B. Что это такое, я думаю объяснять не стоит, кто не знает можете прочитать в Википедии и на официальном сайте, но кратко это:

Одноплатный компьютер размером с банковскую карту, созданный как система для обучения компьютерным наукам. Выпускается в двух версиях: «A» (256 Мб ОЗУ), стоимостью $ 25, и «B» ($ 35, с ethernet, 512 Мб ОЗУ). Разрабатывается Raspberry Pi Foundation.

Raspberri Pi Model B

Так как у меня в руках оказалась всего лишь плата без корпуса и блока питания, то первый делом надо было подобрать блок питания.

С блоком питания проблем не возникло, так как питание Raspberry Pi осуществляется через порт Microusb. В роли блока питания выступила зарядка от телефона.

Карта памяти на 16GB тоже у меня присутствовала. С корпусом на время экспериментов решил не заморачиваться, а обойтись без него.

Но вот клавиатуры или мыши в наличии не было. Зато имелся нетбук. По-этому я решил устанавливать и настраивать систему без клавиатуры, мыши и монитора, с нетбука, удаленно подключившись по SSH.

Имеем:

  • Raspberry Pi Model B
  • Карта памяти SD 16GB 10 class
  • Кабель Витая пара (патч-корд)
  • Роутер Zyxel Keenetik Giga
  • Нетбук

Что нам нужно для дальнейшей работы:

  • Образ операционной системы
  • Программа для записи образа операционной системы на SD карту
  • Программа для подключение к Raspberry Pi по SSH ( Этой программой будет PUTTY)

Первые два пункта ( образ операционной системы и программу для записи образа ) скачиваем с официального сайта Raspberry Pi.

Я решил использовать операционную систему Raspbian, а программу для записи образа ОС я использовал Win32DiskImager.

Приступаем к установке и настройке.

Первым делом скачиваем и записываем образ Raspbian на SD карту. Никаких сложностей на этом шаге возникнуть не должно. Вставляем в картридер карту памяти, запускаем программу Win32DiskImager, выбираем файл образа Raspbian, выбираем устройство на которое записываем образ и нажимаем кнопку [Write].

Win32DiskImager

По окончании записи образа на карту памяти, вставляем карту памяти в слот в Raspberry Pi, подключаем LAN кабелем к роутеру, подключаем питание.

Небольшое отступление: Raspberry Pi Model B оборудован пятью светодиодами, которые могут помочь в диагностике неисправностей в процессе загрузки ОС.

  • LED1: Обозначение на плате ACT, цвет зеленый – SD  доступна
  • LED2: Обозначение на плате PWR, цвет красный – Питание присутствует
  • LED3: Обозначение на плате FDX, цвет зеленый – Full Duplex (LAN)
  • LED4: Обозначение на плате LNK, цвет зеленый – Link (LAN)
  • LED5: Обозначение на плате 100, цвет желтый – Подключена сеть100 Мбит (LAN)

Примерно через минуту после включения питания заходим в web-интерфейс роутера Zyxel Keenetik Giga и  находим информацию о выданном нашему микрокомпьютеру IP адресе.

Raspberry Pi становится доступен по SSH.

С помощью программы PUTTY ( скачиваем с официального сайта этой программы ) подключаемся к Raspberry Pi:

  • Распаковываем архив putty.zip
  • Запускаем PUTTY.EXE
  • В поле Host Name (or IP address) вводим IP нашего микрокомпьютера
  • Нажимаем кнопку [Open]
  • В появившемся окне PuTTY Security Alert нажимаем [Да]
  • В открывшемся окне консоли вводим логин(login as): pi
  • Затем вводим пароль(pi@192.168.0.207’s password:): raspberry
  • Мы вошли в систему и видим приглашение командной строки: pi@raspberrypi ~ $

PuTTY

Операционную систему мы установили. Теперь начнем настройку операционной системы.

Запускаем программу конфигурации sudo raspi-config.

Выбираем в открывшемся меню пункт 1 Expand Filesystem – Расширяем файловую системы на всю SD карту, видим сообщение о необходимости перезагрузки. перезагрузимся чуток попозже.

Затем выбираем Пункт 4 Internationalisation Options а в нем пункт I1 Change Locale – Изменяем локаль на ru_RU.UFT-8 UTF-8.

В следущем окне запрос про локаль по умолчанию. Я оставил по умолчанию en_GB.UTF-8
Затем вновь выбираем Пункт 4 Internationalisation Options, в в нем пункт I2  Change Timezone – Изменяем часовой пояс (Time Zone) Выбираем Europe -> Moscow

Затем выходим из Raspberry Pi Software Configuration Tool (raspi-config) кнопкой [Finish]
и перезагружаемся.

Вновь подключаемся к Raspberry Pi и выполняем команду:
sudo apt-get update – делаем мы это для синхронизации файлов-описаний пакетов на нашем raspberry pi с их источником и интернете и получения обновлённых списков пакетов.

Затем выполняем команду:
sudo apt-get dist-upgrade – эта команда позволяет произвести обновление системы в целом.

Отвечаем [y] на сообщение о требуемом дополнительном месте на диске и ждем окончания процесса.

Затем командой sudo reboot перезагружаемся.

Вновь подключаемся к Raspberry Pi и выполняем команду:
sudo rpi-update – обновляем прошивку и опять перезагружаемся командой sudo reboot

На этом процесс обновления и настройки операционной системы можно считать завершенным. Теперь осталось установить нужные программы.

Команды для установки некоторых программ:

sudo apt-get install mc – Midnight Commander – файловый менеджер sudo apt-get install htop – монитор процессов sudo apt-get install samba – установка SAMBA (пакет программ, которые позволяют обращаться к сетевым дискам и принтерам по протоколу SMB) sudo apt-get install samba samba-common-bin – установка SAMBA с дополнительными утилитами sudo apt-get install swat – web-интерфейс SAMBA sudo apt-get install apache2 – Web-сервер sudo apt-get install php5 sudo apt-get install sqlite3 sudo apt-get install php5-sqlite

sudo apt-get install proftpd – ftp сервер

Советуем прочитать:

Источник: http://www.realix.ru/?p=1417

Источник

Спасибо за ваше внимание к сайту!