목록RaspberryPi (73)
행복한 하루
안녕하세요. 라즈베리파이에서 각종 수치를 외부에서도 볼 수 있어야 하므로 출력해줄 수 있는 장치가 필요합니다. 그래서 첫 번째로 테스트해 볼 장치는 소형 OLED 0.96inch로로 선택해보았습니다. 다음번에는 5inch LCD로 한 번 더 테스트해 보겠습니다. 시중에 SSD1306 시리즈가 많이 유통되고 있고 간단한 글자를 표현하는 것에 사용되고 있습니다. 그리고 1.5inch 등 인치가 올라가면 조금 다른 라이브러리를 사용해야 합니다. 주의할 점은 SSD1306를 사용하기 위해서는 2가지 통신 타입이 있다는 것을 인지해야 합니다. SPI의 6핀과 I2C의 4핀 형태가 있으며, 화면에 나타나는 색상이 흰색, 파랑 등으로 나뉘어 있다는 것을 알고 있어야 합니다. 확인하시고 구매하셔야 합니다. 이번 테스트..
안녕하세요. HTU21D 모듈은 2편으로 끝이 났습니다. 그런데, python 소스로 공개된 것이 대부분 python2 버전이다 보니, 현재 소스를 컴파일하면 작동이 되지 않았습니다. a bytes-like object is required, not 'str' 이런 에러를 발생하거나 io 함수가 지원하지 않는다 거나 여러 에러가 발생했습니다. 그래서 이전 소스를 사용할 수 있도록 수정하여 번외로 공유드립니다. 1. 수정사항 a bytes-like object is required, not 'str' - 위의 에러가 발생했을 때, encode(), decode()를 사용해보라고 했는데 잘 되지 않았습니다. 기존의 헥사 0x는 그냥 사용해도 되지만, "\xE3" 같은 문자열은 변환이 되지 않아 에러가 발생했..
안녕하세요. 오늘은 라즈베리파이 제로를 통해 온도, 습도를 구할 수 있도록 프로그래밍을 해보도록 하겠습니다. 그러기 위해서는 I2C 관련된 작업이 필요하고 파이썬 프로그래밍 이해가 조금 필요합니다. 그렇지만, 따라 하시면서 아~ 정도로 보실 정도로 진행해 보겠습니다. 1. I2C 라이브러리 설치 - 만약 Raspbian-full 버전을 설치하셨다면, 이 과정은 필요 없습니다. 그렇지 않다면 설치 프로그램으로 i2c-tools, python-embus를 설치해주어야 합니다. pi@raspberrypi:~ $ sudo apt-get install i2c-tools python-smbus 이미 설치되어 있다면 아래와 같이 설치되었다고 나옵니다. 2. I2C 활성화해주기 - 기본적으로는 I2C는 disabled..
안녕하세요 오늘은 라즈베리파이 제로로 온도와 습도를 구할 하는 하드웨어 작업을 해보겠습니다. IoT 시스템 중에 기본적인 것이 온도, 습도를 데이터를 이용해서 여러 가지로 활용하는 것입니다. 예를 들면 실내온도가 갑자기 50도 이상이 되었을 때 화재로 인식하여 알람을 발생시켜주거나 습도가 90% 이상이라고 한다면 제습기를 자동으로 틀어주게 한다든지 여러 가지로 활용할 수 있습니다. 그래서 이번에 사용해볼 칩(CHIP)은 HTU21D 입니다. 프로그램 소스도 많고, 판매하는 곳도 많고 i2c로 디지털 데이터를 받을 수 있기 때문입니다. 그러나 가격은 아날로그 데이터를 가져오는 온도 센서보다는 가격이 조금 있습니다. 온도 정확도를 정밀하게 한다면 더 비싼 가격의 제품을 구할 수도 있습니다. 그러나 여기서는 ..
안녕하세요 이번 회차에는 버튼의 입력을 받아 LED의 깜박이는 속도를 조절해 보도록 하겠습니다. 핵심은 스위치를 통해 눌렀는지를 알 수 있도록 버튼 입력을 신호를 읽어보는 것입니다. 1. 필요한 부품 - 이전 LED 제어 때와 동일하고, 추가로 스위치와 저항이 필요합니다. 추가적인 부품을 적어보면 10K ohm 저항, Tact 스위치( 없으면 그냥 점퍼 케이블로도 가능합니다.) / (탄소 피막 저항 같은 경우도 가변저항으로 10k, 300 ohm을 조정해서 사용했습니다.) - 추가로 작은 브레드보드(빵판)를 하나 구매했습니다. 이유는 스위치 한 핀에 여러 개를 연결하려면 점퍼 케이블로는 연결하기 힘들기 때문입니다. 2. 배선 방법 1) 버튼 한쪽을 PIN_1(3.3V)에 연결합니다. 2) 버튼 다른 한쪽..
안녕하세요 이번에는 LED의 밝기를 조정해보도록 하겠습니다. GPIO는 HIGH(3.3V), LOW(0V)이라고 해놓고 어떻게 밝기를 조절할 수 있냐고 하겠지만, 방법이 있었습니다. 첫 번째는 물리적인 저항값을 변경하는 것이 있습니다. 이건 좀, 그 다음 방법으로는 PWM(Pulse width modulation)이라는 기술인데 말 그대로 펄스(신호) 간격을 잘 조절해주는 기술을 말합니다. 그럼 어떻게 하면 될까요? 만약 0과1을 엄청나게 빠르게 전환시켜준다면, 그리고 그 간격 시간을 조금씩 늘려 주거나 켜져 있는 시간을 조금 더 오래 두고 꺼지는 시간을 조금 짧게 한다면 사람 눈에는 보이지 않게 밝기가 조절되는 것처럼 보일 것입니다. 그러다가 조절 잘못하면 깜박임 현상으로 보일 수도 있습니다. 그런데 ..
안녕하세요. 이제 좀 더 고차원적인 언어로 LED를 제어 프로그래밍을 해보도록 하겠습니다. 두 가지 방법이 있습니다. 첫 번째는 GUI를 이용한 프로그램, 두 번째는 CUI (커맨드 창)에서 코드를 입력하면서 실행하는 방법이 있습니다. GUI를 이용하려면 앞 시간에 본 xrdp를 설치하고 윈도우에서 원격 데스크톱으로 연결하여 GUI 작업을 하면 됩니다. 1. GUI 파이썬 프로그래밍 - 원격에서 접속할 경우 라즈베리 파이 아이콘 > Programming > Thonny Python IDE를 실행하면 됩니다. 이전 회차에서 LED 제어했던 것처럼 코딩해주면 됩니다. 조금 차이점이라고 한다면 라즈베리 파이에서 파이썬용으로 사용할 수 있는 GPIO 라이브러리를 제공해주고 있습니다. 그래서 import 시에 g..
안녕하세요. LED 제어를 위한 H/W 준비가 되었다면 이제 소프트웨어로 제어를 해보는 것을 해보도록 하겠습니다. 소프트웨어로 GPIO 핀을 제어하는 방법에도 이미 만들어진 COMMAND Line으로 제어를 할 수 있고 C 언어나 파이썬과 같은 프로그래밍 언어로도 제어가 가능합니다. 쉬운 방법부터 알아보겠습니다. 1. 부품 연결 - LED의 + 쪽(일반적으로 다리 긴 쪽)을 3.3V 제로의 8핀에 연결해줍니다. - LED의 - 쪽은 저항에 연결해줍니다. (저항은 극성이 없음으로 아무 쪽에 연결하면 됩니다.) - 저항의 남은 한쪽은 제로의 6핀(GND -)에 연결해 줍니다. - GND 핀 바로 옆에 8핀이 있습니다. 2. Command 명령 - 라즈베리파이 내에서 제공해주는 gpio 명령어가 있습니다. r..
안녕하세요. 앞 강좌와 같이 작업을 했다면 이제 하드웨어를 제어해 보는 재미난 일들을 해보겠습니다. 부품들은 디바이스마트, 엘레파츠 등에서 구할 수 있으며 아니면 고장 난 부품들 속에서 구해도 됩니다. 1. 필요한 부품 - LED를 제어하기 위해 필요한 부품을 먼저 보자면 LED 1개, 저항 200~500 ohm 1개, 라즈베리 파이 제로, 헤더핀, 점퍼케이블, 멀티 미터기 (저는 200~500 ohm이 없어서 가변저항 10k ohm을 사용하였습니다. 가변이라 멀티 미터기로 저항값을 맞추어 주어야 합니다. 저항 값을 300ohm으로 맞추었습니다.) 2. 선행 작업 - 라즈베리파이 제로 경우 헤더핀이 연결되어 있지 않아서 직접 납땜을 해주어야 합니다. 그러면 핀들을 점퍼선으로 연결할 수가 있습니다. 3. ..
안녕하세요. 라즈베리파이 제로를 무선으로만 연결했다면 GUI를 포기해야 할 수도 있습니다. 그러나 방법은 있습니다. 그리고 특별히 자신의 PC에 프로그램을 설치할 필요 없이 윈도우의 원격 데스크톱 연결로 제로에 연결하여 xwindow화면을 볼 수 있습니다. 어떻게? 바로 그 방법을 알아보도록 하겠습니다. RDP(Remote Desktop Protocol)은 마이크로소프트사에서 개발한 원격 데스크톱 프로토콜로 GUI 형식으로 원격 접속을 하기 위한 프로토콜입니다. 윈도우에서 GUI가 중심인 마이크로소프트 사는 이것이 필수였을 것입니다. 이를 본떠서 만든 것이 오픈 진영의 xwindow rdp입니다. ssh 가 셀(Shell) 중심이고 CUI - Consol User Interface라고 한다면, xrdp는..
안녕하세요. 간략팁을 전달드립니다. 암호변경 방법 2가지 입니다. 1. sudo raspi-config 변경 - raspi-config 에서 암호 변경하면 제한이 없이 지정할 수 있습니다. 글자 길이와 글자가 단순하다고 하는 제한이 없습니다. - 엔터를 누르면 변경할 수 있게 커맨드 창으로 변경됩니다. - 새로운 암호 입력 두 번 해주면 성공했다는 메시지가 뜨고 Finish 하고 종료하면 됩니다. - sudo reboot를 통해 변경된 암호를 확인할 수 있습니다. 2. “passwd pi” 커맨드로 변경 - 유닉스 시스템과 같은 암호 변경하는 방법으로 글자 길이, 단순한 암호라고 하는 제한 있으므로 원하는 암호를 생성하지 못할 수 있습니다. 아래와 같이 입력하면 변경이 가능합니다. pi@raspberry..
안녕하세요. OS 설치 내용을 따라 하셨다면 이제 무선으로 작업할 수 있도록 파일 편집(config.txt, cmdline.txt)을 해주어야 합니다. 만약 USB to Lan이 있다면 그럴필요는 없겠지만, 라즈베리파이 제로 자체에 wifi 모듈이 장착되어 있어서 굳이 UTP 케이블을 연결할 필요는 없을 것입니다. 우선, ssh를 사용하기 위해 config.txt와 cmdline.txt를 수정해주는 작업과 무선공유기 설정작업을 해주어야 합니다. 1. Micro SD 카드 파일 확인 OS 가 설치된 sd 카드를 PC에서 읽어 보면 아래의 폴더와 파일을 볼 수 있습니다. 2. SSH 파일 생성: 빈 파일 SSH를 사용하기 위해서는 특별한 명령어 파일들을 다운받을 필요가 없지만, 일단 SD카드에 빈 파일 하나..
안녕하세요. 회사 프로젝트로 라즈베리파이 제로를 이용하다가 사용 방법을 공유해야겠다 생각하고 있다가 벌써 몇 달이 지나갔네요. 늦었지만 지금이라도 공유해보아요. 기본적인 내용도 적겠지만 설치하고 하는 부분들은 이미 올리신 분들이 많아서, 저는 하다가 막히는 부분 아니면 외국 사이트에 나온 내용을 풀어서 한번 테스트 하는 내용을 올려보도록 하겠습니다. 그래도 최소한의 기본은 작업은 먼저 해두어야겠죠. 우선, 제가 가진 제품을 보여드리면 아래와 같은데요. 파이 제로 보드만 있는 것을 사려고 했는데 품절이라고 나와서 케이스 있는 것을 구매했는데요. 보시고 HDMI mini 연결 단자와 USB 연결 단자가 필요하신 분들은 케이블도 포함되어 있는 세트를 구매하시길 바랍니다. 저는 가지고 있는 케이블들이 있어서 이..