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 App Engine上のWordPressでFlickrの画像を貼る

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

フィクションに登場するUIデザインのまとめサイト

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

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

Math Inspector:科学計算向けビジュアルプログラミングツール

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

Python.NET:Pythonと.NETを連携させるパッケージ

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

『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた

OpenCVでiPhone6sのカメラをキャリブレーションする

東京オリンピックと案内表示

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

ディープラーニング

iPhoneアプリ開発 Xcode 5のお作法

BlenderでPhotogrammetryできるアドオン

ミニ四駆を赤外線制御したりUnityと連携したり

SVM (Support Vector Machine)

Pylearn2:ディープラーニングに対応したPythonの機械学習ライブラリ

3D復元技術の情報リンク集

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

WordPressの表示を高速化する

フォトンの放射から格納までを可視化した動画

Arduinoで人感センサーを使う

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

ドラマ『ファーストクラス』のモーショングラフィックス

hloc:SuperGlueで精度を向上させたSfM・Visual Localization

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

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

VCG Library:C++のポリゴン操作ライブラリ

Raspberry Pi 2のGPIOピン配置

Geogram:C++の3D幾何アルゴリズムライブラリ

為替レートの読み方 2WAYプライス表示

Pythonのソースコードに特化した検索エンジン『Nullege』

JavaScriptとかWebGLとかCanvasとか

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

OpenCVの顔検出過程を可視化した動画

Raspberry Pi 2を買いました

UnityのuGUIチュートリアル

BlenderのPython環境にPyTorchをインストールする

AfterEffectsプラグイン開発

adskShaderSDK

コメント