---
title: SSMJP-20200805-NLOG2N2
tags:  #python #slack #情シス #プログラム #qrコード  
author: [nlog2n2](https://convert.docswell.com/user/nlog2n2)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/8GJWV21372.jpg?width=480
description: 主に情シスの人たちが利用したらいいんじゃないかとおもったプログラムがあるのでスライドにしてみた
published: March 28, 22
canonical: https://convert.docswell.com/s/nlog2n2/K2WV95-2022-03-28-133612
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/8GJWV21372.jpg)

SSIDとパスワードを生成し、
QRコードにして Slack にぶん投げる
@nlog2n2
Sekiguchi Toshihiro


# Page. 2

![Page Image](https://bcdn.docswell.com/page/W4EZ4DPG73.jpg)

今日話すこと
無線LANのSSIDとパスワードの更新が面倒だったので、
Pythonでその辺の自動化を実装した話
去年、Qiitaに投稿したやつを話します
https://qiita.com/nlog2n2/items/355595d7c23298a86970


# Page. 3

![Page Image](https://bcdn.docswell.com/page/KY7631MQ7V.jpg)

出来上がったもの
こんな感じで iPhone で Slack の QR コードを読み取ると、SSIDとパスワードを自動で設定してくれる。
個人的には未完成で本当は netmiko , Ansible と組み合わせて使うつもりだった。印刷もしたかった... :(
毎月、ゲスト用のSSIDとパスワードを変更するのは面倒すぎる


# Page. 4

![Page Image](https://bcdn.docswell.com/page/5G75L4Z2E4.jpg)

事前準備（ Slack bot の設定 ）
• Slackチャンネル開設
• AppでBotsのアプリケーションを追加
• ボットのユーザー名記載し、ボットインテグレーションを追加
• インテグレーションの設定でAPIトークンを取得


# Page. 5

![Page Image](https://bcdn.docswell.com/page/V9J2LVR17R.jpg)

QRコード発行までの流れ
1. 初期設定
2. SSIDとパスワードの文字列生成
3. SSIDとパスワードのQRコード生成
4. SSIDとパスワードの文字列画像を生成
5. QRコードと文字列画像を結合
6. 画像をファイルとして保存
7. 作成したSSID・パスワード文字列と画像を slack に投げる


# Page. 6

![Page Image](https://bcdn.docswell.com/page/5DEYQ3D47M.jpg)

Code
•
初期設定部分
• 解説が必要そうなモジュール
•
secrets：乱数を生成する
•
qrcode：QRコードを生成する
•
PIL：作成されたQRコードと文字列の画像を合体させる
•
requests, json：Slackに POST で送信する
• 設定項目
•
CONPANY̲NAME = &#039;SSID の先頭の文字列を入力します&#039;
•
ENCRYPTION̲METHOD = &#039;無線 LAN の暗号化方式を入力します&#039;
•
SLACK̲TOKEN = &#039;QRコードを投下する Slack に投下するためのトークンを入力します&#039;
•
SLACK̲CHANNEL = &#039;QRコードを投下する Slack のチャンネルを指定します&#039;
•
FONT̲PATH = &#039;CentOS 上にあるフォントの位置を指定します&#039;


# Page. 7

![Page Image](https://bcdn.docswell.com/page/2VJNKV66J8.jpg)

Code
SSIDとパスワードの文字列生成
SSIDとパスワードのQRコード生成
• SSIDとパスワードの文字列生成
• SSIDとパスワードのQRコード生成
SSIDとパスワードの文字列画像を生成
• SSIDとパスワードの文字列画像を生成
• QRコードと文字列画像を結合
QRコードと文字列画像を結合
• 画像をファイルとして保存
画像をファイルとして保存
作成した SSID・パスワード文字列と画像を slack に投げる
• 作成したSSID・パスワード文字列と画
像を slack に投げる


# Page. 8

![Page Image](https://bcdn.docswell.com/page/GYE9V6LRJ3.jpg)

Code
GUEST-2020-01 というSSID を作成
作成したもの
SSID：GUEST-2020-01
パスワード：HjsXvIQQvxsXwEOk
WIFI 接続情報:WIFI:T:WPS;S:GUEST-2020-01;P:HjsXvIQQvxsXwEOk;;
配列：[ &#039;SSID:GUEST-2020-01&#039;,&#039;Password:HjsXvIQQvxsXwEOk;&#039; ]


# Page. 9

![Page Image](https://bcdn.docswell.com/page/5GE8PZXGED.jpg)

Code
[a-z][A-Z]のランダムな文字列取り出し
指定された文字列長でを結合する
作成したもの
SSID：GUEST-2020-01
パスワード：HjsXvIQQvxsXwEOk
WIFI 接続情報:WIFI:T:WPS;S:GUEST-2020-01;P:HjsXvIQQvxsXwEOk;;
配列：[ &#039;SSID:GUEST-2020-01&#039;,&#039;Password:HjsXvIQQvxsXwEOk;&#039; ]


# Page. 10

![Page Image](https://bcdn.docswell.com/page/MLEL1D8XER.jpg)

Code
WIFI:T:無線LANの暗号化方式;S:SSID;P;パスワード;; の文字列を作成
↑無線LAN接続情報
SSIDとパスワードの文字列配列を作成
作成したもの
SSID：GUEST-2020-01
パスワード：HjsXvIQQvxsXwEOk
WIFI 接続情報:WIFI:T:WPA;S:GUEST-2020-01;P:HjsXvIQQvxsXwEOk;;
配列：[ &#039;SSID:GUEST-2020-01&#039;,&#039;Password:HjsXvIQQvxsXwEOk;&#039; ]


# Page. 11

![Page Image](https://bcdn.docswell.com/page/54JMWP63EW.jpg)

Code
無線LAN接続情報をもとにQRコード作成
作成したもの
SSID：GUEST-2020-01
パスワード：HjsXvIQQvxsXwEOk
WIFI 接続情報:WIFI:T:WPS;S:GUEST-2020-01;P:HjsXvIQQvxsXwEOk;;
配列：[ &#039;SSID:GUEST-2020-01&#039;,&#039;Password:HjsXvIQQvxsXwEOk;&#039; ]


# Page. 12

![Page Image](https://bcdn.docswell.com/page/ZPJRY1PRE9.jpg)

Code
無線LAN接続情報の文字列を画像として生成
作成したもの
SSID：GUEST-2020-01
パスワード：HjsXvIQQvxsXwEOk
WIFI 接続情報:WIFI:T:WPS;S:GUEST-2020-01;P:HjsXvIQQvxsXwEOk;;
配列：[ &#039;SSID:GUEST-2020-01&#039;,&#039;Password:HjsXvIQQvxsXwEOk;&#039; ]


# Page. 13

![Page Image](https://bcdn.docswell.com/page/NPEXGY3Y7X.jpg)

Code
QRコードと無線LAN情報の画像を結合する


# Page. 14

![Page Image](https://bcdn.docswell.com/page/63EK43Y47D.jpg)

Code
作った画像をファイルに保存


# Page. 15

![Page Image](https://bcdn.docswell.com/page/4L73LG9DJ5.jpg)

Code
slack 宛へ画像と文字列を送信する


# Page. 16

![Page Image](https://bcdn.docswell.com/page/V87DN1G2JG.jpg)

出来上がったもの
こんな感じで iPhone で Slack の QR コードを読み取ると、SSIDとパスワードを自動で設定してくれる。
個人的には未完成で本当は netmiko , Ansible と組み合わせて使うつもりだった。印刷もしたかった... :(
毎月、ゲスト用のSSIDとパスワードを変更するのは面倒すぎる


