Hotspot et caméras ?

Et si vous profitiez d’avoir un hotspot WiFi, avec un enregistreur de connexions qui fonctionne sous linux, pour venir y installer un serveur Web et mettre à disposition de vos utilisateurs les clichés instantanés d’une ou plusieurs vues des caméras IP de votre établissement ?

C’est ce qui motive le projet de Monwifi actuellement en version Beta, avec une interface d’administration pour ajouter et supprimer les caméras :

et une interface de visualisation destinée à vos utilisateurs et clients :

Ici nous avons choisi de capturer le flux de 3 caméras en montage, dont celle de Chamonix, excusez nous du peu 😉
Si vous cliquez sur une image, un onglet s’ouvre et elle s’affiche en pleine résolution, permettant aisément de zoomer. Cette page fonctionne sur PC, smartphone, ou tablette, bien entendu.

Imaginons maintenant que vous exploitiez un établissement avec une piscine : les utilisateurs de votre hotspot wifipak vont pouvoir visualiser en temps semi-réel l’occupation du bassin, je dis bien semi-réel car il n’est pas question d’être intrusif et de diffuser un flux vidéo, uniquement d’afficher un snapshot, c’est à dire une capture d’écran à un instant t.
De même, une caméra IP sur un parcours de golf, sur une terrasse de restaurant, sur une plage privée vous offriront la même possibilité : on y va ? on n’y va pas ? Trop de monde ? Y’a personne ?!
Mais on peut également imaginer visualiser une aire de jeux pour voir que le p’tit dernier s’amuse bien, sans risques.

Revenons à l’administration de ces captures, peut-être avez-vous remarqué ce détail :

RTSP ? Oui, rtsp, ce protocole sur pratiquement toutes les caméras IP qui permet de visualiser le flux vidéo. Toutes les caméras ne font hélas pas de snapshot, à l’instar des TP-Link TAPO : il faut dans ce cas pouvoir capturer le flux vidéo et en extraire une image à un instant donné, lors de cette rapide capture, avant de l’afficher.

Vous aurez ainsi le choix de plusieurs modèles de caméras, soit avec un flux RTSP, soit avec une capacité de snapshot. Nous avons pour le moment testé les caméras Ubiquiti, après avoir activé le snapshot dans l’interface d’administration de chaque caméra. Les caméras TAPO TP-Link refusent elle systématiquement la capture rtsp, aussi avons nous décidé de tester un matériel Imou :

Affaire à suivre… nous allons rapidement découvrir si ce matériel nous offrira toutes les fonctionnalités attendues, car à ce tarif (< 50 €), il ne manque pas de qualités 😉

Evolution des fonctionnalités :

Comment faire évoluer l’interface ? Cela va dépendre des idées de nos clients, il faudra dans un premier temps tester un prototype, voir si le retour des clients est positif, découvrir quels aspects nous devrons faire évoluer surtout.

Déjà, nous imaginons pouvoir ajouter l’envoi d’une image vers un serveur Web, pour par exemple afficher une vue en temps réel de la plage en face de votre établissement, l’enneigement des pistes de la station, une ligne d’horizon sur les montagnes voisines, ou tout paysage que vous voudrez bien proposer à vos visiteurs internet : un lien sur la caméra, un serveur ftp avec un login et un mot de passe, des heures de fonctionnement en fonction du lever du jour sur un lieu donné, et une fréquence d’actualisation. Simple non ?

L’IA, outil de taille :

Inutile de vous le cacher, nous avons utilisé plusieurs IA pour générer ces interfaces, avec en tête ChatGPT et MistralAI. Nous avons rapidement oublié Gemini par Google car à chaque correction, seule une partie des codes était affichée, nécessitant de redemander sans cesse l’envoi du code entier pour ne pas perdre de temps : en vain, l’intelligence est absente de Gemini pour ce qui concerne le code informatique, il vaut mieux l’utiliser pour trouver des recettes de cuisine ou demander l’âge avancé de Flamby Mou 1er, ex-Mouzident sociamou de la France ;-))))

Ces outils sont fabuleux, rapides surtout, mais en aucun cas ne remplacent totalement, pour le moment, notre capacité d’analyse et de programmation. Nous les avons éduqués, orientés, modifiés à la main souvent. Cela reste des outils, mais ne nous voilons pas la face, ils sont fabuleusement utiles !

Conclusion :

Si le projet vous intéresse, si vous utilisez ou voudriez utiliser un hotspot Wifipak, n’hésitez pas à nous faire signe sur Monwifi.fr pour devenir Beta-testeur dès que le projet sera un peu plus avancé.
A terme il pourrait bien s’ouvrir à d’autres matériels hotspot en ne s’utilisant que comme serveur Web et serveur de capture d’images, qui sait…

ChatGPT, l’outil du fainéant ?

Vous aussi vous avez sans doute déjà réinstallé un ordinateur, suite à un plantage logiciel ou matériel. Ici, pas de Winchose, pas de Winbug, et encore moins de Windose, non, que du stable, du fiable, du Linux, en général sous Kubuntu, largement exploitable pour le travail de tous les jours, voir pour surfer sainement à la maison.

Sauf que parfois il faut réinstaller, oh pas aussi souvent que les trucs de Microchose, mais ça arrive, soyons réalistes. Alors même si nous savons manier les commandes apt install pour tout remettre en état, l’idée d’un script s’est imposée lentement :

Pas mal non ? Le serveur Apache2 est utilisé pour des pages PHP liées au serveur domotique, Mosquitto va générer des flux MQTT pour certains appareils, Transmission pour d’éventuels Torrent (les distri Linux en utilisent beaucoup), TeamViewer pour dépanner les PC de clients, d’amis, ou de la famille, WireGuard pour des usages déportés, Thunderbird pour la messagerie, Brave pour éviter les pubs toxiques en surfant, etc.

Le script généré par ChatGPT a bien entendu été lu, contrôlé, modifié, et soumis de nouveau à l’IA : l’IA est un outil, ce n’est pas LE faiseur de scripts, juste un outil qui va vous pondre des lignes de codes en quelques secondes. Il va récupérer les configurations importantes depuis un disque SATA externe, disque servant juste de backup, un peu comme une Time Capsule chez la Pomme : config Wireguard, fichiers html et php, scripts CGI pour Apache2, etc.

C’est plutôt propre non cette copie d’écran ? ChatGPT commente, argumente, explique, sans qu’il ne soit utile de lui demander.

Et à la fin il vérifie que tout est bien actif, installé :

Et vous, vous aussi vous utilisez ChatGPT ? Quels sont vos usages avec des scripts ou du code ?

RouterOS : calculez le volume de données mensuel !

Vous utilisez RouterOS 7 ou ultérieur sur un appareil Mikrotik pour votre réseau ? Voici un script qui va pouvoir calculer le trafic mensuel passant sur le port WAN, ether1 en général. Vous aurez, au préalable, configuré l’envoi d’email dans votre RouterOS et remplacé les emails de destination (emailTo) et d’émission (emailFrom) par vos propres emails :

# --- Configuration ---
:local interfaceName "ether1"
:local emailTo "tonemail@gmail.com"
:local emailSubject "RAPPORT MENSUEL: Trafic ether1 (Go)"
:local emailFrom "noreply@tonemail.fr"

:put "--- SCRIPT DE TRAFIC (DÉMARRAGE) ---"

# --- 1. Vérification de l'interface ---
:local ifName [/interface get [find name=$interfaceName] name]
:if ($ifName = "") do={
    :put "ERREUR: Interface $interfaceName non trouvée"
    :error "Interface non trouvée"
}
:put "Interface trouvée: $ifName"

# --- 2. Lecture brute des compteurs (forcée en nombre) ---
:local rxBytes [:tonum [/interface get [find where name=$ifName] rx-byte]]
:local txBytes [:tonum [/interface get [find where name=$ifName] tx-byte]]
:local totalBytes ($rxBytes + $txBytes)

:put "Données lues - Total: $totalBytes octets"

# --- 3. Conversion en Go (base 10) ---
:local rxGB ($rxBytes / 1000000000)
:local txGB ($txBytes / 1000000000)
:local totalGB ($totalBytes / 1000000000)

# --- 4. Formatage à 2 décimales ---
:local rxGBstr [:pick [:tostr $rxGB] 0 ([:find [:tostr $rxGB] "."] + 3)]
:local txGBstr [:pick [:tostr $txGB] 0 ([:find [:tostr $txGB] "."] + 3)]
:local totalGBstr [:pick [:tostr $totalGB] 0 ([:find [:tostr $totalGB] "."] + 3)]

:put "Conversions effectuées: $totalGBstr Go"

# --- 5. Construction du mail ---
:local today [/system clock get date]

:local body "RAPPORT MENSUEL DE TRAFIC\n\n"
:set body ($body . "Interface: $ifName\n")
:set body ($body . "Période: 30 jours jusqu'au $today\n\n")
:set body ($body . "TRAFFIC CUMULÉ:\n")
:set body ($body . " $totalGBstr Go\n")

:set body ($body . "Compteurs réinitialisés pour le prochain cycle.")

:put "Corps email généré"

# --- 6. Réinitialisation éventuelle ---
/interface reset-counters $ifName
:put "Compteurs réinitialisés"

# --- 7. Envoi du mail ---
/tool e-mail send to=$emailTo from=$emailFrom subject=$emailSubject body=$body
:put "Email envoyé"

:put "--- SCRIPT TERMINÉ ---"

Ce script a été initialement généra par ChatGPT, modifié manuellement, corrigé, et vous enverra tous les 30 jours un email avec le volume total de trafic généré sur cette période.

RouterOS : gestion du ping et alerte

Comment surveiller une IP sur votre routeur RouterOS 7.xx ? Un simple script, ping, se chargera de vous prévenir par email (à condition d’avoir configuré votre envoi d’email dans /tools/e-mail, cf plus bas dans ce billet.

Voici déjà le script qui va tester 3 fois l’adresse 192.168.1.21, et en cas de non-réponse envoyer un email aux deux destinataires, recipient et recipient1 mentionnés dans le script :

    :local targetIP "192.168.1.21";
    :local recipient "monemail@chezmoi.fr ";
    :local recipient1 "secondemail@chezlui.fr";
    :local subjectFail ("ALERTE PING HS ");
    :local bodyFail ("Email automatisé pour vous indiquer que le module ne répond plus. \r\nMerci de bien vouloir vérifier le branchement ethernet et l'alimentation. \r\nVous pouvez le  débrancher, et le rebrancher. \r\nSi l'alerte persiste, merci de contacter votre prestataire.\r\n\r\n
*** Ceci est un message automatisé, ne pas répondre ****");
    :local logMessage ("Test ping vers " . $targetIP);
    :local success 0
    :for i from=1 to=3 do={
        :if ([/ping $targetIP count=1] = 1) do={
            :set success ($success + 1)
        }
    }
    :if ($success = 0) do={
        /tool e-mail send to=$recipient subject=$subjectFail body=$bodyFail
        /tool e-mail send to=$recipient1 subject=$subjectFail body=$bodyFail
    }

Pour ce qui est de la configuration de l’email dans /tools/e-mail :

        server: mail.monserveur.fr        
          port: 465                    
           tls: yes                    
           vrf: main                   
          from: noreply@chezmoi.fr     
          user: alerte@monserveur.fr
      password: LePenEstNulle;;    

Ici, nous avons créé un email alerte@monserveur.fr pour pouvoir expédier. L’envoi se fait sur mail.monserveur.fr mais cela changera selon votre configuration : smtp, imap, etc. tout est possible, pensez à modifier les paramètres.

Vous n’avez désormais plus qu’à exécuter le script ping toutes les 12 heures par exemple :

/system scheduler add name=ping-schedule \
    interval=12h \
    on-event=ping \
    start-time=startup

Et voilà, en cas de coupure vous recevrez une alerte email sur les 2 emails pré-configurés.
Pratique non ?

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.

Porno, pub, popup : soyez BRAVE !

Dans ce monde globalisé, vous n’avez pas manqué de remarquer les restrictions toujours plus sournoises, les publicités toujours plus déguisées sur vos écrans d’ordinateurs. Parfois on vous dit que c’est pour votre bien, tel le blocage des sites pornos nécessitant de transmettre vos documents d’identité à des prestataires souvent inconnus et d’une fiabilité douteuse… Qui voudra s’exciter ainsi, la carte d’identité à la main, oubliant le code d’accès pour 5 mn de fun ? 🙂

Plus sérieusement, qui n’est pas allé sur un site que je ne citerai pas, un coin qui est bon, pour chercher à revendre ou acheter des produits d’occasion ? Avez-vous déjà tenté d’utiliser l’application mobile sur ce super « bonsite » ? Eh oui, bourrée de pubs alors que vous cherchez simplement à surfer, des pubs partout qui surgissent sans prévenir, dégradant par la même occasion l’expérience utilisateur. Et c’est le cas avec pas mal d’App de sites bien connus, des Apps qui vont se contenter de venir récupérer le contenu du site Web des enseignes, et de venir vous forcer à visionner des pubs à la con, disons le clairement.

La solution ? Le navigateur Brave !

Peu connu des utilisateurs de base, Brave apporte pourtant une solution propre à la navigation, avec son bouclier anti-pubs.

Un exemple avec un site très utilisé en France :

Le simple fait d’afficher le site, ce sont 35 pubs et traqueurs bloqués, TRENTE CINQ, juste pour avoir ouvert la page du site sur Brave, TRENTE CINQ !!! Et plus vous allez surfer, plus le nombre va grimper, grimper.

Mais avec Brave, stop, terminé, plus d’affichage de ces pubs qui vous pourrissent la vie et la vue lors de vos lectures d’un site, votre navigation redevient fluide, simple, sans popups partout : la paix, le calme !!

Et puis s’il vous faut aller sur des sites plus « excitants » bloqués dans votre pays, utilisez la navigation privée Tor sur Brave :

Une nouvelle fenêtre s’ouvre, patientez jusqu’à l’affichage du message « Tor connecté avec succès » et surfez, en liberté, de façon sécurisée.

 

 

 

 

FSD : le mauvais choix de Tesla ?

Si vous appréciez les voitures électriques et attendez avec une certaine impatience la conduite totalement autonome ou supervisée, sachez tout de même raison garder, sous peine de vous classer illico-presto parmi les fanboys de St Musk, le génie facho visionnaire que nous connaissons tous et sa multitude d’influ-suceurs sur Twitter chargés de propager la sainte parole du grand gourou 😉

Selon St Musk, une voiture avec de simples caméras offre un choix largement supérieur aux concurrents ayant décidé d’utiliser les LIDARs, ces petits radars un brin plus coûteux, capables toutefois de visualiser l’environnement sur plusieurs centaines de mètres.

A contrario, la bête caméra sera rapidement stoppée en cas de pluie forte, de luminosité mal dirigée ou mal traitée, de brume ! Imaginez donc un avion se poser avec le seul regard, sans utiliser les autres aides de radionavigation, les capteurs de sol, le radar d’approche : personne ne voudrait monter dedans, personne n’irait construire une telle stupidité, et pourtant, dans le monde merveilleux des voitures, St Musk nous dit tout le contraire.

Qu’il ait raison ou pas, peu importe, mais il reste un autre problème : faire payer 8000 € pour une option qui devrait un jour peut-être arriver en Europe, dès que nos instances frileuses auront décidé de sauter le pas pour une conduite autonome. Et là, une telle somme face à des concurrents chinois, Xpeng en tête, ne passera pas :

Image

Chez Xpeng, leur conduite XPILOT est déjà intégrée aux véhicules, ce n’est pas une option juteuse, c’est déjà dedans, prêt à fonctionner une fois les lois européennes modifiées !

De ce fait, qui ira payer chez T€$la le prix fort ? QUI ? Déjà que l’image de la marque, oh combien géniale et fabuleuse, a été fortement écornée par les débilités politiciennes de St Musk, que restera-t-il alors comme attrait face aux concurrents chinois, équipés de Lidar et de vision par caméras ? Oui car les chinois eux arrivent à fonctionner avec les 2 systèmes, ils arrivent à décider lequel des 2 fonctionne, ils arrivent à tout gérer, et c’est bien là le drame pour St Musk qui tient encore des propos à côté de la plaque.

Lisez l’article très détaillé sur ce blog, il vous donnera sans doute une idée plus précises des tenants et aboutissants, des mensonges et délires du grand gourou.

 

 

Enregistreur de connexions hotspot : mise à jour !

Voici venir l’évolution des enregistreurs de connexion pour les hotspots Wifipak :

Ce seront désormais des X96, petites box TV à l’origine, transformées en enregistreurs de connexions après quelques manipulations logicielles.
Pourquoi ce choix ? Un stockage emmc qui permet de se passer de carte micro-SD, une très faible consommations électrique, un module ultra-compact qui sait se faire oublier, un prix de revient moindre qui permet de contenir les inévitables augmentations tarifaires de cette époque un brin trouble 😉

Au final, que du bonheur, pas de pannes, pas de maintenance, simplicité totale, conforme à l’esprit de nos hotspots Wifipak : liberté, efficacité, simplicité !

MacOS, mise à jour sans greenwashing

Vous utilisez Apple et vous appréciez l’ergonomie de leurs produits ? Nous aussi ! Seulement voilà, les discours tenus par Tim Cook lors des Keynotes nous sortent désormais par tous les trous, et c’est peu dire : ras le bol des « amaaaaaazing » et autres « greaaaaaat » à longueur de présentation, ras le bol de leur greenwashing avec des produits qui ne dureront pas des années, juste pour que votre expérience utilisateur ne soit pas trop dégradée.

Récemment, c’est sur un iMac 2015 que nous avons dû intervenir, 2015, 10 ans, rien pour une machine aussi bien conçue, rien du tout pour un produit « amaaaaazing », mais pourtant il n’acceptait plus aucune mise à jour ! Bravo La Pomme, Bravo pour nous prendre une fois encore pour des poires, vraiment bravo !

Ni une, ni deux, direction OpenCore Legacy Patcher, un p’tit soft destiné à enfumer le démarrage de votre précieux iMac et lui laisser installer une version plus récente de MacOS :

Et voilà, le vieux MacOS a repris forces et vigueur, il revit, et fonctionne toujours aussi bien avec les 8 Go de mémoire vive. D’ici à penser que notre Tim-bien-pensant-bobo-écolo-bio aurait lui aussi pu imaginer cette solution….

Et vous, votre Mac, il est à jour ? Vous allez l’upgrader ?

 

Hotspot et fibre ?

Ne négligez pas votre hotspot si vous disposez d’une connexion fibre à 1 Gbps ou plus encore : il existe désormais des solutions Wifipak simples pour ne pas perdre en débit.
Voici par exemple une version 10 Gbps avec cages SFP+ pour vous relier sans perte de débit :

WIFIPAK SFP+ 10 Gbps mini 3 ports

mais vous pouvez encore aller plus loin avec ce modèle qui deviendra votre cœur de réseau :

WIFIPAK SFP+ ULTRA 8 x 10 Gbps

Imaginez un peu, 8 cages 10 Gbps SFP+, de quoi dynamiser toute votre infrastructure et ne plus avoir un seul ralentissement sur vos connexions !

Que vous utilisiez une Freebox Ultra, une Livebox Pro, une Bbox, voir au pire une box SFR, vous profiterez du plein débit sur votre réseau local, tout en offrant à vos invités un hotspot WiFi digne de ce nom.

Comme toujours, pas d’abonnement, pas de limitation, pas de pseudo restrictions pour vous forcer à payer plus cher pour 50 utilisateurs supplémentaires : TOUT est inclus, enregistreur de connexions, personnalisation de la page d’accueil, adaptation à vos besoins.