E-Dakwat: Bulan / ISS / Orang di Angkasa : 6 Langkah
E-Dakwat: Bulan / ISS / Orang di Angkasa : 6 Langkah
Anonim

Oleh emihermes Ikuti Lagi oleh pengarang:

Selang Masa Dengan Raspberry PI
Selang Masa Dengan Raspberry PI
Selang Masa Dengan Raspberry PI
Selang Masa Dengan Raspberry PI

Saya mempunyai topi Raspberry dan e-Paper dan saya mahu menggunakannya untuk menunjukkan maklumat seperti di mana ISS atau berapa banyak orang yang berada di ruang ini…

Saya menyatakan untuk melihat apakah ada API di Internet untuk mendapatkan data tersebut, dan saya menjumpainya. OK, gotcha !!!!

Tunggu, HAT ini mempunyai 4 butang, dan kemudian, saya memerlukan 4 data untuk ditunjukkan…

- Di manakah ISS sekarang? - Berapa banyak orang sekarang di ruang angkasa? - Pada fasa mana Bulan? - Apakah akan hujan? Adakah ia sangat hangat? …

Sekarang, saya menunjukkan maklumat tersebut, tetapi saya dapat mengemas kini "Instructable" ini sebaik sahaja saya mendapat idea yang bagus, atau jika anda tahu yang baik, anda boleh mencadangkannya kepada saya !!!

Baiklah, saya berjaya pada suatu petang dan "FrontEnd" berakhir beberapa hari selepas itu. Jangan mengeluh tentang bagaimana maklumat itu ditunjukkan, saya tidak suka membuat bahagian ini:)

Bekalan

- Raspberry PI (Zero sudah cukup).- 2.7 inci e-Paper HAT. (Saya membeli lombong di sini) - Kad SD (4Gb sudah mencukupi).

Anda juga memerlukan Token dari OpenWeather untuk menggunakannya API (dari sini)

Langkah 1: Kemas kini Perisian (SO)

Kemas kini Perisian (SO)
Kemas kini Perisian (SO)
Kemas kini Perisian (SO)
Kemas kini Perisian (SO)
Kemas kini Perisian (SO)
Kemas kini Perisian (SO)

Langkah pertama, seperti biasa, adalah menyiapkan Raspberry PI anda dengan OS terkini.- Muat turun OS terbaru (dengan desktop) dari sini.- Tulis gambar pada kad SD kosong.- Buat fail kosong "ssh" untuk mengaktifkan sambungan SSH.- Simpan fail "wpa_supplicant.conf" pada kad SD agar Wifi anda dikonfigurasi untuk menyambung ke Raspberry PI anda melalui SSH (anda sudah menyediakannya di komputer anda, saya mengetahuinya).

Mulakan Raspberry Pi anda.

Sambungkannya melalui SSH (anda juga boleh melakukannya jika anda mempunyai monitor, papan kekunci dan tetikus, tetapi saya tidak memilikinya dan saya lebih suka menyambung melalui SSH) dan mengemas kini….

sudo apt-get kemas kini -y

sudo apt-get upgrade -y

Sekarang, anda harus mengaktifkan VNC untuk dapat menyambung jauh dan SPI untuk HAT e-Paper:

sudo raspi-config

Pilihan Antaramuka> VNC> Ya Pilihan Antaramuka> SPI> Ya

Dan but semula.

Langkah 2: Perisian yang Diperlukan

Perisian yang Diperlukan
Perisian yang Diperlukan

Ok, sekarang kita mempunyai Raspberry PI yang berjalan dengan perisian terkini dan semua asas untuk menghubungkannya.

Inilah saatnya untuk mula memasang perisian yang diperlukan untuk mengawal e-Paper HAT.

Sekiranya anda tidak memasang HAT pada Raspberry PI anda, sekarang adalah saat terakhir untuk menyambungkannya. Matikan Raspberry PI anda dan letakkan HAT di atasnya.

Untuk langkah seterusnya anda boleh mengikuti arahan dari Waveshare atau mengikutinya dengan langkah seterusnya….

Pasang perpustakaan BCM2835:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60 / sudo./configure sudo make sudo make check sudo make install #Untuk maklumat lebih lanjut, sila rujuk

Pasang perpustakaan wiringPi:

sudo apt-get install wiringpi

#Untuk Pi 4, anda perlu memperbaruinya: cd / tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v #Anda akan mendapat 2.52 maklumat jika anda memasangnya dengan betul

Pasang pustaka Python: (Sekiranya anda mengemas kini SO dengan versi terkini, semua langkah ini akan seperti "Keperluan sudah dipenuhi").

sudo apt-get kemas kini

sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi. GPIO sudo pip3 install spidev

Sekarang anda boleh memuat turun contoh dari Waveshare: (Bahagian ini TIDAK diperlukan, tetapi anda boleh memuat turunnya untuk mengetahui cara kerjanya).

sudo git clone

cd e-Paper / RaspberryPi / & JetsonNano /

Saya mengesyorkan anda membuang beberapa folder: - e-Paper / Arduino (Ini adalah Raspberry PI).- e-Paper / STM32 (Ini adalah Raspberry PI).- e-Paper / Raspberry & JetsonNano / c (kami akan menggunakan python pada projek ini).

Anda tidak akan menggunakannya, dan anda tidak memerlukannya di Raspberry PI.

Sekiranya anda mahu, anda boleh membuang semua fail yang tidak anda perlukan dari folder "lib", seperti: - epd1in02.py - epd1in54.py - epd2in9.py -…

Sekiranya kita akan menggunakan 2.7 inci, selebihnya fail TIDAK diperlukan.

Saya mengesyorkan anda untuk memindahkan folder "lib" sedikit untuk menggunakannya dengan mudah:

sudo mv lib / rumah / pi / e-Kertas /

Walau bagaimanapun, dalam kod saya (dari GitHub) perpustakaan disertakan.

Semua perisian yang diperlukan dipasang.

Langkah seterusnya adalah kod kami!

Langkah 3: Muat turun Kod Saya

Sekarang kita perlu memuat turun kod dari GitHub:

sudo git clone

Dengan ini kita akan mempunyai semua kod yang diperlukan, termasuk perpustakaan dari Waveshare ke dalam projek yang sebenarnya.

Edit fail "ShowInfo.py" untuk memasukkan API-Token anda dari OpenWeather.com …. dan Kota (gunakan nama atau ID kota):

def WeatherForecast ():

url = "https://api.openweathermap.org/data/2.5/forecast?" #url = url + "q = {city_name}" #url = url + "q = Düsseldorf" # masalah ASCII !!! url = url + "id = 2934246" #url = url + "& appid = {your_API_key}" url = url + "& unit = metrik" # Dalam Metrik url = url + "& cnt = 6" # Hanya 6 hasil

Walau bagaimanapun, kita perlu memasang fail fon yang kita gunakan pada projek. Fail-fail tersebut telah dimuat turun dengan semua kod.

Fon ada di folder "e-Paper / fonts".

Untuk membuka zip:

sudo unzip Bangers.zip -d / usr / share / fonts / truetype / google /

sudo unzip Bungee_Inline.zip -d / usr / share / fonts / truetype / google / sudo unzip Bungee_Outline.zip -d / usr / share / fonts / truetype / google / sudo unzip Bungee_Shade.zip -d / usr / share / font / truetype / google / sudo unzip droid-sans.zip -d / usr / share / fonts / truetype / google / sudo unzip Indie_Flower.zip -d / usr / share / fonts / truetype / google / sudo unzip Jacques_Francois_Shadow.zip -d / usr / share / fonts / truetype / google / sudo unzip Londrina_Outline.zip -d / usr / share / fonts / truetype / google / sudo unzip Londrina_Shadow.zip -d / usr / share / fonts / truetype / google / sudo unzip Londrina_Sketch. zip -d / usr / share / fonts / truetype / google / sudo unzip Oswald.zip -d / usr / share / fonts / truetype / google / sudo unzip Roboto.zip -d / usr / share / fonts / truetype / google / sudo unzip Vast_Shadow.zip -d / usr / share / fonts / truetype / google /

Saya mengesyorkan anda untuk menghapus fail zip selepas pemasangan, kerana kami tidak lagi memerlukan fail tersebut:

fon sudo rm -R

Langkah 4: Jalankan UJIAN

Laksanakan UJIAN
Laksanakan UJIAN
Laksanakan UJIAN
Laksanakan UJIAN

Pergi ke folder yang betul di mana kita mempunyai fail ujian:

cd ~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk

Jalankan fail ujian dengan versi 3 Python:

python3 Test001.py

Anda akan mendapat komen yang dilacak sementara program dijalankan.

Dan di skrin e-Paper anda akan melihat mesejnya.

Untuk setiap butang, skrin akan menunjukkan mesej yang berbeza.

Langkah 5: Tunjukkan Maklumat Bulan / Ruang / ISS…

Tunjukkan Maklumat Bulan / Ruang / ISS…
Tunjukkan Maklumat Bulan / Ruang / ISS…
Tunjukkan Maklumat Bulan / Ruang / ISS…
Tunjukkan Maklumat Bulan / Ruang / ISS…
Tunjukkan Maklumat Bulan / Ruang / ISS…
Tunjukkan Maklumat Bulan / Ruang / ISS…
Tunjukkan Maklumat Bulan / Ruang / ISS…
Tunjukkan Maklumat Bulan / Ruang / ISS…

OK, kita semua berjalan dan sekarang kita ingin melihat di mana ISS di seluruh Dunia, atau fasa Bulan…

Mula-mula anda harus melaksanakan fail "ShowInfo.py" (terletak di "~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk").

python3 ~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk / ShowInfo.py

Dan sekarang, jika anda menekan satu butang, anda akan mempunyai maklumat yang diprogramkan ke butang ini:

● Butang 1: Ramalan cuaca.

● Butang 2: Siapa yang berada di Ruang dan di mana.

● Butang 3: Di manakah ISS di seluruh Dunia.

● Butang 4: Maklumat Bulan.

Langkah 6: Laksanakannya Sebagai Perkhidmatan

Sebagai alternatif, skrip Python dapat dimulakan semasa boot dengan membuat perkhidmatan - maklumat lebih lanjut di

Buat fail baru bernama ShowInfo.service dan salin kandungan di bawah ke fail baru - sesuaikan jalan WorkingDirectory dengan sewajarnya:

[Unit]

Penerangan = ShowInfo After = network-online.target Ingin = network-online.target [Service] ExecStart = / usr / bin / python3 ShowInfo.py WorkingDirectory = / home / pi / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk / StandardOutput = mewarisi StandardError = mewarisi Mulakan Semula = selalu Pengguna = pi [Pasang] WantedBy = multi-user.target

Salin fail ShowInfo.service ke / etc / systemd / system sebagai root:

sudo cp ShowInfo.service / etc / systemd / system /

Mulakan perkhidmatan:

sudo systemctl mulakan ShowInfo.service

Periksa sama ada perkhidmatan berjalan:

status sudo systemctl ShowInfo.service

Hasilnya harus serupa dengan:

● ShowInfo.service - ShowInfo

Dimuat: dimuat (/etc/systemd/system/ShowInfo.service; disable; vendor preset: enabled) Aktif: aktif (berjalan) sejak Jumaat 2020-09-11 15:17:16 CEST; 14s yang lalu PID Utama: 1453 (python3) Kumpulan Kumpulan: /system.slice/ShowInfo.service └─1453 / usr / bin / python3 ShowInfo.py 11 Sep 15:33:17 eInk systemd [1]: Memulakan ShowInfo.

Sekiranya perkhidmatan berjalan dengan baik, anda boleh mengaktifkannya dan menghidupkan semula Raspberry Pi untuk memuatkannya secara automatik semasa boot:

sudo systemctl mengaktifkan ShowInfo.service

Untuk menghentikan perkhidmatan:

sudo systemctl hentikan ShowInfo.service

Dan itu sahaja !!!!!

Terima kasih !!!!!

Disyorkan: