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

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

色々遊ぶぞ。

関連記事

BlenderでPhotogrammetryできるアドオン

PythonでMayaのShapeノードプラグインを作る

Iridescence:プロトタイピング向け軽量3D可視化ライブラリ

書籍『データビジュアライゼーションのデザインパターン20』読了

海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. LEDテープで面光源を作る

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

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

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

Python2とPython3

OpenCVのバージョン3が正式リリースされたぞ

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

スクラッチで既存のキャラクターを立体化したい

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

UnrealCLR:Unreal Engineで.NET Coreを利用できるプラグイン

SONYの自律型エンタテインメントロボット『aibo』

網元AMIで作ったWordpressサイトのインスタンスをt1microからt2microへ移行した

Google Colaboratoryで遊ぶ準備

Windows10でPyTorchをインストールしてVSCodeで使う

Unity Scriptコーディング→Unreal Engine Scriptコーディング

Raspberry Pi 2のGPIOピン配置

Amazon EC2ログイン用の秘密鍵を無くした場合の対処方法

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

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

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

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

iPhoneをSSHクライアントとして使う

WordPressプラグインの作り方

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

PythonでBlenderのAdd-on開発

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

Boost オープンソースライブラリ

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

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

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

OpenGVの用語

Human Generator:Blenderの人体生成アドオン

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

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

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

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

python-twitterで自分のお気に入りを取得する

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

コメント