【Python】シリアル通信

【OS X】sudo easy_install -U pyserial

【Linux】apt-get instal python-serial

import serial
import pytz

def initSerial():

  com = serial.Serial( 
    port='/dev/ttyAMA0', 
    baudrate=9600,
    parity = serial.PARITY_NONE,
    bytesize = serial.EIGHTBITS,
    stopbits = serial.STOPBITS_ONE,
    timeout = None )
  return com


com = initSerial()
f = open('log.txt')
line = f.readline()

while line:
    com.write(line)
    line = f.readline()

【Raspberry Pi】SPIを使う

・/etc/modulesに追記
$ sudo vi /etc/modules
spidev

・/etc/modprobe.d/raspi-blacklist.confを変更(コメントアウト)
$ sudo vi /etc/modprobe.d/raspi-blacklist.conf 
#blacklist spi-bcm2708

・reboot

・設定の確認
ls -la /dev/spi*
crw-rw—T 1 root spi 153, 0 2月 14 23:43 /dev/spidev0.0
crw-rw—T 1 root spi 153, 1 2月 14 23:43 /dev/spidev0.1

・権限の変更
sudo chmod 666 /dev/spidev*

【Raspberry Pi】シリアルの利用注意点(0x0Dが0x0Aに変わる)

UARTを使用したときに、0x0D送信したのに受信側では0x0Aに変わっている時があります。

これは、ttyがターミナルモードになっているためです。

バイナリデータ送信をしたいときは、rawモードの設定が必要です。

以下設定のサンプルです。

 

fd_sci0 = open(”/dev/ttyAMA0”, O_RDWR | O_NOCTTY| O_NDELAY); // | O_NDELAY|O_NONBLOCK);

if (fd_sci0 == -1)

{

perror(“close error”);

return;

}

struct termios options;

 

tcgetattr(fd_sci0, &options);

options.c_cflag = B115200 | CS8 | CLOCAL | CREAD;

options.c_iflag = IGNPAR | ICRNL;

options.c_oflag = 0;

options.c_lflag = 0;

cfmakeraw(&options); // <—-ここが重要

tcflush(fd_sci0, TCIFLUSH);

tcsetattr(fd_sci0, TCSANOW, &options);

printf(“ttyAMA0 opened\n”);

 

good luck,

 

【Raspberry Pi】UVCカメラを使う(WATEC WAT-01U2)

Full-HD USB WEB CAM ( WATEC WAT-01U2 )

をRaspberry Piで使ってみた。

 CSマウント(Cマウントアダプタもあり)なのでレンズが変更できうれしい。

写りも明るいしよいです。

購入は秋葉原のトモカ電気さんが販売代理店されていてスムーズにご対応頂けました。

・インストールするパッケージ ※motionはwebで確認用

sudo apt-get install uvccapture guvcview luvcview

apt-get install fswebcam
apt-get install motion

/etc/motion/motion.confを編集
control_localhost off
webcam_localhost off
framerate 30

 

$ sudo motion
で起動
ブラウザからwebcam画像の確認
http://xxx.xxx.xxx.xxx:8080 設定画面
http://xxx.xxx.xxx.xxx:8081 画像

 

good luck,

 

 

 

下記ご参考に、、 

pi@RSPI1 /sat/img $ fswebcam —list-controls

—- Opening /dev/video0…
Trying source module v4l2…
/dev/video0 opened.
No input was specified, using the first.
Available Controls Current Value Range
————————— ——————- ——-
Brightness -103 (9%) -128 – 127
Contrast 85 (33%) 0 – 255
Saturation 94 (36%) 0 – 255
Hue 0 (50%) -40 – 40
White Balance Temperature, Auto True True | False
Gamma 100 (20%) 48 – 300
Gain 0 (0%) 0 – 24
Power Line Frequency 50 Hz Disabled | 50 Hz | 60 Hz
White Balance Temperature 4600 (48%) 2800 – 6500
Sharpness 1 0 – 4
Backlight Compensation 0 0 – 1
Adjusting resolution from 384×288 to 320×240.

 

【Raspberry Pi】SDをバックアップする & SDへの書き出し

【OS X】

・SDカードをMACにさし、SDカードのマウントポイントをチェック

#mount

すると、/dev/disk1s1とかでマウントされている。

 

・丸ごとバックアップする為にunmountする

$sudo diskutil unmountDisk /dev/disk2

 

・SDカードをバックアップ

#sudo dd bs=1m if=/dev/disk2 of=./sf_1110.img

 

・SDにイメージを書き出し

#sudo dd bs=1m if=./sf_1110.img of=/dev/rdisk3

・書き出しが完了後RPiにカードを差し電源ONでboot.

good luck.

 

 

【Raspberry Pi】RCAコンポジット利用時の注意

2.5inch TFT LCDを使っているが、左端がかけている。

http://www.switch-science.com/catalog/1434/

 

/boot/config.txtの下記の箇所を編集すると治る。

# uncomment the following to adjust overscan. Use positive numbers if console

# goes off screen, and negative if there is too much border

overscan_left=40

overscan_right=40

overscan_top=16

overscan_bottom= 16

 

 ちなみに OFでは、NTSC720x480で認識してました。

 

下記参考サイト

http://elinux.org/RPiconfig#Which_values_are_valid_for_my_monitor.3F

http://www.komoto.org/etc/aspect.html

 

【Raspberry Pi】VLCでrtspストリーミングをする

【Raspberry Pi】

sudo raspivid -o – -t 0 -w 640 -h 480 |cvlc -vvv stream:///dev/stdin –sout ‘#rtp{sdp=rtsp://:8554/}’ :demux=h264

 

【OS X】

・VLC Playerを起動

・”ネットワークを開く >”を選択し、

rtsp://192.168.xxx.xxx:8554/

と入力しplay.

 

4,5秒遅れてから表示される。

これ以上の解像度はきつかったです。

 

good luck,

 

【Raspberry Pi + OF】shaderを使う時の注意点

OFでgl/shaderサンプルを動かしたら動かなかった。

下記を追加して動作OKでした。

good luck ,

 

・main.cppに追記

 

#include “ofMain.h”

#include “testApp.h”

#include “ofGLProgrammableRenderer.h”

//========================================================================

int main( ){

    ofGLProgrammableRenderer * renderer = new ofGLProgrammableRenderer();

    ofSetCurrentRenderer(ofPtr<ofBaseRenderer>(renderer));   // switch to GLES2 renderer.

ofSetupOpenGL(1280, 720, OF_WINDOW);// <——– setup the GL context

 

// this kicks off the running of my app

// can be OF_WINDOW or OF_FULLSCREEN

// pass in width and height too:

ofRunApp( new testApp());

}

 

 

【Raspberry Pi】時刻を合わせる (ntp)

Rapsberry Piは電源を切る毎に時計がずれてしまいます。

これはRTCにボタン電池などで電源が供給されていない為です。

以下時刻同期するためのntpクライアント設定方法です。

 

・/etc/ntp.confに下記を追加します。

 

# You do need to talk to an NTP server or two (or three).

#server ntp.your-provider.example

server 0.jp.pool.ntp.org iburst

server 1.jp.pool.ntp.org iburst

server 2.jp.pool.ntp.org iburst

server 3.jp.pool.ntp.org iburst

 

iburst オプションで、最初に試行した時で接続できなかったときだけパケット送信するようになります。

 

good luck.

【参照元】

https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon_(%E6%97%A5%E6%9C%AC%E8%AA%9E)

http://www.pool.ntp.org/en/

【Raspberry Pi】openFrameworksのaddonを追加する

Raspberry PiでOFをaddonを追加する。

ここでは例として、ofxTrueTypeFontUCをインストールする。

#cd (YOUR_OF_PATH)/openFrameworks/addon

#git clone https://github.com/hironishihara/ofxTrueTypeFontUC.git

 

・空のプロジェクトを作成

#cp (YOUR_OF_PATH)/openFrameworks/apps/myApps/emptyExample  (YOUR_OF_PATH)/openFrameworks/apps/myApps/(NEW_APP)

#cd (NEW_APP)

#vi addons.make

————————————–

ofxOpenCv

ofxTrueTypeFontUC

————————————–

 

・画像データ/フォント(.ttf .otf)等がある場合は bin/dataへコピー

#cd (YOUR_OF_PATH)/openFrameworks/apps/myApps/(NEW_APP)/bin

#mkdir data

#cp ~/image.jpg data

 

・プロジェクトをビルド

#make

 

・実行して確認

#make run

 

good luck.

【Raspberry Pi】GW-450D KATANAを使う

SONY DSC

GW-450D KATANAを使えるようにします。

・ドライバをdownloadする。

 MT7610U USBを選択

http://www.mediatek.com/_en/07_downloads/01_windows.php?sn=501

 

・ドライバを解凍

#mv mt7610u_wifi_sta_v3000_dpo_20130627.tar.bz2 /usr/src

#cd /usr/src

#tar xjvf mt7610u_wifi_sta_v3000_dpo_20130627.tar.bz2

#cd mt7610u_wifi_sta_v3000_dpo_20130627

 

・commmon/rtusb_dev_id.cに追記

/* module table */

USB_DEVICE_ID rtusb_dev_id[] = {

#ifdef MT76x0

        {USB_DEVICE(0x2019,0xab31)}, /* GW-450W KATANA */

{USB_DEVICE(0x148F,0x7610)}, /* MT7610U */

{USB_DEVICE(0x0E8D,0x7610)}, /* MT7610U */

{USB_DEVICE_AND_INTERFACE_INFO(0x0E8D, 0x7630, 0xff, 0x2, 0xff)}, /* MT7630U */

{USB_DEVICE_AND_INTERFACE_INFO(0x0E8D, 0x7650, 0xff, 0x2, 0xff)}, /* MT7650U */

#endif

{ }/* Terminating entry */

};

 

・os/linux/config.mkを編集

 

# Support Wpa_Supplicant

# i.e. wpa_supplicant -Dralink

HAS_WPA_SUPPLICANT=y

 

# Support Native WpaSupplicant for Network Maganger

# i.e. wpa_supplicant -Dwext

HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

 

・Makeする

30分時間程待つ…(時間かかるのでraspi-configでターボモードにしておいた方がよい)

#cd /usr/src/mt7610u_wifi_sta_v3000_dpo_20130627

#make

#make install

 

・ /etc/wpa_supplicant/wpa_supplicant.conf を編集

 WPA2-PSKの場合

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

 

network={

    ssid=”YOUR_SSID”

    proto=RSN

    key_mgmt=WPA-PSK

    pairwise=CCMP TKIP

    group=CCMP TKIP

    psk=”YOUR_PASSWORD”

}

 

 ・WEPの場合

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

 

network={

scan_ssid=1

key_mgmt=NONE

ssid=”YOUR_SSID”

wep_key0=”YOUR_PASSWARD”

wep_tx_keyidx=0

}

 

/etc/network/interfaces

auto lo

 

iface lo inet loopback

iface eth0 inet dhcp

 

auto ra0

iface ra0 inet dhcp

wpa-driver wext

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

 

・ファイルコピー

#mkdir /etc/Wireless/RT2870STA

# cp RT2870STA.dat  /etc/Wireless/RT2870STA/RT2870STA.dat
# vi /etc/Wireless/RT2870STA/RT2870STA.dat

SSID=YOUR_AP

AuthMode=WEPAUTO

EncrypType=WEP

Key1Type=1           << 0:hex  1:ascii

Key1Str=YOUR_AP_PASSWORD

Key2Type=0

Key2Str=

Key3Type=0

Key3Str=

Key4Type=0

Key4Str=

 

・再起動する

#reboot

#ifconfig

ra0で認識されている

#iwlist ra0 scanning

 

good luck!

SONY DSC

 

【Raspberry Pi】h.264 streamingをする (raspivid + nc)

OSXでmplayerをインストール

brew install mplayer


>osx nc -l 5001 | mplayer -fps 31 -cache 1024 –
>pi raspivid -t 999999 -o – | nc [insert the IP address of the client] 5001

 

【RASPBERRY PI】
raspivid -t 0 -w 1920 -h 1080 -hf -fps 30 -n -o -| nc -l 5000

備考
・-nがないと、freezeするので注意。
・802.11gだと、 640×480位がmax

【MAC OS X】
・receive streaming & play
nc 192.168.111.101 5000 | mplayer -fps 100 -demuxer h264es -cache 8192 –

・receive streaming & dump
nc 192.168.111.106 5000 | mplayer -fps 100 -demuxer h264es -cache 8192 -dumpstream -dumpfile a.h264 –

 

【h264->mp4】

MP4Box -fps 30 -add out.h264 out.mp4

 

http://www.designspark.com/jpn/blog/jpn-raspberry-pi-camera-module-setup