반응형

나는 라즈베리파이로 많은 프로젝트를 했다. 개인적으로 많이 가지고 놀기도 했고 특히 미니 해서 좋아했다. 위 사진은 내가 지금 가지고 있는 라즈베리파이들이다. 더 있지만 깔끔하게 관리되고 있는 것들로 사진을 찍었다.

그러다 보니 관련 문서도 자주 찾아보게 되고, Reddit에서 재밌는 프로젝트도 찾아보곤 한다.

많은 사람들이 balenaEtcher 프로그램을 이용해서 SD카드에 라즈비안을 굽는다. 나 또한 그랬다.

하지만 요즘엔 Raspberry Pi imager를 이용한다.


 
Raspberry Pi imager를 사용하는 이유.
  • 첫 번째 : balenaEtcher를 이용하면 라즈비안 OS도 별도로 설치해야 한다. 하지만 Raspberry Pi imager를 사용하면 별도의 OS 없이 라즈비안을 SD카드에 설치할 수 있다.
  • 두 번째 : 라즈비안 OS 설정을 Raspberry Pi imager에서 바로 설정할 수 있다.

나는 두 번째 이유 때문에 Raspberry Pi imager를 사용한다.

보통 처음 라즈베리파이를 사용하는 사람은 Full OS(GUI 포함)를 사용한다. 하지만 조금 사용하다 보면, 100에 99는 LITE OS를 설치하여 SSH로 접속한다.

SSH 접속하는 방법은 간단하다. 다만, 매번 설정하는 것이 귀찮다.


Raspberry Pi SSH 설정 (SD 카드 Flash 성공했다는 가정 하에)
  • SSH enable : ssh (확장자명 없이 빈 파일 생성)
  • WiFi 설정 : wpa_supplicant.conf (파일 생성) WiFi 5GHz 대신 2.4GHz 지향
  • Port fowarding : 기본 SSH 포트 번호 => 22
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
    ssid="{WiFi 아이디}"
    psk="{WiFi 비밀번호}"
    key_mgmt=WPA-PSK
}

대부분 사람들이 위 방법으로 SSH를 설정한다. 하지만 이것도 한두 번이지 굉장히 귀찮은 작업이다. 이제 내가 추천하는 방법이다. 바로 Raspberry Pi imager를 이용하는 방법이다. 파일을 생성하고, 코드를 작성할 필요도 없다. 모두 GUI 선에서 해결할 수 있다.


추천 :Raspberry Pi imager를 이용하여 Raspberry Pi SSH 설정
  • Raspberry Pi imager 설치 (공식 홈페이지)

- 설치가 완료되면 아래와 같이 프로그램을 실행한다.

  • Advanced options (Ctrl + Shift + X)

- 컨트롤, 시프트, X 키를 동시에 누르면, 기본 옵션을 설정할 수 있는 창이 아래와 같이 보인다.

- 이 설정값을 매번 사용하고 싶으면 [for this session only][to always use]로 변경한다.

- set hostname : host name이다. 디폴트는 raspberrypi이다. 굳이 변경하지 않아도 된다.

- Enable SSH : SSH 활성화, 활성화하려면, 체크하면 된다. 초기 비밀번호를 변경할 수 있다. default는 raspberry이다.

- Configure wifi : 연결하고 싶은 WiFi 이름과 비밀번호를 입력한다. 단, 5GHz WiFi는 안된다. 항상 2.4GHz WiFi를 선택해야 한다.

위 GUI 방식으로 WiFi와 SSH를 설정하면, 실수도 줄어들고 빠르고 직관적으로 내 라즈베리파이를 설정할 수 있다. 지금까지 SD카드에 일일이 설정했다면, 이제 Raspberry Pi imager를 사용하길 바란다.

728x90
반응형
반응형

목차

1. HC-05, HC-06 테스트 및 설정 : https://coding-yoon.tistory.com/206

 

글을 시작하기 전에 내가 대학생일 때 들었었으면 좋았을 강의 하나가 있다. 이용성 교수님께서 강의해 주시는 건데 회로부터 하나하나 설명해 주시니 진짜 너무 좋은 영상이다.

아두이노 UNO 와 블루투스 모듈과 0, 1번을 사용하면 안 되는 이유

가끔 블로그를 보면 아두이노와 블루투스 모듈을 0, 1번에 서로 연결하는 경우가 있다. 완성 시 컴퓨터와 분리했을 때는 문제가 되지 않고, 아두이노에 코딩을 할 때 문제가 발생한다.

아두이노에서 통신 방식은 대표적으로 UART, I2C, SPI 방식이 있다. 특히 UART를 조심히 사용해야 한다.

가장 많이 사용되는 아두이노 UNO 같은 경우 UART는 한 개이며, 각각 0번 핀(RX:수신), 1번 핀(TX:송신)이다. 그런데 아두이노는 이상한 특징을 가지고 있다. UART 0, 1번 핀이 컴퓨터와 연결되는 USB 케이블 부분과 연결돼 있다.

우리는 아두이노에서 출력되는 값을 아두이노 serial monitor를 통해서 확인할 수 있다. USB 케이블을 통해 데이터가 출력되지만, 이 USB 케이블은 0, 1번과 연결돼있다. 정리하자면 컴퓨터에 아두이노를 연결하는 순간 이미 아두이노와 컴퓨터는 서로 serial 통신을 하고 있다.

그렇다면 블루투스 모듈을 0, 1번에 사용하면 어떻게 될까? 당연히 충돌 난다. 하지만 간혹 운이 좋아 동작할 수 있지만 올바른 동작이라고 할 수 없다.

그렇다면 아두이노 UNO는 UART를 사용할 수 없는가?

하나밖에 없는 UART는 이미 사용하고 있기 때문에, 아두이노는 softwareserial를 사용해 uart를 사용할 수 있다. 몇 개든 uart를 선언해서 사용할 수 있지만 software로 구현돼있기 때문에 굉장히 느리다. 그렇기 때문에 아두이노 코딩 할 때는 softwareserial을 사용할 수 밖에 없고, 완성 후에 하드웨어 serial을 사용하면 된다. 이것에 대한 팁은 나중에 올리려고 한다.

*아두이노에 대한 UART를 더 알고 싶으시면 아래 블로그를 참고하시길 바랍니다.

아두이노 UNO 와 블루투스 모듈(HC-05, HC-06) 연결

아래와 같이 아두이노와 블루투스 모듈을 연결했고, 코드는 아래와 같다.

코드는 굉장히 간단하다. 블루투스로 수신 받은 값을 serial monitor에 출력하는 코드이다. 

#include <SoftwareSerial.h>

#define BT_RXD 3
#define BT_TXD 2
SoftwareSerial bluetooth(BT_RXD, BT_TXD);

void setup() {
  Serial.begin(115200);     // 이전 글 참고
  bluetooth.begin(115200);  // 이전 글 참고
}

void loop() {
  if (bluetooth.available()) {
    Serial.write(bluetooth.read());
  }
  if (Serial.available()) {
    bluetooth.write(Serial.read());
  }
}

 

올바르게 연결하고 펌웨어에 코드를 입혔다면, Arduino bluetooth controller를 설치해서 Terminal mode로 테스트한다. Hello를 입력해보면, Arduino IDE의 Serial monitor에서 값을 확인할 수 있다.

 

 

HC-05, HC-06

블루투스 모듈인 HC-05와 HC-06에서 LED를 확인할 수 있는데, 이는 state에 대한 LED이다.

LED 점멸 : 기기 Pair 가능 상태

LED 꺼짐 : 연결 상태

HC-05, HC-06에는 VCC, GND, TX, RX 외에도 state, EN 단자가 있다. state는 블루투스 상태를 출력하는 단자로 위 LED에 연결돼있다. EN 단자는 만약 블루투스가 연결 상태라면 강제로 신호를 주어 블루투스 연결을 끊을 수 있다.

728x90
반응형
반응형

아두이노 블루투스 모듈 중 가장 유명한 것은 HC-05, HC-06이다.

이번 블루투스 프로젝트를 진행하면서 많은 사람들이 놓치고 가는 것을 짚고 가려 한다.

이 글은 HC-05, HC-06 모듈이 있다는 가정하에 진행된다.

 

HC-05, HC-06

수중에 가지고 있는 블루투스 모듈인 HC-05이다.

HC-05, HC-06과 같은 블루투스 모듈은 사전에 프로그래밍 된 AT 명령어를 통해 쉽게 제어할 수 있어 많은 인기가 있다.

블루투스 모듈에는 이미 기능이 구현돼있으며, 우리는 AT 명령어만 사용하면 되니 굉장히 간편하다. 만약 블루투스 모듈을 구매하기 전이라면, UART to USB 도같이 구매하는 것을 추천하고 싶다.

이유는 나중에 아두이노 구조에 대해 설명할 때 작성하겠다.

 

선 연결

HC-05를 설정하기 위해 HC-05와 UART to USB를 연결해야 한다.

UART to USB는 HC-05, HC-06 와 컴퓨터 연결을 도와주는 역할을 한다. 만약 UART to USB를 구매하지 않았다면, 아두이노로 대체 가능하다.

UART to USB와 HC-05, HC-06의 선 연결은 그림과 같다. TX와 RX는 서로 교차하는 것이 맞다.

GND - GND

VCC(5V) - VCC(5V)

TX - RX

RX -TX

UART to USB와 HC-05, HC-06을 올바르게 연결했다면, UART to USB를 컴퓨터에 연결한다.

올바르게 연결됐으면, [장치 관리자]에서 확인할 수 있다.

 

Teraterm

터미널 프로그램인 teraterm은 인터넷에서 쉽게 다운로드 받을 수 있다. 아두이노 serial monitor을 사용해도 되는데 굉장히 답답하다.

1. Teraterm을 실행하면 아래와 터미널 창이 열린다. 시리얼 포트는 우리가 연결한 UART to USB를 선택한다.

2. [설정] - [시리얼 포트]를 클릭한다.

 

3. [시리얼 포트]를 클릭하여 HC-05, HC-06 모듈에 맞게 설정한다. 만약 처음 구매 시 사용하는 것이라면 기본적으로 아래와 같을 것이다. 만약 제대로 동작하지 않는다면 속도를 115200으로 다시 설정해 볼 것.

속도 (Baudrate) - 9600 or 115200

데이터 비트 - 8bit

패리티 비트 - none

스톱 비트 - 1bit

4. 이제 터미널을 설정해야 한다. [설정] - [터미널]을 클릭한다.

5. [줄바꿈]에서 수신(R)과 송신(M)을 CR에서 CR+LF로 변경한다. 왜 이렇게 변경해야 하는지는 나중에 포스팅하겠다. 우선 정의만 알고 넘어간다.

(CR : Carriage Return (\r) LF : Line Feed (\n). 해당 용어(CR, LF)와 이 용어들의 조합(CRLF)은 새로운 줄 (New line)으로 바꾸는 방식)

 

AT command 테스트

AT command를 사용하는 모듈 같은 경우, 처음 테스트를 위해 "AT"를 입력하여 "OK"를 확인다. 올바르게 UART to USB와 HC-05, HC-06 모듈이 연결됐다면, 터미널에 OK라고 출력된다. 만약 아무 값도 출력되지 않는다면, 위 과정을 천천히 다시 해본다.

 

그럼에도 아무 반응이 나오지 않는다면 추측건대 HC-05, HC-06의 UART 설정값을 올바르게 설정하지 않은 것이다. 나 같은 경우에도 예전에 사용했던 HC-05를 다시 사용하는 것이므로 설정값을 잊어 먹을 수 있으므로 모듈 뒤편에 설정값을 따로 적어 놓았다. 설정값을 따로 알 수 있는 방법이 없으므로, 결국 때려 맞추는 수밖에 없다.

 

HC-05 AT command 설정
1. 버전 확인
AT+VERSION  //  VERSION:3.0-20170609   OK

2. 블루투스 이름 "Test"로 변경
AT+NAME=Test  //  OK

3. 블루투스 이름 확인
AT+NAME?      // +NAME:Test   OK

4. 블루투스 연결을 위한 비밀번호 변경, 초기 비밀번호 : 1234
AT+PSWD=9999  // OK

5. 블루투스 비밀번호 확인
AT+PSWD?     // +PIN:"9999"

6. UART 설정 확인  
AT+ UART?    // +UART:115200,0,0

Baudrate는 115200으로 올렸지만, 스탑비트나 패리티 비트는 따로 설정하지 않았다.

더 다양한 AT명령어를 확인하기 위해 아래의 HC-05, HC-06 데이터시트를 확인하면 된다. 혹시 몰라 나는 HC-05 모듈을 사용하기 때문에 위 명령어를 사용했지만, HC-06 AT 명령어는 HC-05 명령어와 살짝 다르므로 HC-06 데이터시트를 따로 참고해야 한다.

HC-06 Datasheet.pdf
0.74MB
HC-05 Datasheet (4).pdf
0.82MB

728x90
반응형
반응형

안녕하세요.

 

지금까지 인텔만 사용했는데, 처음 사용해보는 AMD를 이용한 이유는 가성비도 있지만, 오버클럭을 위해 대부분 사람들이 AMD를 이용합니다.

 

그런데 저는 컴퓨터에 관심과 기초 지식만을 갖춘 보통 사람입니다. 

 

예전에는 컴퓨터 고수들만 오버클럭을 할 수 있었지만만, 요즘은 자동으로 오버클럭을 설정할 수 있기 때문에 저처럼 초보자들도 할 수 있습니다. ( 구글, 유튜브에서 쉽게 정보를 구할 수 있는 것도 한몫합니다. ) 

 

이 글은 다름 사람보다 저를 위한 기록용 글입니다. 저도 영재컴퓨터 스튜디오 님의 유튜브를 보고 그대로 따라 하였습니다. 

 

https://youtu.be/JDl5934g42w

라이젠 자동 오버클럭 설정하는 방법

 

오버클럭 하기 전...

 

PBO (Precision Boost Overdrive) : 자동으로 오버클럭을 해주는 기능 -> CPU -> Ryzen(가능)

XMP (eXtreme Memory Profile) : 고성능 메모리 프로파일로 오버클럭 -> RAM -> HP DDR4-3200 CL16 V8 (8GB) x 2EA(가능)

다나와 : XMP 가능


PBO와 XMP가 둘 다 지원하므로 위 유튜브의 방법을 그대로 따라 하겠습니다. 나중에 또 다시 따라 하기 위해 제 메인보드 ASUS 부분만 요약하겠습니다.

 

 

PBO

  • ASUS BIOS (Del or F8)
  • 우측 하단 > Advanced Mode(F7)
  • 위 메뉴 > Ai Tweaker - Precision Boost Overdrive 클릭
  • Precision Boost Overdrive - Enabled 
  • ESC 클릭해서 메뉴 탈출

선택사항 (저전력 관련 옵션)

  • 위 메뉴 > Advanced
  • AMB CBS
  • Global C-state Control - Enabled 
  • ESC 클릭해서 메뉴 탈출

XMP

  • 위 메뉴 > Ai Tweaker - Ai Overclock Tuner -D.O.C.P
  • F10 눌러서 저장하고 마무리

 

다음 글은 오버클럭을 설정을 하였고, 중고 그래픽 카드를 샀었으니 제대로 동작하는지 3DMark에서 FireStrike를 돌려서 점수를 확인해보겠습니다. 

728x90
반응형
반응형

안녕하세요.

 

오늘은 구글 애드센스에서 페이지 수준 광고를 설정하는 방법에 대해 이야기하겠습니다. 제 블로그 같은 경우는 저의 귀찮음 때문에 광고를 하나하나 붙이지 않고, 자동으로 광고를 붙이게끔 설정했습니다. 

 

티스토리 자동 광고 설정

그런데 평소처럼 구글링 중 아래 사진과 같은 전체 광고가 뜨는 블로그를 보았습니다.

구글링을 해보니 전체광고가 아니라 구글 애드센스에서 페이지 수준 광고라는 것을 알게 되었습니다.

 

대략 2018 ~ 2019년 티스토리 블로그들의 글을 확인하면, 구글 애드센스 관리자 페이지에서 아래와 같이 페이지 수준 광고 설정할 수 있는 메뉴가 있습니다.

 

https://mainia.tistory.com/4190

 

구글 애드센스 페이지 수준 광고 티스토리 적용하는 방법

구글 애드센스 페이지 수준 광고 티스토리 적용하는 방법 환경: Chrome 이번에 애드센스에서 새로운 방식의 광고를 추가했습니다. 좀더 공격적으로 시장 점유율을 높이기 위해 기능을 개선했습니

mainia.tistory.com

https://doctorpilot.tistory.com/9

 

티스토리 구글 애드센스 페이지 수준 광고 설정하기

구글 애드센스 페이지 수준 광고 설정하기_ 이것만 따라 오시면 모두 해결됩니다. 진짜! 구글 애드센스를 사용한지 어언 10년째, 블로그 관리를 잘 안 했기 때문인지, 수입이 오르는 속도가 생각

doctorpilot.tistory.com

2018년 페이지 수준 광고 설정 페이지

제 구글 애드센스 관리자 페이지의 메뉴에서는 페이지 수준 광고 라는 것을 눈을 씻고 찾아볼 수 없었습니다. 

2021년 내 관리자 페이지

제 구글 애드센스만 그런지 모르겠지만, 구글 애드센스 정책을 몇 개 읽어 봤지만 왜 없는지 이해할 수 없었습니다. 정책이 너무 많기도 하고...

 

하지만 현재 제 블로그를 탐방해보신 분이시라면 아시겠지만, 페이지 수준 광고가 붙었습니다. 

 

이 방법이 올바른 방법이라고 말할 수 없습니다. 다만, 저는 이 방법으로 페이지 수준 광고 이외에 접이식 광고까지 붙게 되었습니다. 

접이식 광고


혹시 아래와 같은 문구를 보신 적이 있나요?

본론부터 설명하면, 저는 구글에서 자동으로 최적의 위치에 광고를 게재하는 방법을 사용했습니다. 

 

구글 애드센스가 승인이 된 분들은 전부 저처럼 자신의 블로그가 등록이 되어 있습니다. 

 

하지만 이 기능을 저처럼 잘 모르셨던 분들은 아마 자동광고 란에 '설정 안 됨'으로 표시돼있을 겁니다. ( 저는 자동 광고를 설정했기 때문에 '설정'으로 표시됨 ) 구글 애드센스 자동 광고를 설정하고 싶으신 분은 제 글을 끝까지 읽어 주세요.

 

위 사진의 초록색 상자를 눌러주세요. ( 연필모양 )

 

누르시면 광고 설정 미리보기가 뜨면서 위와 같은 화면이 뜹니다. 그렇다면 오른쪽 메뉴바의 광고 형식을 누릅니다.

 

광고형식

그러면 이제 자기 입맛대로 위 설정을 고릅니다. 저는 잘 모르니 다 선택했습니다. 

 

그리고 '사이트에 적용'을 누르면 실험실에서 먼저 실험을 하고 사이트에 적용을 하라고 추천하는 메시지가 뜹니다.

저도 처음엔 겁이 나 실험실에서 먼저 실험을 했습니다.

 

하지만 제가 글을 150개 가량 적다 보니 실험이 끝나는 시간이 90일이 걸려 이후에 사이트에 적용이 된다 하여 그냥 포기하고 바로 '사이트에 적용'을 눌렀습니다.

 

그 결과로 현재의 페이지 수준의 광고가 붙었고, 접이식 광고가 자동으로 붙었습니다. 

 

참고로 우리나라는 전체 광고( 제가 임의로 부르는 방식 )은 페이지 수준의 광고라 하고, 영어로는 vignette라고 합니다. 

 

구글에 좀 더 페이지 수준의 광고를 확인하고 싶으면 google adsense vignette 구글에 입력하세요.

 


이 글을 보신 분들은 대부분 저와 같이 티스토리 초보자라고 생각합니다. 

저도 티스토리 고수는 아니지만, 티스토리 처음 하는 분들에게 제가 중요하게 생각하는 것을 말씀드리겠습니다.

 

처음부터 글을 잘 쓸 필요가 없다는 것 입니다. 먼저 어깨에 힘을 푸십시오. 

 

글을 잘 쓰는 것도 중요하지만, 꾸준히 즐겁게 적는 것이 중요합니다. 

 

글을 처음 쓸 때, 어깨에 힘이 잔뜩 들어가게 되면 그 때부터 블로그를 하는 것은 일이 됩니다. 그렇게 되면 석 달을 버티지 못하고 블로그를 그만둡니다. 

 

남들이 맞춤법을 가지고 머라할까, 글의 내용을 가지고 머라할까 이런 생각들은 전부 재쳐두고 그냥 물 흐르듯이 쓰세요. 어차피 우리처럼 티스토리 초보자들은 글을 방문하더라도 제대로 잘 읽어주지 않고 나가니 부담 갖지 마세요. 관심은 자연스레 글이 쌓였을 때, 몰리기 마련입니다. 그걸 구글은 알아 줄 것이구요. 

 

글이 1000개가 쌓일 때까지, 좋은 하루 되시길 바랍니다!! P.S. 태그 많이 넣으세요.

728x90
반응형

+ Recent posts