去年のPyConJP 2017でIoT周りとpythonは親和性高いし使えるプロジェクトも多いらしいことを聞いていたので、どんなものがあるか調べてみました。
プレゼンテーション:Pythonの本気!RaspberryPiやEdisonを使ったIoTシステムの構築 | PyCon JP 2017 in TOKYO
あと組み込み系のmrubyの話題もあったので、Pythonではどうなってるのか気になったのもあります。
Python処理系
- armのCPython
- Raspberry Piで動くPython。x86(64bitも)と違いはそれほどなく普通のPython
- MicroPython - Python for microcontrollers
- マイコン用の軽量なPython3実行環境
- CPythonとの違い 参考:MicroPython と CPython の違い - Qiita
- CircuitPython
- Adafruitが開発するマイコンボードで動くPython実行環境, Micropythonのフォークらしいです。
- CircuitPythonを試してみよう | スイッチサイエンス マガジン
- Make: Japan | AdafruitがCircuitPythonへ移行
- USBメモリとして認識させることができ、そこにスクリプトファイルを置くことで動作ができるようになってるようです。
- python-on-a-chip
- https://www.usenix.org/system/files/login/articles/07barr_045-051_online.pdf に記載されていて発見。
- PyMite とも言うらしい
- 日本語での参考情報: KMC Staff Blog:PyMite の機能
Pythonが動くマイコンボード
- Raspberry pi/Raspberry pi 互換
- Unix上で普通にフルで動くのでなんでもやればいい
- MicroPython
- 公式ではpyboard という専用ボードを販売MicroPython - Python for microcontrollers
- ESP32向けのMicropythonがあります: Make: Japan | すぐはじめられるようになったESP32のMicroPython
- 他にも動作可能なチップはいくつかあります。→ micropython/micropython: MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems の Additional components
- bare-arm: armのチップ
- teensy: arm系のチップが入ったマイコンボード → Board Teensy 3.1 3.5 3.6 · micropython/micropython Wiki
- pic16bit
- cc3200: Texas Instruments製のチップ
- esp8266
- esp32
- nrf: Nordic's 製のnRF51, nRF52
- MicroPythonを使用したマイクロコントローラのプログラミング | DigiKey に CC3200, ESP8266, PIC16bit, STMicrolectronicsのSTM32 で動くとの情報あり
- micro:bit でも動くようです お手軽だ MicroPython | micro:bit
- Curcitpython
雑感
Python on-the-chipが少し昔からありますが現在はプロジェクトとしては動きはなさそうです。
現在だとRaspberry PiのおかげでPythonをハードウェアで使う機会が多そうです。組み込み系としてはここ数年で出てきたMicropythonがこれからのメイン環境かも知れません。動作させることができるボードも多いです。
ESP32がArduino, Raspberry Piの次に来るボードの環境っぽいので、Micropythonの動向に注目したいですね。
Interface(インターフェース) 2018年 09 月号 | |
ASIN : B07D58QQ5G こちらはAmazonアソシエイトプログラム参加リンクです |