Résolution des problèmes techniques

De Poids-plume
Révision datée du 29 janvier 2022 à 17:52 par 201.219.234.151 (discussion) (Petites modifs)
Aller à la navigation Aller à la recherche


Les mangeoires du réseau sont en perpétuel développement et amélioration ! Si vous rencontrez des problèmes avec votre mangeoire, essayez d'abord ce guide pour le corriger. Si vous avez un souci, le bureau peut également vous aider, dans la mesure de ses disponibilités ! (bureau@poids-plume.fr)

Problèmes techniques

Ma mangeoire ne prend plus de vidéos

Si votre mangeoire ne prend plus de vidéos, mais le faisait auparavant sans que vous soyez intervenu dessus, il est possible que la caméra soit simplement "plantée". Ce problème se manifeste souvent par les lignes suivantes dans le log:

system 2021-11-19 07:20:13 carduelis start_loggers[854]: mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
system 2021-11-19 07:20:13 carduelis start_loggers[854]: mmal: camera component couldn't be enabled 
system 2021-11-19 07:20:13 carduelis start_loggers[854]: mmal: main: Failed to create camera component
system 2021-11-19 07:20:13 carduelis start_loggers[854]: mmal: Failed to run camera app. Please check for firmware updates

Un redémarrage de la mangeoire peut alors solutionner le problème. Un système automatique est présent sur les mangeoires, pour s'assurer que la caméra est en état de fonctionnement (logiciel v3.0 et plus). Si ce n'est pas le cas, alors la mangeoire va redémarrer toute seule. Lorsqu'un tel mécanisme s'active, les lignes suivantes sont présentes dans le log:

watchdog 2021-12-16 13:30:02 !!!!!!!!!!!!!! WATCHDOG camera ELAPSED !!!!!!!!!!!!!!
watchdog 2021-12-16 13:30:02 Last kick was at 1639645203, which is more than 10800s
watchdog 2021-12-16 13:30:02 Restarting feeder in 60 seconds.

A noter que le message ci-dessus peut apparaître également de temps en temps, lorsque les visites à la mangeoire se succèdent trop vite -- pas d'inquiétude à avoir dans ce cas, il s'agit d'une limite technique de la caméra.

Si le problème persiste malgré un ou plusieurs redémarrages, alors il peut s'agir d'un problème de connexion entre le Raspberry Pi et la caméra: il faut alors ouvrir la mangeoire et vérifier que les connexions soient bien faites. Le ruban connecteur orange doit être bien enfoncé et parallèle à la fiche. Si le problème persiste, alors il est possible d'envisager de changer le ruban orange connecteur de la caméra (d'abord) et la caméra elle-même (ensuite).

Ma mangeoire ne se connecte plus à internet

Si votre mangeoire était connectée à internet, mais ne l'est plus, il est possible simplement qu'il y ai un souci ponctuel de wifi: tentez de redémarrer la mangeoire. Si cela persiste malgré le redémarrage, essayez de faire la même manipulation proche de votre routeur ("box" internet). Si la connexion se réétablit, il est possible que votre mangeoire soit simplement trop loin du routeur pour pouvoir s'y connecter. Essayez de placer votre mangeoire plus proche de votre routeur. Une autre possibilité est que votre routeur soit sur un canal déjà encombré par les réseaux wifi voisins: il y a alors trop de "bruit électromagnétique" pour que la transmission se fasse bien entre votre mangeoire dehors et le routeur (la "box"). Essayez de changer le canal wifi utilisé par votre box (il s'agit d'un réglage à faire le plus souvent dans l'interface d'administration de la box).

Si malgré tout, le problème persiste, il est possible que le raspberry pi de la mangeoire soit dégradé. Prendre contact avec le bureau pour regarder plus en détails et peut être changer des composants.


Des oiseaux se posent sur le perchoir, mais la mangeoire ne prend pas de vidéos

Les accidents arrivent... il est possible que le perchoir de votre mangeoire soit cassé ! Les capteurs de masse sont très (très) sensibles. Mais pas de panique, avant de conclure à une telle éventualité, on peut faire quelques tests. Connectez-vous d'abord en ssh sur la mangeoire (voir l'étape technique correspondant ci-dessous).



Étapes techniques

Se connecter en ssh à la mangeoire

Il est parfois nécessaire de se connecter à la mangeoire pour mieux comprendre quel peut être le problème. On utilise pour cela ssh. ssh est un logiciel qui va nous permettre d'ouvrir une invite de commande sur la mangeoire -- il s'agit d'une interface textuelle dans laquelle nous allons pouvoir lancer des commandes afin d'effectuer des actions sur la mangeoire.

Afin de se connecter à la mangeoire, vous pouvez utiliser la commande suivante, à taper dans un terminal (présent sous windows 10 et +, mac ou linux):

ssh pi@<mangeoire> 

où "<mangeoire>" est le nom de votre mangeoire (pyrrhula, poecile, etc.). Cela marche la plupart du temps car les routeurs familiaux savent associer un nom d'hôte (le nom de votre mangeoire) à une adresse ip. Si la commande ci-dessus échoue (typiquement avec une erreur 'ssh: Could not resolve hostname fdsq: Name or service not known'), c'est que votre routeur ne sait pas faire cette association. Il faut alors lancer la même commande en utilisant explicitement l'adresse IP de votre mangeoire, la plupart du temps quelque chose de la forme suivante:

ssh pi@192.168.1.xx 

où xx est un nombre entre 1 et 255. L'adresse IP d'une mangeoire est affichée dans les logs de celle-ci (aller sur la page correspondante sur data.poids-plume.fr), avec une ligne de ce genre (notez l'adresse ci-dessous, 192.168.1.23):

system 2021-12-22 00:59:01 Dec 22 00:04:24 merula dhclient[397]: DHCPREQUEST for 192.168.1.23 on wlan0 to 192.168.1.1 port 67

Si la commande ssh réussit, vous devriez être présenté(e) à une invite de mot de passe (qui vous aura été transmis par quelqu'un du bureau): entrez-le puis tapez sur 'Entrée'. C'est normal qu'aucun caractères ne s'affichent lorsque l'on tape le mot de passe. Une fois le mot de passe entré, la mangeoire vous affiche un message d'accueil, et une invite de commande vous est présentée. Vous pouvez alors taper les commandes nécessaires pour la résolution du problème ci-dessus.


Mettre à jour le logiciel de la mangeoire

Il vous est fortement recommandé de ne mettre à jour le logiciel que lorsque cela vous a été indiqué. Si vous avez le moindre doute sur la procédure à suivre, n'hésitez-pas à vous mettre en contact avec quelqu'un du bureau. *Les mises à jour sont des opérations délicates, qui peuvent rendre votre mangeoire inutilisable et nécessiter une intervention manuelle ou un renvoi de la mangeoire.*

Le logiciel de la mangeoire est un ensemble de scripts assez divers qui permet l'acquisition, l'enregistrement et la transmission des données. Sur la plupart des mangeoires, un petit utilitaire en ligne de commande, 'feederctl' permet de contrôler le fonctionnement de la mangeoire. Vous pouvez appeler la commande feederctl simplement en ligne de commande en tapant dans un terminal (une fois connecté en ssh sur la mangeoire, voir ci-dessus):

feederctl 

Il vous est retourné alors une liste des sous-commandes disponibles, de la forme "feederctl <sous-commande>". Parmis elle, la commande "feederctl upgrade" permet de mettre à jour le logiciel de la mangeoire. Il est nécessaire de la lancer en tant qu'administrateur, donc avec le préfixe "sudo":

sudo feederctl upgrade 

Le logiciel de la mangeoire est alors téléchargé depuis le dépot gitlab, puis installé.

NOTE IMPORTANTE 1

Pour la plupart des mangeoires (au 01/01/2022), il est nécessaire de réaliser cette opération deux fois, car le système de mise à jour à changé. Normalement, une mangeoire complètement mise à jour est à la version 0.3 (la commande "feederctl version" ne doit pas vous renvoyer d'erreur et doit vous donner la version sur laquelle vous êtes).

NOTE IMPORTANTE 2

Pour certaines mangeoires (les plus anciennes), l'option "feederctl upgrade" n'est pas disponible. Il faut alors réaliser une mise à jour manuelle. Si c'est votre cas, prenez RDV avec le bureau pour réaliser la manip.

NOTE IMPORTANTE 3

Il peut parfois arriver que vous ayez l'erreur suivante qui apparaisse sur votre écran en fin d'installation:

line 4: WEIGHTCOEF1: unbound variable

Utilisez alors les commandes suivante pour définir la variable WEIGHTCOEF1 dans le bon fichier, puis redémarrer l'enregistrement des données

echo "WEIGHTCOEF1=0" >> /etc/feeder/local.conf 
sudo feederctl restart