Բովանդակություն:
- Քայլ 1. Pրամեկուսացում RaspberriPi կոշտ սկավառակ / Տեղադրեք անհրաժեշտ ծրագրակազմ (օգտագործելով Ubuntu Linux)
- Քայլ 2: Անհրաժեշտ պարագաներ
- Քայլ 3: Կառուցեք և լարեք սարքը
- Քայլ 4: Օգտագործելով 3D տպիչ, տպեք շապիկը, տուփը և հետևի վահանակները
- Քայլ 5: Բաղադրիչի միացում
- Քայլ 6: Միացրեք բաղադրիչները ռոբոտին
- Քայլ 7: Ստուգեք I2C կազմաձևումը
- Քայլ 8: Տեղադրեք DHT11
- Քայլ 9. Կլոնավորման պահեստ
- Քայլ 10: Ավելացրեք Pushbullet API (օգտագործելով Python 3.5)
- Քայլ 11. Ավելացրեք սկրիպտը Սկսելու համար Dashboard Boot- ից և վերագործարկեք ձեր Dashboard Pi- ը
- Քայլ 12. ՈTՇԱԴՐՈԹՅՈՆ. Ստեղծեք ձեր սեփական Nintendo պատկերները `դրանք ցուցադրելու համար
- Քայլ 13: Ավարտվեց:
Video: Ռ.Օ.Բ. Հեռախոսի ծանուցման օգնական ՝ 13 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Հետևեք հեղինակի ավելին.
Մասին ՝ 3D տպագրություն և RaspberryPI նախագծերի նախագծում արդեն մի քանի տարի է Ավելին khinds10- ի մասին »
Desktop Phone Notification Assistant Featuring (R. O. B.) Robotic Operating Buddy
Քայլ 1. Pրամեկուսացում RaspberriPi կոշտ սկավառակ / Տեղադրեք անհրաժեշտ ծրագրակազմ (օգտագործելով Ubuntu Linux)
Ստեղծեք ձեր նոր կոշտ սկավառակը DashboardPI- ի համար
Տեղադրեք microSD- ը ձեր համակարգչին USB ադապտերի միջոցով և ստեղծեք սկավառակի պատկերը ՝ օգտագործելով dd հրամանը
Տեղադրեք տեղադրված microSD քարտը df -h հրամանի միջոցով, ապամոնտաժեք այն և ստեղծեք սկավառակի պատկերը սկավառակի պատճենը dd հրամանով
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/մեդիա/XXX/1234-5678
$ umount /dev /sdb1
Caգուշացում. Համոզվեք, որ հրամանը լիովին ճշգրիտ է: Այս հրամանով կարող եք վնասել այլ սկավառակներ
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 քարտը ազնվամորիին և միացրեք այն HDMI պորտին միացված մոնիտորով
Մուտք
օգտվող ՝ pi pass ՝ ազնվամորի
Անվտանգության համար փոխեք ձեր հաշվի գաղտնաբառը
sudo passwd pi
Միացնել RaspberriPi ընդլայնված ընտրանքները
sudo raspi-config
Ընտրեք ՝
1 Ընդլայնել ֆայլային համակարգը
9 Ընդլայնված ընտրանքներ
A2 հաղորդավարի անունը փոխեք այն «RobbieAssistant» - ի
A4 SSH Միացնել SSH սերվերը
A7 I2C Միացնել i2c ինտերֆեյսը
Միացնել անգլերեն/ԱՄՆ ստեղնաշարը
sudo nano/etc/default/ստեղնաշար
Փոխել հետևյալ տողը. XKBLAYOUT = "մենք"
Վերագործարկեք PI ստեղնաշարի դասավորության փոփոխությունների / ֆայլային համակարգի չափափոխման համար `ուժի մեջ մտնելու համար
$ sudo անջատում -r հիմա
Ավտոմատ միացեք ձեր WiFi- ին
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Ավելացրեք հետևյալ տողերը, որպեսզի ձեր ազնվամորին ինքնաբերաբար միանա ձեր տնային WiFi- ին (եթե ձեր անլար ցանցը կոչվում է «linksys», օրինակ ՝ հետևյալ օրինակում)
network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Վերագործարկեք PI- ն WiFi ցանցին միանալու համար
$ sudo անջատում -r հիմա
Այժմ, երբ ձեր PI- ն վերջապես գտնվում է տեղական ցանցում, կարող եք հեռակա մուտք գործել դրան SSH- ի միջոցով: Բայց նախ անհրաժեշտ է ստանալ այն IP հասցեն, որն այն այժմ ունի:
$ ifconfig Փնտրեք «inet addr: 192.168. XXX. XXX» ՝ ձեր PI- ի IP հասցեի հետևյալ հրամանի ելքում
Գնացեք այլ մեքենա և մուտքագրեք ձեր raspberrypi ssh- ի միջոցով
$ ssh [email protected]. XXX. XXX
Սկսեք անհրաժեշտ փաթեթների տեղադրումը
$ sudo apt-get թարմացում
$ 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 libreadline6-dev python3-pip python3- հարցումներ python3-setuptools python3-urllib python3-urllib3 python3-պահանջներ vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip vim git git git git 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- վերակազմավորել tzdata- ն
ընտրեք ձեր ժամային գոտին `օգտագործելով ինտերֆեյսը
Կարգավորեք պարզ գրացուցակի l հրամանը [ըստ ցանկության]
vi ~/.bashrc
ավելացնել հետևյալ տողը.
կեղծանուն l = 'ls -lh'
աղբյուր ~/.bashrc
Ուղղել VIM- ի կանխադրված շարահյուսության նշումը [ըստ ցանկության]
sudo vi/etc/vim/vimrc
մեկնաբանել հետևյալ տողը.
շարահյուսությունը միացված է
կազմեք տեղեկամատյանների թղթապանակը ծրագրի համար, որը կաշխատի mkdir/home/pi/RobbieAssistant/logs
chmod 777/home/pi/RobbieAssistant/տեղեկամատյաններ
Կարգավորեք Application- ը ՝ պարամետրերում ճիշտ գործարկելու համար: py կազմաձևման ֆայլ Գտեք ծրագրի պարամետրերի-shadow.py նախագծի / include / թղթապանակում և պատճենեք այն settings.py- ում և կարգավորեք ձեր ընթացիկ կարգավորումները
# forecast.io API ստեղն եղանակային տեղեկատվության համար
եղանակային պայմաններ APIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = 'ԱՆՏԵՍՈԹՅՈ. IՆԻ ՁԵՐ API բանալին'
# լրացուցիչ ՝ հեռավոր ջերմաստիճանի/խոնավության անտառահատիչը գործարկելու համար
dashboardServer = 'mydevicelogger.com'
# որոնեք Google- ում ՝ ձեր տան գտնվելու վայրի լայնությունը/երկայնությունը ստանալու համար
լայնություն = 41.4552578
երկայնություն = -72.1665444
Քայլ 2: Անհրաժեշտ պարագաներ
RaspberriPi Zero
DHT11 Humidistat
LED լույսեր (x4) Կանաչ / Դեղին / Կապույտ / Կարմիր 2.6 դիգոլային էկրան
Քայլ 3: Կառուցեք և լարեք սարքը
Պատրաստեք Digole Display- ը i2C- ի համար
Digole Display- ի հետևի մասում կպցրեք jumper- ը ՝ դիսփլեյին i2c արձանագրությունից օգտվելու համար նշանակելու համար
Քայլ 4: Օգտագործելով 3D տպիչ, տպեք շապիկը, տուփը և հետևի վահանակները
Օգտագործելով հետևյալ X STL ֆայլերը 3DPrint թղթապանակում, R. O. B. Ռոբոտ, LED ամրագոտի և ցուցադրման լեռ
buttonContainer-base.stl
buttonContainer-lid.stl
displaymount-final.stl
led-harness-final.stl
MiniNintendoROB.zip
Robot Տպագրիչ ՝ Mini Nintendo R. O. B. - RabbitEngineering- ի կողմից
www.thingiverse.com/thing:1494964
Կարմիր ժապավենով ես աչքերը կարմրեցի սեւ երեսպատման ֆոնով
Քայլ 5: Բաղադրիչի միացում
Դիգոլի ցուցադրում
GND -> GND
ՏՎՅԱԼՆԵՐ -> SDA
CLK -> SCL
VCC -> 3V
DHT11 Humidistat
VCC -> 5V
GND -> GND
ՏՎՅԱԼՆԵՐ -> GPIO 25
Կապույտ դիմադրություն
VCC -> GPIO 17 (270 ohm դիմադրիչով)
GND -> GND
ԴԵELLԻՆ դիմադրիչ
VCC -> GPIO 13 (270 ohm դիմադրիչով)
GND -> GND
GREEN Resistor
VCC -> GPIO 6 (270 ohm դիմադրիչով)
GND -> GND
RED ռեզիստոր
VCC -> GPIO 12 (270 ohm դիմադրիչով)
GND -> GND
RED Momentary Pushbutton
VCC -> GPIO 16 (270 ohm դիմադրիչով)
GND -> GND
BLUE Momentary Pushbutton
VCC -> GPIO 26 (270 ohm դիմադրիչով)
GND -> GND
Քայլ 6: Միացրեք բաղադրիչները ռոբոտին
Էկրանի պահիչը տպելուց հետո միացրեք այն դիջոլի էկրանին
Connectուցադրումը միացրեք RPi- ին այնքան լարերով, որ RPi- ն սոսնձվի ռոբոտի հետևի մասում
Տպեք վերահսկիչը և կոճակները լարերով միացրեք այնքան, որ այն հասնի ռոբոտի հետևի մաս
Ավարտեք լարերի տեղադրումը և ռոբոտի հավաքումը RPi- ով, որը միացված է հետևի մասով, իսկ DHT11- ը ՝ սոսնձված ներքևին
Քայլ 7: Ստուգեք I2C կազմաձևումը
Գործարկեք ձեր RaspberryPi- ն և համոզվեք, որ I2C ավտոբուսը ճանաչում է ձեր միացված 7/14 հատվածի բոլոր էկրանները: [յուրաքանչյուր ցուցադրման տրվում է վերը նկարագրված յուրահատուկ հասցե ՝ ըստ այն բանի, թե ինչպես եք յուրաքանչյուր ցուցադրման թռիչքը զոդում տարբեր համակցություններով]
Եթե դուք ունեք jumper- ով ցուցադրումը ճիշտ միացված, ապա 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
Մեկնաբանեք տողը
pin = 'P8_11'
Մեկնաբանեք տողը և փոխեք PIN- ի թիվը 16 -ի
քորոց = 25
Գործարկեք թեստը
python simpletest.py
Դուք պետք է տեսնեք Temp և Humidity- ի չափիչ ընթերցում, որը ցուցադրվում է հրամանի տողում:
Քայլ 9. Կլոնավորման պահեստ
$ cd ~ $ git կլոն
Քայլ 10: Ավելացրեք Pushbullet API (օգտագործելով Python 3.5)
Օգտագործելով pushbullet ծրագիրը ձեր հեռախոսի համար, գրանցվեք ՝ API ստեղն ստանալու համար, որպեսզի պարզ python սցենարը կարողանա գրավել և մղել տվյալների հանգույցի ծանուցումները և ցուցիչ դրոշակները
Տեղադրեք Python 3.5 asyncio ֆունկցիոնալության համար
$ sudo apt-get թարմացում 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 տեղադրել 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 '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 տեղադրել 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 բանալին ՝ https://github.com/rharder/asyncpushbullet օգտագործելու համար
Կարգավորեք ձեր pushbullet-listener.py սցենարը `ունենալու ճիշտ API և կառավարման վահանակի կենտրոնական հոսթերը
# ձեր API բանալին PushBullet.com- ից API_KEY = "o. XXXYYYZZZ121222333444555666"
# վահանակ կենտրոնական սերվերի սերվեր dashboardServer = 'MY-SERVER-HERE.com'
Քայլ 11. Ավելացրեք սկրիպտը Սկսելու համար Dashboard Boot- ից և վերագործարկեք ձեր 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. ՈTՇԱԴՐՈԹՅՈՆ. Ստեղծեք ձեր սեփական Nintendo պատկերները `դրանք ցուցադրելու համար
Վերբեռնեք ձեր սեփական 128x128 ֆայլը հետևյալ URL- ին
www.digole.com/tools/PicturetoC_Hex_converter.php
Ընտրեք ձեր պատկերի ֆայլը վերբեռնման համար, ավելացրեք այն չափը, որը ցանկանում եք, որ այն լինի էկրանին (Լայնություն/Բարձրություն)
Ընտրեք «256 Color for Color OLED/LCD (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 իմիմիջ
Վերակառուցեք [ներառված է] Digole Display Driver ՝ ձեր կամընտիր փոփոխությունների համար
$ cd ցուցադրում/կառուցում
$ gcc digole.c
$ mv a.out../../digole
$ chmod +x../../digole
Քայլ 13: Ավարտվեց:
Դուք ավարտեցիք:
Խորհուրդ ենք տալիս:
Ստացեք ծանուցման նամակ, երբ ThingSpeak- ի ալիքը որոշ ժամանակ չի թարմացվել. 16 քայլ
Ստացեք ծանուցման նամակ, երբ ThingSpeak- ի ալիքը որոշ ժամանակ չի թարմացվել. Նախապատմություն պատմություն Ես ունեմ վեց ավտոմատ ջերմոց, որոնք տարածված են Դուբլինում, Իռլանդիա: Օգտագործելով բջջային հեռախոսի պատվերով պատրաստված ծրագիր, ես կարող եմ հեռակա վերահսկել և շփվել յուրաքանչյուր ջերմոցի ավտոմատացված գործառույթների հետ: Ես կարող եմ ձեռքով բացել / փակել հաղթանակը
Bluetooth- ով վերահսկվող Messenger LCD -- 16x2 LCD -- Hc05 -- Պարզ -- Անլար ծանուցման տախտակ `8 քայլ
Bluetooth- ով կառավարվող Messenger LCD || 16x2 LCD || Hc05 || Պարզ || Անլար հայտարարությունների տախտակ. …………………………. Լրացուցիչ տեսանյութերի համար բաժանորդագրվեք իմ YouTube ալիքին …… ………………………………… noticeանուցումների տախտակն օգտագործվում է մարդկանց նոր տեղեկատվությամբ թարմացնելու համար կամ Եթե ցանկանում եք հաղորդագրություն ուղարկել սենյակում կամ կիսով չափ
Անլար ծանուցման տախտակ (Bluetooth) ՝ 5 քայլ (նկարներով)
Անլար ծանուցման տախտակ (Bluetooth). Այս ժամանակակից աշխարհում, որտեղ ամեն ինչ թվայնացված է, ինչու չէ, սովորական iceանուցումների տախտակը ստանում է նոր տեսք: Այսպիսով, թույլ տվեք կատարել Bluetooth- ով վերահսկվող iceանուցման տախտակ, որը շատ պարզ է: Այս կարգավորումը կարող է օգտագործվել ստատիկ ծանուցման տեղում տախտակ, ինչպես քոլեջներում
Հավելված - քարտեզագրում + ծանուցման համակարգ. 9 քայլ
Հավելված - քարտեզագրում + ծանուցման համակարգ. Գիշերային երթևեկելը բավականին զվարճալի է: Բայց հաճախ պարզվում է, որ դա մղձավանջ է ՝ ճանապարհը հատող կենդանիների տեսքով (հատկապես այն թափառող կատուներն ու շները, որոնք սպասում են, որ դու քշես նրանց մոտ, որպեսզի նրանք անցնեն !!): Այնպես որ, ես մտածեցի այդպես պատրաստել
Պատրաստեք USB հեռախոսի լիցքավորիչ գրեթե ցանկացած բջջային հեռախոսի համար: 4 քայլ
Պատրաստեք USB հեռախոսի լիցքավորիչ գրեթե ցանկացած բջջային հեռախոսի համար :: Լիցքավորիչս այրվեց, ուստի ես մտածեցի