質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

2回答

711閲覧

PCで動かしているpythonプログラムをマイコンにつないでセンサーの値を利用したい

simpleman

総合スコア17

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2019/08/05 12:51

編集2019/08/05 13:12

やりたいこと

今までVisual Studio Codeでpythonプログラムを書いて動かしていましたが、これからは各種センサーなどの入力装置と連携したプログラムを書いてみたいと思っています。
例えばWindows 10上で動いているプログラムでセンサーの値を受け取るためのスレッドを動かし、そのセンサー(例えば光センサー)の値によってプログラムの挙動を変えるというようなことです。

お聞きしたいこと

そこでまず、このようなことは可能かお聞きしたいです。
またもし可能ならばどのような機器(マイコンの種類など)が必要になりますか?
またどのようなライブラリーなどが利用されていますか?

お時間ありましたら、お教えいただければ幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

過去に似たようなことをやったことがあります。サーバの筐体内部の温度を測るため、以下のマイコンとセンサーを組み合わせて計測機器を用意しました。

このマイコンはWi-Fiでネットワークに接続することができ、またHTTPで測定したデータをPOSTすることができます。
サーバ上でHTTPを受け付けるプログラムを作成し、このマイコンからの測定結果を受信・処理していました。
ですので、機器としては上記のようなWi-Fi接続ができてHTTPをしゃべれるマイコン、ライブラリとしてはHTTPを受信できるライブラリということになろうかと思います。pythonなら一応http.serverで作成することができます。

このようなHTTPでデータを投げる形式の利点として、受信側の対応が幅広いことがあげられます。センサが5個や10個なら自分のPCだけでも捌けますが、センサの数が数百とかになってくると外部のサービスを利用した方が賢明です。センサからの情報を受信・処理するサービスは大体REST API等のHTTPを利用したAPIに対応しており、例えばAWS Kinesisにデータを投げて、作成したpythonをAWS Lambdaでホストすれば、大量のセンサからの情報を捌くシステムの構築も可能です。

投稿2019/08/05 14:14

uS_aito

総合スコア145

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

simpleman

2019/08/05 14:35

uS_aitoさん、回答ありがとうございます。 大変参考になります! 結合度が低くスケーリングにも強い優れた設計に感心です。 今考えているものの場合は小規模(センサーも10個に満たない)なセンサー群をリアルタイム性を重視して使用していくことになると思うので、AWSなどを使うことはまだないかも知れませんが、とても面白いことを聞かせていただきました。 改めて回答ありがとうございました!
guest

0

そのセンサを接続してPCと通信できるもの、ということになろうかと思います。

どんなセンサを、どれだけつなぎたいのか、で変わってきますんで、今の質問ではなんともいえませんね。

投稿2019/08/05 12:56

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

simpleman

2019/08/05 13:10

回答ありがとうございます。 例えば周囲の光の明暗によってプログラムの挙動を変えたい場合は光センサーを一つ繋ぎたくなりますが、センサの種類や個数によって勝手はかなり変わってくるものなのでしょうか?
y_waiwai

2019/08/05 13:20

光の明暗をどんなセンサでどういうふうに取り込むか、でかわりますね、 それに応じて、マイコンのコードを組んでいくことになります まあ、PCでそういうのを直接取り込みができるような外付け機器もありますし、そういう場合はPC側のプログラムだけで対応できますね
simpleman

2019/08/05 14:26

返信ありがとうございます。 実際は光センサー以外のセンサーも使ってみたいので、マイコンを間に挟んだほうが良いかと思っています(そうでない可能性もありますが、より良い選択肢を存じ上げません)。 y_waiwaiさんはArduinoにお詳しいようですが、Aruduinoを用いて単純な光センサーの値をArduinoIDEではない所で動くpythonプログラムに渡す方法はご存知ですか?
y_waiwai

2019/08/05 14:39

簡単にするならシリアル通信でPCとのデータのやり取りをするという話になりますね Arduinoなら工作例もぐぐればたくさんでてくるんで、いろいろ読んでみてください。
simpleman

2019/08/05 15:02

返信ありがとうございます。 なるほど、通信の手法も様々にあるということですね。 いろいろと読んでみます。 改めて回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問