| |

Effaroucheur à oiseaux sur Raspberry Pi

La saison de la chasse à neuneus est de retour, voici venu le temps de tir dans les champs, la chasse à ces dangereux volatiles, les pigeons par exemple, une espèce sauvagement invasive qu’il ne faut surtout pas hésiter à détruite jusqu’au bout 😉

Si vous aussi les nuisances sonores de ces intellectuels à fusils vous brouillent l’écoute, voici une solution basée sur un simple Raspberry Pi en python 3 :

import pygame
import time
import random
import paho.mqtt.client as mqtt
from datetime import datetime

# Initialisation du mixer de pygame
pygame.mixer.init()

# Liste des fichiers audio
audio_files = ["faucon.mp3", "aigle.mp3", "buse.mp3"]

# Variables de contrôle
mqtt_broker = "iot.tonserveur.fr"
mqtt_port = 1883
mqtt_topic = "/raspibuse"
mqtt_username = "ton_login"
mqtt_password = "ton_mot_de_passe"

# État du script (activé/désactivé)
script_active = False

# Jouer le son de démarrage une seule fois
def jouer_son_demarrage():
    print("🎵 Lecture du son de démarrage : buse.mp3")
    pygame.mixer.music.load("buse.mp3")
    pygame.mixer.music.play()

# Fonction de lecture audio
def jouer_audio():
    global script_active

    while True:
        if script_active:
            fichier_audio = random.choice(audio_files)
            pygame.mixer.music.load(fichier_audio)
            print(f"Lecture de : {fichier_audio}")

            pygame.mixer.music.play()

            while pygame.mixer.music.get_busy():
                pygame.time.Clock().tick(10)

            print("Lecture terminée à :", datetime.now().strftime("%H:%M:%S"))

            # Pause aléatoire entre 20 et 120 secondes
            pause = random.randint(20, 120)
            print(f"Pause de {pause} secondes...\n")
            time.sleep(pause)
        else:
            time.sleep(1)

# Callback de connexion MQTT
def on_connect(client, userdata, flags, rc):
    if rc == 0:
        print("✅ Connexion MQTT réussie")
        client.subscribe(mqtt_topic)
    else:
        print(f"⚠ Échec de la connexion MQTT, code {rc}")

# Callback de réception d'un message MQTT
def on_message(client, userdata, msg):
    global script_active

    message = msg.payload.decode("utf-8").strip()
    print(f"📩 Message reçu: {message}")

    if message.upper() == "ON":
        script_active = True
        print("🔊 Activation du script")
    elif message.upper() == "OFF":
        script_active = False
        pygame.mixer.music.stop()
        print("🔇 Désactivation du script")

# Jouer le son de d  marrage
jouer_son_demarrage()

# Configuration du client MQTT
client = mqtt.Client()
client.username_pw_set(mqtt_username, mqtt_password)
client.on_connect = on_connect
client.on_message = on_message

# Connexion au broker MQTT
client.connect(mqtt_broker, mqtt_port, 60)
client.loop_start()

# Démarrage du script
jouer_audio()

Le script va lancer au choix 3 sons : faucon (pas ceux avec les fusils qui sont des vrais, ne confondez pas), buse, et aigle. Vous pouvez choisir une pause entre 20 et 120 secondes, aléatoire.

Venez ajouter sur la sortie audio du Pi un amplificateur audio à moins de 40 € sur Amazon :

et associez le à un haut-parleur étanche et directif, toujours sur Amazon, dans les 20 € :

Bonne nouvelle, vous allez pouvoir activer l’effaroucheur via un serveur MQTT, cf le script, en envoyant /raspibuse ON ou OFF selon vos besoins. Pratique pour l’activer à distance si besoin.

Je ne détaille volontairement pas l’installation des librairies Python et tous les détails, au besoin Google ou ChatGPT pourront vous aider sur les commandes à utiliser.

Publications similaires

  • |

    Hotspots : statistiques

    Après environ trois jours d’exploitation, voici un début de statistiques concernant les deux hotspots mis en place aux Vieilles Charrues 2010. Au total, ce sont environ 157 visiteurs seulement. Il faut dire que la météo fortement capricieuse et humide de ces derniers jours n’a pas du encourager les utilisateurs à sortir leurs laptops, netbooks ou autres mobiles. De plus, en dépit d’une convention de partenariat impliquant la mise en place de pancartes WIFI ZONE sur les zones couvertes, rien n’a…

  • | |

    Bouygues Telecom, réseau et couverture

    Il y a quelques billets, je poussais un coup de g… contre Bouygues Telecom et son soit-disant fabuleux réseau, ce même opérateur qui transforme, dans ses pubs, un conseiller clientèle pro en pilote de chasse quand il a réussi à résoudre un problème… Une fois encore, j’ai pu constater l’inefficace couverture du réseau 3G de Bouygues, et cette fois-ci, loin de la campagne profonde. Non, le test s’est fait au péage du Bignon, ce péage situé juste au sud de…

  • |

    Vieilles Charrues : osons…

    Il m’arrive souvent de donner des conseils pour l’installation de tel ou tel matériel, mais là j’avoue que je n’y suis pour rien, mais alors rien du tout, promis, juré 🙂 : Un manche à balais, un peu d’adhésif super résistant, une Nanostation, un astucieux blocage sur le toit avec le balais  et le tour est joué. Le coupable devra toutefois être soit durement châtié, soit être immédiatement embauché comme installateur WiFi, c’est au choix 😉 Les Vieilles Charrues viennent…

  • |

    Freemobile en 4G sur 1800 MHz

    Après avoir attaqué Bouygues Telecom devant le Conseil d’Etat pour utilisation du 1800 MHz en 4G, Iliad, la société mère de Freemobile annonce que l’opérateur bricolo utilisera le spectre alloué à la 4G sur 1800 MHz, en plus des 1000 sites déjà déclarés sur 2600 MHz… On en arriverait presque à éclater de rire avec un tel revirement, la sensation de grand bricolage organisé persiste du coup 🙂 Voici qui devrait contenter les utilisateurs d’iBidule 5, incapables de fonctionner sur…

  • Micro-ondes, délires et peurs

    Je tombe par hasard sur un sondage sur le site Robin des Toits : « Les dangers du téléphone portable pour la santé proviennent de l’exposition aux micro-ondes pulsées en extrêmement basses fréquences. » micro-ondes et basse fréquences, j’ai du mal à comprendre… Les micro-ondes sont généralement au delà de 2.4 GHz si je ne m’abuse, les basses fréquences sont plutôt exprimées en Hz ou kHz. Quel rapport ? Mystère… Le résultat du sondage laisse pensif lui aussi : Je continue mon…

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.