ラベル Raspberry Pi の投稿を表示しています。 すべての投稿を表示
ラベル Raspberry Pi の投稿を表示しています。 すべての投稿を表示
2022/07/13

Raspberry Piに接続したLEDをPython CGIスクリプトでブラウザから制御する

概要

Raspberry Pi 3 Model B+に接続したLEDをPython CGIスクリプトでブラウザから制御してみました.

右側の画面がブラウザのウィンドウキャプチャです.ブラウザ上のボタンやテキストボックスを操作すると,LEDの点滅が変化していることがわかります.

開発環境

Raspberry Pi Raspberry Pi 3 Model B+
OS Raspbian GNU/Linux 10 (buster)

回路

回路図

回路図のとおりに,Raspberry PiとLEDを接続してください.

Raspberry Piのピン配置については,公式Webページを参照してください.

LEDのアノード側を3.3V PWRピンに,カソード側をGPIO17ピンに接続しています.電流制限用の抵抗も忘れないようにしてください.

回路部品

参考単価をクリックすると,秋月電子通商のページに飛びます.

番号 部品名 型番 数量 参考単価
R1 炭素皮膜抵抗 各社 1/4W 330Ω 1 1円 (互換品)
LED1 LED 各社 緑色 1 10円 (互換品)
その他 リード線など 適量

ソースコード

GitHubにて公開します.ページ右上付近の「Code」ボタンからダウンロードするかgit cloneしてください.

下記のようにgit cloneします.

セットアップ

README.mdの「Setup - Software」を参照してください. 予めPython仮想環境を構築する準備をしておくと,既存Pythonスクリプトの実行環境を破壊することなくセットアップできて便利です.ここでは,pyenv-virtualenvを使用しています.

下記のように依存ライブラリをインストールします.

実行

README.mdの「Usage」を参照してください.

下記のように実行します.終了する際は,Ctrl + cキーを押下してください.

Raspberry Piと同じLANに接続しているPCやスマートフォンのブラウザから,サーバにアクセスします. Raspberry PiのIPアドレスが192.168.0.3の場合は,http://192.168.0.3:5000/にアクセスしてください.

ブラウザからLEDを制御することができるようになりました.

製品紹介

2022/05/17

Raspberry Pi + BME280で計測した温度,湿度,気圧をAmbientに送信してグラフ表示させる

概要

Raspberry Pi Zero WHと温湿度・気圧センサのBME280を使用して,自室の温度,湿度および気圧を測定結果をグラフ表示する仕組みを作成しました. 測定結果の保存とグラフ表示には,IoTデーター可視化サービスのAmbientを使用しました. Pythonスクリプトにより,一定周期でセンサからのデータ取得とAmbientへのデータ送信を自動実行させています.

Ambientでのグラフ表示例

Raspberry Piから送信されてきた自室の温度,湿度および気圧をAmbientでグラフ表示した例です. インターネットに接続されたPCやスマートフォンのブラウザで表示することができます.

Ambientでのグラフ表示例

開発環境

Raspberry Pi Raspberry Pi Zero WH
OS Raspbian GNU/Linux 9.11 (stretch)

回路

回路図

回路図のとおりに,Raspberry Piと温湿度・気圧センサモジュールを接続してください.

Raspberry Piのピン配置については,公式Webページを参照してください.

温湿度・気圧センサモジュールのピン配置については,取扱説明書を参照してください.今回はI2Cで接続しています. 温湿度・気圧センサモジュール上にはJ1からJ3までの計3つのジャンパがありますが,全てオープンで使用しています. ただし,J3をショートしない代わりに温湿度・気圧センサモジュールの外でCSBとVDDを接続しています. また,SDOをGNDに落としているのでBME280のI2Cアドレスはデフォルトの0x76です.

回路図

回路部品

参考単価をクリックすると,秋月電子通商のページに飛びます.

番号 部品名 型番 数量 参考単価
U1 温湿度・気圧センサモジュール 秋月電子通商 BME280使用 温湿度・気圧センサモジュールキット 1 1250円
その他 リード線など 適量

ソースコード

GitHubにて公開します.ページ右上付近の「Code」ボタンからダウンロードするかgit cloneしてください.

セットアップ

README.mdの「Example installation in pyenv environment」を参照してください. 予めPython仮想環境を構築する準備をしておくと,既存Pythonスクリプトの実行環境を破壊することなくセットアップできて便利です.ここでは,pyenv-virtualenvを使用しています. また,AmbientのチャネルIDとライトキーが必要になります.Ambientのチュートリアルなどを参照して,準備してください.

定期的にセンサデータをAmbientに送信する

セットアップと動作確認が終わったら,定期的にセンサデータをAmbientに送信するように設定します. README.mdの「Example installation in pyenv environment」の「4. (Optional) Edit cron for periodic execution」を参照してください. 単純にcronでPythonスクリプトを5分間隔で実行しているだけです.ただし,「2-57/5 * * * *」とすることで毎時0分からの5分間隔ではなく毎時2分からの5分間隔としています. これは,毎時0分などに定期的なタスクが集中することを避けるためです.この辺りはお好みで調整してください.

製品紹介

2016/10/23

Raspberry PiでLチカ(GPIO Sysfs Interface, Bashスクリプト)

概要

Raspberry PiでLチカさせるBashスクリプトを公開します. 2つのLEDを交互に点滅させてみました. GPIO制御処理はシェル関数にして別ファイルに記述してみましたので,流用開発も比較的容易だと思います.


実行例
回路
ブレッドボードビュー

下図を参考にして,3.3VとGPIO 21との間および,3.3VとGPIO 26との間にLEDと330Ω抵抗を接続してください. LEDの極性に注意してください. アノードを3.3Vに,カソードを330Ω抵抗を介してGPIOポートに接続します. したがって,LEDの点灯論理はGPIOがHigh出力(3.3V)のとき消灯し,Low出力(0V)のとき点灯する負論理(Active Low)となります.


ブレッドボードビュー
回路部品

下表は参考部品表です. 参考単価をクリックすると,部品の販売サイトに飛びます. ただし,ここで紹介した参考部品について,私が互換性および動作を確認したわけではありません. ご注意ください.

番号 部品名 型番 数量 参考単価
ブレッドボード CIXI WANJIE ELECTRONICS
BB-801
1 200円
LED1 LED 三洋半導体 SLP-9118C-51H 1 5円
LED2 LED 三洋半導体 SLP3118C-51H-T1 1 5円
R1, R2 炭素皮膜抵抗 各社 1/4W 330Ω 2 1円
ジャンパーコード ジャンパーコード(オス-メス) 3 22円
ジャンパーコード ジャンパーコード(オス-オス) 1 9円
プログラム
動作確認環境

追加インストールが必要なライブラリはありません.

Raspberry Pi Raspberry Pi3 Model B (Element14)
Raspbian Raspbian Jessie 2016-05-27
ソースコード

GitHubにて公開します.セットアップ方法や実行方法もGitHubに記載しています.

製品紹介

Raspberry PiによるLED輝度のPWM制御(C言語)

概要

かなり乗り遅れていますが,最近Raspberry Piを購入しました. PWM制御によりLEDの輝度をゆっくり変化させるプログラムを作ってみましたので,公開します. Raspberry Piのプログラム例はPythonが多い気がしますが,Cです(Pythonは書いたことがない). Linux上で実行するプログラムなので,コマンドオプションで色々設定を変更できるようにしてみました.


Raspberry PiによるLED輝度のPWM制御
回路
ブレッドボードビュー

簡単な回路ですので,回路図はありません. 下図を参考にして,GPIO 18とGNDとの間にLEDと330Ω抵抗を接続してください.


ブレッドボードビュー
回路部品

下表は参考部品表です. 参考単価をクリックすると,部品の販売サイトに飛びます. ただし,ここで紹介した参考部品について,私が互換性および動作を確認したわけではありません. ご注意ください.

番号 部品名 型番 数量 参考単価
ブレッドボード CIXI WANJIE ELECTRONICS
BB-801
1 200円
LED1 LED OptoSupply OSUB5111A-ST 1 18円
R1 炭素皮膜抵抗 各社 1/4W 330Ω 1 1円
ジャンパーコード ジャンパーコード(オス-メス) 2 22円
プログラム
動作確認環境

WiringPiがインストールされている必要があります.

Raspberry Pi Raspberry Pi3 Model B (Element14)
Raspbian Raspbian Jessie 2016-05-27
WiringPi 2.32
ソースコード

GitHubにて公開します.セットアップ方法や実行方法もGitHubに記載しています.

製品紹介