Съдържание:

ГРАБЯ. Асистент за уведомяване на телефона: 13 стъпки
ГРАБЯ. Асистент за уведомяване на телефона: 13 стъпки

Видео: ГРАБЯ. Асистент за уведомяване на телефона: 13 стъпки

Видео: ГРАБЯ. Асистент за уведомяване на телефона: 13 стъпки
Видео: 3000+ Common English Words with Pronunciation 2024, Септември
Anonim
ГРАБЯ. Асистент за уведомяване по телефона
ГРАБЯ. Асистент за уведомяване по телефона

От khinds10www.kevinhinds.com Следвайте още от автора:

Неразрушим детски диван!
Неразрушим детски диван!
Неразрушим детски диван!
Неразрушим детски диван!
Бързи и лесни компютри за стенен монтаж
Бързи и лесни компютри за стенен монтаж
Бързи и лесни компютри за стенен монтаж
Бързи и лесни компютри за стенен монтаж
Цифров екран за камина
Цифров екран за камина
Цифров екран за камина
Цифров екран за камина

За: 3D печат и проектиране на проекти на RaspberryPI от няколко години Повече за khinds10 »

Асистент за известия за настолен телефон, включващ (R. O. B.) роботизиран приятел за работа

Стъпка 1: Мигащ твърд диск RaspberriPi / Инсталирайте необходимия софтуер (Използване на Ubuntu Linux)

Създайте своя нов твърд диск за DashboardPI

Поставете microSD в компютъра си чрез USB адаптер и създайте образа на диска, като използвате командата dd

Намерете вмъкнатата си microSD карта чрез командата df -h, демонтирайте я и създайте образа на диска с командата dd copy copy

$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/медия/XXX/1234-5678

$ umount /dev /sdb1

Внимание: уверете се, че командата е напълно точна, можете да повредите други дискове с тази команда

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

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img на =/dev/sdb (забележка: в този случай това е/dev/sdb,/dev/sdb1 е съществуващ фабричен дял на microSD)

Настройване на вашия RaspberriPi

Поставете новата си microSD карта в raspberrypi и я включете с монитор, свързан към HDMI порта

Влизам

потребител: pi pass: малина

Променете паролата на акаунта си за сигурност

sudo passwd pi

Активирайте разширените опции на RaspberriPi

sudo raspi-config

Избирам:

1 Разгънете файлова система

9 Разширени опции

A2 Hostname го променете на "RobbieAssistant"

A4 SSH Активиране на SSH сървър

A7 I2C Активиране на i2c интерфейс

Активирайте английската/американската клавиатура

sudo nano/etc/default/keyboard

Променете следния ред: XKBLAYOUT = "нас"

Рестартирайте PI за промени в оформлението на клавиатурата / преоразмеряване на файловата система, за да влезе в сила

$ sudo shutdown -r сега

Автоматично свързване към вашата WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Добавете следните редове, за да може вашият raspberrypi автоматично да се свърже с домашния ви WiFi (ако вашата безжична мрежа е наречена "linksys" например, в следния пример)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Рестартирайте PI, за да се свържете с WiFi мрежа

$ 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 надстройка

$ 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 lipbredin pip python3-заявки python3-setuptools python3-urllib python3-urllib3 python3-заявки vim git python-smbus i2c-инструменти python-изображения python-smbus изграждане-съществени python-dev rpi.gpio python3 python3-pip ip-gim инструменти python-imaging python-smbus build-съществен python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools python-образен python-smbus build-съществен python-dev rpi.gpio python3 python3 -gpiozero python-psutil xz-utils

$ sudo pip искания за инсталиране

Актуализирайте локалните настройки на часовата зона

$ sudo dpkg-преконфигурирайте tzdata

изберете вашата часова зона с помощта на интерфейса

Настройка на простата команда l от директорията [по избор]

vi ~/.bashrc

добавете следния ред:

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

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

Поправете подчертаването на синтаксиса по подразбиране на VIM [по избор]

sudo vi/etc/vim/vimrc

разкомментирайте следния ред:

синтаксисът е включен

направете папката с регистрационни файлове, за да може приложението да изпълнява mkdir/home/pi/RobbieAssistant/logs

chmod 777/home/pi/RobbieAssistant/регистрационни файлове

Конфигурирайте приложението да работи правилно в config.py конфигурационен файл Намерете файла settings-shadow.py в / include / папката на проекта и го копирайте в settings.py и се приспособете към текущите си настройки

# weather.io API ключ за местна информация за времето

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

weatherAPIKey = 'ВАШИЯТ АПИ КЛЮЧ ЗА FORECAST. IO'

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

dashboardServer = 'mydevicelogger.com'

# потърсете в google, за да получите географска ширина/дължина за вашето домашно местоположение

географска ширина = 41,4552578

дължина = -72,1665444

Стъпка 2: Необходими консумативи

Необходими консумативи
Необходими консумативи
Необходими консумативи
Необходими консумативи
Необходими консумативи
Необходими консумативи
Необходими консумативи
Необходими консумативи

RaspberriPi Zero

DHT11 Овлажнител

LED светлини (x4) Зелено / Жълто / Синьо / Червено 2.6 Диголов дисплей

Стъпка 3: Изградете и свържете устройството

Изградете и свържете устройството
Изградете и свържете устройството

Подгответе дисплея Digole за i2C

На гърба на дисплея Digole запоявайте джъмпера, за да зададете на дисплея да използва протокола i2c

Стъпка 4: С помощта на 3D принтер отпечатайте корицата, кутията и задните панели

С помощта на 3D принтер отпечатайте корицата, кутията и задните панели
С помощта на 3D принтер отпечатайте корицата, кутията и задните панели

Използвайки следните X STL файлове в папката 3DPrint, R. O. B. Робот, LED снопове и стойка за дисплей

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 -> 3V

DHT11 Овлажнител

VCC -> 5V

GND -> GND

ДАННИ -> GPIO 25

СИН резистор

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

GND -> GND

ЖЪЛТ Резистор

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

GND -> GND

ЗЕЛЕН Резистор

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

GND -> GND

ЧЕРВЕН Резистор

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

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 a b c d e f 00: - - - - - - - - - - - - -

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

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

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

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

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

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

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

Стъпка 8: Инсталиране на DHT11

$ cd ~

$ git клонинг

$ cd Adafruit_Python_DHT/

$ sudo python setup.py install

$ sudo python ez_setup.py

$ cd примери/

$ vi simpletest.py Променете следния ред:

сензор = Adafruit_DHT. DHT11

Коментирайте реда

pin = 'P8_11'

Декомментирайте реда и променете пин номера на 16

щифт = 25

Изпълнете теста

python simpletest.py

В командния ред трябва да видите показания за показатели Температура и Влажност.

Стъпка 9: Клониране на хранилище

$ cd ~ $ git клониране

Стъпка 10: Добавете API за Pushbullet (използвайки Python 3.5)

Използвайки приложението pushbullet за вашия телефон, регистрирайте се, за да получите API ключ, за да може обикновен скрипт на python да може да улавя и избутва известия в центъра за данни и флагове на индикатори

Инсталирайте Python 3.5 за асинсионна функционалност

$ sudo apt-get update sudo apt-get install build-bistven 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 направи sudo направи инсталиране 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 инсталирайте python3-setuptools sudo apt-get инсталирайте python3-pip sudo pip3 инсталирайте asyncpushbullet sudo pip3 искания за инсталиране Незадължителен начин Изтеглете хранилището на 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"

# dashboard централен сървър хост dashboardServer = 'MY-SERVER-HERE.com'

Стъпка 11: Добавете скрипта, за да започнете при зареждане на таблото и рестартирайте Dashboard 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/LCD (1 байт/пиксел)“в падащото меню „Използва се за“

Вземете шестнадесетичен изход.

Добавете шестнадесетичния изход към файл display/ build/ header (.h), използвайте другите като ръководства за синтаксис.

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

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

} иначе ако (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere е дефиниран във вашия (.h) файл}

Сега възстановете (игнорирайте грешките) по -долу, за да изобразявате новото си изображение със следната команда.

$./дигола мое изображение

Повторно изграждане на [Включен] Digole Display Driver за вашите незадължителни промени

$ cd дисплей/компилация

$ gcc digole.c

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

$ chmod +x../../digole

Стъпка 13: Готово

Готови сте!

Препоръчано: