Cuprins:

R.O.B. Asistent notificări telefonice: 13 pași
R.O.B. Asistent notificări telefonice: 13 pași

Video: R.O.B. Asistent notificări telefonice: 13 pași

Video: R.O.B. Asistent notificări telefonice: 13 pași
Video: „Ascensiunea AI și integrarea ChatGPT în soluțiile Microsoft AI”, cu Robert Pufan | Microsoft 2024, Iunie
Anonim
R. O. B. Asistent de notificare telefonică
R. O. B. Asistent de notificare telefonică

De khinds10www.kevinhinds.com Urmăriți mai multe de la autor:

Canapea indestructibilă pentru copii!
Canapea indestructibilă pentru copii!
Canapea indestructibilă pentru copii!
Canapea indestructibilă pentru copii!
PC-uri rapide și ușoare de montare pe perete
PC-uri rapide și ușoare de montare pe perete
PC-uri rapide și ușoare de montare pe perete
PC-uri rapide și ușoare de montare pe perete
Ecran de semineu digital
Ecran de semineu digital
Ecran de semineu digital
Ecran de semineu digital

Despre: Imprimarea 3D și proiectarea proiectelor RaspberryPI de câțiva ani acum Mai multe despre khinds10 »

Asistent de notificare a telefonului de birou care prezintă (R. O. B.) Robotic Operating Buddy

Pasul 1: Hard disk-ul RaspberriPi intermitent / Instalarea software-ului necesar (folosind Ubuntu Linux)

Creați noul dvs. hard disk pentru DashboardPI

Introduceți microSD-ul pe computerul dvs. prin adaptor USB și creați imaginea discului folosind comanda dd

Localizați cardul microSD introdus prin comanda df -h, demontați-l și creați imaginea discului cu comanda dd copy copy dd

$ df -h / dev / sdb1 7.4G 32K 7.4G 1% / media / XXX / 1234-5678

$ umount / dev / sdb1

Atenție: asigurați-vă că comanda este complet precisă, cu această comandă puteți deteriora alte discuri

if = locația fișierului imagine RASPBIAN JESSIE LITE a = locația cardului dvs. microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (notă: în acest caz, este / dev / sdb, / dev / sdb1 era o partiție fabrică existentă pe microSD)

Configurarea RaspberriPi

Introduceți noul card microSD în raspberrypi și porniți-l cu un monitor conectat la portul HDMI

Autentificare

utilizator: pi pass: zmeură

Schimbați parola contului pentru securitate

sudo passwd pi

Activați opțiunile avansate RaspberriPi

sudo raspi-config

Alege:

1 Extindeți sistemul de fișiere

9 Opțiuni avansate

A2 Hostname schimbați-l în „RobbieAssistant”

A4 SSH Activați serverul SSH

A7 I2C Activați interfața i2c

Activați tastatura engleză / SUA

sudo nano / etc / implicit / tastatură

Schimbați următoarea linie: XKBLAYOUT = "noi"

Reporniți PI pentru modificările aspectului tastaturii / redimensionarea sistemului de fișiere pentru a intra în vigoare

$ sudo shutdown -r acum

Conectare automată la WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Adăugați următoarele linii pentru ca raspberrypi-ul dvs. să se conecteze automat la WiFi-ul de acasă (dacă rețeaua fără fir este denumită „linksys”, de exemplu, în exemplul următor)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD AICI"} Reporniți PI pentru a vă conecta la rețeaua WiFi

$ sudo shutdown -r acum

Acum că PI-ul dvs. se află în sfârșit în rețeaua locală, vă puteți conecta la acesta de la distanță prin SSH. Dar mai întâi trebuie să obțineți adresa IP pe care o are în prezent.

$ ifconfig Căutați "inet addr: 192.168. XXX. XXX" în următoarea ieșire a comenzii pentru adresa IP a PI-ului dvs.

Mergeți la o altă mașină și conectați-vă la raspberrypi prin ssh

$ ssh [email protected]. XXX. XXX

Începeți instalarea pachetelor necesare

$ sudo apt-get update

$ sudo apt-get upgrade

$ 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-requests python3-setuptools python3-urllib python3-urllib3 python3-requests vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip vim git python-smbus 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

Solicitări de instalare $ sudo pip

Actualizați setările pentru fusul orar local

$ sudo dpkg-reconfigure tzdata

selectați fusul orar utilizând interfața

Configurați comanda directorului simplu l [opțional]

vi ~ /.bashrc

adăugați următoarea linie:

alias l = 'ls -lh'

sursa ~ /.bashrc

Remediați evidențierea implicită a sintaxei VIM [opțional]

sudo vi / etc / vim / vimrc

decomentați următoarea linie:

sintaxă activată

faceți folderul jurnalelor pentru ca aplicația să ruleze mkdir / home / pi / RobbieAssistant / logs

chmod 777 / home / pi / RobbieAssistant / logs

Configurați aplicația pentru a rula corect în fișierul de configurare settings.py Găsiți fișierul settings-shadow.py în folderul / includes / al proiectului și copiați-l în settings.py și ajustați-l la setările curente

# cheia API forecast.io pentru informații meteo locale

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

weatherAPIKey = 'CHEEA API VOI PENTRU FORECAST. IO'

# opțional pentru rularea înregistratorului de temperatură / umiditate la distanță

dashboardServer = 'mydevicelogger.com'

# căutați pe google pentru a obține Latitudine / Longitudine pentru locația de acasă

latitudine = 41.4552578

longitudine = -72,1665444

Pasul 2: consumabile necesare

Consumabile necesare
Consumabile necesare
Consumabile necesare
Consumabile necesare
Consumabile necesare
Consumabile necesare
Consumabile necesare
Consumabile necesare

RaspberriPi Zero

DHT11 Humidistat

Lumini LED (x4) Verde / Galben / Albastru / Roșu Afișaj Digol de 2,6"

Pasul 3: Construiți și conectați dispozitivul

Construiți și conectați dispozitivul
Construiți și conectați dispozitivul

Pregătiți afișajul Digole pentru i2C

Pe partea din spate a ecranului Digole, lipiți jumperul pentru a atribui afișajul pentru a utiliza protocolul i2c

Pasul 4: Folosind o imprimantă 3D, tipăriți capacul, cutia și panourile din spate

Folosind o imprimantă 3D, tipăriți capacul, cutia și panourile din spate
Folosind o imprimantă 3D, tipăriți capacul, cutia și panourile din spate

Folosind următoarele fișiere X STL din folderul 3DPrint, R. O. B. Robot, cablaj LED și suport pentru afișaj

buttonContainer-base.stl

buttonContainer-lid.stl

displaymount-final.stl

led-ham-final.stl

MiniNintendoROB.zip

Robot Print de: Mini Nintendo R. O. B. - de RabbitEngineering

www.thingiverse.com/thing:1494964

Am folosit birocrație pentru a face ochii roșii cu fundalul negru al vizierei

Pasul 5: Cablarea componentelor

Cablarea componentelor
Cablarea componentelor

Afișaj Digol

GND -> GND

DATE -> SDA

CLK -> SCL

VCC -> 3V

DHT11 Humidistat

VCC -> 5V

GND -> GND

DATE -> GPIO 25

Rezistor ALBASTRU

VCC -> GPIO 17 (cu rezistor de 270ohm)

GND -> GND

Rezistor GALBEN

VCC -> GPIO 13 (cu rezistor de 270ohm)

GND -> GND

Rezistor VERDE

VCC -> GPIO 6 (cu rezistor de 270ohm)

GND -> GND

Rezistor RED

VCC -> GPIO 12 (cu rezistor de 270ohm)

GND -> GND

Buton momentan RED

VCC -> GPIO 16 (cu rezistor de 270ohm)

GND -> GND

Buton albastru momentan

VCC -> GPIO 26 (cu rezistor de 270ohm)

GND -> GND

Pasul 6: Conectați componentele la robot

Conectați componentele la robot
Conectați componentele la robot
Conectați componentele la robot
Conectați componentele la robot
Conectați componentele la robot
Conectați componentele la robot

După ce ați imprimat suportul ecranului, conectați-l la afișajul digolului

Conectați afișajul la RPi cu cabluri suficiente pentru a lipi RPi pe partea din spate a robotului

Imprimați controlerul și conectați butoanele cu cabluri suficiente pentru a ajunge în partea din spate a robotului

Terminați cablarea și asamblarea robotului cu RPi conectat la spate și DHT11 lipit de partea de jos

Pasul 7: Verificați configurația I2C

Porniți RaspberryPi și asigurați-vă că autobuzul I2C recunoaște toate afișajele segmentului conectat 7/14. [fiecărui afișaj i se oferă o adresă unică descrisă mai sus prin modul în care lipiți jumperii fiecărui afișaj în diferite combinații]

Dacă aveți afișajul cu jumper lipit corect, ar trebui să aveți următoarea ieșire pentru comanda 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: -- -- -- -- -- -- -- --

Pasul 8: Instalați DHT11

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT /

$ sudo python setup.py instalare

$ sudo python ez_setup.py

$ cd exemple /

$ vi simpletest.py Schimbați următoarea linie:

senzor = Adafruit_DHT. DHT11

Comentează linia

pin = 'P8_11'

Decomentați linia și schimbați numărul pinului la 16

pin = 25

Rulați testul

python simpletest.py

Ar trebui să vedeți o citire metrică a Temp și Umiditate afișată pe linia de comandă.

Pasul 9: Clonați depozitul

$ cd ~ $ git clonă

Pasul 10: Adăugați API Pushbullet (folosind Python 3.5)

Folosind aplicația pushbullet pentru telefon, înscrieți-vă pentru a primi o cheie API pentru a avea un script Python simplu, pentru a putea capta și împinge notificările din hub-ul de date și semnalizatoarele de indicatori

Instalați Python 3.5 pentru funcționalitatea asincioasă

$ sudo apt-get update 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 install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev Dacă unul dintre pachete nu poate fi găsit, încercați un număr de versiune mai nou (de exemplu libdb5.4-dev în loc de 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 Instalați dependențele python3

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 solicitări de instalare Mod opțional Descărcați direct depozitul Python pentru a obține dependențele Python fără utilizarea pip instalării acestuia

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Accesați pagina de setări pushbullet din contul dvs. pentru a genera un Cheie API pentru a utiliza

Configurați scriptul pushbullet-listener.py pentru a avea API-ul corect și gazda centrală a tabloului de bord

# cheia dvs. API de la PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"

# dashboard central server host dashboardServer = 'MY-SERVER-HERE.com'

Pasul 11: Adăugați scriptul pentru a începe la Boot Dashboard și reporniți 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

Pasul 12: OPȚIONAL: Crearea propriilor dvs. imagini Nintendo pentru a fi redate pe ecran

Încărcați propriul fișier 128x128 la următoarea adresă URL:

www.digole.com/tools/PicturetoC_Hex_converter.php

Alegeți fișierul imagine pentru încărcare, adăugați ce dimensiune doriți să fie pe ecran (Lățime / Înălțime)

Selectați „256 Color for Color OLED / LCD (1 byte / pixel)” în meniul drop-down „Folosit pentru”

Obțineți ieșirea hexagonală.

Adăugați ieșirea hexagonală la un fișier display / build / header (.h), utilizați-le pe celelalte ca ghiduri pentru sintaxă.

Includeți noul fișier în fișierul digole.c #include myimage.h

Includeți un nou cârlig de linie de comandă la fișierul dvs. imagine în. Notă: comanda de mai jos spune desenează-ți imaginea în poziția de 10 pixeli peste 10 pixeli în jos. Puteți să o schimbați la diferite coordonate X, Y, de asemenea, puteți schimba valorile 128, 128 la orice dimensiune este de fapt noua dvs. imagine.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere este definit în fișierul dvs. (.h)}

Acum reconstruiți (ignorați erorile) de mai jos pentru a reda noua imagine cu următoarea comandă.

$./digole myimage

Reconstruire [Inclus] Driver de afișare Digole pentru modificările opționale

$ cd display / build

$ gcc digole.c

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

$ chmod + x../../digole

Pasul 13: Finalizat

Ai terminat!

Recomandat: