Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python駿河 #1 MicroPythonを使ってみよう!
Search
Hiroshi Sano
May 25, 2019
Technology
0
1k
Python駿河 #1 MicroPythonを使ってみよう!
Python駿河 勉強会 #1 ~Pythonで出来ることプレゼン大会~
発表資料です。
Hiroshi Sano
May 25, 2019
Tweet
Share
More Decks by Hiroshi Sano
See All by Hiroshi Sano
調整さんの調整結果をカレンダーへ登録するGPTsを作った話
hrsano645
1
490
Gmail APIでメールを扱おうとしたら結構辛かった話
hrsano645
0
390
非同期タスクキューを使って業務効率化した話
hrsano645
1
1.2k
非同期タスクキューを使って業務を自動化しまくった話
hrsano645
0
570
ご当地グルメマップを作ろう
hrsano645
2
1.1k
Python駿河 #28 富士宮焼きそばを食べ歩きしたいのでマップを作った話
hrsano645
0
96
IoTLT vol.51 お風呂IoT Mk2作りました
hrsano645
1
1.7k
IoTLT vol.46 蛇口IoTに挑戦した記録
hrsano645
1
840
PWA入門してみた話(iPad Proで!)
hrsano645
1
960
Other Decks in Technology
See All in Technology
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
kenichirokimura
1
110
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
2
2.2k
非機能品質を作り込むための実践アーキテクチャ
knih
6
1.8k
効率的な技術組織が作れる!書籍『チームトポロジー』要点まとめ
iwamot
2
190
サーバーなしでWordPress運用、できますよ。
sogaoh
PRO
0
170
「完全に理解したTalk」完全に理解した
segavvy
1
270
Unlearn Product Development - Unleashed Edition
lemiorhan
PRO
2
160
SpiderPlus & Co. エンジニア向け会社紹介資料
spiderplus_cb
0
370
いまからでも遅くないコンテナ座学
nomu
0
200
NOT VALIDな検査制約 / check constraint that is not valid
yahonda
1
110
型情報を用いたLintでコード品質を向上させる
sansantech
PRO
2
220
Evolving Architecture
rainerhahnekamp
3
210
Featured
See All Featured
BBQ
matthewcrist
85
9.4k
It's Worth the Effort
3n
183
28k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
We Have a Design System, Now What?
morganepeng
51
7.3k
Adopting Sorbet at Scale
ufuk
74
9.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Typedesign – Prime Four
hannesfritz
40
2.5k
Docker and Python
trallard
43
3.2k
Site-Speed That Sticks
csswizardry
2
220
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Transcript
MicroPythonでIoTデバイスを 作ろう Python駿河 勉強会 #1 ~Pythonで出来ることプレゼン大会~ 2019/05/25 Hiroshi Sano
おまえ誰よ? - 氏名:佐野浩士(Hiroshi Sano) Twitter@hrs_sano645 - 佐野設計事務所: 機械の設計屋(設計以外全部担当) - 東海大学
高輪キャンパス 石井研究室(お手伝い) - あと米農家 2
本日のネタは - Python3.7のdataclass便利そうだから使ってみた話 - 関数型プログラミングHOWTOを読んでみよう のどちらかのつもりでしたが...
昨日...
IoTLT Vol51に参加してました!
None
つまり IOTLTめちゃくちゃ楽しかった! コチラに作業量持っていかれてネタが仕込めなくて諦めた。。 ごめんなさいm(_ _)m
つまり Pythonの会だしMicroPython使ってみてた話をすれば一石二鳥 (実は去年のshizuoka.py の焼き直しにも近いが 一応最新版として、、) (もっというと去年の Unagi.py & Python東海でやられてたきゅうり農家の小池さんネタ。。 m(_
_)m)
MicroPythonとは - Pyboardというボードで動くArm系のCPUで動作するPython処理系 - もともとKickstarterプロジェクト - コミュニティが広がってさまざまなボード向けのPortができる arduino, ESPシリーズ, BBC
Micro:bit ボード向けのライブラリも整備
MicroPythonとは - 日本だとESPシリーズ, Micro:bitが使いやすい(注:個人の感想です) - CPython的には3.4あたりを参考としてる つまりNot CPython, ただUnixPortがあってLinuxなどでも動く -
いろんなライブラリがCPythonに負けじとビルドインされてる といってもフル機能ではなくて簡易版の立ち位置 - MicroPython-libやサードパーティライブラリで拡張性豊富 ESP32
Python3の文法を使えるのは かなり良いです
今日紹介するもの - MicroPythonをどうすれば利用できるか紹介 - お風呂IoT Mk2を作るときに使ったライブラリ紹介 - センサーなどのライブラリで操作 - WEB
APIアクセス - WEB API(ライク)なweb server環境 やらないこと - MicroPythonの詳しい導入方法
というわけでネタ元を紹介
お風呂IoT Mk2作りました 【令和初!】IoT縛りの勉強会! IoTLT vol.51 @日本オラクル 2019/05/24 Hiroshi Sano
蛇口IoT お風呂IoT Mk2 完成イメージ お風呂IoT ESP32 ESP32 フロートスイッチ =水位を見る 温度センサー
ホースコック =蛇口にマウント &サーボモーター ディスプレイ
蛇口IoT お風呂IoT Mk2 完成イメージ お風呂IoT ESP32 ESP32 フロートスイッチ =水位を見る 温度センサー
ホースコック =蛇口にマウント &サーボモーター ディスプレイ ライブラリにて操 作 サーボ:PWM ライブラリで操作 温度:onewire,ds18x20 フロートスイッチ:GPIO ディスプレイ: I2C,ssd1306 Wifi+WEBAPI
ESP32とは IoT界隈のニューフェイスでかなり高機能 - Wifi, BLEが使えるArduino互換のボード - 各種センサー, GPIO, シリアル通信系 -
ファームを変えることでさまざまなプログラミング環境でも使える - arduino(標準), C, ブロックプログラミング , Javascript(obniz, Moddable SDK) mruby-esp32 etc… https://en.wikipedia.org/wiki/ESP32#Programming
MicroPython & ESP32の情報源 - 公式ドキュメント - 現在の最新ファームウェアは V1.10 - クイックスタートを見ると良いです
- Interface 2018/9月 - 自分はこれを見て買ってきました
使えるようになるまでの手順 1. 新品のESP32を買う 2. MicroPythonの公式ファームをDL 3. 関連ツールをDL a. esptool: ESP32のファームウェアを焼いたりメンテしたりするもの
b. adafruit-ampy:ESP32のファイルをFTPコマンドライクに操作する 4. MicroPythonをPCへ接続 5. シリアル通信(screen, picocom, teratermなど)でREPL操作 使えるようになった!
実際の例
まとめ - MicroPythonはPythonを扱ったことがある方ならとっつきやすい - ESP32あたりが一番使いやすい環境かなと。 - 値段もまあまあな値段なので試しやすいと思う - 豊富なライブラリがあって、これできないかなと考えても 実現しやすい環境
- 企業というかプロジェクト/コミュニティの方針が今後の心配事。 環境は超オススメ! コミュニティ分裂問題が心配なのが一抹の不安 でも困ったら助け合う精神で行きたいですね!