Isi kandungan:

Jam Tangan & Penggera Solat Islam RaspberryPi: 15 Langkah (dengan Gambar)
Jam Tangan & Penggera Solat Islam RaspberryPi: 15 Langkah (dengan Gambar)

Video: Jam Tangan & Penggera Solat Islam RaspberryPi: 15 Langkah (dengan Gambar)

Video: Jam Tangan & Penggera Solat Islam RaspberryPi: 15 Langkah (dengan Gambar)
Video: 20210314 UNJAMBI kreatifitas dan innovasi untuk pemuda 2024, Jun
Anonim
Jam Tangan & Penggera Solat Islam RaspberryPi
Jam Tangan & Penggera Solat Islam RaspberryPi
Jam Tangan & Penggera Solat Islam RaspberryPi
Jam Tangan & Penggera Solat Islam RaspberryPi

Umat Islam di seluruh dunia mempunyai lima solat setiap hari, dan setiap solat harus dalam waktu tertentu dalam sehari. kerana cara elips planet kita bergerak mengelilingi matahari, yang menjadikan waktu matahari terbit dan jatuh berbeza sepanjang tahun, yang juga menjadikan waktu sholat tidak konsisten, sebab itulah kita memerlukan jam tangan Islam untuk mengingatkan kita pada umat Islam tentang waktu solat kita masing-masing hari.

Setiap orang Islam mempunyai cara untuk mengakses cuaca waktu solat setiap hari melalui laman web Islam Internet, kalendar Islam tempatan atau bahkan melalui TV, dan kebanyakan kita mempunyai alat menonton Islam yang mempunyai ciri-ciri memberi kita waktu solat, serta penggera doa.. Tetapi bagaimana jika kita membuat peranti Watch dan Alarm Solat kita sendiri!

Sebelum memulakan kerja projek, terdapat beberapa pertimbangan yang mungkin berguna bagi anda semasa membaca Instruksional ini. Saya tinggal di Arab Saudi sehingga beberapa langkah dan nilai saya akan berbeza dengan langkah anda, dan saya akan menunjukkannya secara jelas semasa bekerja. Terdapat beberapa langkah dan gambar yang mungkin merangkumi kata-kata Arab sejak saya membuat antaramuka dalam bahasa Arab, tetapi saya juga akan menunjukkan cara membuatnya dalam bahasa Inggeris, jadi jangan biarkan perkataan Arab dalam gambar itu membimbangkan anda, projek ini boleh menjadi dilakukan dalam Bahasa apa pun (yang mengagumkan !:

Ke projek kami! Projek ini akan dibahagikan kepada langkah-langkah X Utama, yang mana pada akhir langkah Xth, projek kami akan siap dan siap! Langkah-langkahnya adalah seperti berikut:

1-Mengkonfigurasi dan menyediakan RaspberryPi

2-Memasang Modul RTC

3-Membuat program Penggera Azan

4-Menerapkan muka jam

5-Membuat Antara Muka Pengguna dan

Seperti setiap projek, kita perlu menyiapkan bahagian yang kita perlukan terlebih dahulu. bahagian yang kami perlukan untuk projek ini adalah:

Kit komputer 1-RaspberryPi Amazon US || Amazon KSA

Anda dapat menggunakan versi Rpi apa pun, pastikan ia memiliki Wifi. Saya menggunakan Rpi3B +

Modul jam masa nyata 2-RTC Amazon US || Amazon KSA

Anda boleh menggunakan mana-mana model modul RTC, pastikan ia mempunyai I2C

Monitor 3-LCD

Sebarang LCD akan berjaya

4-Tetikus dan papan kekunci

dan itu….. IT !! Itu sahaja yang anda perlukan untuk membuat jam dan penggera Azan anda sendiri

Langkah 1: Bab 1: Menyiapkan dan Mengkonfigurasi RaspberryPI

Bab 1: Menyiapkan dan Mengkonfigurasi RaspberryPI
Bab 1: Menyiapkan dan Mengkonfigurasi RaspberryPI

Perkara pertama Pertama! Kita perlu menyiapkan Raspberry pi untuk mengusahakannya.

Raspberry pi tidak lain adalah komputer, ia mempunyai RAM dan ROM, ia mempunyai CPU, GPU, I / O …… komputer! sama seperti permainan yang kami mainkan dan layari laman web, hanya perkara yang sangat kecil! yang menjadikan raspberry pilihan yang sangat baik untuk membuat dan melaksanakan projek. kerana raspberry pi kecil, ia mempunyai spesifikasi yang sangat terhad bahawa ia tidak dapat mengoperasikan OS yang menuntut besar seperti windows atau macOS, sebaliknya, kita akan menggunakan Linux sebagai sistem operasi untuk menggunakan peranti tersebut. terdapat ribuan distro Linux yang tidak dapat kita gunakan, tetapi satu distro sempurna dioptimumkan dengan sempurna untuk raspberrypi yang akan kita gunakan, yang disebut Raspbian.

Langkah 2: 1-1: Muat turun Fail yang Perlu

1-1: Muat turun Fail yang Diperlukan
1-1: Muat turun Fail yang Diperlukan
1-1: Muat turun Fail yang Diperlukan
1-1: Muat turun Fail yang Diperlukan
1-1: Muat turun Fail yang Diperlukan
1-1: Muat turun Fail yang Diperlukan

-Pergi ke halaman Rasbian Muat turun rasmi di https://www.raspberrypi.org/software/operating-sy… dan muat turun Raspberry Pi OS dengan fail Desktop

-Semasa memuat turun, pergi ke https://win32diskimager.org/ dan muat turun dan pasang win32DiskImager, anda boleh menggunakan perisian pembakar gambar yang anda suka

setelah muat turun selesai, anda akan mempunyai fail.img yang mengandungi OS RaspberryPi. seterusnya, pasangkan kad memori SD anda di komputer (biasanya dengan pembaca kad USB) dan lancarkan perisian win32diskimager. langkah-langkah untuk membakar gambar ke dalam memori SD sangat mudah, anda hanya perlu 1- Pilih huruf memori anda 2-pilih fail OS anda yang anda muat turun dan tulis 3-Klik! Pastikan bahawa anda telah memilih huruf peranti yang tepat dari daftar dan memori anda kosong, kerana dengan menekan tulis, anda akan dipromosikan dengan peringatan yang memberitahu anda bahawa apa-apa yang ada di peranti akan terhapus! Tekan ya untuk mengesahkan penulisan dan tunggu sehingga selesai. ini mungkin memakan masa sehingga 20 minit.

Setelah selesai, anda akan mempunyai OS Rapbian penuh pada memori, anda boleh terus memasukkannya ke dalam Rapberry Pi, sambungkan Raspberry Pi ke monitor melalui HDMI, sambungkan tetikus dan papan kekunci melalui USB dan terakhir, sambungkan kuasa.

Langkah 3: 1-2: Mengkonfigurasi Sistem Raspbian

Setelah Menyambungkan kabel dan kuasa, anda akan melihat bahawa OS telah dihidupkan, ia akan dinyalakan semula secara automatik dan kemudian akan memaparkan Antarmuka Pengguna Raspbian (yang kelihatan serupa dengan tingkap). perkara pertama yang akan anda lihat ialah tetingkap selamat datang, yang akan membawa anda melalui langkah-langkah mengkonfigurasi RaspberryPi anda untuk pertama kalinya. tingkap dan langkahnya adalah seperti berikut:

1-Tekan seterusnya pada tetingkap "Selamat Datang" pertama

2-Tetingkap seterusnya adalah untuk mengkonfigurasi lokasi anda. pilih Negara, bahasa dan zon waktu anda. selepas itu, sangat digalakkan untuk memeriksa "Gunakan bahasa Inggeris" kerana ini akan menjadi bahasa antara muka sistem Operasi. ANDA HARUS MEMERIKSA "BOX LAYOUT KEYBOARD BAHASA INGGERIS AS" KAMI MEMERLUKAN KEYBOARD BAHASA INGGERIS UNTUK BERFUNGSI!

3-Seterusnya, anda akan diminta memasukkan kata laluan untuk raspberry anda, ini penting untuk keselamatan tetapi kami akan membiarkannya tidak berubah untuk projek ini. perhatikan bahawa Nama Pengguna dan kata laluan lalai adalah:

nama pengguna: pi

kata laluan: raspberry

Tetingkap 4-seterusnya akan menghubungkan raspberryPi ke rangkaian WiFi anda. pilih nama wifi anda dan masukkan kata laluan wifi anda

5-seterusnya, anda akan diminta untuk mengemas kini perpustakaan dan fail sistem raspberry pi. langkah ini memerlukan banyak masa (mungkin dalam beberapa jam) tetapi ini adalah langkah yang sangat penting untuk setiap kali pi raspberry baru disiapkan.

6-setelah kemas kini selesai, anda akan diminta untuk memulakan semula sistem. buat sekarang.

Kerja hebat! Sekarang kita mempunyai sistem yang diperbaharui, kita masih perlu melakukan lebih banyak perkara untuk mengkonfigurasi sistem agar berfungsi, tetapi sekarang, akan mula menggunakan LinuxCommand Line.

Langkah 4: 1-3: Menggunakan Command Line untuk Menyiapkan Tetapan Rpi

1-3: Menggunakan Command Line untuk Menyiapkan Tetapan Rpi
1-3: Menggunakan Command Line untuk Menyiapkan Tetapan Rpi
1-3: Menggunakan Command Line untuk Menyiapkan Tetapan Rpi
1-3: Menggunakan Command Line untuk Menyiapkan Tetapan Rpi
1-3: Menggunakan Command Line untuk Menyiapkan Tetapan Rpi
1-3: Menggunakan Command Line untuk Menyiapkan Tetapan Rpi

Sebaik sahaja anda selesai memulakan semula dari kemas kini sistem, sistem akan menunjukkan desktop pengguna setelah selesai boot. jika anda melihat kiri atas skrin, anda akan mendapat beberapa butang, butang A dengan logo raspberryPi yang merupakan butang menu Rpi, bentuk globe yang merupakan penyemak imbas internet, butang folder yang….. folder dan akhirnya, butang dengan tetingkap layar hitam, yang merupakan butang terpenting dalam mana-mana sistem linux, baris Perintah. teruskan dan tekan butang itu, anda akan melihat tetingkap hitam muncul.

Baris arahan adalah bagaimana semua orang berinteraksi dan menggunakan sistem linux, seperti windows mempunyai baris perintahnya sendiri hanya pada janda kita tidak perlu menggunakannya sangat kerap. di linux, ini adalah perkara asas yang harus dipelajari dan dikuasai oleh setiap pengguna linux. baris perintah boleh digunakan oleh…. COMMANDS! apa yang anda lihat di tetingkap hitam adalah command-prompt menunggu perintah ditulis oleh pengguna dan dilaksanakan. dalam panduan ini kami akan memberikan semua arahan yang anda perlukan untuk melaksanakan projek ini, jadi jangan risau.

perintah Linux pertama yang akan kita gunakan adalah perintah konfigurasi yang lain, perhatikan bahawa semua arahan mulai sekarang akan dimasukkan ke dalam kotak kod, sehingga anda dapat membezakannya dari langkah biasa. Bawa papan kekunci anda dan taipkan yang berikut dan tekan enter:

sudo raspi-config

Sekiranya anda melakukannya dengan betul, anda akan melihat bahawa skrin berubah menjadi biru, dengan kotak kecil berwarna kelabu di tengahnya (lihat gambar). kami akan menggunakannya untuk membuat konfigurasi terakhir sebelum memulakan pengekodan.

sekarang, anda perlu menggunakan kekunci anak panah papan kekunci anda untuk menavigasi menu ini.

1-Pergi ke pilihan Antaramuka >> I2C >> YA >> tekan enter. ini membolehkan protokol komunikasi I2c supaya kita dapat menggunakan RTC

2-Pergi ke Pilihan lanjutan >> Luaskan sistem fail.

dan itu semua konfigurasi yang anda perlukan dari tetingkap ini. di halaman utama, turun dan tekan enter pada "selesai" dan "YA" untuk menghidupkan semula sistem.

Setelah sistem selesai memulakan semula, kita semua selesai mengkonfigurasi! peranti ini bersedia untuk langkah besar! Langkah seterusnya ialah memasang modul RTC dan menggunakannya dengan sistem.

Langkah 5: Bab 2: Pemasangan, Konfigurasi dan Menggunakan Modul RTC

Bab 2: Pemasangan, Konfigurasi dan Menggunakan Modul RTC
Bab 2: Pemasangan, Konfigurasi dan Menggunakan Modul RTC
Bab 2: Pemasangan, Konfigurasi dan Menggunakan Modul RTC
Bab 2: Pemasangan, Konfigurasi dan Menggunakan Modul RTC
Bab 2: Pemasangan, Konfigurasi dan Menggunakan Modul RTC
Bab 2: Pemasangan, Konfigurasi dan Menggunakan Modul RTC
Bab 2: Pemasangan, Konfigurasi dan Menggunakan Modul RTC
Bab 2: Pemasangan, Konfigurasi dan Menggunakan Modul RTC

Modul RTC (atau Jam Waktu Nyata) adalah peranti kecil yang mempunyai sedikit bateri di dalamnya, ia melakukan apa yang namanya, Clocking! jadi semasa anda memutuskannya untuk mematikan jam terus berfungsi dan tidak berhenti. mengapa kita memerlukan ini? yah, raspberry pi sebenarnya tidak mempunyai kaedah untuk menyimpan data jam setelah dimatikan, ia bergantung pada menyambung ke internet semasa boot untuk mengemas kini tarikh dan waktu, tetapi masalahnya ialah kita tidak selalu mempunyai akses internet, dan ini mengapa kita memerlukan modul RTC. RTC akan berfungsi sebagai jam untuk pi raspberry sehingga setelah Rpi dihidupkan, ia akan mengambil Tarikh & Masa dari RTC, yang akan memastikan masa RaspberryPi sentiasa dikemas kini.

ada pelbagai model dan mencari RTC, ada DS1307 dan DS3231. anda boleh menggunakan mana-mana modul RTC yang anda dapati selagi ia mempunyai komunikasi protokol I2C (anda boleh menunjukkan bahawa anda boleh menemui pin SDA dan SCL pada pin modul.

seperti mana-mana dalam panduan ini, saya menggunakan panduan lain untuk mencapai matlamat saya dalam projek ini, arahan ini akan membimbing anda dan memberitahu anda apa yang harus dilakukan untuk membuat projek ini, tetapi jika anda perlu mengubahsuai atau anda memerlukan lebih mendalam mengenai mana-mana langkah, saya akan mengaitkan panduan yang lebih bermanfaat di akhir setiap langkah.

Setelah anda menyediakan modul RTC (pasangkan pin header dan pasangkan bateri), anda boleh menyambungkannya ke pin RapberryPi seperti berikut:

PIN RTC ---------------- Pin Pin

GND ===========> PIN 6 (GND)

Vcc ============> PIN 1 (3.3V)

SDA ===========> PIN 3 (SDA)

SCL ===========> PIN 5 (SCL)

atau bergantung pada modul RTC apa yang anda dapat, anda boleh memasangnya secara langsung di RaspberryPi (Pastikan pin betul !!! kerana anda mungkin merosakkan Rpi / RTC jika tidak)

Setelah anda menghubungkan RTC, mari konfigurasikan Raspberry.

Langkah 6: 2-1: Penyediaan Modul

2-1: Penyediaan Modul
2-1: Penyediaan Modul
2-1: Penyediaan Modul
2-1: Penyediaan Modul

Sebelum memulakan, pergi ke baris arahan dan ketik:

Tarikh

Ini akan mengembalikan tarikh dan waktu semasa di Raspberry, memperhatikan arahan yang sangat berguna itu, dan mencatat tarikh dan masa semasa sehingga kita dapat memeriksa kapan modul berfungsi atau tidak.

sekarang, mari kita mulakan penyediaannya, ketik berikut untuk mengemas kini perpustakaan Rpi, satu baris pada satu masa:

sudo apt-get kemas kini

sudo apt-get -y naik taraf

setelah selesai, kita perlu mengubahsuai fail sistem untuk mengaktifkan modul i2c dan menambahkan RTC, untuk mengubahsuai sistem fail kita akan menggunakan perisian yang disebut Nano. nano adalah perisian bawaan ringan yang pada dasarnya merupakan penyunting teks, sama seperti yang ada pada janda. jadi sebarang arahan yang dimulakan dengan nano diikuti dengan nama fail, akan membuka fail itu dalam penyunting teks nano. anda telah menyedari bahawa kami juga menggunakan sesuatu yang disebut Sudo, singkatnya, sudo bertindak seperti jaminan untuk sistem linux yang memberitahu sistem bahawa pengguna yang membuat perintah itu adalah pemilik Peranti, bukan orang lain, dan memberikan hak istimewa seperti menyunting / memadam kepada pengguna. sebagai contoh, jika kita membuka fail nano tanpa sudo, kita dapat melihat fail itu, tetapi kita tidak dapat mengeditnya atau menghapusnya.

sekarang, kita perlu mengubahsuai fail modul, kita boleh melakukan ini dengan menaip:

sudo nano / etc / modul

setelah anda melakukannya, anda akan dapati kandungan fail tersebut (lihat gambar). gunakan kekunci anak panah untuk meletakkan kursor di akhir teks dan tambahkan yang berikut:

snd-bcm2835

i2c-bcm2835 i2c-dev rtc-ds1307

tekan CTRL + S untuk menyimpan, dan CTRL + X untuk keluar

Langkah 7: 2-2: Antaramuka I2C

2-2: Antaramuka I2C
2-2: Antaramuka I2C

Sekarang kita telah menghubungkan RTC dan mengaktifkan i2c, mari kita menghubungkan semuanya bersama-sama.

taipkan perkara berikut ke dalam command prompt:

i2cdetect -y 1

anda akan diberi sebilangan kosong, tetapi anda akan melihat bahawa ada nombor di suatu tempat, nombor itu adalah alamat modul RTC anda. dalam kes saya itu 68. perhatikan nombor itu. jika anda tidak melihat nombor dua digit itu, itu bermakna anda mungkin salah menghubungkan RTC.

sekarang, kita perlu mengubah suai fail rc.local supaya kita dapat mengaktifkan modul RTC semasa boot dan membiarkannya menyimpan tarikh dan masa ke sistem. pertama, buka fail rc.local:

sudo nano /etc/rc.local

Sebelum baris exit0, tambahkan yang berikut:

echo ds1307 0x68> / sys / class / i2c-adapter / i2c-1 / new_device

hwclock -s

di mana 0x68 adalah alamat i2c peranti anda. setelah selesai tekan CTRL + S CTRL + X, kemudian reboot sistem anda dengan:

rebo sudo

Langkah 8: 2-3: Menguji RTC

2-3: Menguji RTC
2-3: Menguji RTC

Setelah sistem dihidupkan semula, kita dapat memeriksa cuaca RTC berfungsi atau tidak. pertama, jalankan:

sudo hwclock -r

anda akan diberi tarikh dan masa pada modul RTC. jika anda diberi sesuatu yang lain, pastikan anda telah melakukan langkah-langkah dengan betul.

sekarang, untuk mengubah waktu dan tarikh pada RTC, kita perlu mengubah Tarikh & Waktu pada sistem terlebih dahulu, KEMUDIAN ini melakukan pengubahsuaian pada RTC. untuk melakukannya, jalankan:

tarikh sudo -s "29 OGOS 1997 13:00:00"

dan tentu saja, ubah tarikh dan waktu mengikut waktu dan tarikh tempatan anda, sebelum anda menekan enter. setelah anda mendapat waktu di Rpi kanan, jalankan yang berikut untuk menyimpan tarikh dan masa di RTC:

sudo hwclock -w

aaaa dan itu sahaja! anda boleh menyemak sama ada ia berfungsi dengan hwclock -r dan melihat apakah tarikh di RTC betul atau tidak, kemudian putuskan sambungan rpi dari internet dan kemudian matikannya untuk beberapa waktu dan kemudian hidupkan semula dan lihat apakah ia betul masa dan tarikh. anda sudah selesai!

Panduan penuh mengenai cara mengatur modul RTC boleh didapati di sini

www.raspberrypi-spy.co.uk/2015/05/adding-a-ds3231-real-time-clock-to-the-raspberry-pi/

Langkah 9: Bab 3: Membuat Program Penggera Azan

Bab 3: Membuat Program Penggera Azan
Bab 3: Membuat Program Penggera Azan

membuat jam tangan adalah satu perkara, tentu, kita dapat melihat jam dan waktu solat dan melihat kapan waktunya tiba, tetapi tidak akan lebih baik lagi jika kita dapat menambahkan penggera bunyi untuk memberitahu kita mengenai waktu solat? WALAUPUN LEBIH BAIK, kami menjadikan penggera itu sebagai suara AZAN! mari kita lihat bagaimana kita dapat mencapainya.

untuk pengaturcaraan kami, kami akan menggunakan python sebagai bahasa pengaturcaraan pilihan kami kerana python sempurna dengan RaspberryPi. untuk membuat fail kod dalam python, kami melakukan perkara yang sama seperti membuka fail teks, tetapi sekarang kami menyimpannya sebagai.py. untuk menjalankan program ini, kita memerlukan persekitaran python yang dipasang dari raspbery, untungnya, Raspbian dilengkapi dengan python dan python3 yang telah dipasang sebelumnya! jadi yang harus kita buat hanyalah pengaturcaraan. dalam panduan ini, kami tidak akan membincangkan bahasa dan mengajar cara kerjanya dan fungsinya, tetapi saya akan memberikan kod yang diperlukan supaya anda dapat membuat projek tersebut.

untuk memulakan, kita memerlukan fail suara dari suara azan pilihan kita (dalam. WAV) kita memerlukan dua fail, satu untuk azan al-fajr dan satu lagi untuk azan biasa. setelah anda mendapatkannya, masukkan ke pemacu tongkat dan salin di desktop raspberrypi.

sekarang kami mempunyai fail, saya sedang mencari cara untuk memainkan audio suara pada raspberryPi dan yang mengejutkan saya, tidak banyak cara yang dapat saya lakukan, tetapi saya dapati jawapan ini pada stackoverflow yang memberi saya apa yang saya perlukan

stackoverflow.com/questions/20021457/playi…

saya menguji kaedah itu dan berjaya! jadi mari kita lihat bagaimana kita dapat melaksanakan kaedah ini dalam projek kita …

Langkah 10: 3-1: Mari Mainkan Suara

3-1: Mari Mainkan Suara!
3-1: Mari Mainkan Suara!

pertama, navigasi ke desktop dengan:

cd Desktop

kemudian buat fail kod python baru dengan:

sudo nano AzanPlay.py

ini akan membuat fail baru bernama AzanPlay dengan peluasan pada fail python.py, kita akan mempunyai skrin hitam kosong untuk membolehkan kita menulis kod kita. tuliskan baris-baris ini (berhati-hati untuk tidak mengubah lekukan atau ruang, kerana ini sangat penting dalam ular sawa):

dari pengadun import pygame

mixer.init () mixer.music.load ('/ home / pi / Desktop / Adhan-Makkah.wav') mixer.music.play () sambil mixer.music.get_busy () == Betul: teruskan

Di mana / Desktop / di mana anda meletakkan fail suara anda, dan 'Adhan-Makkah.wav' adalah fail Audio saya, yang merupakan rakaman suara Azan di makkah.

sekarang untuk menguji kod kami, kami menjalankannya dengan python dengan menaip:

python AzanPlay.py

dan anda akan mendapat suara bermain dari LCD HDMI atau port AUX anda yang ada di Raspberrypi. jika anda tidak mendengarnya dari pembesar suara LCD, pasangkan fon kepala ke AUX dan periksa.

Langkah 11: 3-2: Dapatkan Waktu Solat

3-2: Dapatkan Waktu Solat
3-2: Dapatkan Waktu Solat

Seperti yang kita ketahui, waktu solat berbeza dari satu tempat di bumi ke tempat lain, dan bahkan untuk lokasi tertentu, ia berbeza sepanjang tahun, ini bermaksud kita perlu mencari jalan untuk memastikan waktu solat kita sentiasa diperbaharui dalam sistem, dan untuk itu kita memerlukan fungsi dan pengiraan khusus dan sangat kompleks untuk memperbaikinya. Nasib baik, saudara kita Hamid Zarrabi-Zadeh telah menjadikan semua fungsi yang kita perlukan menjadi satu fungsi yang boleh kita gunakan dengan mudah untuk mendapatkan masa bergantung pada lokasi dan masa kita sekarang, MENAKJUBKAN! anda boleh mencari fail perpustakaan dan sumber di

praytimes.org/

Jadi, kami akan menggunakan fail hebat ini untuk mendapatkan waktu solat kami dan menerapkannya dalam sistem. pertama, muat turun kod dari laman web dan masukkan ke dalam folder / adhan / folder, (Kami memerlukan kod JS dan Python).

sekarang, mari pergi ke folder itu dan uji perpustakaan, dan apa yang boleh dilakukannya:

cd adhan

di sana, kita perlu membuat fail ujian baru di python supaya kita dapat menguji fungsinya:

sudo nano testAd.py

di dalam, tuliskan kod ini:

import waktu solat

dari tarikh import tarikh masa tmm = waktu solat. PrayTimes (). getTimes (date.today (), [PANJANG LONGITUDE], GMT) cetakan

Sebelum menyimpan fail, anda perlu menukar LATITUDE dengan Lintang lokasi anda, sama dengan LONGTITUDE, dan menukar GMT ke zon waktu anda. dalam kes saya, ia akan menjadi:

tmm = Praytimes. PrayTimes (). getTimes (date.today (), [21.3236, 39.1022], 3)

mencetak (tmm)

Akhirnya, CTRL-S dan CTRL-X dan kemudian jalankan kodnya:

python testAd.py

akhirnya, anda akan dikembalikan waktu solat anda untuk hari ini, untuk lokasi anda.

{'isha': '18: 58 ',' asr ': '15: 22', 'matahari terbenam': '17: 43 ',' dhuhr ': '12: 17', 'maghrib': '17: 43 ', 'imsak': '05: 23 ',' tengah malam ': '00: 17', 'matahari terbit': '06: 52 ',' fajr ': '05: 33'}

Hebat! setelah kita mendapat waktu solat dan sekarang kita tahu bagaimana memainkan bunyi, mari kita menggabungkan kedua kod ini menjadi satu kod utama.

Langkah 12: 3-3: Membuat Kod Penggera Azan Akhir

dengan menyelesaikan dua kod sebelumnya, kami belajar bagaimana mendapatkan waktu solat yang tepat mengikut lokasi kami dan cara memainkan suara Azan. sekarang, kita akan menggabungkan dua kod ini menjadi satu kod yang akan kita gunakan sebagai projek akhir kita, dan kod ini akan berfungsi di latar belakang, kerana ketika waktu Azan tiba, ia akan memainkan suara Azan.

Saya telah menulis keseluruhan kod, anda boleh menyalinnya dan menampalnya, dan membuat perubahan anda sendiri mengikut kesesuaian anda. Kodnya adalah:

masa import

dari pygame import mixer import string import waktu solat dari tarikh import datetime sementara (1): tmm = Praytimes. PrayTimes (). getTimes (date.today (), [21.3236, 39.1022], 3) FAJR = tmm ['fajr'] DHUHR = tmm ['dhuhr'] ASR = tmm ['asr'] MAGHRIB = tmm ['maghrib'] ISHA = tmm ['isha'] tempT = time.strftime (str ('% H')) currTime = tempT tempT = time.strftime (str ('% M')) currTime = currTime + ':' + tempT if currTime == FAJR: mixer.init () mixer.music.load ('/ home / pi / Desktop / Adhan-fajr. wav ') mixer.music.play () manakala mixer.music.get_busy () == Benar: teruskan jika currTime == DHUHR: mixer.init () mixer.music.load (' / home / pi / Desktop / Adhan- Makkah.wav ') mixer.music.play () while mixer.music.get_busy () == Betul: teruskan jika currTime == ASR: mixer.init () mixer.music.load (' / home / pi / Desktop / Adhan-Makkah.wav ') mixer.music.play () while mixer.music.get_busy () == Betul: teruskan jika currTime == MAGHRIB: mixer.init () mixer.music.load (' / home / pi / Desktop / Adhan-Makkah.wav ') mixer.music.play () sambil mixer.music.get_busy () == Betul: teruskan jika currTime == ISHA: mixer.init () mixer.music.load ('/ home / pi / Desktop / Adhan-Makkah.wav') mixer.music.play () manakala mixer.music.get_busy () == Betul: teruskan

Sekiranya anda melihat kod tersebut dan membandingkannya dengan yang kami buat sebelumnya, anda akan melihat bahawa kami tidak melakukan apa-apa yang baru, pada mulanya, kami memasukkan perpustakaan yang diperlukan dan kemudian kami membuka gelung tanpa batas. secara berterusan, kami terus mengira waktu solat dengan lokasi dan zon waktu kami, dan menyimpan keseluruhan hasil dalam tmm berubah-ubah. kemudian, kami menyimpan setiap waktu solat dari tmm ke pemboleh ubah bebas. yang akan membolehkan kita membandingkan masa. seterusnya, kita mengambil masa sistem dan menyimpannya dalam pemboleh ubah bebas. terakhir, kami terus membandingkan waktu sistem dengan waktu solat, jika waktu sistem sesuai dengan mana-mana waktu solat, ia akan memainkan suara Azan.

Langkah 13: Bab 4: Menerapkan Jam Tangan

Bab 4: Menerapkan Jam Tangan
Bab 4: Menerapkan Jam Tangan
Bab 4: Menerapkan Jam Tangan
Bab 4: Menerapkan Jam Tangan
Bab 4: Menerapkan Jam Tangan
Bab 4: Menerapkan Jam Tangan
Bab 4: Menerapkan Jam Tangan
Bab 4: Menerapkan Jam Tangan

Untuk menjadikan projek ini kelihatan lebih baik, saya mempunyai idea untuk menambahkan wajah jam ke LCD, jadi kelihatan cantik untuk pengguna (baik, lebih baik daripada baris perintah sekurang-kurangnya) jadi, saya telah mengupah seorang pereka untuk merancang beberapa wajah untuk jam tangan, harus kosong tanpa data, karena data harus ditambahkan melalui HTML, menjadikan reka bentuk jam tangan sebagai latar belakang, dan data lain seperti waktu solat dapat ditambahkan sebagai elemen HTML di atas latar belakang.

Sayangnya, pada masa penulisan arahan ini dapat dilakukan, pengetahuan dan pengalaman saya dalam HTML sangat terhad sehingga saya tidak akan membincangkan banyak butiran kerana saya tahu bahawa saya akan melakukan perkara dengan cara yang salah, dan saya tidak mahu mengelirukan orang. tetapi jika anda mempunyai sedikit pengalaman dalam JS dan HTML, anda harus tahu bagaimana untuk meneruskannya dari sekarang. setakat ini saya telah membuat satu muka (yang biru). rancangannya adalah untuk membuat 14 muka jam! 7 wajah untuk setiap hari dalam seminggu, dan 7 wajah lain sebagai tema lain. sebagai tema pertama seharusnya dengan Azkar bergulir, dan tema lain sepatutnya mempunyai GIFS Islam dan bukannya Azkar. walau apa pun, saya akan memasukkan semua reka bentuk dalam arahan ini supaya anda boleh memuat turunnya.

Langkah 14: Bab5: Melaksanakan Antaramuka Pengguna

Bab5: Melaksanakan Antaramuka Pengguna
Bab5: Melaksanakan Antaramuka Pengguna

Pada bab terakhir perjalanan kami, kami akan membuat beberapa pengubahsuaian pilihan untuk menjadikan projek ini lebih mudah digunakan, sekiranya kami ingin melaksanakan projek tersebut di masjid atau tempat umum. seperti yang kami katakan sebelumnya, setiap kota mempunyai waktu untuk solat, dan untuk membuat projek ini dapat mengakses lebih banyak orang, kami akan membuat antara muka pengguna sehingga kami dapat memilih bandar dan tema yang kami inginkan setelah kami menghidupkan projek tersebut.

Untuk melakukan ini, kita akan menggunakan pustaka GUI python yang disebut "TKinter".

Inilah kod yang telah saya laksanakan untuk memberi saya pilihan untuk memilih antara lima bandar di Arab Saudi, termasuk Makkah:

import tkinter sebagai tk

dari tkinter import * dari tkinter import ttk import codecs import os class karl (Frame): def _init _ (self): tk. Frame._ init _ (self) self.pack () self.master.title ("Azan Time") diri. butang1 = Butang (diri, teks = "Jeddah", tinggi = 5, lebar = 80, perintah = self.open_jeddah1) self.button2 = Butang (diri, teks = "Makkah", tinggi = 5, lebar = 80, perintah = self.open_makkah1) self.button3 = Button (self, text = "Riyadh", height = 5, width = 80, command = self.open_riyadh1) self.button4 = Butang (diri, teks = "Madina", tinggi = 5, lebar = 80, perintah = self.open_madina1) self.button5 = Button (diri, teks = "Qasim", tinggi = 5, lebar = 80, perintah = self.open_qasaim1) self.button1.grid (baris = 0, lajur = 1, columnspan = 2, sticky = W + E + N + S) self.button2.grid (baris = 1, lajur = 1, lajur = 2, melekit = W + E + N + S) self.button3.grid (baris = 2, lajur = 1, lajur = 2, melekit = W + E + N + S) diri. butang4.grid (baris = 3, lajur = 1, lajur = 2, melekit = W + E + N + S) self.button5.grid (baris = 4, lajur = 1, lajur = 2, melekit = W + E + N + S) def open_jeddah1 (self): order = "sudo chromium-browser /home/pi/Desktop/Cities/jeddah/Sunday1.html --start-fullscreen --no-sandbox" os sistem. (pesanan) def open_riyadh1 (self): order = "sudo chromium-browser /home/pi/Desktop/Cities/riyadh/Sunday1.html --start-fullscreen --no-sandbox -test-type" os.system (pesanan) def open_madina1 (self): order = "sudo chromium-browser /home/pi/Desktop/Cities/madina/Sunday1.html --start-fullscreen --no-sandbox -test-type" os.system (pesanan) def open_qasaim1 (self): order = "sudo chromium-browser /home/pi/Desktop/Cities/qasaim/Sunday1.html --start-fullscreen --no-sandbox -test-type" os.system (pesanan) def utama (): karl (). mainloop () jika _name_ == '_main_': utama ()

Kodnya mungkin kelihatan besar, tetapi mengeditnya sangat mudah. pada dasarnya kita membuat tetingkap baru, meletakkan lima butang nama dan menentukan lima fungsi untuk dipanggil pada setiap penekanan butang. sebaik sahaja anda menekan butang, program akan membuka fail HTML yang sesuai dalam folder Cities, yang mana setiap bandar HTML mempunyai koordinat bandar ketika mendapat waktu dari waktu solat (). setelah anda menekan butang, kod python akan mengeluarkan kod linux di mana ia akan membuka fail HTML menggunakan penyemak imbas kromium, dan anda akan mempunyai muka jam tangan untuk dipaparkan, dengan pilihan skrin penuh dihidupkan.

Langkah 15: (Pilihan): Menambah Suis Speaker

(Pilihan): Menambah Suis Speaker
(Pilihan): Menambah Suis Speaker
(Pilihan): Menambah Suis Speaker
(Pilihan): Menambah Suis Speaker

Seperti yang kita lihat, ketika waktu sholat muncul suara Azan, dan suaranya keluar dari output suara lalai (output HDMI atau AV) dan oleh kerana kita meletakkannya pada output HDMI, suara itu akan datang dari LCD. tetapi, bagaimana jika bunyi LCD kita tidak mencukupi? sebagai contoh, bagaimana jika kita mahu melaksanakannya di dalam masjid yang sebenar? dengan pembesar suara luar yang luas? maka kita boleh menambahkan satu lagi langkah SANGAT mudah untuk mencapainya. untuk sistem bunyi pembesar suara yang sudah dibina, kita hanya perlu menghidupkan dan mematikannya, dan mengambil mikrofon yang sudah ada dan meletakkannya di sebelah pembesar suara LCD.

Melakukannya adalah sesuatu yang mudah. kita akan menggunakan mikrofon masjid yang sudah ada yang disambungkan ke pembesar suara kuat, kita hanya memerlukan raspberryPi untuk mengawal kuasa yang menghidupkan dan mematikan keseluruhan sistem bunyi. untuk melakukannya, kita perlu menggunakan SSR: SOLID STATE RELAY. jenis geganti ini boleh berfungsi sebagai suis, seperti relay biru rata-rata, perbezaannya ialah SSR dapat menahan sejumlah besar Amperage AC melaluinya, yang tidak dapat digunakan pada yang biru (biasanya maksimum 10A), dan keperluan SSR hanya dua wayar bukannya 3: DC + dan DC- dan itu sahaja! di hujung SSR yang lain kita boleh menyambungkan kabel kuasa sistem pembesar suara, dengan cara itu, apabila kita memberi voltan ke SSR, ia akan menutup litar AC sistem pembesar suara, atau kita mematikan voltan untuk membuat litar terbuka, mematikan pembesar suara.

ada satu tangkapan lagi, pin RaspberryPi mengeluarkan 3.3v, bukan 5v yang kita perlukan untuk mengawal SSR. jadi kita memerlukan transistor untuk mengambil isyarat dari pin RPi, dan 5V dari pin RPi 5v. untuk melakukannya kami memerlukan:

Relay Keadaan 1-Pepejal (apa-apa di atas 25A bagus)

Transistor 2-2n2222 npn

Perintang 3-220ohm

ikuti litar fritzing untuk sambungan.

sekarang dalam kod, kami akan menambahkan beberapa perkara yang menjadikan ini berfungsi. pertama, sebelum gelung sementara, kami akan menambah beberapa baris untuk memulakan pin GPIO:

Di bahagian import, tambahkan:

import RPi. GPIO sebagai GPIO

Sebelum gelung sementara, tambahkan:

GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (False) relay = 40 GPIO.setup (ledPin, GPIO. OUT)

Sekarang, dalam gelung sementara, untuk setiap arahan Azan main, kita perlu menghidupkan relay, menunggu 10 saat, menyelesaikan permainan Azan dan kemudian mematikan geganti. kita hanya perlu menambah dua baris, yang pertama adalah:

GPIO.output (ledPin, GPIO. HIGH)

masa. tidur (10)

yang satu ini harus ditambahkan selepas setiap pernyataan jika (IDENTASI PENTING!), baris lain adalah:

GPIO.output (ledPin, GPIO. LOW)

Yang satu ini harus ditambahkan selepas baris "teruskan". ia mesti kelihatan seperti ini untuk setiap waktu Azan:

jika currTime == FAJR:

GPIO.output (ledPin, GPIO. HIGH) time.sleep (10) mixer.init () mixer.music.load ('/ home / pi / Desktop / Adhan-fajr.wav') mixer.music.play () sementara mixer.music.get_busy () == Betul: teruskan GPIO.output (ledPin, GPIO. LOW)

Disyorkan: