Python の本気!
RaspberryPi や Edison を
使った IoT システムの構築
Yuta Kitagami
北神 雄太
@nonNoisea
■ お前、誰よ
名前 北神雄太
年齢 今年で30
本職 発明家
副職 技術コンサルタント
生業 某大手部品屋で技術部所属
高校時代からハードウェアに手を出し、組
み込み開発や FPGA の開発を手がけ、その
後 Python と出会いプログラマーとして生計
を立てようと思ったが、ハードウェアの知識
とソフトウェアの知識、両方を必要とする
時代はまだ無く、職に困ったので部品屋で
RaspberryPi や Edison など最新技術を国内
へ紹介してるひと。
Twitter @nonNoise
FaseBook kitagami yuta
所属 ArtifactNoise,LLP
代表発明家
■ 本が出たよ!!
■ IoT 時代において
Python 最強だから。
■ なんで??
いや、RasppberryPi
Edison で
ハードウェア扱えるし
ネットワークに繋がる
なんで??
本プレゼンは、
IoT 製作者の発表ですが、
〜が出来ましたは
つまらないので、
なぜ出来たのかを話します。
■ 注意
■ 注意
よって、
少し
マニアック
です。
ゆるしてください♪
■ 疑問
なぜ、Python で
ハードウェアが
扱えるの?
ハードウェア用の
ライブラリが
あるからです。
■ 答え
ライブラリは、
どう作られて
いるの?
■ 疑問
■ 答え
C 言語で書かれた
ライブラリの
Python ラッパー
■ 実際の C ソース
ここが CPU 固有の
アドレスを指定する
箇所。肝となる部分
CPU
C 言語なら
CPU の
絶対アドレス
(レジスタ)を
直に叩く事も
できる!
C 言語は
こういう芸当が
得意!!
■ 結果!
なので、
ハードウェア
ライブラリは
ほぼ C 言語!
■ 結果!
偉い人は考えた。
C 言語のライブラリを
Python で使えるように
してしまえば良い。
■ 結果!
偉い人は考えた。
C 言語のライブラリを
Python で使えるように
してしまえば良い。
■ 結果!
C 言語で書かれた
ハードウェアライブラリが、
Python でも使えるように
なった。
■ よって!
■ 実際は?
C 言語
ソース
Python 用
C ソース
■ って事は?
IoT( 組込み機器含む )
C 言語が最強じゃないか
■ って事は?
そんな最強 C を
更に強化する Python
最強に決まってる。
本当に??
簡単な話、圧倒的な
Python ライブラリが
多くあるからさ
Python
OS 制御系
OS
subprocess
ect...
ネットワーク系
request
socket
ect...
DB 系
SQLite
TinyDB
ect...
数理系
math
Numpi
ect...
ディープラン系
Keras
caffe
ect...
■ ほんの一例です。
HW 系
akilib
データの動
き方を制御
するメイン
関数
__main__
サーバ系
Bottle
DB 系
tinyDB
数理系
math
時間系
detatime
通信系
requests
+ +
+
+ +
+
+
温湿度センサ
■ ほんの一例です。
HW 系
akilib
データの動
き方を制御
するメイン
関数
__main__
サーバ系
Bottle
DB 系
tinyDB
数理系
math
時間系
detatime
通信系
requests
+
+
+ +
+
+
+
人感センサ
USB カメラ
■ 最後に
IoT のコンサルやってます。
過去に某社の IoT 部門を担当。
IoT 部門があると箔がつく。
月 10 万〜要相談
試作から製品化までお手伝い。
社内勉強会も行ったりします。
御仕事欲しい。
Have a nice day!
http://elpisapi.net/TestAPI/

PyCon JP 2017Yuta Kitagami