これは、Python Advent Calendar 2016の22日目の記事です。 MicroPythonスクリプトをマイコンボードに配置してPCから切り離した状態で実行させる方法と、その応用例として寿司を回してみた例を紹介します。 MicroPythonでのマイコンアプリ開発 Web、機械学習、数値計算をはじめ、様々な分野で利用されているPythonですが、ken5owataさんのPython Advent Calendar 2016の10日目の記事「micropythonを始めよう(ESP8266編)」で紹介されているように、MicroPythonを使ってマイコンのアプリを開発することもできます。 MicroPythonの詳細は先ほどの記事で説明されているので割愛しますが、国内で安価に入手できるESP8266に対応しているメリットがあると思います。今回もESPr Developer(ESP-WROOM-02開発ボード)を使って説明をします。なお、先ほどの記事でも書かれていますが、MicroPythonファームウェアヘの更新で工事設計認証に影響を及ぼす可能性がある点は注意が必要です。この点がクリアされるといいのですが。 MicroPythonボードへのスクリプトの配置 MicroPythonはPCとシリアル接続して、REPL(Read Evaluate Print Loopの略)を使ってPCから対話的にPythonスクリプトを評価・実行できる特徴があります。MicroPythonを学習したり、コードを検証しているときはとても便利な機能なのですが、マイコンをPCから切り離してガジェットとして動作させるときには使えない方法です。 そこで、スクリプトをESP8266に配置して、PCと接続されていない状態でも実行できる方法がないか調べてみて、見つけたツールがadafrui-ampyです。 (参考)Adafruitによる解説記事 ampyはシリアル通信を用いて、MicroPythonボードのファイルを操作したり、指定したPC上のPythonスクリプトをMicroPythonボードで実行できるツールです。ボード上のファイル操作をできるツールは他にありますが、PC上のファイルを指定してボードで実行できる機能はampyの特徴かと思います。Read More →

先日にWeb APIを実装したとき、FalconというPython向けのWebフレームワークを使ったのでメモ。 Flanconを使った感想は、Web APIの処理の実装に集中できる、でしょうか。 PythonでWebアプリを実装するとき、Flask、BottleなどのWebフレームワークを使うのですが、これらのWebフレームワークはWeb APIには不要な画面表示のテンプレートを扱う機能が含まれています。 FlanconはWeb APIに特化していて、処理の実装に集中できるのが特徴です。 Flanconでの実装例 FalconはHTTP verbに応じたメソッド(on_get, on_post, …)を定義して、 引数のHTTP requestを処理して引数のHTTP responseに結果を返す処理を記述します。 例えば、JSONデータを返すGETメソッドを定義した例が以下になります。 GETメソッドの記述だけを考えればいいので、見通しがよく、書きやすいです。 # -*-Read More →

Python Tools for Visual Studioを入れたVisual Studioのオプション画面で、 Python Tools>Environment Optionsを選択して実行環境を設定できるのですが、 PTVS 2.2.1RCを入れた環境ではPython UWP 3.5が実行環境に含まれています。 "Python UWP 3.5"が一体何なのかWebを検索して調べたのですが、情報が見つかりません。 VS2015のメニューからツール>Python Tools>Diagnostic Info…を選択して 表示される診断情報を見ると、どうやらWindowsRead More →

Visual Studio 2015 Update1 RCでPython Tools for Visual Studio(PTVS)が2015/11RCに更新されています。 更新直後のPTVSの機能などまとめようと思ってたのですが、インストール時の指定を誤って、 インストール済みのPTVS 2.2のままでUpdate1 RCに上げてしまったので、 2週間ほど前にリリースされたPTVS 2.2.1 RCをインストールしました。 Release PTVS 2.2.1 RCRead More →

これはVisual Studio Advent Calendar 2014の16日目です。 Bottle WebフレームワークでのWebアプリ開発 Python Tools for Visual Studio 2.1(以下PTVS 2.1)の概要とBottle Webフレームワークを使ったWebアプリケーション開発を紹介しています。前回までの記事は以下の通りです。 Python Tools for Visual StudioRead More →

2019-03-08 09:09:38 FridayPython Tools for Visual Studio (PTVS) 2.1では複数のWebフレームワークを使ったWebプロジェクトテンプレートが提供されています。 ここでは、シンプルな構成のBottleを使ったWebアプリケーション作成を見ていきます。 PTVS2.1のBottle Webプロジェクト PTVS2.1のプロジェクトからBottle Webプロジェクトを選択します。 Pythonでは標準に含まれないライブラリをインストールする方法として2通りがあります。 virtualenvなどのツールを使ってプロジェクトごとに作成したLib/site-packagesフォルダにインストールする(当該プロジェクトで利用可) Pythonの導入フォルダにあるLib/site-packagesフォルダにインストールする(全プロジェクトに利用可) 通常は、プロジェクト毎に異なるパッケージへの依存性を考慮して、前者のプロジェクト個別へインストールします。 Bottleプロジェクトを作成するとダイアログが表示されて、必要なパッケージをどのようにインストールするか確認されます。 "InstallRead More →

Python Tools for Visual Studio (PTVS) 2.1ではPythonによるプロジェクトのテンプレートが何種類か用意されています。 PTVS2.1のプロジェクト PTVS2.1のプロジェクトには以下の種類があります。 それぞれのプロジェクトが作成できるアプリケーションは以下の通りです。 From Existing Python Code 既存のコードからプロジェクトを作成 Python Application CPythonによるコンソールアプリケーションを作成する Azure CloudRead More →

2019-03-08 09:10:56 FridayVisual StudioにPythonの開発環境を追加するPython Tools for Visual Studio (PTVS) 2.1が10/13にリリースされていたので使ってみました。 PTVSとは? PTVSはVisual StudioでPythonのアプリケーションを開発する環境を追加する拡張機能です。提供される機能は CPythonでのアプリケーション作成 コンソールアプリケーション Webアプリケーション (Django, Flask, Bottleなどのフレームワーク利用も可) IronPythonでのアプリケーション開発Read More →