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

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

色々遊ぶぞ。

関連記事

ニューラルネットワークで画像分類

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

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

C++の抽象クラス

BlenderProc:Blenderで機械学習用の画像データを生成するPythonツール

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

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

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

仮想関数

COLMAP:オープンソースのSfM・MVSツール

OpenGVの用語

ヒーローに変身なりきりアーケードゲーム『ナレルンダー』

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

Google製オープンソース機械学習ライブラリ『TensorFlow』のWindows版が公開された

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

海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 電飾のための工作 その3

Konashiを買った

Google App Engine上のWordPressでAmazonJSを利用する

書籍『3次元コンピュータビジョン計算ハンドブック』を購入

OpenFace:Deep Neural Networkによる顔の個人識別フレームワーク

Point Cloud Utils:Pythonで3D点群・Meshを扱うライブラリ

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

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

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

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

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

チャットツール用bot開発フレームワーク『Hubot』

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

ブログが1日ダウンしてました

WinSCP

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

UnityでOpenCVを使うには?

ROSでガンダムを動かす

UnityでPoint Cloudを表示する方法

ROMOハッカソンに行ってきた

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

Math.NET Numerics:Unityで使える数値計算ライブラリ

SDカードサイズのコンピューター『Intel Edison』

OpenCVでカメラ画像から自己位置認識 (Visual Odometry)

IronPythonを使ってUnity上でPythonのコードを実行する

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

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

コメント