2017年2月20日月曜日

Relay Moduleを接続

これはすぐれものだが注意が必要!
リレー1個のモジュールはGPIOがHIGHで動作するが
複数リレーモジュールはGPIOがLOWで操作するのでご注意ください、なぜかうまく動作しないな?と調べてみると回路がそうなっているのよね

通信販売でリレーユニットを購入しましたが接続がわからず試したところ、リレーの文字を見て右側の端子が入力側

左がリレー出力、中央がCOMでGPIO信号入力HIGHでA接点が閉じられます

負荷電流を測定するとGPIO信号HIGHで3.1mA
リレー動作電流が71mAなのでRaspberryPiから直接電源5Vを取ると複数台接続すると電流容量overになるので注意!

注意
GPIOピン1本あたりの最大電流は16mA 複数本のGPIOピンを使用する場合、同時に流せる電流の合計は50mAまで
ちゅうことはリレー1個でも別電源じゃないとダメなわけでした、実際には動作したけど要注意!
Relay Moduleの動作用電源はRaspberryPiからは供給せずに専用電源にしましょう

さらにGPIOピンはGPIOピンは26本もありますので、26個のLEDを光らせたりリレーを動作させてしまうと電流オーバーになります、それぞれのリレーの動作電流は3.5mA程度でも合計電流は91mAとなりオーバーしてしまいます。


この回路のようにRaspberryPiから電源供給するとダメです。


複数リレーのモジュールは回路図を見て納得。
フォトカプラでGNDでLED動作そしてリレーが動作するようになっておりますのでプログラムのGPIO出力はLOWで動作でした。




2017年2月14日火曜日

プログラムはviコマンドで作成変更

UNIX用viコマンド これだけ編

管理者権限でファイルを作成したり変更します、sudoを忘れずに
sudo vi ファイル名

スタートまずは何かあれば「Esc」が基本です

Esc 入力モード→コマンドモード

カーソルの移動=1文字の移動
h   
j   
k   
l   

藻に入力は、コマンドモード→入力モード
i   カーソルの位置に文字を入力
a   カーソルの右側に文字を入力
o   カーソルのある行の次の行頭 に文字を入力

行の移動「Esc」を必ず押さないとコマンドモードになりません、特定の行への移動は「J」でも改行しながら移動できます

「行数」G  だと指定した行への移動、例えば「10G」と入力すると、10行目へ移動します、ということは、ファイルの先頭へ移動するには「1G」と入力

G   最終行への移動できます

行数を表示させるには、コマンドモード「Esc」にて、

:set nu(Enter要)   行数を表示 nu (number)
:set nonu(Enter要)   逆に行数を非表示  nonu (no number)

文字の削除
x   1文字削除
dd  1行削除

文字のコピペ
yy   現在の行をバッファにコピー
nyy   n 行分をバッファにコピー

p   貼り付け、バッファ内のテキストを挿入
(文字、単語はカーソルの右に、行は現在の行の下に挿入される)

よっしゃできたぜこれで保存して終わるときは
ZZ   保存して終了
:wq(Enter要)   保存して終了
:q!(Enter要)   保存せずに終了

でもviの前にUNIX基本コマンドを覚えないと操作できません、これは他のホームページを参考にしてください。
ほんと、最初の敷居が越えられればあとは勢いで行けるぞー。ファイト!

2017年2月13日月曜日

TeamViewerまたはVNCサーバーをいれます

インターネット上で離れた場所なら、これがおすすめ最高に便利で重宝しています。
TeamViewer12(2017/2現在)ほんと何処からでもリモートすることができます。
ホームページからRaspberrypi用をダウンロードできるので簡単です、そのままインストールすると出来上がり。

https://pages.teamviewer.com/published/raspberrypi/


操作するパソコンにも入れてください
https://www.teamviewer.com/ja/


RaspberryPi3→スタート→インターネット→TeamViewer


使用中のID番号を操作用PCに入れてリモート接続します、パスワードも控えて利用します



RaspberyPiを再起動するとパスワードが変わるので「設定」から「セキュリティ」→Chang password パスワードを設定しておくと毎回同じパスワードなので複数の遠隔制御をする場合はリモートIDのみ管理しておくと便利です。







VNCサーバーも利用できます

RaspberryPi3を固定IPにしたら同じセグメント内だとVNCサーバーにして自分のPCからリモートする方が便利です。


$ sudo apt-get update
$ sudo apt-get install tightvncserver

サーバを立ち上げると初回はパスワード設定。
read-onlyのパスワードは入力せずEnter

$ tightvncserver


VNCサーバの自動起動の設定を行います。
次のような自動起動のスクリプトを作成します。

### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO

#! /bin/sh
# /etc/init.d/vncboot

USER=pi
HOME=/home/pi

export USER HOME

case "$1" in
 start)
 echo "Starting VNC Server"
 #Insert your favoured settings for a VNC session
 su $USER -c '/usr/bin/vncserver :1 -geometry 1440x900 -depth 24'
 ;;

 stop)
 echo "Stopping VNC Server"
 su $USER -c '/usr/bin/vncserver -kill :1'
 ;;

 *)
 echo "Usage: /etc/init.d/vncboot {start|stop}"
 exit 1
 ;;
esac

exit 0


パーミッションを変更し、自動起動登録、再起動。
sudo chmod 755 /etc/init.d/vncboot
sudo chkconfig --add vncboot
sudo chkconfig vncboot on
reboot


もちろん操作用PCにはビュワーを入れてください、最新式はwebで行けるようになってました、時代は変わるのでついて行けません。



RaspberryPi3 固定IPアドレス設定

RaspberryPiをインターネットに接続する方法としてはルーター配下の場合はLANケーブルを接続するとDHCP機能で自動にIPアドレスその他が設定されます。
でも固定IPアドレスに設定しといたほうがFTPやTELNETでリモートするときに便利なので設定しておきましょう。
外部のインターネットからログインするためにはルーターの設定が別途必要ですがここでは割愛しています。

固定IPアドレスの設定

Menu ⇒ アクセサリー ⇒ LTXTerminal  で ifconfig コマンドを入力すると



eth0      Link encap:イーサネット  ハードウェアアドレス b8:27:eb:03:62:a1
          inetアドレス:192.168.11.5 ブロードキャスト:192.168.11.255  マスク:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:1853 エラー:0 損失:1 オーバラン:0 フレーム:0
          TXパケット:607 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000
          RXバイト:196373 (191.7 KiB)  TXバイト:103667 (101.2 KiB)

lo        Link encap:ローカルループバック
          inetアドレス:127.0.0.1 マスク:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  メトリック:1
          RXパケット:10 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:10 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:0
          RXバイト:1294 (1.2 KiB)  TXバイト:1294 (1.2 KiB)



 /etc/dhcpcd.conf

を編集します(アドレスは管理者に確認してください)
固定IPアドレスを「192.168.1.123」にする場合は以下のようになります

viコマンドでする場合
cd /etc    ディレクトリ移動しておきます
pi@raspberrypi /etc $  vi dhcpcd.conf

interface eth0 
static ip_address=192.168.1.123/24 
static routers=192.168.1.1 
static domain_name_servers=220.123.123.233 
(220.123.123.233 DNSサーバー?ここはネットワーク管理者に確認してください)
:wq

viコマンドを利用しています

おまけだけど最近は無線LANで接続している人の方が多いのではないでしょうか。
無線LANの場合は

interface wlan0 を書き換えます

pi@raspberrypi:~ $ vi /etc/dhcpcd.conf

interface wlan0
static ip_address=192.168.1.123/24
static routers=192.168.1.1
static domain_name_servers=220.123.123.233
(220.123.123.233 ここはネットワーク管理者に確認してください)
:wq

viコマンドを利用しています

2017年2月7日火曜日

スクラッチを使って電子回路を制御

スクラッチを使って電子回路を制御するには入出力端子の制御を可能にする拡張ソフトの「ScratchGPIO7」が必要です

cd /home/pi/Downloads
wget http://bit.ly/1wxrqdp -O isgh7.sh
sudo bash isgh7.sh

スクラッチは入門者には体験すべきソフトです
小学生の学習用に作成された使いやすさは遊びながらプログラムの流れが体験できます

日本語化モジュールを入れましょ

日本語化もホームページを見たり必ず必要になります
何かと必須

sudo apt-get update
sudo apt-get install fonts-takao ibus-mozc     

Takaoフォントと日本語入力ソフトibus-mozのインストールが完了しました

2017年2月2日木曜日

DHT11による温度と湿度の取得

2016年08月
http://qiita.com/Fendo181/items/469469d143d3568fc692


http://denpa-shinbun.com/entry/raspberry-pi-dht11


http://suka4.blogspot.jp/2016/05/raspberry-pi-3-dht11.html


http://kheiakiyama.hateblo.jp/entry/2016/01/04/153508


https://tech.recruit-mp.co.jp/iot/farm-monitoring-with-iot/

RaspberryPi3 Wifi接続時の固定IPアドレスの設定方法

リモートアクセスするときにrebootするたびにIPアドレスが変わると困りますよね、そこで固定IPアドレスの設定をしておきましょう。

wifiの場合は interface wlan0 LANケーブル接続の時は interface eth0

/etc/dhcpcd.confを開き

$ sudo nano /etc/dhcpcd.conf 

nanoやviで、ファイルの一番下に以下を追記
 /etc/dhcpcd.conf

interface wlan0
static ip_address=192.168.11.200/24 
static routers=192.168.11.1
static domain_name_servers=192.17.1.3

ip_address 設定したいIPアドレス
routers ルータのIPアドレス
domain_name_server こちらはDNSアドレス

再起動
$ sudo reboot

ifconfig などで確認