Another 18

[Raspberry Pi] MQTT 브로커 mosquitto 설치

모스키토(mosquitto)를 설치하기 전에 모스키토 프로그램의 서명키(인증키)를 다운로드합니다. cd ~ wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key 그리고 모스키토의 저장소 패키지를 등록합니다. cd /etc/apt/source.list.d/ sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list 또는 sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list 2018-04-18일 이후로 라즈비안을 다운로드후 설치하신 분은 아래 명령어를 입력해야 합니..

전원 설계

- 외부 전원 - MCU 전원 1. 외부 전원 아래의 회로도와 같이 부품 소자 보호를 위해 커패시터(C1, TVS1) 부착 C1인 경우 전압의 2.5배 이상의 커패시터 용량 사용 TVS1는 수시로 케이블을 뺏다 꼽았다 하는 전원 부분에 부착 -> 소자 파손 방지용으로 필요. 위의 표에서 설명하고 있는 TVS 다이오드는 +20V 에서 클리핑을 해줍니다. 칩이 망가질 수 있는 전압이 30V 라고 가정했을때, 안정적으로 칩을 보호할 수 있게 해주는 역활을 합니다. 2. MCU 전원 사용할 MCU(ATSAD21G)는 3.3V의 전원을 가집니다. 3.3V를 사용하기 위해선 5V -> 3.3V로 낮추어 주는 LDO가 필요로 합니다. 저 같은 경우 XC6210을 사용했습니다. 아래의 내용은 데이터 시트 참조 후 사용..

MCU 설계

MCU 설계 하면서 데이터 시트를 잘 보면 설계를 막힘없이 할 수 있다. MCU: ATSAMD21G18A-AUT 데이터 시트 참조. 앞 서 전원 회로 설계 글에서 MCU전원 설계 3.3V한 이유는 MCU 동작전원이 3.3V로 필요로 하기 떄문. CRYSTAL_32.76K 선정: 데이터 시트 필요. 아래 데이터 시트 내용 보면 crystal mcu 선정 스펙이 나와 있음. Serial Port 사용 회로 설계 목적이 Serial Port 사용이 두가지가 필요하다. Serial1 : D1/TX1(PA10), D0/RX1(PA11) -> 기본 Serial Serial : D31/TX2(PB22), D30/RX2(PB23) -> 확장 Serial 위에 사진은 SAMD 칩의 핀 설명 VARIANT.CPP 파일 중..

[Raspberry Pi] 모니터 없이 연결

라즈베리파이에는 여러 종류가 있다. 라즈베리파이, w, wh, 2, 3, 3B, 4 등등.. 모니터를 연결할 수 있게 HMDI 포트가 나와 있는데 3나 3B인 경우 일반 HDMI케이블을 사용해서 일반 모니터와 연결 시 그닥 문제가 있진 않지만 w나 4는 일반 HDMI가 아닌 mini, micro 를 사용하기 때문에 어댑터가 필요 하다. 라즈베리파이와 같은 미니pc, 리눅스 환경은 터미널에서 작업을 주로 하기에 ssh 연결 후 작업 시 크게 문제가 되진 않는다. ※ 라즈비안 설치 일단 라즈비안 OS를 올릴 SD카드 준비. SD 카드 노트북에 연결. Raspberry Pi imager 프로그램 실행. 아래 링크에서 다운로드. www.raspberrypi.org/software/ Raspberry Pi OS ..

[Raspberry Pi] 라즈베리파이4 온습도 센서(DHT22) 에러 -> 해결완료

온습도 센서 데이터 값을 불러와서 읽기. 라즈베리파이4를 이용해 온습도 데이터를 읽어오자. 사용한 센서는 DHT22 센서. 첫번째로 소프트웨어 최신 업데이트 git 에서 Adafruit 사의 라이브러리 다운로드. 아래의 명령어들을 라즈베리파이 터미널에서 실행 sudo apt-get update git clone https://github.com/adafruit/Adafruit_Python_DHT.git cd Adafruit_Python_DHT sudo python setup.py install 완료 시 아래 사진처럼 작업 진행 후 완료. 테스트 프로그램 실행 테스트 프로그램 dht11.py import time import Adafruit_DHT sensor = Adafruit_DHT.DHT11 pin ..

RS-232

사용 이유 MCU나 다른 장치간의 통신은 UART 방식이 많이 사용되는데요. UART 통신을 일반 점퍼선으로 하는 경우, 거리가 수십 cm 이내로 가까우면 통신이 잘 됩니다. 그런데 거리가 멀어지면 노이즈가 커져서 오류가 많이 발생하고 정상적인 통신이 어렵습니다. DB9 또는 DB25 케이블을 사용하는 RS-232(RS232) 방식으로 UART 통신을 하면, 수십 m 거리에서도 통신할 수 있습니다. Capacitance가 낮은 케이블을 사용하면 약 300m 거리까지 통신할 수 있습니다. 이 글에서는 3.3V UART 신호를 RS-232 신호로 바꾸고 RS-232 통신의 파형을 관찰했습니다. 사용한 RS232 모듈은 MikroElektronika에서 MAX3232 IC를 사용해서 제작한 것입니다. 참고로 ..

[Raspberry Pi] 재 부팅 시 Python 실행 터미널 실행

라즈베리파이는 미니pc로 많은 기능들이 있는데요. 그 중 재 부팅 시 python프로그램을 자동으로 실행 해보겠습니다. 자동 실행 기능을 지원하는 명령어들이 많지만 프로그램 실행 시 터미널(쉘)이 같이 실행이 필요한 경우도 있겠죠??.. 메인 터미널(쉘) 실행 후 sudo nano /etc/xdg/lxsession/LXDE-pi/autostart 실행 여기서 한 4줄인가있는데 screensaver의 바로 밑줄에다가 명령어를 입력해주면됩니다... 리부트시 기본폴더에 있는 python프로그램('Hellow_python.py")을 실행시켜 보자면.. lxterminal -e python /home/pi/Hellow_python.py 위의 사진 처럼 실행 되는 것을 볼 수 있습니다. 저 같은 경우 마지막 코드에..