Web経由でRaspberry PiのGPIOを操作したい

Raspberry Pi 2を買ったので、せっかくだからIoTっぽいことをしたいと思っている。構想としては、Raspberry Piに繋いだセンサーの情報をWebブラウザから閲覧できるような感じ。


ということで、Raspberry PiをWebサーバにして、クライアントからWebブラウザを介してGPIOを操作する方法を調べてみた。

調べてみると、1番お手軽そうなのはWebIOPiというPythonのライブラリを使う方法。

WebIOPi

  • Control, debug, and use your Pi’s GPIO, sensors and converters from a web browser or any app
  • WebIOPi is the perfect Swiss-knife to make connected things
  • Developed and provided by Eric PTAK (trouch)
  • Runs on Raspberry Pi





インストールして実行すれば、Raspberry Pi上にWebサイトが立ち上がり、ブラウザ上からRaspberry PiのGPIOを簡単に操作できるようだ。

Wi-Fiでローカルエリアネットワークを構築すれば、モバイルから操作もできるわけだ。

WebブラウザからRaspberry Pi を操作する(WebIOPi 利用)

ただ、それだけだとできることが狭そうな気もするので、単純にRaspberry PiでのWebサーバの構築方法と、そこからGPIOにアクセスする方法を調べることにした。

そこで見つけたのがlighttpdという軽量なWebサーバフレームワーク。これはメモリ消費量が少なく、CPU負荷の少ない高速動作を目的に作られており、聞くところによると、Apacheの2倍近く速いらしい。Raspberry Piみたいに簡素なPCには最適だね。

ということで、Raspberry PiにlighttpdでWebサーバを構築し、GPIOを操作するインストール例を載せているページを見つけた。↓

ブラウザからGPIOを操作

ブラウザから、GPIOを操作する方法を記載しています。 RaspberryPi上にWebサーバを構築して、Webサーバにアクセスすることで、GPIOを操作することが可能になります。これにより、ブラウザからLEDを点灯したりすることができます。

そして、定期的にセンサーの値を取得して表示、あるいは記録してグラフにするならこの辺の情報かな。↓

色々遊ぶぞ。

関連記事

Google XML Sitemap Generatorプラグインを3.4.1へダウングレード

Blender 2.8がついに正式リリース!

株式会社ヘキサドライブの研究室ページ

書籍『仕事ではじめる機械学習』を読みました

ポリゴンジオメトリ処理ライブラリ『pmp-library (Polygon Mesh Process...

Russian3DScannerのトポロジー転送ツール『WrapX』

OpenGVのライブラリ構成

3Dモデルを立体視で確認できるVRアプリを作っている

OpenCVの三角測量関数『cv::triangulatepoints』

OpenSfM:PythonのStructure from Motionライブラリ

Structure from Motion (多視点画像からの3次元形状復元)

OpenCVでPhotoshopのプラグイン開発

OpenCV 3.1から追加されたSfMモジュール

WordPress on Google App Engineを1週間運用してみて

リニアアクチュエータ

Open3D:3Dデータ処理ライブラリ

モータードライバ

Kaolin:3Dディープラーニング用のPyTorchライブラリ

uGUI:Unityの新しいGUI作成システム

bpy-renderer:レンダリング用Pythonパッケージ

3Dグラフィックスの入門書

サンプルコードにも間違いはある?

Javaで作られたオープンソースの3DCGレンダラ『Sunflow』

Google Colaboratoryで遊ぶ準備

光学式マウスのセンサーを応用すると…

UnityのGameObjectの向きをScriptで制御する

PyDataTokyo主催のDeep Learning勉強会

uvでWindows11のPython環境を管理する

adskShaderSDK

C++ 標準テンプレートライブラリ (STL)

海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 遮光塗装

CycleGAN:ドメイン関係を学習した画像変換

openMVG:複数視点画像から3次元形状を復元するライブラリ

Python for Unity:UnityEditorでPythonを使えるパッケージ

頭蓋骨からの顔復元と進化過程の可視化

Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』

BlenderでPhotogrammetryできるアドオン

Mechanizeで要認証Webサイトをスクレイピング

Google App EngineでWordPress

UnityでShaderの入力パラメータとして行列を渡す

Mitsuba 2:オープンソースの物理ベースレンダラ

UnityプロジェクトをGitHubで管理する

コメント