Table des matières:
- Fournitures
- Étape 1: configuration (sans tête) du Raspberry Pi W
- Étape 2: Installer le logiciel Senior Radio
- Étape 3: installer un logiciel supplémentaire
- Étape 4: Rechercher des flux de stations de radio
- Étape 5: Créer des circuits
- Étape 6: Testez-le
- Étape 7: mettre dans une enceinte permanente
- Étape 8: programme d'installation à exécuter au démarrage
Vidéo: Radio Senior - Raspberry Pi : 8 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Le projet Senior Radio est un dispositif de radio Internet conçu et accessible à source ouverte avec des composants matériels et logiciels. Il est destiné aux utilisateurs habitués à contrôler une radio de poche où les cadrans contrôlent le volume et la station de radio sélectionnée. Le projet est réalisé avec une conception centrée sur l'utilisateur, axée sur un utilisateur qui souhaite une taille et des commandes similaires à celles d'une radio portable standard.
Il a été conçu pour répondre aux besoins de permettre aux personnes handicapées d'écouter les milliers de contenus Internet en streaming différents qui ne sont généralement normalement disponibles que via un navigateur Internet. De nombreuses personnes n'ont pas la possibilité d'utiliser facilement un tel appareil. Cette conception vise donc à créer une interface familière pour une technologie moderne.
La fonctionnalité principale se trouve sur Github, stockée dans un programme python 3.7.3 appelé seniorRadio.py. Il lit et écrit un fichier json pour stocker l'état de la radio. Ainsi, lorsque vous l'éteignez, il se souviendra du niveau audio actuel et de la station sélectionnée. De plus, il lit un fichier json hébergé en ligne que vous pouvez modifier ! Cela vous permet de mettre à jour les stations de radio à distance si vous le donnez à quelqu'un d'autre.
Il est actuellement créé pour se connecter à un haut-parleur Bluetooth, mais pourrait également être facilement utilisé pour jouer sur un haut-parleur intégré.
Le créateur de cet appareil n'est probablement pas l'utilisateur et a besoin d'au moins une certaine expérience de l'électronique et des connaissances de base en programmation. L'expérience Linux est également très utile.
Pour l'utilisateur, la fonctionnalité est simple:
À la mise sous tension, il jouera la dernière station sélectionnée sur le périphérique audio par défaut. Le cadran gauche contrôle la station, où quelques clics du cadran changent pour une nouvelle URL. Il se retournera après la dernière ou la première entrée. La molette de droite contrôle le niveau audio. La LED indique que le programme est activé. Et le bouton poussoir met en pause ou "éteint" la radio. Ainsi, une fois allumé, un utilisateur peut simplement appuyer sur le bouton pour mettre en pause/jouer, ou "éteindre/allumer", la radio et les deux cadrans pour la contrôler.
Fournitures
Lié sur chaque élément est celui que j'ai utilisé. Cela m'a coûté environ 60 $ au total avec beaucoup de fournitures restantes!
Connaissances de base en électronique et Linux - pour l'assemblage et le débogage
Raspberry Pi Zero W (Zero WH a des en-têtes pré-soudés et probablement utiles)
Carte MicroSD-8 Go+ et capacité o
Adaptateur secteur MicroUSB 5V - Link comprend également un adaptateur microHDMI et un adaptateur microUSB OTG vers USB A pour la configuration si vous en avez besoin
Haut-parleur Bluetooth
Câbles de démarrage M/F et M/M
2 Encodeur rotatif - même lien que ci-dessus
Petite planche à pain
Bouton
LED (en option) - LED achetée + bouton poussoir ci-dessus
Boîte pour l'emballage
Étape 1: configuration (sans tête) du Raspberry Pi W
Nous devons configurer le système d'exploitation sur le raspberry pi qui exécutera le logiciel. Rien de tout cela n'est propre à ce projet. Pour le débogage, je vous recommande de le configurer afin que vous puissiez également y accéder en mode sans tête. Cela signifie que vous accédez au pi via votre réseau WiFi via une interface graphique ou un terminal SSH et que vous n'avez pas besoin d'un clavier, d'une souris et d'un moniteur pour l'utiliser à chaque fois. Vous pouvez le faire sans avoir besoin de vous connecter à un moniteur/souris/clavier si vous êtes plus féru de technologie. Quelques exemples d'instructions ici. Cependant, il est moins simple et vous trouverez ci-dessous une autre façon de le configurer.
Cette première fois, vous aurez probablement besoin de:
- Framboise Pi W
- Adaptateur de carte MicroSD vers carte SD [pour écrire le système d'exploitation sur la carte SD]
- Carte MicroSD (~ 8 Go+) [pour stocker le système d'exploitation et notre programme]
- Alimentation microUSB (5V)
- MicroUSB vers USB A [pour souris/clavier]
- Adaptateur Mini HDMI vers HDMI [pour la sortie d'affichage]
- Clavier
- Souris
- Surveiller
Tout d'abord, vous devrez flasher le système d'exploitation sur la carte micro SD rPi.
J'ai utilisé raspian buster, vous le téléchargez sur un ordinateur avec un lecteur/enregistreur de carte SD, puis vous flashez le système d'exploitation raspian sur la carte SD. BalenaEtcher est un logiciel simple pour le faire
Ensuite, placez la carte SD dans la fente pi, connectez le moniteur, le clavier et l'alimentation. Suivez les étapes de configuration auxquelles Raspian vous invite, notamment en le connectant à votre réseau WiFi et en associant votre haut-parleur Bluetooth via l'interface graphique. Une bonne pratique serait de le mettre à jour en utilisant les commandes suivantes
sudo apt-get mise à jour
sudo apt-get mise à niveau
Si vous souhaitez inclure le marquage de votre pi sans tête, nous devrons d'abord saisir l'adresse IP du pi. Grâce à un terminal, vous pouvez le trouver via le
ifconfig
commander. Vous devez ensuite activer SSH et VNC sur les options d'interfaçage dans
sudo raspi-config
Après un redémarrage, vous pouvez maintenant tester l'accès au pi via SSH ou VNC. SSH n'est qu'une interface de terminal et vous trouverez peut-être plus facile d'utiliser l'interface graphique pour coupler un haut-parleur Bluetooth. Vous pouvez utiliser un programme tel que VNC connect pour accéder facilement à votre pi sur un ordinateur séparé de votre réseau. Vous pouvez utiliser un programme comme putty en SSH.
De plus, vous pouvez configurer un compte cloud VNC afin de pouvoir accéder à l'appareil hors réseau si nécessaire
Étape 2: Installer le logiciel Senior Radio
Cela peut être fait à partir d'une fenêtre de terminal du raspberry pi. Assurez-vous d'abord que git est installé
sudo apt-get install git
Selon le système d'exploitation que vous avez installé, ces étapes peuvent être différentes car vous devrez peut-être installer des packages supplémentaires, le système vous le dira si c'est le cas. Nous devons d'abord télécharger le code radio senior depuis github. https://github.com/Bunborn/seniorRadio Idéalement, vous créez votre propre référentiel afin que vous puissiez apporter des modifications et changer facilement les stations de radio de la même manière que moi. Fork le repo si c'est le cas
Cependant, vous pouvez utiliser le même que le mien sans problème si vous souhaitez héberger votre fichier json radio à un autre endroit
Clonez ensuite le référentiel à l'emplacement de votre choix. Le répertoire par défaut est correct. Obtenez l'URL du dépôt github que vous souhaitez en appuyant sur le bouton vert clone ou télécharger.
De retour dans la fenêtre du terminal, git clone
Vous devriez maintenant voir un répertoire supplémentaire nommé seniorRadio lorsque vous utilisez ls. Fantastique!
Le code est censé être auto-documenté, il serait utile de le parcourir. Surtout à des fins de débogage et si vous modifiez le système.
Étape 3: installer un logiciel supplémentaire
Avant de passer au circuit et de le tester, nous devons également télécharger VLC et l'api python correspondant. Vous avez peut-être déjà installé VLC. Les deux premières commandes mettront à jour le pi, et les deux dernières commandes ci-dessous installeront VLC puis l'api python
sudo apt-get mise à jour
sudo apt-get mise à niveau
sudo snap installer VLC
sudo apt-get install vlc-python
De plus, installez également gpiozero, que nous utiliserons pour l'interface avec les broches GPIO du pi. Vous l'avez peut-être déjà installé en fonction de votre système d'exploitation.
sudo apt-get install gpiozero
Étape 4: Rechercher des flux de stations de radio
Ensuite, l'une des parties les plus amusantes! Il est temps de sélectionner les flux que vous voulez.
Dans mon fichier internetStations.json, vous pouvez voir mes liens de flux, principalement pour les actualités et la musique. Mais il existe une tonne de contenu hébergé. La clé ici est de trouver l'adresse URL du flux direct. Par exemple, les stations d'information et de musique de la BBC peuvent être trouvées ici sur ce blog. Ces flux directs n'auront pas d'interface graphique et joueront automatiquement le flux via le lecteur multimédia de votre navigateur. Ce sont les URL dont nous avons besoin pour que VLC puisse les lire ! Vous pouvez tester n'importe quel lien rapidement dans votre navigateur Web ou via VLC sur votre ordinateur normal pour vous assurer qu'il fonctionnera sur le pi.
Pour trouver ces stations, vous pouvez rechercher le flux direct en ligne si le service l'héberge. Un moyen rapide pourrait également être de lire le flux, de cliquer avec le bouton droit sur le navigateur et de cliquer sur "Inspecter l'élément". Accédez à l'onglet réseau et il devrait indiquer l'URL "directe" du flux. Cette vidéo youtube le démontre. Rafraîchir la page avec l'onglet ouvert devrait aider.
Une fois que vous avez vos stations, vous souhaitez les mettre en ligne afin que votre programme python seniorRadio puisse les récupérer. Il existe de nombreuses options pour ce faire, vous pouvez utiliser des sites comme Github, bitbucket ou même sourceforge. L'objectif principal de l'hébergement de cette liste en ligne est que l'utilisateur qui la configure peut modifier la liste de diffusion en ligne à distance.
Au début du programme python, il y a une variable appelée url, changez-la simplement pour être l'URL de votre fichier json avec les liens URL de la station
Vous pouvez suivre le même format que mon fichier internetStation.json. Si vous souhaitez également utiliser github, vous pouvez simplement forker mon référentiel seniorRadio, éditer votre propre fichier internetStation.json et le pointer vers cette URL "brute". Vous pouvez le trouver ci-dessous dans l'interface graphique Github une fois que vous avez cliqué sur le fichier.
Étape 5: Créer des circuits
Maintenant, nous devons configurer le circuit. Cela changera en fonction de votre équipement, mais voici comment j'ai configuré le mien.
pinout.xyz/ pour référence sur quelles broches sont lesquelles. Puisque nous utilisons la bibliothèque gpiozero, nous ne nous intéressons qu'à la numérotation des broches BCM. Notez que j'ai acheté quelques encodeurs rotatifs KY040 supplémentaires - les cadrans - pour les tester car ils n'ont pas tous la même précision. Chacun aurait des "rebondissements", ou simplement une sortie incorrecte, alors j'ai choisi le meilleur des deux que j'avais. Dans le code, vous noterez qu'il y a aussi quelques étapes pour limiter ce rebond.
J'ai connecté mon bouton-poussoir à la broche 17 du BCM et à la masse
Ma LED à une résistance de 1k ohm puis BCM broche 27 et masse
Mes encodeurs rotatifs KY040 avaient le fil + à 5V, le GND à la masse et le SW déconnectés. Ceux-ci ont été connectés sur une mini planche à pain
Broche dt de l'encodeur rotatif de la station connectée à la broche 21 du BCM
Broche clk de l'encodeur rotatif de la station connectée à la broche 20 du BCM
Broche dt de l'encodeur rotatif de niveau audio connectée à la broche 19 du BCM
Broche clk de l'encodeur rotatif de niveau audio connectée à la broche 16 du BCM
Si vous modifiez ces broches, mettez simplement à jour le numéro dans le programme python où il configure les gestionnaires
J'ai utilisé une mini planche à pain pour rendre cela plus facile. J'ai également utilisé des cavaliers M/M et M/F pour faciliter l'interface. J'ai soudé des fils de connexion sur les broches du bouton-poussoir/LED que j'ai acheté plus tôt. Pour ne pas souder, vous pouvez obtenir des boutons-poussoirs et des LED qui ont déjà des fils de connexion ou qui se connecteraient facilement à un.
Étape 6: Testez-le
Maintenant, vous devriez avoir un système fonctionnel ! Testons-le. Accédez au dossier avec le programme python, probablement:
cd seniorRadio
python3 seniorRadio.py
Actuellement, il y a un délai de 45 secondes au démarrage du programme pour lui laisser le temps de trouver le haut-parleur bluetooth à la mise sous tension. Vous pouvez commenter cette ligne si vous n'en avez pas besoin pendant le test. Le programme peut vous dire que vous devez installer des packages supplémentaires, allez-y si c'est le cas. Peut également avoir besoin d'installer une version plus récente de Python.
sudo apt-get installer python3.7
Quelques problèmes possibles même si le programme s'exécute:
je n'entends aucun son
Assurez-vous que le haut-parleur est allumé et sélectionné dans votre raspberry pi. Grâce à l'interface graphique, vous devriez pouvoir le coupler, puis le sélectionner comme périphérique de sortie audio. De plus, vérifiez vos pilotes audio. Un problème courant est que vous devrez peut-être réinstaller le package pulseaudio
Audio saccadé ou coupé
Essayez de rapprocher l'appareil de votre routeur WiFi. De plus, assurez-vous que le haut-parleur Bluetooth est à proximité. Peut-être aussi un problème de pilote audio
Étape 7: mettre dans une enceinte permanente
Ensuite, placez-le dans une boîte ou un appareil similaire pour qu'il vive en permanence. Je recommande d'en avoir un auquel vous pourrez accéder plus tard encore pour le débogage. J'ai acheté cette petite boîte en bois dans un magasin d'artisanat pour 2 $ et je l'ai liée à la page des fournitures. Un de mes amis m'a recommandé une boîte à cigares.
J'ai ensuite découpé des trous à l'avant pour le bouton-poussoir et les commutateurs rotatifs, et j'ai percé un trou à l'arrière de la boîte pour le cordon d'alimentation microUSB.
J'ai testé la monture et je me suis assuré qu'elle fonctionnait, et voilà !
Enfin, j'ai utilisé de la super colle pour maintenir le bouton poussoir. Ma planche à pain avait un adhésif sur le fond que j'ai connecté à une partie de la boîte. J'ai utilisé une petite bande de ruban adhésif pour fixer l'arrière du pi à la boîte, afin qu'il puisse être déplacé plus tard si nécessaire.
Étape 8: programme d'installation à exécuter au démarrage
Enfin, vous souhaiterez probablement que ce programme python s'exécute au démarrage du raspberry pi afin que vous n'ayez pas besoin de le faire manuellement. Il existe de nombreuses façons de le faire que vous pouvez trouver en ligne.
Personnellement, je l'ai configuré en utilisant la deuxième méthode sur ce tutoriel SparkFun:
Ici, il attend que le système entre dans le bureau graphique avant d'exécuter le programme. Il est ensuite retardé par le programme python de 45 secondes pour donner au système le temps de se reconnecter au haut-parleur Bluetooth. Si vous utilisez un haut-parleur intégré, vous pouvez supprimer ce délai. Notez que le haut-parleur Bluetooth doit être allumé en premier ! (pour la solution bluetooth)
Vous pouvez maintenant essayer d'éteindre et de rallumer votre pi ! Après environ 90 secondes, votre pi devrait recommencer à lire les flux radio. En appuyant sur le bouton-poussoir, il se mettra en pause/lecture. Notez que sur ces redémarrages, il relit ce fichier json internetStations. Par conséquent, si vous modifiez vos stations, vous devez redémarrer l'appareil pour qu'elles fonctionnent. Toutes nos félicitations!
Si vous avez fait cela ou apporté des modifications au projet, faites-le moi savoir!
Page Github:
Conseillé:
Radio Internet BOSEBerry Pi : 4 étapes (avec photos)
Radio Internet BOSEBerry Pi : j'adore écouter la radio ! J'utilisais une radio DAB dans ma maison, mais j'ai trouvé que la réception était un peu inégale et que le son ne cessait de se briser, j'ai donc décidé de créer ma propre radio Internet. J'ai un fort signal wifi autour de ma maison et le frère numérique
Réalimenter un ancien circuit radio (alimenté par des piles) : 4 étapes
Remettre sous tension un ancien circuit radio (alimenté par des piles) : avez-vous déjà eu une vieille radio qui s'alimente uniquement en courant alternatif et n'a pas de batterie à l'intérieur ? Aujourd'hui, je vais vous montrer comment alimenter votre ancienne radio avec une batterie et utile s'il y a une alimentation panne, et la puissance de votre radio dépendait de la batterie sans connexion
Radio FM avec RDS (Radio Text), contrôle BT et base de chargement : 5 étapes
Radio FM avec RDS (Radio Text), BT Control and Charging Base : Bonjour, Ceci est mon deuxième "Instructables". Comme j'aime faire des choses pas très utiles, voici mon dernier projet : Ceci est une radio FM avec Radio Text avec une base de recharge et qui peut être surveillée via Bluetooth et une APP AndroidJe vais donc
LE JAMBON BON MARCHÉ - TRANSFORMEZ UNE RADIO PORTABLE EN RADIO MOBILE : 6 étapes
LE JAMBON BON MARCHÉ - TRANSFORMER UNE RADIO PORTABLE EN RADIO MOBILE : Radio amateur mobile avec un budget serré ? Oui, cela peut être fait avec un peu de créativité. Il existe une pléthore de radios portables chinoises bon marché. Ces nouvelles radios bon marché ont à leur tour fait baisser les prix des équipements de jambon usagés de qualité. Une autre chose qui s'ajoute
Télécommande senior : 5 étapes (avec photos)
Télécommande senior : Modifiez la télécommande de votre mère pour la rendre conviviale pour les personnes âgées. Ma mère est née en 1931. Elle appartient à la génération de la radio et de la Seconde Guerre mondiale. Sa vue est défaillante et elle n'est pas douée avec quoi que ce soit d'électronique. Les télécommandes de la télévision la troublent. Ce mod m'est venu après qu'elle ait appelé