'BLUETOOTH'에 해당되는 글 15건

  1. 2020.01.05 Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 2
  2. 2020.01.03 Hardware | Intel NUC5i5RYK 유지보수
  3. 2019.07.07 Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 1
  4. 2019.03.24 Hardware | AirPods 구입기
  5. 2017.11.24 Hardware | bGeigie Nano 를 이용하여 방사능을 측정해 보자 2

Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 2

|

일전에 구입해 놓은 bluetooth 모듈인, HC-06, HC-05, SPP-C 사용기 2탄 입니다.

첫번째 포스트는 아래 링크를 참고해 보세요.


* Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 1

- https://chocoball.tistory.com/entry/Hardware-bluetooth-HC06-HC05-1


오늘은 master/slave 두 가지 모드를 지원하는 HC-05 에 대해 알아봅니다.




1. Firmware


Wi-Fi 모듈처럼 자체 firmware 를 가지고 있습니다.

Firmware 를 최신버전으로 update 하고 싶었으나, 인터넷에서 찾기는 어렵네요.


HC-05 는 Bluetooth 계열에서는 고가면서 다기능인 RN42 로 업그레이드가 가능하다고 하지만,

저의 PCB 는 불가능한 제품임을 알게 되었습니다.


* Fake HC-05/HC-06 modules with BlueCore3 chips relabeled as BC417

https://github.com/lorf/csr-spi-ftdi/issues/25



언뜻 튜닝 요소가 많아 보이지만, 요즘 나오는 제품들은 튜닝이 불가능 한것 같습니다.




2. USB 시리얼 연결


궂이 arduino 를 통해서 연결할 필요는 없고, 직접 serial 통신으로 연결합니다.


  HC-05 | FTDI
----------------
   RX   |  TX
   TX   |  RX
----------------
        | POWER
----------------
   GND  |  GND
   VCC  |  3.3V
----------------


Arduino 를 거치지 않더라도 Arduino IDE 를 사용할 수 있습니다.

FTDI 가 연결 된 Port 만 정확하게 선택하면 Serial Monitor 를 이용하여 AT 명령어를 확인해 볼 수 있습니다.



HC-05 가 사용하는 전류량이 많은지라, arduino 나 FTDI 에서 전력을 공급하면 불안정한 모습을 보입니다.

Bluetooth 모듈도 Wi-Fi 모듈과 동일하게, 외부 전원을 이용하는 편이 좋습니다.



실제 연결은 다음과 같습니다.





3. AT mode


HC-05 가 동작하는 mode 는 두 가지가 있습니다. 하나는 보통 mode 이고, 다른 하나는 AT mode.

Normal mode 는 LED 깜빡임이 빠르고, AT mode 는 깜빡임이 느려서 그 구분을 할 수 있습니다.


참고로 설정을 변경할 수 있는 모드가 AT mode 이고, 기본 모드가 아닙니다.


* Normal mode



* AT mode



AT mode 로 들어가는 방법은 두 가지가 있습니다.



EN pin 을 high 로 (전원 연결)

EN pin 에 대해 전원을 연결한 상태로 키면 AT mode 로 진입하게 됩니다.

어떤 제품은 그냥 켰다가, 한번만이라도 EN 에 전원을 인가해 주면 AT mode 로 접근한다 하는데, 제꺼는 처음부터 high 로 놓지 않으면 AT mode 로 진입할 수 없었습니다.


Button 를 누른 상태에서 켜기

위의 화살표 버튼을 누른 상태에서 전원을 인가하면, AT mode 로 동작합니다.

그 뒤에 손을 놔도 그대로 AT mode 를 유지합니다.





4. Command list


HC-06 과 비슷하지만 다른 부분들도 있습니다.

주로 사용하는 command 를 가지고 간단한 설명을 남겨 놓습니다.



AT+VERSION?

firmware 버전에 대해 확인합니다.

비교적 요즈음 구매해서 그런지 "VERSION:3.0-20170601" 라고 뜨네요.


AT+STATE?

커멘드 입력시의 상태를 표시해 줍니다.

"INITIALIZED" ---- initialized status
"READY" ---- ready status
"PAIRABLE" ---- pairable status
"PAIRED" ---- paired status
"INQUIRING" ---- inquiring status 
"CONNECTING" ---- connecting status
"CONNECTED" ---- connected status
"DISCONNECTED" ---- disconnected status
"NUKNOW" ---- unknown status


AT+ROLE?

Master 인지 Slave 인지 확인할 수 있습니다. Master 이면 1, Slave 면 0 입니다.


AT+ADDR?

주소 정보를 반환해 줍니다.


AT+NAME?

기기 이름을 설정하거나 알려 줍니다.


AT+PSWD?

비밀번호를 확인할 수 있습니다.


AT+UART?

Serial connect 시에 사용될 속도를 설정/확인 할 수 있습니다.



AT+CMODE?

지정된 기기와 연결 시킬 것인지, 여러 기기와 통신하게 할 지를 정할 수 있습니다.

0 이면, 지정된 기기와의 연결만 가능하고, 1 이면 다른 여러 기기와 연결시킬 수 있는 mode 입니다.


AT+BIND?

연결할 상대 기기 주소 지정.


AT+POLAR?

PIO8 / PIO9 연결 상태에 따른 LED 표시 상태를 정의한다 합니다. 무슨 이야기 인지 하나도 모르겠습니다.


AT+IPSCAN?

IP 스캔할 인터벌과 타이밍을 설정합니다.


AT+SENM?

Safe / Encryption mode 라고 합니다.


AT+ADCN?

인증을 통해 pairing 된 기기의 수를 알려 줍니다.


AT+MRAD?

가장 최근에 인증을 통해 연결된 기기를 보여줍니다.


AT+MPIO?

Multiple port output 이라고 합니다. 무슨 소리인지 모르겠습니다.


AT+CLASS?

디바이스 타이프를 보여 줍니다.


AT+IAC?

Access code 에 GIAC type (General Inquire Access Code : default 는 0x9e8b33) 을 사용.


AT+INQM?

RSSI 모드로 몇 개의 device를 최장 몇 초동안 받아들일지의 설정.


잘 쓰이지 않을 보안과 deep한 설정은 잘 모르겠네요. 기준이 되는 문서를 첨부합니다.

추가로, firmware version 에 따라 명령어가 조금씩 다를 수 있습니다.


HC-0305_serial_module_AT_commamd_set_201104_revised.pdf




5. Slave 모드로 Windows 10 과 연결해 보기


HC-06 을 가지고 놀 때도 했지만, HC-05 이니 한번 더 동일한 방법으로 Windows 10 와 연결 해 봅니다.



인식 후, 연결을 위해 암호를 입력합니다.



특별한 문제 없이 연결 되었습니다.



장치 관리자에서 확인해 보면, Bluetooth 장치에 정상적으로 등록 되었네요.



Putty 로 연결해 보기 위해 COM port 를 확인해 봅니다.



Putty 의 Serial 로 연결해 봅니다.



Putty 에서 키보드로 입력하면, Putty 상에서는 보이지 않지만, Arduino IDE 의 Serial Monitor 에서는 전송된 글씨가 보입니다.



Slave 모드로 Windows 10 에 연결에 문제가 없네요.




6. Master 모드로 Slave 연동 - firmware 설정


마지막으로, HC-05 (Master) 와 HC-06 (Slave) 를 연결하여 통신이 가능한지 확인해 봤습니다.

참고한 사이트와 너tube 정보는 다음과 같아요.


* How to Configure HC-05 Bluetooth Module As Master and Slave Via AT Command

https://www.instructables.com/id/How-to-Configure-HC-05-Bluetooth-Module-As-Master-/


* Communication between Master HC-05 and Slave HC-05
    - https://www.youtube.com/watch?v=mY803K-5WxE



구성품은 arduino / 스위치 / LED 각각 두 개씩 필요하고, Master/Slave 가 될, HC-05 / HC-06 이 필요합니다.


HC-06 Slave 설정

우선 HC-06 Slave 에서 다음과 같이 설정합니다.


- AT+ROLE=0 : Slave 설정

- AT+ADDR? : Master 에 등록하기 위해 address 를 알아 냄

- AT+UART=38400,0,0 : Serial 통신 속도를 38400 으로 맞춤



통신속도를 맞추면, Serial Monitor 의 속도도 새로운 값 - 38400 에 맟줘 줘야 확인이 가능 합니다.



HC-05 Master 설정

그 다음으로, HC-05 Master 는 다음과 같이 설정합니다.


- AT+ROLE=1 : Master 설정

- AT+CMODE=1 : pairing 할 기기를 검색하지 않고, 지정하여 등록. 등록은 아래의 BIND 명령어로 설정.

- AT+BIND=98D3,41,F93341 : 패어링 할 Slave 기기를 지정. (위에서 Slave 의 ADDR 로 확인한 주소 정보)

- AT+UART=38400,0,0 : Serial 통신 속도를 38400 으로 맞춤



최종적으로 BIND 정보를 확인하여, Slave 어드레스가 잘 등록되어 있으면 OK 입니다.





6. Master 모드로 Slave 연동 - arduino 와 연결


Pin 연결은 다음과 같습니다.

HC-05 와 HC-06 의 연결은 Master/Slave 로 기능은 다르나, 연결 방법은 동일합니다.


 HC-05/06 | Arduino Nano
-------------------------
    TXD   |      D10
    RXD   |      D11
-------------------------
          |     POWER
-------------------------
    VCC   |      3.3V
    GND   |      GND
-------------------------
  SWITCH  |      D2
 LED+220Ω|      D8
-------------------------


회로도를 Fritzing 으로 그려 봤습니다.

최근에 업데이트 된 0.9.4 로 그렸는데, 그림 export 에 버그가 있네요. (점프선에 점선)



실제 구현한 사진 입니다.



주의할 점으로는, Wi-Fi 모듈 연결 시험 했을때와 동일하게, Bluetooth 모듈도 추가 전원으로 연결해야 원활한 확인이 가능 합니다.

Arduino 로부터 빼서 사용하는 전원은 충분치 못하여 불안정한 동작을 보입니다.



위의 사진 오른쪽 밑에 있는 것이 추가 전원입니다.

Arduino 에 써넣을 sketch 는 다음과 같습니다.


Master Source


//this is master

#include "SoftwareSerial.h"

SoftwareSerial BTSerial(10, 11);
int state = 0;
const int ledPin = 8;
const int buttonPin = 2;
int buttonState = 1;

void setup() {
  BTSerial.begin(38400);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  pinMode(buttonPin, INPUT);
  digitalWrite(buttonPin, HIGH);
}

void loop() {
 if(BTSerial.available() > 0) { 
    // Checks whether data is comming from the serial port
    state = BTSerial.read(); // Reads the data from the serial port
 }
 
 // Controlling the LED
 buttonState = digitalRead(buttonPin);
 
 if (buttonState == LOW) {
  BTSerial.write('1');
 } else {
  BTSerial.write('0');
 }
 
 if (state == '1') {
  digitalWrite(ledPin, HIGH); // LED ON
  state = 0;
 } else if (state == '0') {
  digitalWrite(ledPin, LOW); // LED ON
  state = 0;
 }
}


Slave Source


//this is slave

#include "SoftwareSerial.h"

SoftwareSerial BTSerial(10, 11);
int state = 0;
const int led = 8;
const int button = 2;
int buttonstate = 1;

void setup() {
  BTSerial.begin(38400);
  pinMode(led, OUTPUT);
  digitalWrite(led, LOW);
  pinMode(button, INPUT);
  digitalWrite(button, HIGH);
}

void loop() {
 if(BTSerial.available() > 0) { 
    // Checks whether data is comming from the serial port
    state = BTSerial.read(); // Reads the data from the serial port
 }
 
 // Reading the button
 buttonstate = digitalRead(button);
 
 if (buttonstate == LOW) {
   BTSerial.write('1'); // Sends '1' to the master to turn on LED
 } else {
   BTSerial.write('0');
 }  

  if (state == '1') {
  digitalWrite(led, HIGH); // LED ON
  state = 0;
 } else if (state == '0') {
  digitalWrite(led, LOW); // LED ON
  state = 0;
 }
}


여기까지 오면 모든 준비는 다 되었습니다.




7. Master 모드로 Slave 연동 - 확인


HC-05 (Master) 와 HC-06 (Slave) 끼리의 연동 통신을 위해 서로 LED 가 깜빡거리다 연결 됩니다.


Arduino 소스 및 회로에서 구성한 대로,

Master 의 스위치를 누르면, Slave 쪽의 LED 가 켜지고, Slave 의 스위치를 누르면, Master 쪽의 LED 가 점등하는 것을 알 수 있습니다.



문제 없이 서로 통신하고 있다는 것을 LED 점등으로 확인 할 수 있습니다.




8. SPP-C 연동


다음 편에서는 SPP-C 확인을 해보도록 하겠습니다.




And

Hardware | Intel NUC5i5RYK 유지보수

|

현재 집에서 사용하는 PC 는, 2015년에 구입한 Intel NUC5i5RYK 입니다.

데스크탑 처럼 큰 PC 가 아니라, 손바닥 만 한 컴퓨터죠. 그래도 RAM 은 16GB 꽉꽉 채워 놨습니다.


nuc-kit-nuc5i5ryk-brief.pdf


잘 쓰던 중, 음료수 등이 살짝 유입되어서 그런지, 전원 버튼이 눌리지 않고 켜지지 않는 현상이.


처음에는 열관리 부실로, CPU 나 보드 자체가 고장난 것으로 생각 했으나,

전원 버튼을 한참을 문질문질 하고 있으면, 커지는 것을 알고, 전원 버튼 쪽의 문제로 확신 했습니다.


원인을 알면 대처는 단순해 질 수 있습니다.

이번 기회에 PCB 세척용 IPA 도 구입하고, 토출기도 구입했으니, 유지보수 작업에 들어가 보기로 합니다.


* Hardware | PCB 세척용 IPA 와 토출기

- https://chocoball.tistory.com/entry/Hardware-IPA-Isoprophyl-dispenser




1. 외관


외관은 심플 합니다. 윗쪽 덮개가 플라스틱으로 되어 있는지라, 긁히는게 싫어서 아직 실을 제거하지 않았네요.

2.5 inch 드라이브를 추가 장착할 수 있는 모델은 높이가 더 높습니다만, M.2 SSD 만 장착되는 납작한 녀석으로 구입했었죠.



앞면에는 USB 3.0 port 와 스피커/헤드셋 단자가 위치하고 있습니다.



옆면에는 공기 흡입구와 도난방지 기구를 걸 수 있는 구멍이 뚤려 있습니다.



뒷면 위쪽은 열 배출구 이고, 나머지는 표기된 인터페이스들 입니다. 특이하게 HDMI mini port 도 있습니다.



밑면 입니다.





2. 본체 분해


분해의 시작은, 윗 사진에서 보이는 네 귀퉁에 자리잡고 있는 발 안쪽의 나사를 돌려주면 됩니다.

이 제품이 마음에 드는 부분 중, 나사를 풀어도 어디 도망가지 않게 고정되어 있도록 처리된 것이 좋습니다. 배려가 느껴져요.


밑판을 따면, SSD 부분은 써멀 패드가 장착되어 있어, 열 처리에 신경을 쓴 부분도 보입니다.



메모리는 다다익선. 그 당시로는 투자좀 한, 풀 bank 입니다. 보드에 군더더기가 없습니다.



SSD 를 들어 내면, 그 밑에 숨어있는 나사가 있습니다.

대칭되는 반대편 나사도 제거하면 보드를 케이스에서 들어 낼 수 있습니다.



보드를 들어 내기 전에 wireless connector 에 연결된 안테나 선들을 뽑아 줍니다.



전면 USB port 의 힌지가 케이스에 물려 있으니, 뒷쪽부터 들어올리면 쉽게 분리가 가능합니다.



케이스는 통 알루미늄으로 되어 있고, 무선랜과 bluetooth 안테나가 둘러쳐져 있습니다.



케이스에도 생산 및 검수일이 마킹되어 있습니다.





3. heat sink / 쿨러 분해


보드 윗면은 쿨러와 heat sink 로 덮혀 있습니다.



쿨러를 고정하는 나사 두 개를 빼면, heat sink 고정용 나사 세 개가 보입니다. (왼쪽 가운데 구멍 뚤린 부분까지 포함)



쿨러를 제거하면, CPU 와 South Bridge (CPU die 에 같이 올려져 있슴) 를 확인할 수 있습니다.



써멀 구리스는 경화가 되어 있어서, 모두 제거하고 새롭게 발라 줬습니다.



CPU 는 메인보드에 땜이 되어 있어서, 교체할 수 없는 형식입니다.

보통 이런 형식의 BGA 방식은, 보드와 붙어 있는 납볼 들에서 크랙이 생겨 고장나기 쉽다는 단점이 있습니다.

Intel NUC 는 냉납 등의 문제를 방지하기 위해, 보드와 CPU 사이에 몰드 처리를 해 놨습니다.


이렇게 해 놓으면 열에 의한 휨이나, 납볼 크랙을 예방할 수 있을 것 같네요. 잘 만들었다는 생각이 듭니다.
이전 Intel 회장의 삽질만 아니면, 정말 외계인 고문에 탁월한 회사.


이미 많은 외계인 기술자들이 회사를 떠나버려, 예전만큼은 기대 할 수 없습니다만, 이런 제품을 꾸준히 출시해 줬으면 하는 바램입니다.



모두 분리 후, 메일 보드는 IPA 를 가지고 구석구석 칫솔로 닦아 줬습니다.




4. 팬 청소


뜯은 김에 팬 청소도 같이 작업했습니다.



팬을 분해하기 위해서는, 먼저 사진 왼쪽 밑에 있는 나사를 풀고...



걸쇄 세 개를 띄우면, 쉽게 분리가 가능 합니다.



메인 보드의 스위치 부품에도 뿌려준 접점 부활제 재등장.



팬에 쌓인 먼저를 깨끗하게 털어주고, 회전축에 접점부활제를 뿌려 줬습니다.

마찰을 줄여주는 구리스가 발라져 있는 회전축에, 이 접점부활제를 뿌려주는 것이 맞는 방법인지는 자신이 없네요.


뭐라도 해야 할 듯 하여 뿌려 줬습니다.





4.  Mission Completed

조립은 분해의 역순.
언제 그랬냐는 듯, 전원버튼을 살짝 스치기만 해도 켜지게 되었습니다.

꽤 문제 없이 잘 사용해온 Intel NUC5i5RYK... 사실은 NUC 의 10세대가 작년에 출시되었습니다.

아래 사진의 제품명은 NUC10i5FNK 입니다.



조금 부족하다고 생각한 흡기를 옆면 전체로 바꾸었고, 열 배출구도 더 커졌습니다.

사양서를 보면, heat sink 도 더 커졌더군요. 기본 지원인 M.2 뿐만 아니라, NVMe 도 지원하는 버전이 있습니다.


USB 도 Type-C 를 앞뒤로 채용했습니다.

하긴 5세대 차이가 난 만큼 많이 좋아졌겠죠.


아... 바꾸고 싶다.





And

Hardware | bluetooth 모듈 HC-06 / HC-05 사용해 보기 - 1

|

1. Bluetooth 통신


룰루~ arduino 로 놀 수 있는 센서나 모듈이 뭐가 있을까~ 하고 AliExpress 를 둘러 보던 중,

HC-05, HC-06, SPP-C 가 bluetooth 연결에 사용할 수 있는 모듈이라는 것을 알았습니다.


아직 쌓여있는 센서가 많지만, 일단 구매해 봅니다.


* SPP-C Bluetooth serial pass-through module wireless serial communication from machine Wireless SPPC Replace HC-05 HC-06

https://www.aliexpress.com/item/32755550889.html




* HC-05 HC 05 hc-06 HC 06 RF Wireless Bluetooth Transceiver Slave Module RS232 / TTL to UART converter and adapter

https://www.aliexpress.com/item/32523867394.html








2. 도착


한 업자에게서 구매 해서 동시에 배달되었습니다.



HC-05 이구요.



HC-06 이구요.



응? HC-05 랑 보드는 같고, 다른점은 오른쪽 밑에 스위치와 pin 갯수가 다른 것 뿐이네요.



뒷면에 세겨진 pin out 배열도 동일합니다.



SPP-C 만 다른 보드를 사용합니다.






3. HC-06


일단 오늘은, Slave 만으로 사용할 수 있는 가장 간단한 HC-06 구동을 시험해 보기로 합니다.

HC-05 는 Master / Slave 양쪽으로 사용할 수 있고, HC-06 은 Slave 만 가능하다 하네요.


보드가 동일한 것을 미리 알았더라면, HC-05 만 두개 살껄 그랬습니다.

SPP-C 는 완전 다른 모양이라 HC-05 / HC-06 을 가지고 놀아 보고 그 다음애 해보려 합니다.


구동 전원 Vcc 는 3.6v~5V 라서 arduino nano 의 3.3v 로는 조금 부족하고 5v 로 확실하게 구동됩니다.


HC-06 의 RXD, TXD 는 3.3v 를 이용한 입출력이므로. level shift 회로가 필요합니다만, 출력 (TXD) 은 그대로 하고,

입력 (RXD) 에 저항을 연결하여 회로를 보호해 줍니다.

사실 그대로 연결해도 됩니다만, 저항을 연결해 주는게 느낌상 좋습니다.


실제로 전용회로를 꾸미게 되면, 입출력 전압을 측정하여 거기에 맞는 저항을 달아 주는 것이 좋겠죠?

사양은 다음과 같습니다.


- Bluetooth protocol: Bluetooth V2.0 protocol standard

- Power Level: Class2(+6dBm)

- Band: 2.40GHz—2.48GHz, ISM Band   

- Receiver sensitivity: -85dBm

- USB protocol: USB v1.1/2.0

- Modulation mode: Gauss frequency Shift Keying

- Safety feature: Authentication and encryption

- Operating voltage range:+3.3V to +6V

- Operating temperature range: -20ºC to +55ºC

- Operating Current: 40mA


* Specification : hc06.pdf





4. pin out


여러 연결 방법이 있을 수 있으나,

우선 가장 간단한 arduino nano 를 통해서 PC 와 통신을 시도해 봅니다.

Pin out 정보 입니다.


 HC-06 | Arduino Nano
-----------------------
  RXD  |      D2
  TXD  |      D3
  GND  |      GND
  VCC  |      3.3V
-----------------------



아두이노에서 받는 3.3v 전원은 조금 약한 감이 있고, 5v 를 받자니 arduino nano 가 버거울 것 같아,

외부 전원을 사용하면 안정적으로 3.3v 인가 가능할 것 같습니다.


실제로 arduino nano 의 3.3v 에 연결하면, 되었다 안되었다 불안한 동작을 보여 줍니다.





5. layout


연결 diagram 입니다.



실제로 아래와 같이 연결했습니다.



삽질한 부분은 arduino nano 와 추가 전원의 ground 는 서로 연결해줘야 하는 것이였습니다.

그렇지 않으면, 정상적으로 통신이 되지 않습니다.

Ground 는 꼭 서로 맟춰 줘야 합니다.





6. sketch


아래는 arduino nano 를 PC 와 연결 할 경우에 사용한 소스 입니다.


#include "SoftwareSerial.h"
 
#define HC06_RXD 2
#define HC06_TXD 3
SoftwareSerial bluetooth(HC06_RXD, HC06_TXD);
 
void setup(){
  Serial.begin(9600);
  bluetooth.begin(9600);
}
 
void loop(){
  if (bluetooth.available()) {
    Serial.write(bluetooth.read());
  }
  if (Serial.available()) {
    bluetooth.write(Serial.read());
  }
}





7. AT commands


HC-06 과 연결되면 AT 명령어를 통해서 상태 확인이 가능합니다. 



Arduino IDE > Tools > Serial Monitor 를 띄우고 위의 AT 명령어들을 쳐 봅니다.



통신 속도 = baud rate 는 9600 으로 해야 합니다.

HC-06 은 공장 출하 설정이 9600 bps 로 되어 있습니다.


Bluetooth 이름은 "HC-06" 이구요, ROLE 은 0, 즉 SLAVE 로 되어 있습니다.


* AT+ROLE: See role of bt module(1=master/0=slave)



Password 는 기본 "1234" 로 되어 있습니다.


통신 속도 UART 는 9600 으로 되어 있네요.

바꾸고 싶을 경우는 아래와 같이 설정하면 됩니다.


* 1 set to 1200bps

* 2 set to 2400bps 

* 3 set to 4800bps 

* 4 set to 9600bps (Default) 

* 5 set to 19200bps 

* 6 set to 38400bps 

* 7 set to 57600bps 

* 8 set to 115200bps

  ex) AT+BAUD4 will set the baud rate to 9600



다른 명령어도 다 쳐 봤습니다.





8. Windows 10 과 연결해 보기


Windows 10 에서 블루투스 장치로 연결해 봅니다.



HC-06 을 연결하면 비번을 물어봅니다.



블루투스다 보니 잘 연결됩니다.



장치관리자에서 연결된 HC-06 의 주소를 확인해 보면, 가지고 있는 HC-06 의 address 인 것을 알 수 있습니다.

동일한 장치임을 확인 할 수 있는 부분이죠.



COM 포트를 확인해 보면, 송신 port 가 COM8 임을 알 수 있네요.



시리얼 포트 리스트에도 떠 있습니다.



putty 를 이용하여 COM8 에 연결합니다.



오호라. putty 에서 타이핑 한 것은 보이지 않지만, 글씨를 타이핑 후,

"Ctrl + M, J" 를 치면 arduino IDE 의 Serial Monitor 에서 송신된 단어를 확인할 수 있습니다.



반대로, Serial Monitor 에서 글씨를 치고 Send 를 누르면, putty 화면에 나타나는 것을 확인 할 수 있어요.






9. USB UART CP2102


Serial 연결은, USB Serial 장치인 CP2102 를 통해서도 연결해 봅니다.



RXD 는 저항을 달아서 보호해 주면서, 그림과 같이 연결해 줍니다.


 HC-06 | CP2102
----------------
  RXD  |  TXD
  TXD  |  RXD
  GND  |  GND
----------------

실제 연결은 다음과 같습니다.



역시 putty 를 이용해서 확인해 봅니다.



모든 AT commands 가 잘 먹힙니다. 정상적으로 통신이 가능하네요.





FIN


HC-06 / HC-05 은 해볼 것이 여러가지 있는것 같습니다.

일단 오늘은 HC-06 의 여러가지 연결법과 AT commands 를 사용해 봤습니다.


다음은 HC-05  HC-06 을 사용하여 Master / Slave 연결 등을 활용해 볼께요.




Update - 20210124


사진 정리를 하다, 예전 경주에 놀러갔을 때, 3D 놀이공간 건물 한켠에 전자 공방에서 찍은 사진을 발견.

HC-06 / HC-05 는 bluetooth 에 있어서 널리 사용되는 모듈임을 새삼 다시 알게 되었네요.



And

Hardware | AirPods 구입기

|

1. 택배왔다~


한번도 써보지 못한 사람은 있어도, 한번만 사용한 사람은 없다는, 그 AirPods.

거진 1년동안 고민하고 구입한 AirPods 가 도착했습니다.



Apple 의 제품답게 깔끔 그 자체군요.

생산 시기는 올해 1월입니다.



라이트닝 케이블로 케이스를 충전하면, 그 안에 있는 이어폰 부품도 충전되는 형식입니다.






2. 개봉


뚜껑을 열면 안내서와 본체가 보입니다.



그 밑에는 라이트닝 케이블이 놓여 있습니다.






3. 본체


본체의 얇은 투명 플라스틱 비닐을 벗겨 냅니다.



제품이 너무 깔끔해서 이걸 그대로 들고 다니면서 스크레치가 나면 마음이 아플 듯 합니다.



나중에 알았지만, 뒷면에 있는 저 둥그런 버튼같은 것은 Bluetooth pairing 할 때, 사용되는 버튼입니다.





4. 이어폰


본체 뚜껑을 열면 바로 이어폰이 보입니다.

뚜껑은 자석으로 되어 있어서, 착 하고 경쾌하게 닫힙니다.



오오오오오오! 영롱하군요.



신기하게 iPhone 근처에서 뚜껑을 열면, 따로 pairing 할 필요 없이 인식을 합니다.

처음이라서 그런가? 다른 iPhone 이 있으면 그쪽에도 인식 될까?



바로 잠금 해제합니다.

이제 이 AirPods 는 제껍니다. 제가 마음대로 할 수 있는겁니다.



싱겁게 iPhone 에서 인식되고, 연결이 완료되었습니다.





5. 소리를 들어보자


출퇴근시 사용하는 BBC NEWS 어플을 띄워 봅니다.

귀에 이어폰을 꼽자 마자, 아래 그림처럼 헤드폰 아이콘이 생겨나면서 바로 소리가 흘러 나옵니다. 오오오오오~!



제가 막귀라서 다른 이어폰과 음질 차이는 잘 모르겠습니다.

다만 중저음이 잘 들리고, iPhone 과의 거리가 10m 이상 떨어져 있어도 잡음 없이 잘 들립니다.





6. 실리콘 케이스


스크레치 날것이 두려워, 실리콘 케이스가 도착하기 전까지 사용을 참아 봅니다.



실리콘 케이스는 투톤으로 된 것을 구입했습니다.



뚜껑 색을 두가지로 바꿀 수 있는 제품입니다.






7. 충전 어뎁터


충전은 라이트닝 케이블로 합니다만, 자꾸 꼈다 뺐다 하면 근처에 스크레치도 나고,

구멍에 먼지도 끼일것 같아, 자석형 충전 케이블용 어뎁터를 끼워 넣어 줍니다.


자석식 충전 케이블에 대해서는 아래 글을 참조해 보세요.


* Hardware | 또다른 Magnetic Charging Cable 구매기

https://chocoball.tistory.com/entry/Hardware-another-Magnetic-Charging-Cable


Lightning Cable 구멍에 충전용 어뎁터가 딱 들어 맞습니다.

실리콘 케이스와의 간섭도 전혀 없습니다.



충전 케이블 끝단은 아래와 같이 되어 있어요.



자석식이니 케이블을 가져다 놓으니 "착" 하고 달라 붙습니다.

실리콘 케이스와의 간격이 거의 없을 정도로, 맟춤 제품처럼 서로 딱 들어 맞습니다.



충전 잘 되고 있다고 뚜껑 안쪽의 LED 가 빨간색으로 변합니다.



iPhone 에서도 충전 상황을 확인할 수 있습니다.



iPhone 의 위젯에 "베터리" 항목을 등록하여 따로 확인할 수도 있습니다.






8. Windows 7 에서 인식시키기


Windows 10 에서는 아마 문제 없겠지만, Windows 7 에서는 Bluetooth 인식에 문제가 많습니다.

해결을 위해서 아래 link 를 참고했습니다.


* Bluetooth Peripheral Device Driver Not Found on Windows 7 [Solved]

https://www.drivereasy.com/knowledge/solved-bluetooth-peripheral-device-driver-not-found-error-on-windows-7-vista/


A. Bluetooth 기기의 driver 인스톨

자기 PC 의 기기에 맞는 driver 를 인스톨 해줍니다.

저의 경우는 Intel® Dual Band Wireless-AC 7260 이므로, 관련 Wireless 및 Bluetooth 드라이버를 최신으로 업데이트 했습니다.


B. Microsoft Mobile Device

Microsoft 에서 나온 Device 프로그램을 인스톨 합니다.

저는 Windows 7 64 bit 이니, 아래 링크에서 다운로드 받아서 인스톨 했습니다.


https://www.microsoft.com/en-us/download/details.aspx?id=3182


C. Bluetooth 인식시키기

AirPods 의 뒷면 pairing 버튼으로 연결을 시작합니다.



보통은 자동으로 Bluetooth 관련 드라이버를 인스톨 해주나, 실패합니다.


D. 수동으로 Bluetooth 인식시키기

장치장리자에서 인식에 실패한 기기에서 오른쪽 클릭하여, 수동으로 드라이버를 지정해 줍니다.



요 부분은 스샷을 뜨지 못해, 참조한 사이트에서 그림을 빌려와 봅니다.



E. 최종 확인

위의 과정이 완료되면, "Windows Mobile-based device support" 가 새로 생깁니다.



마지막으로 디바이스 메뉴에서, 새롭게 등록된 AirPods 를 확인할 수 있습니다.






9. 아...


주말에 직장 동료로부터 메신저에 링크 하나가 옵니다.


* Newest w1 chip 1:1 Airps battery pop up Mini Wireless Bluetooth Connect Headphone & Earphone For iPhone 7 8 X XS Max Pad

https://www.aliexpress.com/item/Newest-w1-chip-1-1-Airps-battery-pop-up-Mini-Wireless-Bluetooth-Connect-Headphone-Earphone-For/32982028610.html



AirPods 2 가 3월 20일 발표되자 마자, AliExpress 에서 1세대 copy 버전이 마구 풀리는것 같습니다.

제품은 끝물에 사지 말아야 함을 다시금 깨닫게 해 줍니다.


뭐 이건 그냥 정품이랑 같은... ㅠㅠ





10. 총평


마지막으로 총평 해봅니다.


A. 걸리적거리는 줄이 없어서 개운하다

B. 충전하면 몇 일은 사용한다

C. 10m 이상에서도 음질 저하없이 Bluetooth 통신으로 음악을 들을 수 있다

D. Windows 7 에서 인식시키기 그지같다

E. 귓구멍이 큰 사람 (저의 경우) 은 쉽게 빠진다

이거 꽤 심각한 문제로, 인터넷 보면 한쪽만 산다는 사람이 그렇게 많음

저는 출퇴근시 벌써 3번 빠졌습니다.

버스에 앉아서 졸고 있을 때, 고개가 한쪽으로 넘어가면 귓볼에 간섭되면서 빠집니다. 잊어버릴까봐 얼마나 식겁하던지.

F. 2세대가 발표되면서, 중국에서 copy 판이 1/3 가격으로 판치고 있슴 (ㅠㅠ)



And

Hardware | bGeigie Nano 를 이용하여 방사능을 측정해 보자

|

1. 측정해보자


방사능 측정기 조립 과정은 아래 두 link 들에 있습니다.


* Safecast bGeigie Nano 를 조립해 보자 - 1

http://chocoball.tistory.com/entry/Hardware-Safecast-bGeigie-Nano-1


* Safecast bGeigie Nano 를 조립해 보자 - 2

http://chocoball.tistory.com/entry/Hardware-Safecast-bGeigie-Nano-2


드디어 방사능 측정을 시작했습니다.

배송받기 까지도 오래 걸렸지만, 완성 후 측정까지도 오래 걸렸습니다.


우선 차의 유리에 부착하여 측정했습니다.



센서가 밖으로 향하게 하고, 자동차 안에서는 OLED 를 볼 수 있으니, 상황을 잘 알수 있습니다.

9개의 GPS 위성과 연결되어 있고, 고도 5m, 측정 개시후 1시간 41분이 지나고 있다는 정보까지 자세하게 나옵니다.



눈으로 동작을 확인하니 즐겁기 그지 없습니다.



46CPM 은 생활 방사능 정도 입니다.




2. App 과 연동해 보자


Safecast 에서 만들어 내 놓은 "Safecast" 를 통하여 스마트폰과 bGeigie Nano 간에 Bluetooth 연동이 가능합니다.



저는 iPhone 이므로, App Store 에서 검색하면 나옵니다.



App 을 인스톨 후, 실행시키면, 가장 가까운 bGeigie Nano 의 bluetooth 를 자동으로 찾아줍니다.

Bluetooth 모듈이 달린 kit 이 조금 더 비쌌지만, 그 값을 하는것 같아요.



연결되면 bGeigie Nano 의 동작 상황을 자세하게 알 수 있습니다.



GPS 를 찾으면, 측정값과 함께 GPS 정보를 함께 저장하기 시작합니다.


이제 bGeigie Nano 의 OLED 를 확인하지 않아도, App 을 통하여 측정 상황을 확인할 수 있습니다.

측정이 끝나면, 바로 인터넷을 통하여 Safecast API 로 측정 log 를 쏴줄수 있습니다.



"api.safecast.org" 에서 자기가 올린 data 를 확인할 수 있으며,

data 내용이 문제 없다면, 추가 정보를 기입하고 승인 요청을 합니다.

data 에 문제가 없고 승인이 끝나면, 전 세계인에게 공유됩니다.




3. Singapore


마침 Singapore 에 한달짜리 출장을 가게 되었습니다.

Singapore 는 어떤 상황인지 궁금합니다.


숙소에서 Singapore Sports Hub 까지 자전거를 타고 가면서 측정해 봅니다.



사용된 자전거는 10월 한달 free promotion 중인 OBike 와 함께 하였습니다.


Obike 는 길 가다가 자전거를 발견하면 바로 타고, 목적지에서 버리면 되는 간편한 시스템 입니다.

비용은 탄 시간에 맞게 지불하면 됩니다만, Singapore 에서는 현재 동일한 서비스를 제공하는 회사들이 있어서

Free promotion 기간이었습니다.


OBike 에 대해서는 따로 글을 작성하였습니다.


쓰고 목적지에서 버리는 자전거

http://chocoball.tistory.com/entry/Life-bicycle-sharing


저기 오늘 같이할 자전거가 저를 기다리고 있군요.



자전거에 문제 없는지 확인하고 바로 올라 탑니다.



조금 돌아왔더니만 1Km 더 주행했습니다.



방사능 측정 결과 입니다.

문제 없는 수치 입니다.


자세히 보면, 하천 근처나 공사가 많이 이루어진 장소에서 값이 비교적 높게 나옵니다. 흠흠... 그렇군.




4. 하늘에서 측정하기


후꾸시마 사태때에 일본 정부에서 항상 빼놓지 않고 이야기 한 내용이,

"비행기 타고 다니면 장난 아니게 방사능 쐬지만 문제 없잖아" 였습니다.


실제로 그런지 무척 궁금한 내용입니다.


귀국하는 비행기에서 측정할 수 있도록 full 충전 해놓고 드디어 비행기 이륙 !



비행기에서 다행히 창가쪽 자리가 배정되었습니다.

GPS 도 무리없이 잘 잡히네요.



이륙 후, 고도 1282m 까지 올라갔습니다.

41 CPM 이면 지상과 거의 다를바 없습니다. 그렇군...



4682m 올라 왔습니다.

86 CPM 으로 값이 살짝 올라갔습니다. 비가 많이 들치고 먼지가 쌓이는 창틀의 홈에서도 81 CPM 이었으니...



5431m. 표시하는 값이 새로운 영역에 도달했습니다.

95 CPM 은 여지껏 처음 보는 수치 입니다.



5873m. 126 CPM 입니다.

이는 지상의 값인 60 CPM 의 약 2배의 값입니다.



6226m. 134 CPM 를 가리킵니다.

고도에 따라 우주에서 오는 방사능은 점점 강해지는 것을 눈으로 실제로 확인하게 되네요.

대기층의 중요함을 정말 피부로 느낍니다.



7362m. 183 CPM.



8201m. 214 CPM.



9104m. 257 CPM.



거의 지상 10Km 상공에서 동영상을 찍어봅니다.



9867m. 309 CPM.

기어이 300 CPM 을 넘었습니다. 지상의 5배 정도 입니다.



비행기의 항속 높이 입니다.

12600m. 524 CPM 을 찍었습니다.


이정도면 저의 사타구니를 납으로 만든 컵으로 가려야 하는게 아닌가 진심 걱정되었습니다.

이렇게 쎌 줄이야 !!!



후덜덜 하네요.

비행기 많이 타면 방사능 샤워를 한다는 이야기는 맞는것 같습니다.



App 을 통해서도 확인이 가능했습니다.



최종적으로 괴적을 그려봤습니다.

중간에 이빨이 빠졌지만, 대체로 잘 측정이 되었습니다.




FIN


도보, 자전거, 자동차, 비행기를 이용하여 여러가지 측정해 봤습니다.

비행기를 빼곤, 일반적으로는 무시할 수 있는 일반적인 수치를 보여줬습니다.


다만, 앞으로 비행기 탈 일이 생기면, 납으로 만든 컵을 가지고 다닐까 합니다.

And
prev | 1 | 2 | next