Mundarija:

R.O.B. Telefon xabarnomasi yordamchisi: 13 qadam
R.O.B. Telefon xabarnomasi yordamchisi: 13 qadam

Video: R.O.B. Telefon xabarnomasi yordamchisi: 13 qadam

Video: R.O.B. Telefon xabarnomasi yordamchisi: 13 qadam
Video: SMS xabarnoma xizmatini yoqish va o'chirish//UZCARD 2024, Sentyabr
Anonim
R. O. B. Telefon xabarnomalari yordamchisi
R. O. B. Telefon xabarnomalari yordamchisi

Khinds10www.kevinhinds.com tomonidan Muallifning boshqa maqolalarini kuzatib boring:

Buzilmaydigan bolalar divanchasi!
Buzilmaydigan bolalar divanchasi!
Buzilmaydigan bolalar divanchasi!
Buzilmaydigan bolalar divanchasi!
Tez va oson devorga o'rnatiladigan shaxsiy kompyuterlar
Tez va oson devorga o'rnatiladigan shaxsiy kompyuterlar
Tez va oson devorga o'rnatiladigan shaxsiy kompyuterlar
Tez va oson devorga o'rnatiladigan shaxsiy kompyuterlar
Raqamli kamin ekrani
Raqamli kamin ekrani
Raqamli kamin ekrani
Raqamli kamin ekrani

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

Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
Kerakli materiallar
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

Qurilmani qurish va ulash
Qurilmani qurish va ulash

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

3D printer yordamida qopqoq, quti va orqa panellarni chop eting
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

Komponentli simlar
Komponentli simlar

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

Komponentlarni robotga ulang
Komponentlarni robotga ulang
Komponentlarni robotga ulang
Komponentlarni robotga ulang
Komponentlarni robotga ulang
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!

Tavsiya: