4
2

More than 3 years have passed since last update.

Raspberry Piをリモートで動かして、PythonでLED付けられるようにした

Posted at

はじめに

 業務で適用できないかと考え、Raspberry Piを購入しました。今回、チュートリアルの位置付けとされるLED点灯を行いました。
 私自身電子工作は初めての経験となります。ご意見、ご感想何なりとお申し付けください。

 当方、メインPCはWindowsを使用しております。

  • Raspberry Piをリモートで接続
  • LED回路を作製
  • Python経由でLED点灯プログラムを作成

Raspberry Piをリモート接続

Windowsでは他のPCを表示、操作するリモートデスクトップという機能があります。これは、Windows10であればWindowsアイコンの横の検索欄から検索することで出すことができます。

001.png

 私の場合はWIFI経由でRaspberry Piへアクセスします。コンピュータ名としてはIPアドレスを入力する必要があります。これは、Raspberry Pi内のターミナル画面からipconfigコマンドによって確認することができます。

003.png

上記のwlan0以下、inetに記載されているものがIPアドレスになります。こちらを入力しましょう。
続いてxrdpによるログイン画面になります。
xrdpとはLinux上へMicrosoft Remote Desktop Protocolを提供するサーバープログラムのことです。
Raspberry Pi上のターミナルにて下記コマンドからインストールしておきましょう。

sudo apt-get install python-rpi.gpio

003.png

上の画像がログイン画面です。
初期設定では、id:pi, password:raspberryとなっています。セキュリティの観点からこれは変えておいた方が良いと思います。

004.png

無事に入ることができました。

LED回路を作製

今回、Raspberry Piへの回路作製を行うため、こちらを購入しました。
とりあえず何でもall in oneで入っているタイプにしました。
https://www.amazon.co.jp/BONROB-Raspberry-%E3%83%96%E3%83%AC%E3%83%83%E3%83%89%E3%83%9C%E3%83%BC%E3%83%89-%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%91%E3%83%BC%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%BC-RAB%E3%83%9B%E3%83%AB%E3%83%80%E3%83%BC/dp/B07P5LMVN1

LED点灯に関しては、こちらを参考にしました。
http://make.bcde.jp/raspberry-pi/gpio%E3%81%A7led%E3%81%AE%E7%82%B9%E6%BB%85python/

Raspeberry PiにはGPIO(“General Purpose Input/Output”)と呼ばれる入出力を行う端末があります。私はRapberry Pi 4を購入したため、40ピンあります。
 まず気づいた点としては、これら40個のどこを指しても同じ機能を有するわけではなく、入力させたい場合や出力させたい場合で使用しなければならないピンが分かれている点です。

002.png

Rapberry PiからこのGPIOを通じてLED回路へ電気を流す(=ハードウェアをコントロールする)ことを行うためには、通常デバイスドライバのインストールが必要になります。しかし、プログラム上からGPIOと呼ばれるコマンドを用いることで制御できます。

006.png

今回は、こちらの図のように組み立てました。注意ポイントとしては、LEDライトの電極の向きです。足が長いほうがアノード端子(+)になります。
 001.jpg

Python プログラムによりLED点灯

 さて、いよいよLED点灯を行いましょう。LED点灯はターミナル上からコマンドでもできますが、今回はPythonを使います。Raspberry Pi 4ではThonny Python IDEというIDEがインストールされていますので、こちらから実行します。

 GPIOを操作するためには、GPIOライブラリを導入する必要があります。Raspberry Piのターミナル上で以下コマンドによりインストールしましょう。

 $ sudo apt-get install python-rpi.gpio

さて、実際に点灯させるプログラムが下記です。今回は、5回2秒ピッチで点滅させます。

LED.py

import RPi.GPIO as GPIO
import time

GPIO.setmode(RPi.GPIO.BCM)
GPIO.setup(18, GPIO.OUT)

for x in xrange(5):
    GPIO.output(18, True)
    time.sleep(2)
    GPIO.output(18, False)
    time.sleep(2)
GPIO.cleanup()

無事に点灯させることができました。

007.png

終わりに

 今回、Raspberry Pi工作のチュートリアル的存在であるLED点滅を行いました。リモートで行うことにより、より離れた位置から操作している感を出すことができて楽しいです。
 これをさらに応用させてAWS上にサーバーを立ててペット監視用ウェブサイトを作る等、IoTを実感できる仕組みを作っていきたいと思います。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2