Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ansibleモジュール自作入門
Search
satoken
October 28, 2018
590
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ansibleモジュール自作入門
satoken
October 28, 2018
More Decks by satoken
See All by satoken
やる夫Ansible.pdf
satoken
1
510
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
570
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
A Tale of Four Properties
chriscoyier
163
24k
Navigating Team Friction
lara
192
16k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
530
Odyssey Design
rkendrick25
PRO
2
810
Are puppies a ranking factor?
jonoalderson
2
3.9k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Transcript
hcmD([. Ansible 自作入門
Ansible ? - Introduction: - Pythonで実装されたインフラ構成管理ツール - サーバ、DB、NW、クラウド etc -
2.7.0では2900モジュールもあるそうな - Red Hat, Debian, CentOS, OS X, any of the BSDsで動作
ラズパイで動く んじゃね?
None
動いた!
最初にやるのは もちろん
Lチカ
_人人人人人人人人人人人_ > AnsibleでGPIO操作 <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
どうやって?
ソースを読んでみる
Ansibleモジュール完全に理解した - 1モジュール、1つのファイルで構成 yumモジュール → yum.py - 実際の処理 開始: AnsibleModuleでPlaybookからパラメータを受け取る
途中: 必要な処理を行う→コマンド打ったりAPI呼んだり 終了: module.exit_json()を呼んで終了 - 開始と終了のお作法を守れば途中の処理は何してもいいのでは
数を足して返すだけ
こんな感じ
動作が理解できた ので
Lチカでけた
指定したピンと回数でLチカする gpio: setup: "OUT" pin: 18 count: 5 →GPIOモジュールを呼ぶだけ →使い道?
調子に乗って量産
小型液晶に出力
SSD1306に文字を出す SSD1306: disp_str: "ラズパイでAnsible動いた!“ →Adafruitのsampleをそのまま流用 →使い道?
BME280モジュール
BME280で温度・湿度・気圧 bme280: bus: 1 i2c_addr: 0x76 →スイッチサイエンスのsampleをそのまま流用 →使い道?
factsで値を返す
赤外線LEDで扇風機を操作
単純にON/OFFするだけ senpuuki: power_state: on →irsendコマンドをmodule.run_command()に渡してるだけ →使い道?
扇風機の状態を変えるためちゃんと changed: trueを返す
まとめ - raspberry pi に Ansible を入れることで Python、Ansibleだけでなく電子工作の知識も一通り学べる。 →Ansibleモジュールを作るために回路図を見る こういう楽しみ方もいいのではないでしょうか!
× アイディアは無限大