Оглавление:
- Шаг 1. Прошивка жесткого диска RaspberriPi / установка необходимого программного обеспечения (с использованием Ubuntu Linux)
- Шаг 2. Необходимые материалы
- Шаг 3: соберите и подключите устройство
- Шаг 4. Используя 3D-принтер, распечатайте крышку, коробку и заднюю панель
- Шаг 5: Компонентная проводка
- Шаг 6: Подключите компоненты к роботу
- Шаг 7. Проверьте конфигурацию I2C
- Шаг 8: установка DHT11
- Шаг 9: клонировать репозиторий
- Шаг 10: Добавьте Pushbullet API (используя Python 3.5)
- Шаг 11: добавьте сценарий для запуска при загрузке панели мониторинга и перезапустите панель управления Pi
- Шаг 12: ДОПОЛНИТЕЛЬНО: создание собственных изображений Nintendo для отображения на дисплее
- Шаг 13: Готово
Видео: R.O.B. Помощник по уведомлению по телефону: 13 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Подписаться Еще от автора:
О себе: 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-принтер, распечатайте крышку, коробку и заднюю панель
Используя следующие файлы 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: Готово
Вы закончили!
Рекомендуемые:
Как построить электрическую лонгборд с управлением по телефону: 6 шагов (с изображениями)
Как построить электрический лонгборд с управлением по телефону: электрические лонгборды - это потрясающе! ТЕСТОВЫЙ КАДР В ВИДЕО ВЫШЕ КАК ПОСТРОИТЬ ЭЛЕКТРИЧЕСКИЙ ЛОНГБОРД, УПРАВЛЯЕМЫЙ С ТЕЛЕФОНА С ПОМОЩЬЮ BLUETOOTH больше скорости на выходе
Смотритель по телефону: 5 шагов
Смотритель за телефоном: если ваш телефон отрывается от кнопки смотрителя, то включаются будильник и предупреждающий свет, но если вы никогда не позволяете своему телефону отрываться от кнопки смотрителя, тогда будильник и предупреждающий свет отключаются
Подключение любого Arduino к мобильному телефону: 6 шагов (с изображениями)
Взаимодействие любого Arduino с мобильным телефоном: при использовании Arduino может быть довольно неприятно не иметь возможности использовать его только потому, что у вас нет компьютера. Возможно, Windows или Mac OS несовместимы, у вас вообще нет компьютера или вы просто хотите больше свободы для int
Адаптация телефонной трубки к сотовому телефону: 7 шагов (с изображениями)
Адаптация телефонной трубки к сотовому телефону: Билл Рив ([email protected]) Адаптировано для инструкций с помощью мыши ([email protected]) Отказ от ответственности: описанная здесь процедура может не сработать для вас - это риск, который у вас есть принять. Если не работает, или если вы что-то сломаете, это не м
Управление светодиодной платой по телефону с помощью NodeMCU, ESP8266 и MAX7219: 8 шагов
Управление платой светодиодов по телефону С NodeMCU, ESP8266 и MAX7219: я хочу использовать телефон для управления платой светодиодов в качестве сигнала поворота. Таким образом, ESP8266 будет действовать как точка доступа, микроконтроллер, а также как сервер. Веб-сервер будет иметь простую веб-страницу с 3 кнопками: повернуть ВЛЕВО, повернуть вправо и повернуть SOS. Текст