Оглавление:

R.O.B. Помощник по уведомлению по телефону: 13 шагов
R.O.B. Помощник по уведомлению по телефону: 13 шагов

Видео: R.O.B. Помощник по уведомлению по телефону: 13 шагов

Видео: R.O.B. Помощник по уведомлению по телефону: 13 шагов
Видео: Главные настройки и фишки смартфонов Infinix и Tecno, которые надо ОБЯЗАТЕЛЬНО знать и использовать 2024, Июнь
Anonim
R. O. B. Помощник по телефонным уведомлениям
R. O. B. Помощник по телефонным уведомлениям

Подписаться Еще от автора:

Несокрушимый детский диван!
Несокрушимый детский диван!
Несокрушимый детский диван!
Несокрушимый детский диван!
Быстрое и простое настенное крепление ПК
Быстрое и простое настенное крепление ПК
Быстрое и простое настенное крепление ПК
Быстрое и простое настенное крепление ПК
Экран цифрового камина
Экран цифрового камина
Экран цифрового камина
Экран цифрового камина

О себе: 3D-печать и проектирование проектов RaspberryPI уже несколько лет. Подробнее о хинде10 »

Помощник по уведомлению на настольном телефоне с роботом-оператором (R. O. B.)

Шаг 1. Прошивка жесткого диска RaspberriPi / установка необходимого программного обеспечения (с использованием Ubuntu Linux)

Создайте новый жесткий диск для DashboardPI

Вставьте microSD в свой компьютер через USB-адаптер и создайте образ диска с помощью команды dd

Найдите вставленную карту microSD с помощью команды df -h, отключите ее и создайте образ диска с помощью команды disk copy dd.

$ df -h / dev / sdb1 7,4 ГБ 32 КБ 7,4 ГБ 1% / media / XXX / 1234-5678

$ umount / dev / sdb1

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

if = расположение файла изображения RASPBIAN JESSIE LITE = расположение вашей карты microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (примечание: в данном случае это / dev / sdb, / dev / sdb1 был существующим заводским разделом на microSD)

Настройка вашего RaspberriPi

Вставьте новую карту microSD в raspberrypi и включите его с помощью монитора, подключенного к порту HDMI.

Авторизоваться

пользователь: pi pass: raspberry

Измените пароль своей учетной записи в целях безопасности

sudo passwd pi

Включить дополнительные параметры RaspberriPi

sudo raspi-config

Выбирать:

1 Разверните файловую систему

9 Дополнительные параметры

Имя хоста A2 измените его на "RobbieAssistant"

A4 SSH Включить SSH-сервер

A7 I2C Включить интерфейс i2c

Включить английскую / американскую клавиатуру

Судо нано / и т. д. / по умолчанию / клавиатура

Измените следующую строку: XKBLAYOUT = "us"

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

$ sudo shutdown -r сейчас

Автоматическое подключение к вашему Wi-Fi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Добавьте следующие строки, чтобы ваш raspberrypi автоматически подключался к домашнему Wi-Fi (если ваша беспроводная сеть называется «linksys», например, в следующем примере)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Перезагрузите PI, чтобы подключиться к сети Wi-Fi.

$ sudo shutdown -r сейчас

Теперь, когда ваш PI наконец находится в локальной сети, вы можете удаленно войти в него через SSH. Но сначала вам нужно получить текущий IP-адрес.

$ ifconfig Найдите "inet addr: 192.168. XXX. XXX" в выводе следующей команды для IP-адреса вашего PI

Перейдите на другую машину и войдите в свой raspberrypi через ssh

$ ssh [email protected]. XXX. XXX

Начать установку необходимых пакетов

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install build-essential tk-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libncurses5-dev libncursesw5-dev libreadline6-dev python3-pip python3-requests python3-setuptools python3-urllib python3-urllib3 python3-requests vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip python -gpiozero python-psutil xz-utils

Запросы на установку $ sudo pip

Обновить настройки местного часового пояса

$ sudo dpkg-reconfigure tzdata

выберите свой часовой пояс с помощью интерфейса

Установите команду simple directory l [необязательно]

vi ~ /.bashrc

добавьте следующую строку:

псевдоним l = 'ls -lh'

источник ~ /.bashrc

Исправить выделение синтаксиса по умолчанию VIM [необязательно]

Судо vi / и т. д. / vim / vimrc

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

синтаксис на

сделать папку журналов для запуска приложения mkdir / home / pi / RobbieAssistant / logs

chmod 777 / home / pi / RobbieAssistant / журналы

Настройте приложение для правильной работы в файле конфигурации settings.py Найдите файл settings-shadow.py в папке / includes / проекта, скопируйте его в settings.py и настройте свои текущие настройки.

# Прогноз.io Ключ API для получения местной информации о погоде

weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'ВАШ КЛЮЧ API ДЛЯ FORECAST. IO'

# необязательно для запуска удаленного регистратора температуры / влажности

dashboardServer = 'mydevicelogger.com'

# выполните поиск в Google, чтобы узнать широту / долготу вашего домашнего местоположения

широта = 41,4552578

долгота = -72.1665444

Шаг 2. Необходимые материалы

Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы

РаспберриПи Ноль

DHT11 гигростат

Светодиодные индикаторы (x4) зеленый / желтый / синий / красный 2,6-дюймовый дисплей Digole

Шаг 3: соберите и подключите устройство

Соберите и подключите устройство
Соберите и подключите устройство

Подготовьте дисплей Digole для i2C

С обратной стороны дисплея Digole припаяйте перемычку, чтобы назначить дисплей для использования протокола i2c.

Шаг 4. Используя 3D-принтер, распечатайте крышку, коробку и заднюю панель

Распечатайте крышку, коробку и заднюю панель с помощью 3D-принтера
Распечатайте крышку, коробку и заднюю панель с помощью 3D-принтера

Используя следующие файлы X STL в папке 3DPrint, R. O. B. Робот, жгут светодиодов и крепление для дисплея

buttonContainer-base.stl

buttonContainer-lid.stl

displaymount-final.stl

led-harness-final.stl

MiniNintendoROB.zip

Робот-печать: Mini Nintendo R. O. B. - от RabbitEngineering

www.thingiverse.com/thing:1494964

Я использовала красную ленту, чтобы глаза стали красными на черном фоне козырька.

Шаг 5: Компонентная проводка

Компонентная проводка
Компонентная проводка

Диголь Дисплей

GND -> GND

ДАННЫЕ -> SDA

CLK -> SCL

VCC -> 3 В

DHT11 гигростат

VCC -> 5 В

GND -> GND

ДАННЫЕ -> GPIO 25

СИНИЙ резистор

VCC -> GPIO 17 (с резистором 270 Ом)

GND -> GND

ЖЕЛТЫЙ резистор

VCC -> GPIO 13 (с резистором 270 Ом)

GND -> GND

ЗЕЛЕНЫЙ резистор

VCC -> GPIO 6 (с резистором 270 Ом)

GND -> GND

КРАСНЫЙ резистор

VCC -> GPIO 12 (с резистором 270 Ом)

GND -> GND

КРАСНАЯ кнопка мгновенного действия

VCC -> GPIO 16 (с резистором 270 Ом)

GND -> GND

СИНЯЯ кнопка мгновенного действия

VCC -> GPIO 26 (с резистором 270 Ом)

GND -> GND

Шаг 6: Подключите компоненты к роботу

Подключите компоненты к роботу
Подключите компоненты к роботу
Подключите компоненты к роботу
Подключите компоненты к роботу
Подключите компоненты к роботу
Подключите компоненты к роботу

После распечатки держателя экрана подключите его к диголь-дисплею.

Подключите дисплей к RPi с достаточным количеством проводов, чтобы приклеить RPi к задней части робота.

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

Завершите электромонтаж и сборку робота с RPi, подключенным к задней части, и DHT11, приклеенным к нижней части.

Шаг 7. Проверьте конфигурацию I2C

Запустите RaspberryPi и убедитесь, что шина I2C распознает все подключенные 7/14 сегментные дисплеи. [каждому дисплею дается уникальный адрес, описанный выше, в зависимости от того, как вы припаиваете перемычки каждого дисплея в различных комбинациях]

Если у вас есть дисплей с правильно припаянной перемычкой, вы должны получить следующий вывод для команды i2cdetect:

sudo i2cdetect -y 1

0 1 2 3 4 5 6 7 8 9 а б в г д е е 00: - - - - - - - - - - - - - -

10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- --

30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

70: -- -- -- -- -- -- -- --

Шаг 8: установка DHT11

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT /

$ sudo python setup.py установить

$ sudo python ez_setup.py

$ cd examples /

$ vi simpletest.py Измените следующую строку:

sensor = Adafruit_DHT. DHT11

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

pin = 'P8_11'

Раскомментируйте строку и измените пин-код на 16

штифт = 25

Запустить тест

python simpletest.py

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

Шаг 9: клонировать репозиторий

$ cd ~ $ git clone

Шаг 10: Добавьте Pushbullet API (используя Python 3.5)

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

Установите Python 3.5 для работы asyncio

$ sudo apt-get update sudo apt-get install build-essential tk-dev sudo apt-get install libncurses5-dev libncursesw5-dev libreadline6-dev sudo apt-get install libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev sudo apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev Если один из пакетов не может быть найден, попробуйте использовать более новый номер версии (например, libdb5.4-dev вместо libdb5.3-dev).

$ wget https://www.python.org/ftp/python/3.5.2/Python-3…. tar zxvf Python-3.5.2.tgz cd Python-3.5.2./configure --prefix = / usr / local / opt / python-3.5.2 make sudo make install sudo ln -s / usr / local / opt / python -3.5.2 / bin / pydoc3.5 /usr/bin/pydoc3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/python3.5 /usr/bin/python3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/python3.5m /usr/bin/python3.5m sudo ln -s /usr/local/opt/python-3.5.2/bin/pyvenv-3.5 /usr/bin/pyvenv-3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/pip3.5 /usr/bin/pip3.5 cd ~ echo 'псевдоним python35 = "/ usr / local /opt/python-3.5.2/bin/python3.5 "'>>.bashrc echo' псевдоним idle35 =" / usr / local / opt / python-3.5.2 / bin / python3.5 "'>>.bashrc Установите зависимости python3

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 install requests Необязательный способ Загрузите репозиторий python напрямую, чтобы получить зависимости python без использования установки pip

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Посетите страницу настроек pushbullet в своей учетной записи, чтобы создать Ключ API для использования

Настройте свой скрипт pushbullet-listener.py, чтобы иметь правильный API и центральный хост панели инструментов.

# ваш ключ API от PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"

# панель мониторинга хост центрального сервера dashboardServer = 'MY-SERVER-HERE.com'

Шаг 11: добавьте сценарий для запуска при загрузке панели мониторинга и перезапустите панель управления Pi

$ crontab -e

@reboot nohup /usr/local/opt/python-3.5.2/bin/python3.5 /home/pi/PushBullet/pushbullet-listener.py> / dev / null 2> & 1

@reboot nohup /usr/local/opt/python-3.5.3/bin/python3.5 /home/pi/RobbieAssistant/PushBullet/pushbullet-listener.py> / dev / null 2> & 1

@reboot nohup python /home/pi/RobbieAssistant/Robbie.py> / dev / null 2> & 1

@reboot nohup python /home/pi/RobbieAssistant/Temp.py> / dev / null 2> & 1

@reboot nohup python /home/pi/RobbieAssistant/Weather.py> / dev / null 2> & 1

Шаг 12: ДОПОЛНИТЕЛЬНО: создание собственных изображений Nintendo для отображения на дисплее

Загрузите свой собственный файл 128x128 по следующему URL-адресу:

www.digole.com/tools/PicturetoC_Hex_converter.php

Выберите файл изображения для загрузки, добавьте размер, который вы хотите, чтобы он был на экране (ширина / высота)

В раскрывающемся списке «Используется для» выберите «256 цветов для цветного OLED / ЖК-дисплея (1 байт / пиксель)».

Получите шестнадцатеричный вывод.

Добавьте шестнадцатеричный вывод в файл отображения / сборки / заголовка (.h), а остальные используйте в качестве руководств по синтаксису.

Включите новый файл в файл digole.c #include "myimage.h"

Включите новый обработчик командной строки к вашему файлу изображения в. Примечание: команда ниже говорит, что нарисуйте изображение в позиции 10 пикселей на 10 пикселей вниз. Вы можете изменить его на другие координаты X, Y, вы также можете изменить значения 128, 128 на любой размер вашего нового изображения.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere определена в вашем (.h) файле}

Теперь перестройте (игнорируйте ошибки) ниже, чтобы ваше новое изображение визуализировалось с помощью следующей команды.

$./digole myimage

Перестройка [в комплекте] драйвера дисплея Digole для дополнительных изменений

$ cd display / build

$ gcc digole.c

$ mv a.out../../digole

$ chmod + x../../digole

Шаг 13: Готово

Вы закончили!

Рекомендуемые: