{"id":19522457,"url":"https://github.com/lintangwisesa/rpi_quranspeaker","last_synced_at":"2025-04-26T09:32:10.011Z","repository":{"id":51965567,"uuid":"260833558","full_name":"LintangWisesa/RPi_QuranSpeaker","owner":"LintangWisesa","description":"Quran Speaker using Raspberry Pi, Flask \u0026 Socket.io","archived":false,"fork":false,"pushed_at":"2021-05-08T17:10:25.000Z","size":330,"stargazers_count":6,"open_issues_count":2,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-04T10:37:30.520Z","etag":null,"topics":["alquran","flask","flask-socketio","raspberry-pi","socket-io"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LintangWisesa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-03T05:18:21.000Z","updated_at":"2024-11-28T13:01:02.000Z","dependencies_parsed_at":"2022-08-24T03:50:29.053Z","dependency_job_id":null,"html_url":"https://github.com/LintangWisesa/RPi_QuranSpeaker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LintangWisesa%2FRPi_QuranSpeaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LintangWisesa%2FRPi_QuranSpeaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LintangWisesa%2FRPi_QuranSpeaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LintangWisesa%2FRPi_QuranSpeaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LintangWisesa","download_url":"https://codeload.github.com/LintangWisesa/RPi_QuranSpeaker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250967260,"owners_count":21515565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alquran","flask","flask-socketio","raspberry-pi","socket-io"],"created_at":"2024-11-11T00:39:09.658Z","updated_at":"2025-04-26T09:32:09.594Z","avatar_url":"https://github.com/LintangWisesa.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"![simplinnovation](https://4.bp.blogspot.com/-f7YxPyqHAzY/WJ6VnkvE0SI/AAAAAAAADTQ/0tDQPTrVrtMAFT-q-1-3ktUQT5Il9FGdQCLcB/s350/simpLINnovation1a.png)\n\n# Raspberry Pi Quran Speaker\n\n## 📋 Project Summary\n\nClick the following picture to see the demo video:\n\n[![Video](https://img.youtube.com/vi/D82XjlrCjbE/0.jpg)](https://youtu.be/D82XjlrCjbE)\n\nQur'anic speaker for the online streaming of the Holy Qur'an. It can be controlled wirelessly via WiFi. Designed with Raspberry Pi 3B+/4B \u0026 Python: Flask, Eventlet, Gevent-websocket \u0026 Socket.io.\n\n- 📝 Source code \u0026 tutorial: \n[Click here](https://github.com/LintangWisesa/RPi_QuranSpeaker)\n\n\u003chr\u003e\n\n## 🐳 Docker Tutorial\n\nIf you prefer running the project using Docker for an isolated setup\nand a rather simpler installation steps, please follow the Docker guide\n[here](docker.md).\n\n\u003chr\u003e\n\n## 📋 Project Tutorial\n\nThis project is built on __Raspberry Pi 3B+__ with __Raspbian OS__ and __Python 3.x__ (I'm using 3.4 \u0026 3.8). So make sure you've installed Python 3.x also __git__ to clone this project from my github.\n\n- ### 1. Connect to WiFi \u0026 Check its IP\n\n    Connect your Raspberry Pi to a WiFi connection, then check its IP address. On terminal type:\n\n    ```bash\n    $ ifconfig\n    ```\n\n    Your Pi's IP address must be various, it consists of some numbers with some dots like ```123.456.78.910```. Note your IP address!\n\n\u003chr\u003e\n\n- ### 2. Clone this project\n\n    Clone this project from my github repo. [Download here](https://github.com/LintangWisesa/RPi_QuranSpeaker) or clone it from your terminal (make sure you've installed *__git__* on your Pi):\n\n    ```bash\n    $ git clone \u003crepo_url\u003e\n    ```\n    \n\u003chr\u003e\n\n- ### 3. Install Python packages\n\n    Install Python packages needed through __*pip*__:\n\n    ```bash\n    $ pip3 install flask flask-socketio eventlet gevent gevent-websocket python-vlc\n    ```\n\n\u003chr\u003e\n\n- ### 4. Run Flask application\n\n    Go to the project root, then run its server application (```app.py``` file).\n\n    ```bash\n    $ cd RPi_QuranSpekaer\n    $ ./app.py\n    ```\n\n    The application (server) will be listening on port ```5000```, so you can access it via your Pi's web browser (for example *__Chromium__*): http://123.456.78.910:5000.\n\n\u003chr\u003e\n\n- ### 5. Control it from other devices\n\n    You can control it via your laptop, tablet or even a smartphone. First connect your device to a WiFi which your Raspberry Pi is connected to. Open your browser \u0026 go to your Pi's IP address on port ```5000```, for example: http://123.456.78.910:5000. You'll see something similar with your Pi display \u0026 try to play with it. Enjoy!\n\n\u003chr\u003e\n\n- ### 6. Control it from other scripts\n\n    You can pause/resume playback from other scripts on the Pi by running the following:\n    ```bash\n    ./pauser.py\n    ```\n    This script toggles the playing/paused mode. It will pause if it is\n    currently in playing mode, and will resume if it is in paused mode.\n    If it is in stopped mode, it will do nothing.\n\n    You can also be specific if you only want to either pause or resume:\n    ```bash\n    ./pauser.py pause # pauses only, skips if paused or stopped\n    ./pauser.py resume # resumes only, skips if playing or stopped\n    ./pauser.py toggle # toggles, skips if stopped, the default behavior\n    ```\n\n    This is beneficial if you want to pause/resume playback beofre/after playing\n    [Adhan](https://github.com/achaudhry/adhan) for example.\n\n    Another scenario is to pause playback every night and resume in the morning.\n    To do this add 2 cronjobs (type `crontab -e` and insert the below):\n\n    ```\n    0 22 * * * /home/pi/RPi_QuranSpeaker/pauser.py pause\n    0 6 * * * /home/pi/RPi_QuranSpeaker/pauser.py resume\n    ```\n\n\u003chr\u003e\n\n- ### 7. Auto-start Quran Speaker on system boot\n\n    We are going to use [supervisord](http://supervisord.org/) for auto-starting\n    Quran Speaker on system boot and to ensure it is automatically restarted if\n    it was stopped for any reason.\n\n    1. Install supervisord:\n        ```bash\n        sudo apt install -y supervisor\n        ``` \n    2. Place the following inside `/etc/supervisor/conf.d`:\n        ```ini\n        # /etc/supervisor/conf.d/quran_speaker.conf\n        [program:quran_speaker]\n        command=/home/pi/RPi_QuranSpeaker/app.py\n        user=pi\n        ```\n    3. Reload supervisord:\n        ```bash\n        sudo systemctl reload\n        ```\n    4. Monitor the status of the service and check logs if necessary:\n        ```bash\n        sudo supervisorctl status quran_speaker\n        sudo tail -f /var/log/supervisor/quran_speaker-stderr*\n        ```\n\n\u003chr\u003e\n\n#### Lintang Wisesa :love_letter: _lintangwisesa@ymail.com_\n\n[Facebook](https://www.facebook.com/lintangbagus) | \n[Twitter](https://twitter.com/Lintang_Wisesa) |\n[Youtube](https://www.youtube.com/user/lintangbagus) |\n[LinkedIn](https://www.linkedin.com/in/lintangwisesa/) | \n:octocat: [GitHub](https://github.com/LintangWisesa) |\n[Hackster](https://www.hackster.io/lintangwisesa)\n\n#### Hossam Hammady\n[Twitter](https://twitter.com/hammady) |\n[GitHub](https://github.com/hammady)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flintangwisesa%2Frpi_quranspeaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flintangwisesa%2Frpi_quranspeaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flintangwisesa%2Frpi_quranspeaker/lists"}