Relative Content

RPi IoT device

4.9 Pi e-Paper HAT

経緯 低消耗電力、停電でも表示する e-Paperが興味があり、そのRaspberry Pi HATを手に入れた。 ハードウェア このRaspberry Pi Waveshare 2.13inch e-Paper HATは、Raspberry Pi 2/3/Zero対応する。 ソフトウェア wiringpiのインストール root@raspberrypizero004:/home/pi# pip3 search wiringpi wiringpi (2.46.0) – A python interface to WiringPi 2.0 library which allows for easily interfacing with the GPIO pins of the Raspberry Pi. Also supports i2c and SPI. wiringpi2 (2.32.3) – A python interface to […]

4.8 Pi Nokia 5110 LCD2

一年前にNokia 5110 LCDの表示が出来たが、今回はそれをRaspberry Pi に組み込み、されにボタンを追加する。 ボタンは短押し検知すると、LCDのバックライトのon/offで、さらに長押しすると、Raspberry Piシャットダウン機能も持たせる。 GPIOへのスイッチオン・オフ検知回路。 Pythonプログラム #!/usr/local/bin/python # -*- coding: utf-8 -*- import time import RPi.GPIO as GPIO import os # LEDのGPIOピンの番号、センサーのGPIOピンの番号 let_pin = 18 sw1_pin = 16 sleeptime = 1 led_01 = 0 GPIO.setmode(GPIO.BCM) GPIO.setup(sw1_pin, GPIO.IN) GPIO.setup(let_pin, GPIO.OUT) GPIO.output(let_pin, GPIO.LOW) def switch_detected(sw1_pin): global led_01 led_01 = 1 – led_01 if led_01 […]

4.7 Pi OLED status

Raspberry Pi ZeroにOLED をつけて、statusを表示する。 Raspberry Pi Zeroは、ネットワークi/fがないため、入手して大分時間がたちまして、棚上げ状態が続く。 USB WiFiを追加し、さらにOLEDでipアドレスなどのstatusが表示できれば、使い道が増えると考えた。 試行錯誤の末、下記のものができた。 オスのUSB追加で、PCに直挿入 (2は共存できないため、不要!) USB WiFiでネットワークに接続 シリアル接続ための端子を用意 OLEDでstatusの表示 BMP280で環境温度と気圧を収集 開発環境構築 まず、オスのUSB追加で、PCに直挿入できるように。 (参考: Raspberry Pi (8) USB to PC) PCに直挿入、sshで操作らくらくと調子がいいだけと、 しかしここで、MicroUSBにWiFiドングリをさして見たら、認識しない!共存できないと発見した。 仕方なくシリアル接続ための端子を追加した。 OLEDでstatusの表示 Raspberry Pi 3によるOLEDディスプレイ への表示 $ git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git $ cd Adafruit_Python_SSD1306 $ sudo python3 setup.py install $ sudo pip3 install Adafruit_BBIO $ cd examples $ python3 […]

4.6 Pi Nokia 5110 LCD

Nokia 5110 LCD表示するための設定 最初の参考文献で、下記のコマンドを実行 cd /home sudo apt-get update sudo apt-get install python-pip python-dev build-essential sudo pip install RPi.GPIO sudo apt-get install python-imaging sudo apt-get install git sudo git clone https://github.com/adafruit/Adafruit_Nokia_LCD.git cd Adafruit_Nokia_LCD sudo python setup.py install Adafruit examples programsを実行: pi@raspberrypi:~/Adafruit_Nokia_LCD $ cd examples/ pi@raspberrypi:~/Adafruit_Nokia_LCD/examples $ python shapes.py Traceback (most recent call last): File “shapes.py”, […]

4.5 Pi LED Matrix

Raspberry Pi用赤いLED Matrix Moduleを購入したので、まずためす! セットアップ このように、GPIOに差し込むタイプ。何かできるかと思うと、流れ文字、テトリスゲームはいいかもしれません。 ちょっと初期のPiで試したが、OSが古いため、パッケージインストールエラーなど、問題発生する。仕方なく、別SDに最新版のOSを導入して進む。 起動したら、下記の3点設定する。 pi@raspberrypi-256M:~ $ sudo raspi-config Video Momory 64M ->> 16M ssh ->> On spi ->> On ドライバーインストール ドライバーの C library for Broadcom BCM 2835 インストール. wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.49.tar.gz tar xf bcm2835-1.49.tar.gz cd bcm2835-1.49 ./configure make sudo make check sudo make install サンプルコード サンプルコードの取得 cd ~ git clone https://github.com/leon-anavi/raspberrypi-matrix-led-max7219.git C言語サンプルコードのビルド cd ~/raspberrypi-matrix-led-max7219/c […]

4.4 Pi Setup Relay

人感センサーでLED点灯と、猫をなくことができたが、今度リレーをコントロールして、電源ONなどでもする。 購入したArduino センサーキットに、リレーが含まれている。 接続は簡単。GronudとVcc接続し、SignalはLED点灯ためのGPIOに繋げればOK。 特にトラブルはなく、猫のなき声とともに、リレーの動作音が聞こえて、リレーについてるLEDも点灯した。 リレーは、なにをコントロールか、まずLED電球のような高出力ものを試したいと思う。 この10WのLEDを点灯すると考えている。LEDにはヒートシンクが必要だが、短時間点灯なら、小さなものはいいかも。 上は100VからLEDを駆動するモジュール。

4.3 Pi Motion Sensor

モーションセンサー(人感センサー)を使って、人が近づくと、LED点灯、猫がなくのような動作をする。 モーションセンサーはHC-SR501を利用する。繋げは簡単な3本結線のみ。電源2本と、真ん中データ一本はGPIO26に接続する。 点灯LEDはGPIO6に接続する。 猫の音声は、AppInventor のHalloPurrから流用。ファイルは ./Music/meow.mp3 に置く。 Raspberry Piのpythonパッケージにはpygameというモジュールがデフォルトでインストールされているそうです。それを利用して、猫の音声を再生する。 動作プログラム #!/usr/local/bin/python # -*- coding: utf-8 -*- import time import RPi.GPIO as GPIO import pygame.mixer # LEDのGPIOピンの番号、センサーのGPIOピンの番号 let_pin = 6 pir_pin = 26 sleeptime = 100000 led_light_up_time = 1 GPIO.setmode(GPIO.BCM) GPIO.setup(pir_pin, GPIO.IN) GPIO.setup(let_pin, GPIO.OUT) GPIO.output(let_pin, GPIO.LOW) pygame.mixer.init() pygame.mixer.music.load(“./Music/meow.mp3”) def motion_detected(pir_pin): print “検知” # 点灯 GPIO.output(let_pin, GPIO.HIGH) […]

4.2 Pi Temperature

今回は、温度と湿度センサー DHT22を利用して、温度と湿度を測定する。 githubからソースコードを取得し、インストールする $ git clone https://github.com/adafruit/Adafruit_Python_DHT.git $ cd Adafruit_Python_DHT $ sudo apt-get install build-essential python-dev $ sudo python setup.py install 実行例 chen@pi-top:~ $ cd Adafruit_Python_DHT/examples/ chen@pi-top:~/Adafruit_Python_DHT/examples $ sudo python ./AdafruitDHT.py 2302 22 Temp=21.6* Humidity=31.3% chen@pi-top:~/Adafruit_Python_DHT/examples $ sudo python ./AdafruitDHT.py 2302 22 Temp=21.9* Humidity=26.2% 参考: https://wiki.pieper.eu/luchtvochtigheid-sensor-raspberry-pi

4.1 Pi Led blink

いよいよIoT の内容へ 下の図は、LED点滅、温度と湿度のセンサー、人感センサーを付けた状態です。 まずLED点滅から、GPIO4にLEDと抵抗を付けて、下記のプログラムを実行 #!/usr/bin/env python import RPi.GPIO as GPIO import time GPIO.cleanup() GPIO.setmode(GPIO.BCM) GPIO.setup(4, GPIO.OUT) while True: GPIO.output(4, GPIO.HIGH) time.sleep(1) GPIO.output(4, GPIO.LOW) time.sleep(1) ~ $ sudo python led_blink4.py 下記のは、プログラムでLED点滅を示すビデオです。