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を点灯したりすることができます。

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

色々遊ぶぞ。

関連記事

手を動かしながら学ぶデータマイニング

IronPythonを使ってUnity上でPythonのコー...

OpenMesh:オープンソースの3Dメッシュデータライブラ...

TorchStudio:PyTorchのための統合開発環境と...

CGALDotNet:計算幾何学ライブラリ CGALのC#ラ...

OpenCVでPhotoshopのプラグイン開発

2D→3D復元技術で使われる用語まとめ

Raspberry PiでIoTごっこ

Human Generator:Blenderの人体生成アド...

Raspberry Pi 2のGPIOピン配置

書籍『ゼロから作るDeep Learning』で自分なりに学...

Python2とPython3

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

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

openMVGをWindows10 Visual Studi...

MPFB2:Blenderの人体モデリングアドオン

Gource:バージョン管理の履歴を可視化するツール

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

書籍『OpenCV 3 プログラミングブック』を購入

iPhone x ロボットハッカソン~RomoのiPhone...

ブログをGoogle App EngineからAmazon ...

Unityの各コンポーネント間でのやり取り

Seleniumを使ったFXや株の自動取引

Netron:機械学習モデルを可視化するツール

プログラムによる景観の自動生成

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

プログラミングスキルとは何か?

AfterEffectsプラグイン開発

DensePose:画像中の人物表面のUV座標を推定する

TensorFlowでCGを微分できる『TensorFlow...

Unity ARKitプラグインサンプルのチュートリアルを読...

ブログのデザイン変えました

PythonでBlenderのAdd-on開発

NumSharp:C#で使えるNumPyライクな数値計算ライ...

BGSLibrary:OpenCVベースの背景差分ライブラリ

インターフェイスは世界を規定する

PyTorch3D:3Dコンピュータービジョンライブラリ

AmazonEC2のインスタンスをt1.microからt2....

動的なメモリの扱い

PyMC:Pythonのベイズ統計ライブラリ

Runway ML:クリエイターのための機械学習ツール

Google App EngineでWordPress

コメント