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

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

色々遊ぶぞ。


スポンサーリンク

関連記事

Raspberry Pi
プログラミングスキルとは何か?
海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 頭部パーツの加工
海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 電飾のための工作 その3
書籍『ゼロから作るDeep Learning』で自分なりに学ぶ
ブラウザ操作自動化ツール『Selenium』を試す
Raspberry PiのGPIOを操作するPythonライブラリ『RPi.GPIO』の使い方
SONYの自律型エンタテインメントロボット『aibo』
Multi-View Environment:複数画像から3次元形状を再構築するライブラリ
Amazon EC2ログイン用の秘密鍵を無くした場合の対処方法
Python拡張モジュールのWindows用インストーラー配布サイト
ヒーローに変身なりきりアーケードゲーム『ナレルンダー』
Boost オープンソースライブラリ
書籍『仕事ではじめる機械学習』を読みました
geometry3Sharp:Unity C#で使えるポリゴン操作ライブラリ
OpenCV 3.1のsfmモジュールを試す
OpenCVの三角測量関数『cv::triangulatepoints』
Connected Papers:関連研究をグラフで視覚的に探せるサービス
定数
Google Colaboratoryで遊ぶ準備
Amazon Web ServicesでWordPress
AR (Augmented Reality)とDR (Diminished Reality)
Gource:バージョン管理の履歴を可視化するツール
OpenAR:OpenCVベースのマーカーARライブラリ
pythonもかじってみようかと
AnacondaとTensorFlowをインストールしてVisual Studio 2015で使う
Raspberry Piでセンサーの常時稼働を検討する
OpenCVのバージョン3が正式リリースされたぞ
GAN (Generative Adversarial Networks):敵対的生成ネットワーク
Deep Learningとその他の機械学習手法の性能比較
クラスの基本
libigl:軽量なジオメトリ処理ライブラリ
OpenCVで顔のランドマークを検出する『Facemark API』
ZBrushのZScript入門
Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『TouchScript』
海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 洗浄・煮沸
書籍『データビジュアライゼーションのデザインパターン20』読了
PythonでMayaのShapeノードプラグインを作る
オープンソースの取引プラットフォーム
SDカードサイズのコンピューター『Intel Edison』
python-twitterで自分のお気に入りを取得する
機械学習で遊ぶ

コメント