Top Banner
Python の本気! RaspberryPi や Edison を 使った IoT システムの構築 Yuta Kitagami 北神 雄太 @nonNoisea

PyCon JP 2017Yuta Kitagami

Jan 21, 2018

Download

Engineering

Yuta Kitagami
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PyCon JP 2017Yuta Kitagami

Python の本気!

RaspberryPi や Edison を

使った IoT システムの構築

Yuta Kitagami北神 雄太@nonNoisea

Page 2: PyCon JP 2017Yuta Kitagami

■ お前、誰よ名前 北神雄太年齢 今年で30本職 発明家副職 技術コンサルタント生業 某大手部品屋で技術部所属高校時代からハードウェアに手を出し、組み込み開発や FPGA の開発を手がけ、その後 Python と出会いプログラマーとして生計を立てようと思ったが、ハードウェアの知識とソフトウェアの知識、両方を必要とする時代はまだ無く、職に困ったので部品屋でRaspberryPi や Edison など最新技術を国内へ紹介してるひと。

Twitter @nonNoiseFaseBook kitagami yuta所属 ArtifactNoise,LLP

代表発明家

Page 3: PyCon JP 2017Yuta Kitagami

■ 本が出たよ!!

Page 4: PyCon JP 2017Yuta Kitagami

■ IoT 時代において

Python 最強だから。

Page 5: PyCon JP 2017Yuta Kitagami

■ なんで??

いや、RasppberryPiEdison で

ハードウェア扱えるしネットワークに繋がる

Page 6: PyCon JP 2017Yuta Kitagami

なんで??

Page 7: PyCon JP 2017Yuta Kitagami

本プレゼンは、IoT 製作者の発表ですが、

〜が出来ましたはつまらないので、

なぜ出来たのかを話します。

■ 注意

Page 8: PyCon JP 2017Yuta Kitagami

■ 注意

よって、少し

マニアックです。

ゆるしてください♪

Page 9: PyCon JP 2017Yuta Kitagami

■ 疑問

なぜ、Python でハードウェアが

扱えるの?

Page 10: PyCon JP 2017Yuta Kitagami

ハードウェア用のライブラリがあるからです。

■ 答え

Page 11: PyCon JP 2017Yuta Kitagami

ライブラリは、どう作られて

いるの?

■ 疑問

Page 12: PyCon JP 2017Yuta Kitagami

■ 答え

C 言語で書かれたライブラリの

Python ラッパー

Page 13: PyCon JP 2017Yuta Kitagami

■ 実際の C ソース

ここが CPU固有のアドレスを指定する箇所。肝となる部分

Page 14: PyCon JP 2017Yuta Kitagami

CPU

C 言語ならCPU の絶対アドレス

(レジスタ)を直に叩く事もできる!

Page 15: PyCon JP 2017Yuta Kitagami

C 言語はこういう芸当が

得意!!

■ 結果!

Page 16: PyCon JP 2017Yuta Kitagami

なので、ハードウェアライブラリはほぼ C 言語!

■ 結果!

Page 17: PyCon JP 2017Yuta Kitagami

偉い人は考えた。C 言語のライブラリを

Python で使えるようにしてしまえば良い。

■ 結果!

Page 18: PyCon JP 2017Yuta Kitagami

偉い人は考えた。C 言語のライブラリを

Python で使えるようにしてしまえば良い。

■ 結果!

Page 19: PyCon JP 2017Yuta Kitagami

C 言語で書かれたハードウェアライブラリが、Python でも使えるように

なった。

■ よって!

Page 20: PyCon JP 2017Yuta Kitagami

■ 実際は?

C 言語ソース

Python 用C ソース

Page 21: PyCon JP 2017Yuta Kitagami

■ って事は?

IoT( 組込み機器含む )C 言語が最強じゃないか

Page 22: PyCon JP 2017Yuta Kitagami

■ って事は?

そんな最強 C を更に強化する Python最強に決まってる。

Page 23: PyCon JP 2017Yuta Kitagami

本当に??

Page 24: PyCon JP 2017Yuta Kitagami

簡単な話、圧倒的なPython ライブラリが

多くあるからさ

Page 25: PyCon JP 2017Yuta Kitagami

Python

OS 制御系OSsubprocessect...

ネットワーク系requestsocketect...

DB 系SQLiteTinyDBect...

数理系mathNumpiect...

ディープラン系Kerascaffeect...

Page 26: PyCon JP 2017Yuta Kitagami

■ ほんの一例です。

HW 系

akilib

データの動

き方を制御

するメイン

関数

__main__

サーバ系

Bottle

DB 系

tinyDB

数理系

math

時間系

detatime

通信系

requests

+ +

+ +

+温湿度センサ

Page 27: PyCon JP 2017Yuta Kitagami

■ ほんの一例です。

HW 系

akilib

データの動

き方を制御

するメイン

関数

__main__

サーバ系

Bottle

DB 系

tinyDB

数理系

math

時間系

detatime

通信系

requests

+ +

++

人感センサ

USB カメラ

Page 28: PyCon JP 2017Yuta Kitagami

■ 最後にIoT のコンサルやってます。

過去に某社の IoT 部門を担当。

IoT 部門があると箔がつく。

月 10 万〜要相談

試作から製品化までお手伝い。

社内勉強会も行ったりします。

御仕事欲しい。

Page 29: PyCon JP 2017Yuta Kitagami

Have a nice day!

Page 30: PyCon JP 2017Yuta Kitagami
Page 31: PyCon JP 2017Yuta Kitagami

http://elpisapi.net/TestAPI/