Мазмуну:

R.O.B. Телефон эскертме жардамчысы: 13 кадам
R.O.B. Телефон эскертме жардамчысы: 13 кадам

Video: R.O.B. Телефон эскертме жардамчысы: 13 кадам

Video: R.O.B. Телефон эскертме жардамчысы: 13 кадам
Video: УМНЫЕ ОТКАТНЫЕ ВОРОТА | Управление "Алисой" 2024, Июнь
Anonim
R. O. B. Телефон эскертме жардамчысы
R. O. B. Телефон эскертме жардамчысы

Автордун башка маалыматтарын караңыз:

Балдардын бузулбай турган керебети!
Балдардын бузулбай турган керебети!
Балдардын бузулбай турган керебети!
Балдардын бузулбай турган керебети!
Тез жана оңой дубалга орнотулган ЖК
Тез жана оңой дубалга орнотулган ЖК
Тез жана оңой дубалга орнотулган ЖК
Тез жана оңой дубалга орнотулган ЖК
Санарип камин экраны
Санарип камин экраны
Санарип камин экраны
Санарип камин экраны

Жөнүндө: 3D басып чыгаруу жана RaspberryPI долбоорлорун бир нече жылдан бери иштеп чыгуу khinds10 жөнүндө көбүрөөк маалымат »

Desktop Phone Notification Assistant Featuring (R. O. B.) Robotic Operating Buddy

1 -кадам: Жаркыраган RaspberriPi Hard Disk / Керектүү Программаны Орнотуу (Ubuntu Linuxту колдонуу)

DashboardPI үчүн жаңы катуу дискти түзүңүз

USB адаптери аркылуу microSDди компьютериңизге киргизиңиз жана dd командасын колдонуп дисктин сүрөтүн түзүңүз

Киргизилген microSD картаңызды df -h буйругу аркылуу таап, аны ажыратып, dd буйругу менен дисктин сүрөтүн түзүңүз.

$ 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 of//dev/sdb (note: in this case, it's this/dev/sdb,/dev/sdb1 was in the existing zavod partition on microSD)

RaspberriPi орнотуу

Жаңы microSD картаңызды raspberrypiге салып, HDMI портуна туташкан монитор менен күйгүзүңүз

Кирүү

колдонуучу: pi pass: малина

Коопсуздук үчүн каттоо эсебиңиздин сырсөзүн өзгөртүңүз

sudo passwd pi

RaspberriPi Advanced Options иштетүү

sudo raspi-config

Тандоо:

1 Файл системасын кеңейтүү

9 Advanced Options

A2 Hostname аны "RobbieAssistant" кылып өзгөртөт

A4 SSH SSH серверин иштетүү

A7 I2C i2c интерфейсин иштетүү

Англисче/АКШ баскычтобун иштетүү

sudo nano/etc/default/keyboard

Төмөнкү сапты өзгөртүңүз: XKBLAYOUT = "us"

Клавиатуранын жайгашуусун өзгөртүү үчүн / файл системасынын өлчөмүн өзгөртүү үчүн PIди кайра жүктөө

$ sudo өчүрүү -r азыр

WiFiга автоматтык түрдө туташуу

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Сиздин raspberrypi автоматтык түрдө үй WiFiңызга кошулушу үчүн төмөнкү саптарды кошуңуз (эгер сиздин зымсыз тармагыңыз "linksys" деп аталып калса, мисалы, төмөнкү мисалда)

network = {ssid = "linksys" psk = "БУЛ ЖЕРДЕ ЗАПСЫЗ ПАРОЛЬ"} WiFi тармагына туташуу үчүн PIди кайра жүктөңүз

$ sudo өчүрүү -r азыр

Эми сиздин PI акыры жергиликтүү тармакта болгондуктан, ага алыстан SSH аркылуу кире аласыз. Бирок адегенде азыркы учурда бар болгон IP дарегин алышыңыз керек.

$ ifconfig "inet addr: 192.168. XXX. XXX" издеңиз, PIнин IP дареги үчүн төмөнкү буйруктун чыгарылышында.

Башка машинага өтүп, 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 libreadon6-pip python3-өтүнүчтөр python3-setuptools python3-urllib python3-urllib3 python3-өтүнүчтөр python-smbus i2c-куралдар python-smbus python-smbus куруу үчүн зарыл python-dev rpi.gpio python3 python3-pip vim git python-pybus python-иштетүүчү python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-куралдар -gpiozero python-psutil xz-utils

$ sudo pip орнотуу сурамдары

Жергиликтүү убакыт алкагынын жөндөөлөрүн жаңыртуу

$ sudo dpkg-маалыматты кайра конфигурациялоо

интерфейс аркылуу убакыт алкагыңызды тандаңыз

Жөнөкөй каталогду орнотуу l буйругу [милдеттүү эмес]

vi ~/.bashrc

төмөнкү сапты кошуу:

каймана аты l = 'ls -lh'

булак ~/.bashrc

VIM демейки синтаксисин бөлүп көрсөтүүнү оңдоңуз [милдеттүү эмес]

sudo vi/etc/vim/vimrc

төмөнкү сапка комментарий бербеңиз:

синтаксис күйгүзүлгөн

mkdir/home/pi/RobbieAssistant/logs иштетүү үчүн колдонмо үчүн журналдар папкасын жасаңыз

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

Колдонмону settings.py конфигурация файлында туура иштөө үчүн конфигурациялоо Долбоордун / камтыйт / папкасынан settings-shadow.py файлын таап, settings.pyге көчүрүп, учурдагы жөндөөлөрүңүзгө тууралаңыз.

Жергиликтүү аба ырайы маалыматы үчүн # prognoz.io API ачкычы

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

weatherAPIKey = 'СИЗДИН API АЧКЫЧЫ КАБЫЛ АЛУУ ҮЧҮН.'

# алыскы температура/нымдуулукту каттоочу үчүн кошумча

dashboardServer = 'mydevicelogger.com'

# үйүңүздүн жайгашкан жери үчүн Latitude/Longitude алуу үчүн googleден издеңиз

кеңдик = 41.4552578

узундук = -72.1665444

2 -кадам: Керектелүүчү материалдар

Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар
Керектелүүчү материалдар

RaspberriPi Zero

DHT11 Humidistat

LED Lights (x4) Жашыл / Сары / Көк / Кызыл 2.6 Digole Display

3 -кадам: Түзмөктү куруңуз жана өткөрүңүз

Түзмөктү куруңуз жана өткөрүңүз
Түзмөктү куруңуз жана өткөрүңүз

I2C үчүн Digole дисплейин даярдаңыз

Digole дисплейинин арткы жагында, i2c протоколун колдонуу үчүн дисплейди дайындоо үчүн секиргичти кошуңуз

4 -кадам: 3d принтерин колдонуп, мукабаны, кутуну жана арткы панелдерди басып чыгарыңыз

3d принтерин колдонуп, мукабаны, кутуну жана арткы панелдерди басып чыгарыңыз
3d принтерин колдонуп, мукабаны, кутуну жана арткы панелдерди басып чыгарыңыз

3DPrint папкасында төмөнкү X STL файлдарын колдонуп, 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 -кадам: Компоненттин зымдары

Компоненттин зымдары
Компоненттин зымдары

Digole Display

GND -> GND

DATA -> SDA

CLK -> SCL

VCC -> 3V

DHT11 Humidistat

VCC -> 5V

GND -> GND

МААЛЫМАТ -> GPIO 25

КӨК резистор

VCC -> GPIO 17 (270ohm каршылыгы менен)

GND -> GND

САРЫ Резистор

VCC -> GPIO 13 (270ohm каршылыгы менен)

GND -> GND

GREEN Resistor

VCC -> GPIO 6 (270ohm каршылыгы менен)

GND -> GND

RED каршылыгы

VCC -> GPIO 12 (270ohm каршылыгы менен)

GND -> GND

RED Momentary баскычтары

VCC -> GPIO 16 (270ohm каршылыгы менен)

GND -> GND

КӨК көз ирмемдик баскыч

VCC -> GPIO 26 (270ohm каршылыгы менен)

GND -> GND

6 -кадам: Компоненттерди роботко туташтыруу

Компоненттерди роботко туташтыруу
Компоненттерди роботко туташтыруу
Компоненттерди роботко туташтыруу
Компоненттерди роботко туташтыруу
Компоненттерди роботко туташтыруу
Компоненттерди роботко туташтыруу

Экран кармагычты басып чыгаргандан кийин, аны digole дисплейине туташтырыңыз

Дисплейди 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 орнотуу

$ sudo python ez_setup.py

$ cd мисалдары/

$ vi simpletest.pyТөмөнкү сапты өзгөртүңүз:

сенсор = Adafruit_DHT. DHT11

Сызыкты комментарийге калтырыңыз

пин = 'P8_11'

Сызыкка комментарий жазбай, пин номерин 16га өзгөртүңүз

пин = 25

Тестти иштет

python simpletest.py

Сиз буйрук сабында көрсөтүлгөн Temp and Humidity аттуу метрикалык окууну көрүшүңүз керек.

9 -кадам: Clone репозиторийи

$ CD ~ $ git клону

10 -кадам: Pushbullet API кошуу (Python 3.5 менен)

Телефонуңуз үчүн pushbullet тиркемесин колдонуп, API ачкычын алуу үчүн катталып, жөнөкөй питон сценарийи маалымат түйүнүнүн эскертмелерин жана индикаторлорунун желектерин басып, түртө алат.

Python 3.5 орнотуу asyncio иштеши үчүн

$ sudo apt-get update sudo apt-get install-essential tk-dev sudo apt-get libncurses5-dev libncursesw5-dev libreadline6-dev sudo apt-get libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev Sudo apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev Эгерде пакеттердин бири табылбаса, жаңы версиянын номерин колдонуп көрүңүз (мис. libdb5.3-dev ордуна libdb5.4-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 -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 'alias python35 = "/usr/local /opt/python-3.5.2/bin/python3.5 "'>>.bashrc echo' alias 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 asyncpushbullet sudo pip3 орнотуу өтүнүчтөрү Кошумча жол Python репозиторийин питонду колдонбостон python көз карандылыктарын алуу үчүн түз жүктөп алыңыз

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py орнотуу Каттоо эсебиңиздеги pushbullet жөндөөлөр барагына баш багыңыз Https://github.com/rharder/asyncpushbullet колдонуу үчүн API ачкычы

Туура API жана панелдин борбордук хостуна ээ болуу үчүн pushbullet-listener.py скриптиңизди конфигурациялаңыз

# сиздин API ачкычыңыз PushBullet.com API_KEY = "o. XXXYYYZZZ121222333444555666"

# панелдин борбордук серверинин хост панели 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 Color for OLED/LCD (1 байт/пиксел)" тандаңыз.

Hex чыгарылышын алыңыз.

Он алтылык чыгууну дисплей/ куруу/ header (.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 Display Driver кайра куруу

$ cd дисплей/куруу

$ gcc digole.c

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

$ chmod +x../../digole

13 -кадам: Бүттү

Бүттүңүз!

Сунушталууда: