Mundarija:
- 1 -qadam: RaspberriPi qattiq diskini yondirish / kerakli dasturiy ta'minotni o'rnatish (Ubuntu Linux yordamida)
- 2 -qadam: kerakli materiallar
- 3 -qadam: qurilmani yarating va simini ulang
- 4 -qadam: 3d printer yordamida qopqoq, quti va orqa panellarni chop eting
- 5 -qadam: Komponentli simlarni ulash
- 6 -qadam: Komponentlarni robotga ulang
- 7 -qadam: I2C konfiguratsiyasini tekshiring
- 8 -qadam: DHT11 -ni o'rnating
- 9 -qadam: Klon ombori
- 10 -qadam: Pushbullet API -ni qo'shing (Python 3.5 yordamida)
- 11 -qadam: Boshqaruv paneli yuklanishidan boshlash uchun skriptni qo'shing va boshqaruv paneli Pi -ni qayta ishga tushiring
- 12 -qadam: Ixtiyoriy: displeyda ko'rsatish uchun o'z Nintendo rasmlaringizni yaratish
- 13 -qadam: Bajarildi
Video: R.O.B. Telefon xabarnomasi yordamchisi: 13 qadam
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Khinds10www.kevinhinds.com tomonidan Muallifning boshqa maqolalarini kuzatib boring:
Haqida: 3D chop etish va RaspberryPI loyihalarini bir necha yillardan beri loyihalash xinds10 haqida ko'proq »
Ish stolidagi telefon xabarnomalari yordamchisi (R. O. B.) Robotik operatsion do'st
1 -qadam: RaspberriPi qattiq diskini yondirish / kerakli dasturiy ta'minotni o'rnatish (Ubuntu Linux yordamida)
DashboardPI uchun yangi qattiq diskni yarating
USB adapter orqali microSD -ni kompyuterga joylashtiring va dd buyrug'i yordamida disk tasvirini yarating
O'rnatilgan microSD kartani df -h buyrug'i orqali toping, uni ajratib oling va dd buyrug'i yordamida disk tasvirini yarating.
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678
$ umount /dev /sdb1
E'tibor bering: buyruq to'liq aniqligiga ishonch hosil qiling, siz bu buyruq bilan boshqa disklarga zarar etkazishingiz mumkin
if = RASPBIAN JESSIE LITE rasm faylining joylashuvi = microSD kartangiz joylashuvi
$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of//dev/sdb (eslatma: bu holda, bu/dev/sdb,/dev/sdb1-bu zavod bo'limi microSD)
RaspberriPi -ni sozlash
Yangi microSD kartani malinaga joylashtiring va HDMI portiga ulangan monitor bilan yoqing
Kirish
foydalanuvchi: pi pass: malina
Xavfsizlik uchun hisob parolini o'zgartiring
sudo passwd pi
RaspberriPi kengaytirilgan parametrlarini yoqing
sudo raspi-config
Tanlang:
1 Fayl tizimini kengaytiring
9 Kengaytirilgan imkoniyatlar
A2 xost nomi uni "RobbieAssistant" ga o'zgartiring.
A4 SSH SSH serverini yoqish
A7 I2C i2c interfeysini yoqish
Ingliz/AQSh klaviaturasini yoqing
sudo nano/etc/default/klaviatura
Quyidagi qatorni o'zgartiring: XKBLAYOUT = "us"
Klaviatura tartibining o'zgarishi / fayl tizimining o'lchamlari kuchga kirishi uchun PIni qayta ishga tushiring
$ sudo yopilishi -r
Wi-Fi tarmog'iga avtomatik ulanish
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Raspberrypi avtomatik ravishda uy Wi -Fi tarmog'iga ulanishi uchun quyidagi qatorlarni qo'shing (agar simsiz tarmog'ingiz "linksys" deb nomlangan bo'lsa, masalan, quyidagi misolda).
tarmoq = {ssid = "linksys" psk = "Bu yerda simsiz parol"} Wi -Fi tarmog'iga ulanish uchun PIni qayta yoqing.
$ sudo yopilishi -r
Endi sizning PI mahalliy tarmoqda, siz unga SSH orqali masofadan kirishingiz mumkin. Lekin avval siz hozirda mavjud bo'lgan IP -manzilni olishingiz kerak.
$ ifconfig PI -ning IP -manzili uchun quyidagi buyruq chiqishida "inet addr: 192.168. XXX. XXX" ni qidiring.
Boshqa mashinaga o'ting va sasp orqali raspberrypi -ga kiring
$ ssh [email protected]. XXX. XXX
Kerakli paketlarni o'rnatishni boshlang
$ sudo apt-get yangilanishi
$ sudo apt-get yangilanishi
$ 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-so'rovlar python3-setuptools python3-urllib python3-urllib3 python3-so'rovlar python-smbus i2c-asboblari python-smbus python-smbus build-muhim python-dev rpi.gpio python3 python3-pip vim git python -bus python-tasvirli python-smbus build-muhim python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-asboblari python-tasvirli python-smbus build-muhim python-dev rpi.gpio python3 python3-pip python -python-psutil xz-utiozero
$ sudo pip o'rnatish so'rovlari
Mahalliy vaqt mintaqasi sozlamalarini yangilang
$ sudo dpkg-tzdata-ni qayta sozlang
interfeys yordamida vaqt mintaqangizni tanlang
Oddiy katalogni o'rnating l buyrug'i [ixtiyoriy]
vi ~/.bashrc
quyidagi qatorni qo'shing:
taxallus l = 'ls -lh'
manba ~/.bashrc
VIM standart sintaksisini ajratib ko'rsatish [ixtiyoriy]
sudo vi/etc/vim/vimrc
quyidagi qatorga izoh qoldiring:
sintaksis yoqilgan
mkdir/home/pi/RobbieAssistant/logs -ni ishga tushirish uchun dastur uchun jurnallar papkasini yarating
chmod 777/home/pi/RobbieAssistant/logs
Dasturni settings.py konfiguratsiya faylida to'g'ri ishlashini sozlang. Loyihaning / include / papkasida settings-shadow.py faylini toping va uni settings.py-ga ko'chiring va joriy sozlamalaringizga moslang.
Mahalliy ob -havo ma'lumoti uchun # prognoz.io API kaliti
weatherAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = 'FOREXAST. IO uchun API kalitingiz'
# masofadan turib harorat/namlik registrini ishga tushirish uchun ixtiyoriy
dashboardServer = 'mydevicelogger.com'
# uyingiz joylashuvi uchun kenglik/uzunlikni bilish uchun google -dan qidiring
kenglik = 41.4552578
uzunlik = -72.1665444
2 -qadam: kerakli materiallar
RaspberriPi nol
DHT11 namlagichi
LED chiroqlar (x4) Yashil / Sariq / Moviy / Qizil 2,6 dyuymli Digoleli displey
3 -qadam: qurilmani yarating va simini ulang
I2C uchun Digole displeyini tayyorlang
Digole displeyining orqa tomonida, o'tish joyini lehimlang, displeyni i2c protokolidan foydalaning
4 -qadam: 3d printer yordamida qopqoq, quti va orqa panellarni chop eting
3DPrint papkasida quyidagi X STL fayllaridan foydalanib, R. O. B. Robot, LED tasmasi va displey
buttonContainer-base.stl
tugmasiContainer-lid.stl
displaymount-final.stl
led-jabduqlar-final.stl
MiniNintendoROB.zip
Robot bosib chiqarish: Mini Nintendo R. O. B. - RabbitEngineering tomonidan
www.thingiverse.com/thing:1494964
Qora visor fonida ko'zlar qizarib ketishi uchun men tasma ishlatardim
5 -qadam: Komponentli simlarni ulash
Digole displeyi
GND -> GND
Ma'lumotlar -> SDA
CLK -> SCL
VCC -> 3V
DHT11 namlagichi
VCC -> 5V
GND -> GND
Ma'lumotlar -> GPIO 25
KO'K rezistor
VCC -> GPIO 17 (270 ohmli qarshilik bilan)
GND -> GND
SARI rezistor
VCC -> GPIO 13 (270 ohmli qarshilik bilan)
GND -> GND
Yashil rezistor
VCC -> GPIO 6 (270 ohmli qarshilik bilan)
GND -> GND
Qizil rezistor
VCC -> GPIO 12 (270 ohmli qarshilik bilan)
GND -> GND
Qizil lahzali tugma
VCC -> GPIO 16 (270 ohmli qarshilik bilan)
GND -> GND
Moviy lahzali tugma
VCC -> GPIO 26 (270 ohmli qarshilik bilan)
GND -> GND
6 -qadam: Komponentlarni robotga ulang
Ekran ushlagichini chop qilgandan so'ng, uni digole displeyiga ulang
Displeyni RPi -ga robotning orqa qismiga yopishtirish uchun etarli simlar bilan ulang
Tekshirish moslamasini chop eting va tugmachalarni simning orqa tomoniga o'tkazing
Robotni orqa tomonga ulangan RPi va pastki qismidagi DHT11 bilan simlarni ulash va yig'ishni tugating.
7 -qadam: I2C konfiguratsiyasini tekshiring
RaspberryPi -ni ishga tushiring va I2C avtobusi 7/14 segmentli barcha ulangan displeylarni taniy olishiga ishonch hosil qiling. [har bir displeyga har bir displeyning o'tish moslamalarini turli kombinatsiyalarda qanday lehimlashi bilan tavsiflangan, o'ziga xos manzil beriladi]
Agar sizda jumper bilan lehimlangan displey to'g'ri o'rnatilgan bo'lsa, i2cdetect buyrug'i uchun sizda quyidagi chiqish bo'lishi kerak:
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 -qadam: DHT11 -ni o'rnating
$ CD ~
$ git klon
$ cd Adafruit_Python_DHT/
$ sudo python setup.py ni o'rnating
$ sudo python ez_setup.py
$ CD misollar/
$ vi simpletest.py Quyidagi qatorni o'zgartiring:
Sensor = Adafruit_DHT. DHT11
Chiziqni sharhlang
pin = 'P8_11'
Chiziqni qoldiring va pin raqamini 16 ga o'zgartiring
pin = 25
Sinovni ishga tushiring
python simpletest.py
Buyruqning satrida harorat va namlikning metrik ko'rsatkichini ko'rishingiz kerak.
9 -qadam: Klon ombori
$ cd ~ $ git klon
10 -qadam: Pushbullet API -ni qo'shing (Python 3.5 yordamida)
Telefoningiz uchun pushbullet ilovasidan foydalanib, API tugmachasini olish uchun ro'yxatdan o'ting, u oddiy piton skriptiga ega bo'lib, ma'lumotlar uyasi xabarnomalari va indikator bayroqlarini yozib olishi mumkin.
Asyncio funksiyasi uchun Python 3.5 ni o'rnating
$ sudo apt-get update sudo apt-get install build-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 Agar paketlardan biri topilmasa, yangi versiya raqamini ko'ring (masalan libdb5.3-dev o'rniga 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 ni sudo-ni o'rnatishga majbur qiladi -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 taxallusi python35 = "/usr/local /opt/python-3.5.2/bin/python3.5 "'>>.bashrc echo' taxallus idle35 ="/usr/local/opt/python-3.5.2/bin/python3.5 "'>>.bashrc Python3 qaramligini o'rnating
$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 asyncpushbullet sudo pip3 ni o'rnatish so'rovlari Ixtiyoriy yo'l Python omborini to'g'ridan-to'g'ri yuklab olmasdan pythonga bog'liqliklarni olish uchun yuklab oling.
git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Hisobingizdagi pushbullet sozlamalari sahifasiga tashrif buyuring. Https://github.com/rharder/asyncpushbullet -dan foydalanish uchun API kaliti
Pushbullet-listener.py skriptini to'g'ri API va boshqaruv paneli markaziy xosti bo'lishi uchun sozlang
# API kalitini PushBullet.com saytidan API_KEY = "o. XXXYYYZZZ121222333444555666"
# boshqaruv paneli markaziy server xost dashboardServer = 'MY-SERVER-HERE.com'
11 -qadam: Boshqaruv paneli yuklanishidan boshlash uchun skriptni qo'shing va boshqaruv paneli Pi -ni qayta ishga tushiring
$ 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 -qadam: Ixtiyoriy: displeyda ko'rsatish uchun o'z Nintendo rasmlaringizni yaratish
O'zingizning 128x128 faylingizni quyidagi URL manziliga yuklang:
www.digole.com/tools/PicturetoC_Hex_converter.php
Yuklash uchun rasm faylini tanlang, ekranga kerakli o'lchamni qo'shing (Kenglik/Balandlik)
Ochilgan menyuda "OLED/LCD rangli 256 rang (1 bayt/piksel)" ni tanlang.
Olti burchakli chiqishni oling.
Olti burchakli chiqishni display/ build/ header (.h) faylga qo'shing, qolganlarini sintaksis uchun qo'llanma sifatida ishlating.
Yangi faylni digole.c fayliga qo'shing #include myimage.h
Rasm fayliga yangi buyruq qatori kancasini qo'shing. E'tibor bering: quyidagi buyruq sizning rasmingizni 10 piksel pastdan 10 pikseldan pastda chizishingizni bildiradi. Siz uni turli xil X, Y koordinatalariga o'zgartirishingiz mumkin, shuningdek, 128, 128 qiymatlarini yangi tasviringiz o'lchamiga o'zgartirishingiz mumkin.
} if if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere sizning (.h) faylda aniqlangan}
Quyidagi buyruq yordamida yangi rasmni ko'rsatish uchun quyida qayta tuzing (xatolarga e'tibor bermang).
$./digole rasm
Majburiy bo'lmagan o'zgarishlar uchun Digole displey drayverini qayta qurish
$ CD ko'rsatish/qurish
$ gcc digole.c
$ mv a.out../../digole
$ chmod +x../../digole
13 -qadam: Bajarildi
Siz tugatdingiz!