J'ai acheté un Raspberry Pi 4. Donc, j'ai mis Arch Linux dans la carte SD.
Je n'ai pas acheté la LED séparément cette fois, mais elle fonctionnera dans son état d'origine, mais il y a un problème.
** Il est difficile de vérifier où vous êtes connecté **
Fondamentalement, DHCP est utilisé et il n'y a pas de moniteur, il est donc difficile d'aller vérifier l'adresse IP, qu'il s'agisse d'une connexion filaire ou d'une connexion sans fil. Donc, cette fois, comme le titre l'indique, j'ai décidé de «me procurer les informations de connexion lorsque la connexion réseau est établie».
py:/etc/NetworkManager/dispatcher.d/notify-connection-information.py
#!/usr/bin/env python
import json
import os
import sys
from urllib.request import urlopen
WEBHOOK_URL = 'https://hooks.slack.com/services/THISIS/SLACK/WEBHOOK'
def main(conn_id, ip_addr):
payload = {
'username': 'info',
'icon_emoji': ':strawberry:',
'text': f'*attakei-pi* has connected to {conn_id}\n IP address is `{ip_addr}`',
'channel': '@attakei',
}
urlopen(WEBHOOK_URL, json.dumps(payload).encode())
if __name__ == '__main__':
argv = sys.argv[1:]
# if argv[0] != 'wlan0' or argv[1] != 'up':
if argv[1] != 'up':
sys.exit(0)
ip_addr = os.environ['DHCP4_IP_ADDRESS']
conn_id = os.environ['CONNECTION_ID']
main(conn_id, ip_addr)
C'est un démon (+ outil) pour gérer diverses choses liées à la connexion réseau. Il gère les SSID et se connecte automatiquement aux SSID déjà enregistrés.
Il y a aussi systemd-networkd
etc., mais pour le moment, j'utilise actuellement ceci.
Maintenant, NetworkManager a une fonction dispatcher
qui vous permet" d'exécuter une commande pour diviser le réseau en événement ".
Dans les exemples publiés sur le Wiki d'ArchLinux, des exemples tels que «Désactiver le sans fil lors d'une connexion filaire (+ vice versa)» et «Continuer à établir une connexion VPN lors de la connexion à un réseau spécifique» sont écrits. Je suis.
Cette fois, en me référant à ces scripts, j'ai créé le script ci-dessus qui "déclare le SSID et l'adresse IP utilisés au canal Slack spécifié lors de la connexion au réseau".
Autant que je sache en l'utilisant réellement, Disptcher transmettra les informations suivantes lors de l'exécution de la commande.
Organisez où obtenir les informations et le comportement en fonction des conditions que vous souhaitez déclencher.
SSID utilisé
"CONNECTION_ID
DHCP4_IP_ADDRESS
.Maintenant que vous avez les informations dont vous avez besoin, vous pouvez écrire le code. Veuillez vous référer au code indiqué en premier.
Le script est appelé directement, alors n'oubliez pas de shebang et d'accorder les autorisations d'exécution.
URLs
Recommended Posts