'embeded/raspberry pi'에 해당되는 글 338건

  1. 2021.06.09 ETH SYNC / IEEE 1588 / PTP (2)
  2. 2021.06.09 raspivid camera select
  3. 2021.06.09 bmp280
  4. 2021.06.09 어?! 지름 망 ㅋㅋㅋ
  5. 2021.06.09 cm4 io board / rpiboot
  6. 2021.06.08 라즈베리 Zero용 CSI FPCB 케이블 도착
  7. 2021.06.05 라즈베리 i2c 센서 작동 확인
  8. 2021.06.05 센서 스펙
  9. 2021.06.05 pinout
  10. 2021.06.04 딱 만들고 싶었던 그 프로그램
embeded/raspberry pi2021. 6. 9. 21:38

대충봐서는 랜선을 통해 고정밀 NT P를 구현하는 느낌인데..

어떤식으로 하드웨어가 구성되고

어떤식으로 정보를 입수하는진 감이 안오네..

 

[링크 : https://www.flirkorea.com/discover/iis/machine-vision/precision-system-synchronization-with-the-ieee-1588-precision-time-protocol-ptp/]

[링크 : https://en.wikipedia.org/wiki/Precision_Time_Protocol]

 

+

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?t=295829]

 

+ 210610

https://en.m.wikipedia.org/wiki/List_of_PTP_implementations

https://github.com/raspberrypi/linux/issues/4151

https://cezacx2.tistory.com/1243

'embeded > raspberry pi' 카테고리의 다른 글

ETH SYNC / IEEE 1588 / PTP  (2) 2021.06.09
raspivid camera select  (0) 2021.06.09
bmp280  (0) 2021.06.09
어?! 지름 망 ㅋㅋㅋ  (0) 2021.06.09
cm4 io board / rpiboot  (0) 2021.06.09
라즈베리 Zero용 CSI FPCB 케이블 도착  (0) 2021.06.08
Posted by 구차니

댓글을 달아 주세요

  1. 곽자섭

    NTP는 기본적으로 Unicast 방식으로 Client가 서버로 NTP를 요청한 후 응답메시지로
    동기화를 하지만, PTP는 Unitcast, Multicast 두가지 방식을 선택적으로 사용할 수 있습니다.
    그리고 추가로 네트워크 지연에 대한 보정기능까지도 있습니다.

    SyncE는 PDV를 최소화하기 위해서 동기식 이더넷 방식으로 패킷을 전송합니다.
    즉, 데이터가 있을 때만 보내는 일반적인 비동기식 이더넷 방식(+/-100ppm)이 아니라
    데이터가 있든 없든 일정한 간격(4.6ppm이내)으로 패킷을 전송합니다.

    기타 PTP 관련하여 궁금한 내용은 메일(jskwak@gmail.com)로 주시면
    설명해 드리겠습니다. ^^

    2021.06.16 12:06 [ ADDR : EDIT/ DEL : REPLY ]
    • 현재로서는 써볼 장비가 없어서 해볼수가 없을 것 같네요 ㅠㅠ
      라즈베리 4만으로는 PTP client만 된다는 글이 보여서. PTP Server나 PTP 지원 router가 있어야 하는데 당장 구매할 껀수가 없네요 ㅠㅠ
      다음에 도움이 필요할때 꼭 메일 보내도록 하겠습니다. 감사합니다 ^^

      2021.06.16 22:58 신고 [ ADDR : EDIT/ DEL ]

embeded/raspberry pi2021. 6. 9. 19:20

퇴근직전 30분 알차게 딴짓아닌 딴짓을 하고 있었는데

라즈베리 4 compute module 에 CSI 2개 동시 출력은 일단 cs 옵션을 찾아 성공

하지만 듀얼 모니터임에도 각각 모니터에 띄울수가 없어서 멘붕 중

--camselect,    -cs
Selects which camera to use on a multi-camera system. Use 0 or 1.

[링크 : https://www.raspberrypi.org/documentation/raspbian/applications/camera.md]

 

 

dn 옵션까진 찾았는데 0,1,2 만 시도했는데 안되서 좌절..

There was this commit. I think it can be done by just adding "-dn 7" to raspivid to display the preview on the second HDMI monitor.

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?t=298292]

 

7까지 갈 생각은 못했네 -_-

도대체 저 인덱스는 어디서 굴러나온건지 소스에서 봐도 이해가 안되네?

Allows options like -dn 7 to push the preview onto HDMI1.
Values are Dispmanx display enums, therefore predominantly
0 = DSI/DPI LCD
2 = HDMI0
3 = SDTV
7 = HDMI1
Behaviour should the chosen display not be present should be to
revert to the primary display that is present.

[링크 : https://github.com/raspberrypi/userland/commit/2549c149d8aa7f18ff201a1c0429cb26f9e2535a]

 

+

2021.06.10

-dn 7 하니 HDMI1로 출력 잘된다.

다만 -3d sbs 옵션을 하는데 단일 카메라로만 되서

2개 카메라를 scaling 후 합치는건 따로 소스를 수정해 봐야 할지도?

'embeded > raspberry pi' 카테고리의 다른 글

ETH SYNC / IEEE 1588 / PTP  (2) 2021.06.09
raspivid camera select  (0) 2021.06.09
bmp280  (0) 2021.06.09
어?! 지름 망 ㅋㅋㅋ  (0) 2021.06.09
cm4 io board / rpiboot  (0) 2021.06.09
라즈베리 Zero용 CSI FPCB 케이블 도착  (0) 2021.06.08
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2021. 6. 9. 19:18

글들을 찾다보니 BME 시리즈를 알게 되었는데 얘는 습도까지 측정이 가능하다고.

[링크 : https://zelkun.tistory.com/entry/024-Arduino-아두이노-bme280-bmp280-센서모듈...]

 

일단 라이브러리는 찾았는데.. 언제 써보나?

[링크 : https://github.com/pimoroni/bmp280-python]

 

새끼 손톱 정도 크기인데

오른쪽 보드는 BMP280 보드. 얘는 그래도 2.54mm 인데 TEA5767은 2.0mm 피치 인듯.

그나저나 5개 정도 핀.. 커야 12mm * 12mm 인데 내 실력으로는 납땜이 불가능 ㅠㅠ

 

BMP280은  BMP180 보다 더 작아지고 전기도 더 조금 먹고 더 정밀해졌다.

[링크 : https://cdn-shop.adafruit.com/datasheets/BST-BMP280-DS001-11.pdf]

 

+

2021.06.12

거실 온도계는 25도. 포탈상의 온도는 22도.

일단 그래도 집에 있는 빨간색 구형 온도계 믿을만 하겠지?

bmp180 보다는 신뢰할만한 값인것 같은데. 땜질하다 열 받아서 그런 오차값이 나온걸까? 아니면 장비 편차일까?

$ python3 temperature-and-pressure.py
temperature-and-pressure.py - Displays the temperature and pressure.

Press Ctrl+C to exit!


23.85*C 875.68hPa
25.99*C 1009.53hPa
26.00*C 1009.53hPa
26.01*C 1009.54hPa
26.02*C 1009.53hPa
26.02*C 1009.53hPa
26.02*C 1009.53hPa

 

$ python3 ./dump-calibration.py
dump-calibration.py - Dumps calibration data.

Press Ctrl+C to exit!


dig_p1 = 36547
dig_p2 = -10872
dig_p3 = 3024
dig_p4 = 665
dig_p5 = 345
dig_p6 = -7
dig_p7 = 15500
dig_p8 = -14600
dig_p9 = 6000
dig_t1 = 28077
dig_t2 = 26730
dig_t3 = -1000

 

$ python3 ./relative-altitude.py
relative-altitude.py - Calculates relative altitude from pressure.

Press Ctrl+C to exit!


Collecting baseline values for 100 seconds. Do not move the sensor!

Relative altitude: -0.32 metres
Relative altitude: -0.30 metres
Relative altitude: -0.19 metres
Relative altitude: -0.18 metres
Relative altitude: -0.22 metres
Relative altitude: -0.10 metres

 

두 녀석은 왜 안되는걸까?

$ python3 ./compensated-temperature.py
compensated-temperature.py - Use the CPU temperature to compensate temperature
readings from the BMP280 sensor. Method adapted from Initial State's Enviro pHAT
review: https://medium.com/@InitialState/tutorial-review-enviro-phat-for-raspberry-pi-4cd6d8c63441

Press Ctrl+C to exit!


Traceback (most recent call last):
  File "./compensated-temperature.py", line 36, in <module>
    cpu_temp = get_cpu_temperature()
  File "./compensated-temperature.py", line 28, in get_cpu_temperature
    return float(output[output.index('=') + 1:output.rindex("'")])
TypeError: argument should be integer or bytes-like object, not 'str'

 

$ python3 ./temperature-forced-mode.py
Traceback (most recent call last):
  File "./temperature-forced-mode.py", line 16, in <module>
    bmp280.setup(mode="forced")
TypeError: setup() got an unexpected keyword argument 'mode'

'embeded > raspberry pi' 카테고리의 다른 글

ETH SYNC / IEEE 1588 / PTP  (2) 2021.06.09
raspivid camera select  (0) 2021.06.09
bmp280  (0) 2021.06.09
어?! 지름 망 ㅋㅋㅋ  (0) 2021.06.09
cm4 io board / rpiboot  (0) 2021.06.09
라즈베리 Zero용 CSI FPCB 케이블 도착  (0) 2021.06.08
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2021. 6. 9. 17:31

TEA5676 크진 않을거라고 생각했지만

그래도 보드까지 해서 1cm 정도 밖에 안되면 내 똥손으로는 땜을 할 수 가 없잖아 ㅠㅠ

아무튼 다른 보드랑 비교해보니 2mm pitch 핀헤더 1개 정도 되니 대충 12mm * 12mm 정도 되는 느낌.

 

[링크 : https://os.mbed.com/users/edodm85/notebook/radio-fm-tea5767/]

'embeded > raspberry pi' 카테고리의 다른 글

raspivid camera select  (0) 2021.06.09
bmp280  (0) 2021.06.09
어?! 지름 망 ㅋㅋㅋ  (0) 2021.06.09
cm4 io board / rpiboot  (0) 2021.06.09
라즈베리 Zero용 CSI FPCB 케이블 도착  (0) 2021.06.08
라즈베리 i2c 센서 작동 확인  (0) 2021.06.05
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2021. 6. 9. 13:48

rpiboot for windows

[링크 : https://github.com/raspberrypi/usbboot/raw/master/win32/rpiboot_setup.exe]

 

Compute Module 4

Ensure the Compute Module is fitted correctly installed on the IO board. It should lie flat on the IO board.
  • Make sure that nRPI_BOOT which is J2 (disable eMMC Boot) on the IO board is set to the 'EN' position.
  • Use a micro USB cable to connect the micro USB slave port J11 on IO board to the host device.
  • Do not power up yet.

[링크 : https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md]

 

CAM0 / DISP0 사용하려면 J6 점퍼를 세로로 두개 달아야 한다는데

SCL1/SDA1이 연결되는걸 봐서는 i2c-1을 점유하게 되는 듯?

CAM1 / DISP1은 i2c-0 인 듯.

[링크 : https://datasheets.raspberrypi.org/cm4io/cm4io-datasheet.pdf]

 

cm4

J2 disable eMMC Boot 점퍼 연결(중앙 산단의 점퍼)

usb slave 와 pc 연결(하단 우측 1/4 지점)

 

rpiboot ready 실행하고

 

cm4 전원을 켜면 이런저런 펌웨어 올리고 USB 메모리 스틱처럼 인식된다.

 

포맷하라는걸 봐서는 ext인가 싶긴한데 나중에 다른 모듈을  리눅스에서 연결은 해봐야 할 듯..

 

그럼 이제 이미지를 굽굽!

 

아니 왜.. uSD 보다 느리죠!?

 

아무튼 굽고 나서 다시 인식되면 boot 파티션이 인식되는데

dt-blob-dualcam.bin을 받아서 dt-blob.bin 으로 저장을 하면 dual CSI/DSI 쓸 준비 끝!

sudo wget https://raw.githubusercontent.com/raspberrypi/documentation/master/hardware/computemodule/dt-blob-dualcam.bin -O /boot/dt-blob.bin

[링크 : https://www.raspberrypi.org/documentation/hardware/computemodule/cmio-camera.md]

 

켜보니 USB가 인식 안된다 (야이 그지 깽깽이들아!!!)

dt-blob.bin을 받으면서 config.txt 가장 끝에 이걸 추가해는 걸 추천!

dtoverlay=dwc2,dr_mode=host

[링크 : https://www.jeffgeerling.com/.../usb-20-ports-not-working-on-compute-module-4-check-your-overlays]

 

눼.. 메뉴얼 정독 안한 제 잘못입니다 ㅠㅠ

[링크 : https://datasheets.raspberrypi.org/cm4io/cm4io-datasheet.pdf]

 

부팅하고 나서 파티션을 보니 /dev/mmcblk0 으로 연결이 똭!

$ lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0      179:0    0 29.1G  0 disk
├─mmcblk0p1  179:1    0  256M  0 part /boot
└─mmcblk0p2  179:2    0 28.9G  0 part /
mmcblk0boot0 179:32   0    4M  1 disk
mmcblk0boot1 179:64   0    4M  1 disk

 

$ mount | grep mmc
/dev/mmcblk0p2 on / type ext4 (rw,noatime)
/dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)

 

raspi-config 에서 camera on , i2c on 켠 상태면 아래와 같이 설정된다.

USB host를 사용하기 위한 dtoverlay와

CM4 보드에 장착된 RTC 및 팬 컨트롤러를 쓰기 위한 dtparam 설정은 파란색 으로 수동 추가해야 함.

$ cat /boot/config.txt
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

[all]
#dtoverlay=vc4-fkms-v3d
dtoverlay=dwc2,dr_mode=host
start_x=1
gpu_mem=128
dtparam=i2c_vc=on

 

 

일단 정상부팅되고 i2c도 다 올라왔나 보는데  i2c-0/1 뿐만 아니라 10/11이 추가되어있다.

pi@raspberrypi:~ $ i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
pi@raspberrypi:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
pi@raspberrypi:~ $ i2cdetect -y 10
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- 0c -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 2f
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
pi@raspberrypi:~ $ i2cdetect -y 11
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- 0c -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 2f
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
pi@raspberrypi:~ $ ls -al /dev/i2c*
crw-rw---- 1 root i2c 89,  0 Jun  9 18:27 /dev/i2c-0
crw-rw---- 1 root i2c 89,  1 Jun  9 18:27 /dev/i2c-1
crw-rw---- 1 root i2c 89, 10 Jun  9 18:27 /dev/i2c-10
crw-rw---- 1 root i2c 89, 11 Jun  9 18:27 /dev/i2c-11

 

+

0x0C 는 누구냐... -_-?

To enable the I2C bus to the RTC you will need dtparam=i2c_vc=on set in config.txt . The RTC then will be on i2c-10 address 0x51 ( 7bit address)
To enable the I2C bus to the fan controller you will need dtparam=i2c_vc=on set in config.txt . The fan controller then will be on i2c-10 address 0x2f ( 7bit address)

[링크 : https://datasheets.raspberrypi.org/cm4io/cm4io-datasheet.pdf]

[링크 : https://datasheets.raspberrypi.org/cm4/cm4-datasheet.pdf]

 

 

+

2021.06.10

리눅스에서 해봄

libusb의 경우 이전에 RTL-SDR 한다고 설치되어 있어서 설치 안하고 된 듯.

2GB RAM / 8GB eMMC 모델인데

마운트 하려고 시도해보니 파티션도 없고 빈 eMMC 인것 같은데

도대체 라즈베리 4에서 전원 넣으면 뜨는 GUI 부트로더는 어디에 들어있는거냐?!?!

$ sudo apt install libusb-1.0-0-dev
$ git clone https://github.com/raspberrypi/usbboot
$ cd usbboot

$ sudo ./rpiboot
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Sending bootcode.bin
Successful read 4 bytes
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Second stage boot server
Loading embedded: start4.elf
File read: start4.elf
Second stage boot server done

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   1   7.3G  0 disk

$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 7.29 GiB, 7818182656 bytes, 15269888 sectors
Disk model: 0001
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

$ sudo mount /dev/sdb /mnt/
NTFS signature is missing.
Failed to mount '/dev/sdb': 부적절한 인수
The device '/dev/sdb' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

 

+

rpi4는 SPI EEPROM 512KB(4Mbit) 짜리 달려있고 거기에 bootcode.bin이 들어있다고

다만 SD에 있을 경우 내장 bootcode.bin은 무시되는 듯.

[링크 : https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md]

'embeded > raspberry pi' 카테고리의 다른 글

bmp280  (0) 2021.06.09
어?! 지름 망 ㅋㅋㅋ  (0) 2021.06.09
cm4 io board / rpiboot  (0) 2021.06.09
라즈베리 Zero용 CSI FPCB 케이블 도착  (0) 2021.06.08
라즈베리 i2c 센서 작동 확인  (0) 2021.06.05
센서 스펙  (0) 2021.06.05
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2021. 6. 8. 18:30

내껀 아니지만 아무튼 도착!

라즈베리 Zero는 아니고 CM4용 보드에 한번 달아보려는데.. 잘 되겠지? ㅠㅠ

 

근데 언제 켜보나.. ㅠㅠ

 

 

흰 케이블이 원래 라즈베리 카메라에 딸려오는 FFC 케이블

갈색이 라즈베리 Zero용으로 구매한 FPCB 케이블(FPCB니 케이블이라고 하긴 그런가?)

'embeded > raspberry pi' 카테고리의 다른 글

어?! 지름 망 ㅋㅋㅋ  (0) 2021.06.09
cm4 io board / rpiboot  (0) 2021.06.09
라즈베리 Zero용 CSI FPCB 케이블 도착  (0) 2021.06.08
라즈베리 i2c 센서 작동 확인  (0) 2021.06.05
센서 스펙  (0) 2021.06.05
pinout  (0) 2021.06.05
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2021. 6. 5. 22:11

4개의 장비 4개의 id가 잘 뜨네!

0x1e - compass

0x53 - adxl345

0x68 - mpu6050

0x77 - bmp180

$ i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1e --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- 53 -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

 

3.3v에 가까운 쪽에 대충 결선하다 보니, 운 좋게(!)  i2c-1에 죄다 연결된 듯

 $ gpio readall
 +-----+-----+---------+------+---+---Pi 2---+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 | ALT0 | 1 |  3 || 4  |   |      | 5v      |     |     |
 |   3 |   9 |   SCL.1 | ALT0 | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 2---+---+------+---------+-----+-----+

 

+

읭? 6축 외에 온도 값도 획득이 가능한가?

>>> from mpu6050 import mpu6050
>>> sensor = mpu6050(0x68)
>>> sensor.get_
sensor.get_accel_data(  sensor.get_all_data(    sensor.get_gyro_data(   sensor.get_temp(
>>> sensor.get_all_data()
[{'x': 9.897629663085937, 'y': 0.296881005859375, 'z': -1.1468225952148436}, {'x': -0.48854961832061067, 'y': -1.7251908396946565, 'z': -0.3053435114503817}, 27.541764705882354]

[링크 : https://pypi.org/project/mpu6050-raspberrypi/]

 

+

기압계

마이너스 고도라.. -_-

얼핏 어디서 보기로는 해발기준 기압을 조정해야 고도가 정상적으로 나올텐데 cal 값이 그 항목이려나?

>>> import Adafruit_BMP.BMP085 as BMP085
>>> sensor = BMP085.BMP085()
>>> sensor.
sensor.cal_AC1                  sensor.cal_AC6                  sensor.cal_MD                   sensor.read_sealevel_pressure(
sensor.cal_AC2                  sensor.cal_B1                   sensor.read_altitude(           sensor.read_temperature(
sensor.cal_AC3                  sensor.cal_B2                   sensor.read_pressure(
sensor.cal_AC4                  sensor.cal_MB                   sensor.read_raw_pressure(
sensor.cal_AC5                  sensor.cal_MC                   sensor.read_raw_temp(
>>> sensor.read_altitude()
-197.0233308539572
>>> sensor.read_pressure()
103706
>>> sensor.read_temperature()
31.9

[링크 : https://learn.adafruit.com/using-the-bmp085-with-raspberry-pi/using-the-adafruit-bmp-python-library]

 

온도와 고도가 이상해서 캘리브레이션 가능한가 찾아보는중.

AC1 = sensor.cal_AC1
AC2 = sensor.cal_AC2
AC3 = sensor.cal_AC3
AC4 = sensor.cal_AC4
AC5 = sensor.cal_AC5
AC6 = sensor.cal_AC6
B1 = sensor.cal_B1
B2 = sensor.cal_B2
MB = sensor.cal_MB
MC = sensor.cal_MC
MD = sensor.cal_MD

X1 = (UT-AC6) * AC5 / pow(2,15)
X2 = MC * pow(2,11) / (X1 + MD)
B5 = X1 + X2
T = (B5 + 8) / pow(2,4)
print(T)

[링크 : https://cdn-shop.adafruit.com/datasheets/BST-BMP180-DS000-09.pdf]

 

+

지자기 센서도 오케이!

>>> from i2clibraries import i2c_hmc5883l
>>> hmc5883l = i2c_hmc5883l.i2c_hmc5883l(1)
>>> hmc5883l.setContinuousMode()
>>> hmc5883l.setDeclination(2, 15)
>>> print(hmc5883l)
Axis X: -133.4
Axis Y: -411.24
Axis Z: -379.04
Declination: 2° 15'
Heading: 254° 17'
>>> hmc5883l.
hmc5883l.AxisXDataRegisterLSB     hmc5883l.IdentificationRegisterB  hmc5883l.declination              hmc5883l.scale
hmc5883l.AxisXDataRegisterMSB     hmc5883l.IdentificationRegisterC  hmc5883l.declinationDeg           hmc5883l.scale_reg
hmc5883l.AxisYDataRegisterLSB     hmc5883l.MeasurementContinuous    hmc5883l.declinationMin           hmc5883l.setContinuousMode(
hmc5883l.AxisYDataRegisterMSB     hmc5883l.MeasurementIdle          hmc5883l.getAxes(                 hmc5883l.setDeclination(
hmc5883l.AxisZDataRegisterLSB     hmc5883l.MeasurementSingleShot    hmc5883l.getDeclination(          hmc5883l.setOption(
hmc5883l.AxisZDataRegisterMSB     hmc5883l.ModeRegister             hmc5883l.getDeclinationString(    hmc5883l.setScale(
hmc5883l.ConfigurationRegisterA   hmc5883l.StatusRegister           hmc5883l.getHeading(
hmc5883l.ConfigurationRegisterB   hmc5883l.addOption(               hmc5883l.getHeadingString(
hmc5883l.IdentificationRegisterA  hmc5883l.bus                      hmc5883l.removeOption(

[링크 : https://tutorials-raspberrypi.com/build-your-own-raspberry-pi-compass-hmc5883l/]

 

+

가속도 센서도 오케이!

>>> from i2clibraries import i2c_adxl345
>>> adxl = i2c_adxl345.i2c_adxl345(1)
>>> print(adxl)
X:    0.0
Y:    -0.125
Z:    0.75

[링크 : https://python.hotexamples.com/.../-/i2c_adxl345/python-i2c_adxl345-function-examples.html]

'embeded > raspberry pi' 카테고리의 다른 글

cm4 io board / rpiboot  (0) 2021.06.09
라즈베리 Zero용 CSI FPCB 케이블 도착  (0) 2021.06.08
라즈베리 i2c 센서 작동 확인  (0) 2021.06.05
센서 스펙  (0) 2021.06.05
pinout  (0) 2021.06.05
딱 만들고 싶었던 그 프로그램  (0) 2021.06.04
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2021. 6. 5. 16:38

다행인지 전부 3.3V / i2c 사양

 

GY-291 / ADXL345 3 축 가속도 센서
i2c 3.3V (0x53 7bit, 0xA6 8bit)

[링크 : https://www.analog.com/media/en/technical-documentation/data-sheets/ADXL345.pdf]

[링크 : https://www.eleparts.co.kr/goods/view?no=3217893]



HMC5883L 
3축 compass 센서
i2c 3.3v (0x1E 7bit)

[링크 : http://www.jkelec.co.kr/img/sensors/manual/hmc5883l_gy271/hmc5883l_gy271_manual.html]

[링크 : http://www.jkelec.co.kr/img/sensors/manual/hmc5883l_gy271/hmc5883l_ds.pdf]

BMP180
i2c 3.3v (0x77 7bit, 0xEE 8bit)

기압/온도 센서

[링크 : http://www.jkelec.co.kr/img/sensors/manual/bmp180_gy68/bmp180_gy68_manual.html]

[링크 : http://www.jkelec.co.kr/img/sensors/manual/bmp180_gy68/bmp180_ds.pdf]




gy-521 / mpu6050 6축 자이로/가속도 센서
i2c 3.3v (0x68 7bit)

[링크 : http://www.jkelec.co.kr/img/sensors/manual/mpu6050_gy521/mpu6050_gy521_manual.html]

[링크 : https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf]

[링크 : https://rasino.tistory.com/325]

'embeded > raspberry pi' 카테고리의 다른 글

라즈베리 Zero용 CSI FPCB 케이블 도착  (0) 2021.06.08
라즈베리 i2c 센서 작동 확인  (0) 2021.06.05
센서 스펙  (0) 2021.06.05
pinout  (0) 2021.06.05
딱 만들고 싶었던 그 프로그램  (0) 2021.06.04
rpi cm4 어댑터 보드 or RPI zero 케이블?  (0) 2021.06.04
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2021. 6. 5. 00:03

파이썬 유틸이긴 한데

굳이 조금 이쁜거 보겠다고 무겁게 쓸만한 녀석은 아닌듯?

 

 

[링크 : https://gpiozero.readthedocs.io/en/stable/cli_tools.html]

'embeded > raspberry pi' 카테고리의 다른 글

라즈베리 i2c 센서 작동 확인  (0) 2021.06.05
센서 스펙  (0) 2021.06.05
pinout  (0) 2021.06.05
딱 만들고 싶었던 그 프로그램  (0) 2021.06.04
rpi cm4 어댑터 보드 or RPI zero 케이블?  (0) 2021.06.04
rpi4 cm4 csi  (0) 2021.06.03
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2021. 6. 4. 23:38

 

[링크 : https://www.youtube.com/watch?v=yqFfmwVufMo]

[링크 : https://github.com/mattzzw/Arduino-mpu6050]

'embeded > raspberry pi' 카테고리의 다른 글

센서 스펙  (0) 2021.06.05
pinout  (0) 2021.06.05
딱 만들고 싶었던 그 프로그램  (0) 2021.06.04
rpi cm4 어댑터 보드 or RPI zero 케이블?  (0) 2021.06.04
rpi4 cm4 csi  (0) 2021.06.03
rpi 4b 해상도, 주사율  (0) 2021.05.21
Posted by 구차니

댓글을 달아 주세요