.wp-block-jetpack-rating-star span.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal; }

サイトアイコン NegativeMindException

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

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

色々遊ぶぞ。


スポンサーリンク

関連記事

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

組み込み向けのWindows OS 『Windows Embedded』

Raspberry PiでIoTごっこ

Deep Learningとその他の機械学習手法の性能比較

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

科学技術計算向けスクリプト言語『Julia』

ミニ四駆を改造してBluetoothラジコン化する

池袋パルコで3Dのバーチャルフィッティング『ウェアラブル クロージング バイ アーバンリサーチ』

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

Gource:バージョン管理の履歴を可視化するツール

html5のcanvasの可能性

OpenMVSのサンプルを動かしてみる

世界のトレンドをリアルタイムに把握するサイト 『Googttrer』

動的なメモリの扱い

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

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

MB-Lab:Blenderの人体モデリングアドオン

UnityのAR FoundationでARKit 3

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

Arduinoで人感センサーを使う

Google Chromecast

adskShaderSDK

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

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

.NETで使えるTensorFlowライクなニューラルネットワークライブラリ『NeuralNetwo...

Alice Vision:オープンソースのPhotogrammetryフレームワーク

Zibra Liquids:Unity向け流体シミュレーションプラグイン

ブラウザ操作自動化ツール『Selenium』を試す

Unityの薄い本

UnityのTransformクラスについて調べてみた

Unreal Engineの薄い本

C++ 標準テンプレートライブラリ (STL)

Faceshiftで表情をキャプチャしてBlender上でMakeHumanのメッシュを動かすデモ

KelpNet:C#で使える可読性重視のディープラーニングライブラリ

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

PyDataTokyo主催のDeep Learning勉強会

オープンソースの取引プラットフォーム

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

R-CNN (Regions with CNN features):ディープラーニングによる一般物体...

OpenCV

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

hloc:SuperGlueで精度を向上させたSfM実装

モバイルバージョンを終了