Spisu treści:
- Krok 1: Flashowanie dysku twardego RaspberriPi / instalacja wymaganego oprogramowania (przy użyciu systemu Ubuntu Linux)
- Krok 2: Potrzebne materiały
- Krok 3: Zbuduj i okablowaj urządzenie
- Krok 4: Za pomocą drukarki 3d wydrukuj okładkę, pudełko i panele tylne
- Krok 5: Okablowanie komponentów
- Krok 6: Podłącz komponenty do robota
- Krok 7: Sprawdź konfigurację I2C
- Krok 8: Instalacja DHT11
- Krok 9: Klonuj repozytorium
- Krok 10: Dodaj Pushbullet API (za pomocą Pythona 3.5)
- Krok 11: Dodaj skrypt, aby rozpocząć przy rozruchu pulpitu nawigacyjnego i ponownie uruchom pulpit nawigacyjny Pi
- Krok 12: OPCJONALNIE: Tworzenie własnych obrazów Nintendo do renderowania na wyświetlaczu
- Krok 13: Koniec
Wideo: OBRABOWAĆ. Asystent powiadomień telefonicznych: 13 kroków
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
By khinds10www.kevinhinds.comObserwuj Więcej autora:
O firmie: Druk 3D i projektowanie projektów RaspberryPI już od kilku lat Więcej o khinds10 »
Asystent powiadomień telefonu stacjonarnego z robotem obsługującym (R. O. B.)
Krok 1: Flashowanie dysku twardego RaspberriPi / instalacja wymaganego oprogramowania (przy użyciu systemu Ubuntu Linux)
Utwórz nowy dysk twardy dla DashboardPI
Włóż kartę microSD do komputera za pomocą adaptera USB i utwórz obraz dysku za pomocą polecenia dd
Zlokalizuj włożoną kartę microSD za pomocą polecenia df -h, odmontuj ją i utwórz obraz dysku za pomocą polecenia disk copy dd
$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /media/XXX/1234-5678
$ umount /dev/sdb1
Uwaga: upewnij się, że polecenie jest całkowicie dokładne, za pomocą tego polecenia możesz uszkodzić inne dyski
if=lokalizacja pliku obrazu RASPBIAN JESSIE LITE of=lokalizacja karty microSD
$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (uwaga: w tym przypadku jest to /dev/sdb, /dev/sdb1 to istniejąca partycja fabryczna na microSD)
Konfigurowanie RaspberriPi
Włóż nową kartę microSD do raspberrypi i włącz ją za pomocą monitora podłączonego do portu HDMI
Zaloguj sie
użytkownik: pi pass: malina
Zmień hasło do konta ze względów bezpieczeństwa
sudo passwd pi
Włącz zaawansowane opcje RaspberriPi
sudo raspi-config
Wybierać:
1 Rozwiń system plików
9 opcji zaawansowanych
Nazwa hosta A2 zmień ją na „RobbieAssistant”
A4 SSH Włącz serwer SSH
A7 I2C Włącz interfejs i2c
Włącz klawiaturę angielską/amerykańską
sudo nano /etc/default/klawiatura
Zmień następujący wiersz: XKBLAYOUT="us"
Zrestartuj PI, aby zmiany układu klawiatury / zmiana rozmiaru systemu plików zaczęły obowiązywać
$ sudo zamknięcie -r teraz
Automatyczne łączenie z Wi-Fi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Dodaj następujące wiersze, aby raspberrypi automatycznie łączył się z domową siecią Wi-Fi (jeśli Twoja sieć bezprzewodowa nosi na przykład nazwę „linksys”, w poniższym przykładzie)
network={ ssid="linksys" psk="TUTAJ HASŁO BEZPRZEWODOWE" } Uruchom ponownie PI, aby połączyć się z siecią Wi-Fi
$ sudo zamknięcie -r teraz
Teraz, gdy Twoje PI jest już w sieci lokalnej, możesz zalogować się do niego zdalnie przez SSH. Ale najpierw musisz uzyskać adres IP, który obecnie posiada.
$ ifconfig Poszukaj "inet addr: 192.168. XXX. XXX" w wyniku następującego polecenia dla adresu IP twojego PI
Przejdź do innego komputera i zaloguj się do swojego raspberrypi przez ssh
$ ssh [email protected]. XXX. XXX
Rozpocznij instalację wymaganych pakietów
$ 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-pip python 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 libi2c-dev vim git python-smbus i2c-tools -gpiozero python-psutil xz-utils
$ sudo pip prośby o instalację
Zaktualizuj lokalne ustawienia strefy czasowej
$ sudo dpkg-reconfigure tzdata
wybierz swoją strefę czasową za pomocą interfejsu
Skonfiguruj proste polecenie l katalogu [opcjonalne]
vi ~/.bashrc
dodaj następujący wiersz:
alias l='ls -lh'
źródło ~/.bashrc
Napraw domyślne podświetlanie składni VIM [opcjonalne]
sudo vi /etc/vim/vimrc
odkomentuj następujący wiersz:
składnia włączona
utwórz folder logs, aby aplikacja uruchomiła mkdir /home/pi/RobbieAssistant/logs
chmod 777 /home/pi/RobbieAssistant/logs
Skonfiguruj aplikację, aby działała poprawnie w pliku konfiguracyjnym settings.py Znajdź plik settings-shadow.py w folderze /includes/ projektu i skopiuj go do pliku settings.py i dostosuj do swoich bieżących ustawień
# klucz API forecast.io do lokalnych informacji o pogodzie
weatherAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = 'TWÓJ KLUCZ API DO FORECAST. IO'
# opcjonalnie do uruchomienia zdalnego rejestratora temperatury/wilgotności
dashboardServer = 'mydevicelogger.com'
# wyszukaj w Google, aby uzyskać szerokość/długość geograficzną dla swojej lokalizacji domowej
szerokość geograficzna = 41,4552578
długość geograficzna = -72,1665444
Krok 2: Potrzebne materiały
RaspberriPi Zero
Higrostat DHT11
Diody LED (x4) Zielony / żółty / niebieski / czerwony Wyświetlacz Digole 2,6"
Krok 3: Zbuduj i okablowaj urządzenie
Przygotuj wyświetlacz Digole dla i2C
Z tyłu wyświetlacza Digole przylutuj zworkę, aby przypisać wyświetlacz do korzystania z protokołu i2c
Krok 4: Za pomocą drukarki 3d wydrukuj okładkę, pudełko i panele tylne
Używając następujących plików X STL w folderze 3DPrint, R. O. B. Robot, uprząż LED i uchwyt wyświetlacza
buttonContainer-base.stl
buttonContainer-lid.stl
displaymount-final.stl
led-uprząż-final.stl
MiniNintendoROB.zip
Wydruk robota: Mini Nintendo R. O. B. - autorstwa RabbitEngineering
www.thingiverse.com/thing:1494964
Użyłem biurokracji, aby oczy były czerwone z czarnym tłem wizjera
Krok 5: Okablowanie komponentów
Wyświetlacz Digole
GND -> GND
DANE -> SDA
CLK -> SCL
VCC -> 3V
Higrostat DHT11
VCC -> 5V
GND -> GND
DANE -> GPIO 25
NIEBIESKI Rezystor
VCC -> GPIO 17 (z rezystorem 270ohm)
GND -> GND
ŻÓŁTY Rezystor
VCC -> GPIO 13 (z rezystorem 270ohm)
GND -> GND
ZIELONY Rezystor
VCC -> GPIO 6 (z rezystorem 270ohm)
GND -> GND
CZERWONY Rezystor
VCC -> GPIO 12 (z rezystorem 270ohm)
GND -> GND
CZERWONY przycisk chwilowy
VCC -> GPIO 16 (z rezystorem 270ohm)
GND -> GND
NIEBIESKI przycisk chwilowy
VCC -> GPIO 26 (z rezystorem 270ohm)
GND -> GND
Krok 6: Podłącz komponenty do robota
Po wydrukowaniu uchwytu ekranu podłącz go do wyświetlacza digole
Podłącz wyświetlacz do RPi za pomocą wystarczającego okablowania, aby przykleić RPi z tyłu robota
Wydrukuj kontroler i podłącz przyciski za pomocą wystarczającego okablowania, aby dostać się z tyłu robota
Zakończ okablowanie i montaż robota z RPi podłączonym z tyłu i DHT11 przyklejonym do spodu
Krok 7: Sprawdź konfigurację I2C
Uruchom RaspberryPi i upewnij się, że magistrala I2C rozpoznaje wszystkie podłączone wyświetlacze segmentowe 7/14. [każdy wyświetlacz otrzymuje unikalny adres opisany powyżej przez sposób lutowania zworek każdego wyświetlacza w różnych kombinacjach]
Jeśli masz wyświetlacz z prawidłowo przylutowaną zworką, powinieneś mieć następujące wyjście dla polecenia 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: -- -- -- -- -- -- -- --
Krok 8: Instalacja DHT11
$ cd ~
$ git clone
$ cd Adafruit_Python_DHT/
$ sudo python setup.py install
$ sudo python ez_setup.py
$ cd przykłady/
$ vi simpletest.pyZmień następujący wiersz:
czujnik = Adafruit_DHT. DHT11
Skomentuj linię out
pin = 'P8_11'
Odkomentuj linię i zmień numer pinu na 16
szpilka = 25
Uruchom test
python prostytest.py
Powinieneś zobaczyć odczyt metryczny temperatury i wilgotności wyświetlony w wierszu poleceń.
Krok 9: Klonuj repozytorium
$ cd ~ $ git clone
Krok 10: Dodaj Pushbullet API (za pomocą Pythona 3.5)
Korzystając z aplikacji pushbullet na telefon, zarejestruj się, aby otrzymać klucz API, aby prosty skrypt Pythona mógł przechwytywać i przesyłać powiadomienia centrum danych i flagi wskaźników
Zainstaluj Python 3.5, aby uzyskać funkcjonalność asyncio
$ 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 Jeśli nie można znaleźć jednego z pakietów, wypróbuj nowszy numer wersji (np. libdb5.4-dev zamiast 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 Zainstaluj zależności python3
$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 install request Opcjonalny sposób Pobierz repozytorium Pythona bezpośrednio, aby uzyskać zależności Pythona bez użycia pip instalowania go
git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Odwiedź stronę ustawień pushbullet na swoim koncie, aby wygenerować Klucz API do użycia
Skonfiguruj swój skrypt pushbullet-listener.py, aby mieć poprawny interfejs API i centralny host pulpitu nawigacyjnego
# twój klucz API z PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"
# pulpitu centralnego serwera hosta dashboardServer = 'MÓJ-SERWER-TUTAJ.com'
Krok 11: Dodaj skrypt, aby rozpocząć przy rozruchu pulpitu nawigacyjnego i ponownie uruchom pulpit nawigacyjny 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
Krok 12: OPCJONALNIE: Tworzenie własnych obrazów Nintendo do renderowania na wyświetlaczu
Prześlij własny plik 128x128 na następujący adres URL:
www.digole.com/tools/PicturetoC_Hex_converter.php
Wybierz plik obrazu do przesłania, dodaj rozmiar, jaki ma być na ekranie (szerokość/wysokość)
Wybierz „256 kolorów dla kolorów OLED/LCD (1 bajt/piksel)” w menu rozwijanym „Używane dla”
Uzyskaj wyjście szesnastkowe.
Dodaj wyjście szesnastkowe do pliku display/build/header (.h), użyj pozostałych jako przewodników po składni.
Dołącz nowy plik do pliku digole.c #include myimage.h
Dołącz nowy zaczep wiersza poleceń do pliku obrazu w pliku. Uwaga: poniższe polecenie mówi, że narysuj obraz w pozycji 10 pikseli na 10 pikseli w dół. Możesz zmienić go na różne współrzędne X, Y, możesz także zmienić wartości 128, 128 na dowolny rozmiar twojego nowego obrazu.
} else if (strcmp(digoleCommand, "myimage") == 0) { drawBitmap256(10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableHere jest zdefiniowane w twoim pliku (.h) }
Teraz przebuduj (zignoruj błędy) poniżej, aby wyrenderować nowy obraz za pomocą następującego polecenia.
$./digole mójobraz
Przebudowa [w zestawie] Digole Display Driver dla opcjonalnych zmian
$ Wyświetlacz CD/kompilacja
$ gcc digole.c
$ mv a.out../../digole
$ chmod +x../../digole
Krok 13: Koniec
Jesteś skończony!