Relative Content

Yearly Archives: 2017

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 […]

Pi USB to PC

Raspberry Pi Zero はWiFiもない、LANもないから、使いづらい。 USBで直接PCに刺して使えるならいいと思い、やってみた。 ハードウェア ついてに、OLEDも繋げて、何かメッセージ見るとき便利。 完成した様子。 ソフトウェア SDカードにRaspbianを書きこむ いつもの方法 bootボリューム内の一部ファイルの修正 編集するファイルは3つ。 config.txt 次のコマンドでファイルを開く。 1 $ vim /Volumes/boot/config.txt 最終行に次の内容を追加。 1 dtoverlay=dwc2   cmdline.txt 次のコマンドでファイルを開く。 1 $ vim /Volumes/boot/cmdline.txt rootwaitとquietの間にmodules-load=dwc2,g_etherを挿入。 編集後の内容は次のとおり。 1 dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=11eccc69–02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules–load=dwc2,g_ether quiet init=/usr/lib/raspi–config/init_resize.sh   ssh 現行のRaspbianは,デフォルトでsshによるログインが無効になっていて,モニタやキーボードを接続してローカルからログインする必要。でも,ファイル/boot/sshが存在すると,初回起動時にsshが有効になる。 1 $ touch /Volumes/boot/ssh 以上の作業が終わったらMacからSDカードをアンマウントし,Zeroに挿入。 早速Macに繋いて動作確認。   Macのターミナルを起動し,次のコマンドでZeroにログインする。初期パスワードは”raspberry”。 1 […]

Pi LAMP setup

Raspberry PiにLAMP環境を作る install 念のため、updateしておく。 pi@raspberrypi:~ $ sudo apt-get update AMPを一気にinstallする pi@raspberrypi:~ $ sudo apt-get install -y apache2 php5 mysql-server Apache2 Debian Default Page をみる http://192.168.11.139/ PHP動作確認 Document Rootsは、/var/www/html の下。そこにinfo.php ファイルを作って、PHP動作確認する。 pi@raspberrypi:~ $ cd /var/www/html 管理者権限で、ファイルを新規作成。 root@raspberrypi:/var/www/html$ sudo nano info.php またはrootユーザーになって root@raspberrypi:/var/www/html#  nano info.php ファイルの中身を確認 root@raspberrypi:/var/www/html# cat info.php <?php phpinfo(); ?> ブラウザーから、PHPの設定情報が見れる。 http://192.168.11.139/info.php

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点滅を示すビデオです。

Pi Remote login

Raspberry Pi はIoT研究によく使われる機材。 Raspberry Pi の内部はLinux 動く、遠隔管理するため、LinuxのCUIで管理を行う。 Raspberry Pi のSSHはデフォルト無効にされた。SSH接続しようとしたがエラーとなる。 raspi-configで有効化するか、ブートパーテーションにsshという名のファイルを作るだけでもOK。 ネットワーク接続した状態で、下記の作業へ進む。 ユーザー操作 ユーザuser1を対象とする。 ログイン、ログアウト、パスワード変更の他に、テキストファイルの作成、変更もよくあるので、テキストエディタviの基本操作を是非覚えてください。 ログイン user1をipのサーバにログインとする。 $ ssh user1@ip サーバの中身が入れ替わり、ログインできない場合、~.ssh/know_hostに該当する項目を削除してください。 ログアウト $ logout パスワード変更 $ passed user1   アドミン管理作業 SSHサーバーの有効化 ターミナルで、設定ツールを起動 $sudo raspi-config 8 Advanced Optionsを選択 A4 SSHを選択 [Enable]を選択 再起動を促されるので、再起動する 2016-11-25以降のISOイメージは、SSHはデフォルト無効にされた。SSH接続しようとしたがエラーとなる。 raspi-configで有効化するか、ブートパーテーションにsshという名のファイルを作るだけでもOK。 $ cd /boot $ sudo touch ssh $ sudo reboot 初心者向けターミナル用語集 Terminal […]