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

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

色々遊ぶぞ。

関連記事

OpenCVの超解像(SuperResolution)モジュールを試す

C++の抽象クラス

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

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

PGGAN:段階的に解像度を上げて学習を進めるGAN

Unityの薄い本

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

SONY製のニューラルネットワークライブラリ『NNabla』

マルコフ連鎖モンテカルロ法

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

Python拡張モジュールのWindows用インストーラー配布サイト

TeleSculptor:空撮動画からPhotogrammetryするツール

オープンソースの人体モデリングツール『MakeHuman』のAPI開発プロジェクトがスタート

HD画質の無駄遣い

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

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

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

viser:Pythonで使える3D可視化ライブラリ

Perfumeのライブパフォーマンスのビジュアル

第1回 3D勉強会@関東『SLAMチュートリアル大会』

ManimML:機械学習の概念を視覚的に説明するためのライブラリ

オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う

海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 発煙ギミックを検討する

OpenMVS:Multi-View Stereoによる3次元復元ライブラリ

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

DCGAN (Deep Convolutional GAN):畳み込みニューラルネットワークによる敵...

OpenCV バージョン4がリリースされた!

Amazon Web ServicesでWordPress

OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...

Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『TouchScript』

OpenCV3.3.0でsfmモジュールのビルドに成功!

Mean Stack開発の最初の一歩

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

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

Polyscope:3Dデータ操作用GUIライブラリ

Mayaのプラグイン開発

ZBrushのZScript入門

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

Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...

WordPress on Windows Azure

オープンソースの顔認識フレームワーク『OpenBR』

OpenGVの用語

コメント