'전체'에 해당되는 글 33건

IoT Open House/ThingPlug

SKT의 LoRa 단말의 데이터는 SKT의 ThingPlug로 저장된다.

따라서 SKT LoRa 개발자는 ThingPlug 상에서 LoRa 단말의 데이터가 정상적으로 전송되었는지 체크할 수 있다.

 

이 포스팅에서는 Postman이라는 API 테스트 툴을 활용해서 SKT LoRa 단말의 데이터를 확인하는 기본 방법에 대해서 작성한다.

 

자세한 내용은 IoT 오픈하우스를 통해 문의할 수 있다.

https://www.sktiot.com/iot/support/openhouse/reservation/openhouseMain

 

SK telecom IoT Portal

목적 - 기술지원을 통한 서비스 개발 및 상용화 기간 단축 - 개발자 지원을 통한 자생적 개발환경 조성 및 LoRa, Cat.M1, LTE-M 생태계 활성화 지원대상 - LoRa, Cat.M1, LTE-M 단말 및 서비스 상용화 준비중인 중소기업 및 스타트업 지원업무 - 기술지원을 통한 서비스 개발 및 상용화 기간 단축 - 개발자 지원을 통한 자생적 개발환경 조성 및 LoRa, Cat.M1, LTE-M 생태계 활성화 지원업무 설명 컨설팅 기획/개발, 디바

www.sktiot.com

 

앞서 설명한대로, SKT LoRa는 ThingPlug로 연동되며, 사용자 앱서버에서는 MQTT나 HTTP로 LoRa 단말의 데이터 조회와 제어 등을 할 수 있다.

 

 

 

API를 사용하기 위해서는 우선 ThingPlug에서 발급해주는 ukey(사용자 인증키)가 필요하다.

(ThingPlug 가입/단말 등록 등은 이번 포스팅에서 다루지 않음.)

 

테스트 툴은 postman이라는 API 테스트 툴을 사용한다.

https://www.getpostman.com/

 

Postman | API Development Environment

Postman is the only complete API development environment used by more than 6 million developers and 200,000 companies worldwide.

www.getpostman.com

 

그리고 아래 script를 다운로드한다. script는 두 종류로 나누어져 있는데, 테스트 script와 ukey, 단말 id 등 환경 변수를 입력하는 파일로 나뉘어져 있다.

 

https://github.com/wpgnss/thingplug_lora_script

 

wpgnss/thingplug_lora_script

Contribute to wpgnss/thingplug_lora_script development by creating an account on GitHub.

github.com

 

두 파일의 사용법은 아래와 같다.

우선, [Script]_ThingPlug_API.postman.json 파일을 postman에서 import 한다.

 

다음은 [Env]_ThingPlug.postman.json 파일로 환경 변수파일을 추가로 import 한다.

 

환경변수 파일을 import 하면 아래처럼 각각 value를 입력할 수 있으며, 테스트를 위해 최대한 입력한다.

최소한 app_eui, ltid, uKey, platform_url은 입력되어 있어야 기본 테스트를 진행할 수 있다.

 

0 0
Study/Python

펌웨어 바이너리 파일 등 hexadecimal 값을 가독성이 좋은 형태로 변환해야 하는 경우가 있다.

 

예를들면

0x00 0x11 0x22 ...  => 001122 의 형태로

 

간단하게

import binascii

binascii.hexlify(), binascii.unhexlify()를 활용하면 된다.

 

 

의 결과 값은 아래와 같다.

 

 

character '1'의 hex 값은 0x31이다.

http://www.asciitable.com/

 

Ascii Table - ASCII character codes and html, octal, hex and decimal chart conversion

ASCII Table and Description ASCII stands for American Standard Code for Information Interchange. Computers can only understand numbers, so an ASCII code is the numerical representation of a character such as 'a' or '@' or an action of some sort. ASCII was

www.asciitable.com

 

 

만약 특정 바이너리 파일을 모두 컨버팅 하기 위해서는 아래와 같이 하면 된다.

결과.

 

0 0
IoT/WiFi

WizFi310 is registered as a component of mbed.

The components of mbed are classified into categories such as Actuators, Communication, Display, Expansion Boards, Input, IoT & Web Service, Sensors, Storage.
https://os.mbed.com/components/


 

Components | Mbed

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling coo

os.mbed.com

The products registered as mbed's components can easily be used to develop components easily using ARM's MCU and reusable libraries on mbed OS. 

The mbed registration page for WizFi310 is shown below. 
https://os.mbed.com/components/WizFi310-EVB/ 

 

Wiznet Wi-Fi WizFi310 | Mbed

Wiznet Wi-Fi WizFi310 WizFi310 offers a quick, easy, and cost-effective way for device and appliance manufacturers to add WiFi capabilities to their products. Hello World This is a simple mbed client example demonstrating, registration of a device with mbe

os.mbed.com

 

 



Looking at WizFi310's headers in mbed, you can see various example code. 


https://os.mbed.com/teams/WIZnet/code/WizFi310_TCP_Echo_Server_Example/ 

 

WizFi310_TCP_Echo_Server_Example - TCP Echo Server Example using WizFi310 | Mbed

TCP Echo Server Example using WizFi310 Dependencies:   NetworkSocketAPI WizFi310Interface mbed Prerequisite This example shows that Wizwiki-W7500 and WizFi310 operates as a TCP server. When receiving data from a TCP client, it returns same data. To impleme

os.mbed.com

 

https://os.mbed.com/teams/WIZnet/code/WizFi310_STATION_HelloWorld/ 

 

WizFi310_STATION_HelloWorld - WizFi310_hello_world_demo | Mbed

WizFi310_hello_world_demo Dependencies:   NetworkSocketAPI WizFi310Interface mbed Prerequisite This example shows that WIZwiki-W7500 and WizFi310 connects to AP. To implement this function, you need a Platform board and Wi-Fi board. Below are what we used.

os.mbed.com

 

https://os.mbed.com/teams/WIZnet/code/WizFi310_OpenWeatherMap/ 

 

WizFi310_OpenWeatherMap - Openweathermap example for WizFi310 | Mbed

Openweathermap example for WizFi310 Dependencies:   NetworkSocketAPI WizFi310Interface mbed Prerequisite This example is for obtainning and printting data from OpenWeatherMap(Server). WIZwiki-W7500 and WizFi310 Shield act as TCP client mode. To implement t

os.mbed.com


https://os.mbed.com/users/jehoon/code/KT_IoTMakers_WizFi310_Example/ 

 

KT_IoTMakers_WizFi310_Example - WizFi310 IoTMakers Example | Mbed

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling coo

os.mbed.com

https://os.mbed.com/users/jehoon/code/WiFiTracker/

 

WiFiTracker - WiFi Tracker, scan WiFi probe packer and publis... | Mbed

WiFi Tracker, scan WiFi probe packer and publish message to broker Download repository: zip gz Files at revision 0:d9bcf96e0ce9 / default tip

os.mbed.com

 


In the example above, you can see that there is an indication of OS2 next to the title. 

This indication refers to an example running on mbed OS version 2. 
Currently, mbed OS is released up to version 5. 
https://os.mbed.com/blog/entry/Introducing-mbed-OS-5/ 

 

Introducing mbed OS 5 | Mbed

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling coo

os.mbed.com

 

Therefore, it is difficult to refer to the above examples in order to use WizFi310 in the latest mbed OS 5. 


The driver code for WizFi310 running under mbed OS 5 is distributed through github below, and if mbed OS 5 is used in the mbed online compiler, it is compiled using the latest github code below. 
https://github.com/ARMmbed/wizfi310-driver 

 

ARMmbed/wizfi310-driver

This is Wi-Fi driver for mbed using WizFi310. Contribute to ARMmbed/wizfi310-driver development by creating an account on GitHub.

github.com

 

 


The driver code included in mbed OS 5 can be easily ported for reusability even if you use the source code of other Communication Components. 
Using the above WizFi310 driver, the following items are linked to the Arm pelion Cloud. 

https://github.com/wpgnss/mbed-cloud-client-example

 

wpgnss/mbed-cloud-client-example

Reference example application using Mbed Cloud Client library - wpgnss/mbed-cloud-client-example

github.com

 

 

0 0
IoT/WiFi

 

 

WizFi310을 mbed의 component로 등록 되어 있다.

mbed의 component는 여러 종류의 카테고리로 분류 되어 있다.

https://os.mbed.com/components/ 

불러오는 중입니다...

- Actuators

- Communication

- Display

- Expansion Boards

- Input

- IoT&Web Service

- Sensors, Storage 


mbed의 component로 등록되어 있는 제품들은 Arm의 MCU와 mbed OS 상에서 재사용 가능한 라이브러리들을 활용해 쉽게 component를 쉽게 사용하여 개발할 수 있도록 도와준다. 

WizFi310의 mbed 등록 페이지는 아래와 같다.


https://os.mbed.com/components/WizFi310-EVB/ 

 

Wiznet Wi-Fi WizFi310 | Mbed

Wiznet Wi-Fi WizFi310 WizFi310 offers a quick, easy, and cost-effective way for device and appliance manufacturers to add WiFi capabilities to their products. Hello World This is a simple mbed client example demonstrating, registration of a device with mbe

os.mbed.com

 


mbed에서 WizFi310의 얘제들을 검색해보면 다양한 예제 코드들을 확인할 수 있다.

 

https://os.mbed.com/teams/WIZnet/code/WizFi310_TCP_Echo_Server_Example/ 

 

WizFi310_TCP_Echo_Server_Example - TCP Echo Server Example using WizFi310 | Mbed

TCP Echo Server Example using WizFi310 Dependencies:   NetworkSocketAPI WizFi310Interface mbed Prerequisite This example shows that Wizwiki-W7500 and WizFi310 operates as a TCP server. When receiving data from a TCP client, it returns same data. To impleme

os.mbed.com

 




https://os.mbed.com/teams/WIZnet/code/WizFi310_STATION_HelloWorld/

 

WizFi310_STATION_HelloWorld - WizFi310_hello_world_demo | Mbed

WizFi310_hello_world_demo Dependencies:   NetworkSocketAPI WizFi310Interface mbed Prerequisite This example shows that WIZwiki-W7500 and WizFi310 connects to AP. To implement this function, you need a Platform board and Wi-Fi board. Below are what we used.

os.mbed.com

 


https://os.mbed.com/teams/WIZnet/code/WizFi310_OpenWeatherMap/

 

WizFi310_OpenWeatherMap - Openweathermap example for WizFi310 | Mbed

Openweathermap example for WizFi310 Dependencies:   NetworkSocketAPI WizFi310Interface mbed Prerequisite This example is for obtainning and printting data from OpenWeatherMap(Server). WIZwiki-W7500 and WizFi310 Shield act as TCP client mode. To implement t

os.mbed.com


https://os.mbed.com/users/jehoon/code/KT_IoTMakers_WizFi310_Example/

 

KT_IoTMakers_WizFi310_Example - WizFi310 IoTMakers Example | Mbed

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling coo

os.mbed.com


https://os.mbed.com/users/jehoon/code/WiFiTracker/

 

WiFiTracker - WiFi Tracker, scan WiFi probe packer and publis... | Mbed

WiFi Tracker, scan WiFi probe packer and publish message to broker Download repository: zip gz Files at revision 0:d9bcf96e0ce9 / default tip

os.mbed.com

 

 


위 예제들을 보면, 타이틀 옆에 OS2라는 표시가 있는 것을 확인할 수 있다. 

이 표시는 mbed OS version 2에서 동작하는 예제를 의미한다. 
현재 mbed OS는 version 5까지 릴리즈 되어 있다.  
https://os.mbed.com/blog/entry/Introducing-mbed-OS-5/ 

 

Introducing mbed OS 5 | Mbed

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling coo

os.mbed.com

 

그렇기 때문에 최신 mbed OS 5에서 WizFi310을 사용하기 위해서는 위 예제들을 참고하기 어려운 점이 있다. 


mbed OS 5에서 동작하는 WizFi310의 드라이버 코드는 아래 github를 통해 배포되고 있으며, mbed online compiler에서 mbed OS 5를 사용할 경우 아래 github의 최신 코드를 사용하여 compile된다 
https://github.com/ARMmbed/wizfi310-driver

 

ARMmbed/wizfi310-driver

This is Wi-Fi driver for mbed using WizFi310. Contribute to ARMmbed/wizfi310-driver development by creating an account on GitHub.

github.com

 

mbed OS 5에 포함된 드라이버 코드는 다른 Communication Components의 소스코드를 사용하더라도 재사용이 가능하기 때문에 쉽게 포팅해서 사용할 수 있다. 
위 WizFi310드라이버를 사용해 Arm pelion Cloud에 연동하는 얘제는 아래와 같다. 

https://github.com/wpgnss/mbed-cloud-client-example

 

wpgnss/mbed-cloud-client-example

Reference example application using Mbed Cloud Client library - wpgnss/mbed-cloud-client-example

github.com

 

 

0 0
IoT/News

LPWAN은 어떻게 펌웨어 업그레이드가 진행될까?

디바이스가 출시된 이후에도 버그 수정이나 성능 향상을 위해 펌웨어 업데이트가 필요하다. 펌웨어를 업데이트 하는 방법은 다양하지만, 네트워크에 연결된 단말들은 FOTA(Firmware Over The Air)라는 기능을 활용해 펌웨어를 업데이트 해왔다.
FOTA는 무선 네트워크를 활용해 자동으로 디바이스의 펌웨어를 업데이트 하는 방법 중 하나이며, 펌웨어를 ‘배포’할 수 있다는 장점을 같는다. 이는 공급자의 입장에서 다바이스를 각각 따로 업데이트를 하지 않고, 선택된 디바이스로 펌웨어를 배포함으로써 수많은 IoT 디바이스에 일괄적으로 펌웨어를 업데이트할 수 있다.

기하급수적으로 늘어날 것으로 예상되는 IoT 디바이스들도 FOTA가 가능하면 디바이스 관리 측면에서 많은 장점이 있을 수 있다.
이 글에서는 SKT에서 제공하고 있는 IoT 통신방식인 LoRa와 Cat.M1은 FOTA가 가능한지 여부와 FOTA 방법에 대해 소개하도록 하겠다.

Cellular/WiFi 등의 Network와 LPWAN(Low Power Wide Area Network)의 차이점

Celluar Network와 LPWAN은 사용 목적 부터 다르다. Celluar Network는 스마트폰이나 셋탑박스등에서 더 많은 양의 데이터더 빨리 보내기 위해 발전해 왔다. (3GPP는 Release 13에서 IoT를 위해 LTE 기반의 LPWAN인 NB-IoT와 Cat.M1을 발표했다.)
하지만 LPWAN은 IoT 디바이스의 요구에 맞추어 저렴한 가격으로 저전력으로 오랜 시간 동작이 가능하며, 먼 거리로 데이터를 전송하도록 설계되었다. 그렇기 때문에 trade off로 낮은 data rate를 갖는다

LoRa와 Cat.M1의 차이점은 사용하는 주파수 대역과 통신방식, 속도 등이 있을 것이다.

우선, LoRa의 사용 주파수 대역은 국가마다 차이가 있지만 비면허 대역을 사용한다. Cat.M1은 LTE 면허 대역을 사용하기 때문에 허가된 공급자만 서비스할 수 있다. 면허 대역과 비면허 대역을 사용하는데서 발생하는 데이터의 무결성 또한 차이가 있다.

통신 방식의 차이도 있다.
Cat.M1의 경우에는 LTE 계열이기 때문에 IP 통신을 한다. 이 말은 Cat.M1을 사용하는 IoT 디바이스는 IoT 서버에 직접 접속할 수 있다는 의미이다.
반면 LoRa의 경우 자체 정의된 비 IP 통신을 한다. 그렇기 때문에 IoT 서버와 연결되기 위해서는 중간에 LoRa 프로토콜을 IP 통신으로 변환해주는 LoRa 게이트웨이가 필수이다.

LPWAN의 데이터 다운로드 속도

SKT의 IoT Portal을 보면, SKT LPWAN의 속도에 대한 자료가 있다.(https://www.sktiot.com/iot/introduction/iotnetwork/iotNetworkCatM1)
이 자료를 보면, LoRa는 5.4Kbps, Cat.M1은 375Kbps의 속도로 표기되어 있다.

이 속도는, 디바이스가 100KB의 펌웨어 파일을 수신하기 위해서는..
LoRa의 경우 92.6초가 소요 되며, Cat.M1의 경우 2.14초가 소요 된다.

그리고 SKT LoRa의 경우 LoRa 망의 안정성을 위해 디바이스당 데이터 양을 60Byte, 전송 주기를 1분으로 제한을 두고 있다.
그렇기 때문에 100KB의 펌웨어를 디바이스로 전달하기 위해서는 최소 1,667분이 소요된다.

사실상 SKT LoRa의 경우에는 FOTA를 사용해 펌웨어를 업데이트 하기에는 제약이 있다.

FOTA 서버를 활용한 펌웨어 업그레이드

LoRa 디바이스 펌웨어 업그레이드

SKT의 LoRa를 사용하는 경우 FOTA는 사실상 불가능한 것으로 보인다. Private LoRa의 경우에는 Data rate 등의 조정으로 FOTA를 서비스하는 경우도 있다.

SKT ThingPlug를 활용한 Cat.M1 디바이스 펌웨어 업그레이드

SKT는 ThingPlug라는 이름으로 IoT 서버 플랫폼 서비스를 제공한다. ThingPlug에서는 기본적인 IoT 디바이스 관리나 데이터 저장과 같은 서비스를 제공하고 있으며, FOTA 서비스를 추가로 제공하고 있다.

SKT Cat.M1과 ThingPlug를 이용한 FOTA 방법은 아래 글에서 확인할 수 있다.

https://www.wiznetian.com/lte-cat-m1-application-note-firmware-over-the-air-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0%EC%9A%B0%EB%A6%AC%EB%84%B7-2/


0 0
Prototype/IoT Platform


Github

https://github.com/wpgnss/Arduino_Kakao_PlusFriends


카카오톡 친구 추가

Arduino_Kakao_PlusFriends

이 어플리케이션은 SKT의 LoRa 디바이스로부터 약속된 포맷의 GPS 데이터를 수신해 KAKAOTALK의 플러스친구로 위치정보를 알려주는 어플리케이션이다.

LoRa와 카카오톡을 이용한 GPS 트래커에 대한 내용을 오프라인 강의를 진행합니다.



서버 생성하기

아두이노 Web Server 예제를 기반으로 서버를 생성한다. 이 서버는 아래 그림과 같이 ThingPlug에서 Push 해주는 데이터 수신과 KakaoTalk에서 데이터를 요청하는 데이터 전송 기능을 담당하는 서버 역할을 한다.
이 예제는 사설 IP로 구현되었기 때문에 공유기 설정에서 Port Forwading 설정까지 해주어야 한다. 아니면 공인 IP를 사용해야 한다.

GPS 데이터 수신하기

SKT의 LoRa + GPS 디바이스에서 주기적으로 GPS 데이터를 생성&전달 해준다.
이 데이터는 SKT의 IoT 플랫폼인 ThingPlug에 저장되며, 이 데이터를 Subscription 기능을 사용해 아두이노 서버에서 수신하게 된다.

ThingPlug Subscription에 대한 간단한 설명: http://1byte.tistory.com/25

카카오톡 플러스 친구 개발하기

카카오톡에서 위치정보를 확인하기 위해서 카카오톡의 ‘플러스친구’를 사용했다.

카카오톡 플러스친구: https://center-pf.kakao.com
카카오톡 플러스친구 API: https://github.com/plusfriend/auto_reply

아두이노에서 플러스 친구를 사용하기 위해서는 ‘자동응답’ 설정을 ‘API형 자동응답’으로 설정해야 한다.

그 후 아래 두가지에 대한 내용을 개발해야 한다.

  1. keyboard
    keyboard는 사용자에게 제공할 입력 수단이다. 직접 text 입력을 받을 수도 있고, 정해진 버튼을 만들어 사용자가 선택하도록 할 수도 있다.

    ex) GET url:port/keyboard HTTP/1.1

  2. message
    사용자가 keyboard를 통해 입력&선택하게 되면 아두이노 서버에 message 로 요청이 오게 된다.

    ex) POST url:port/message HTTP/1.1

위 두 기능을 구현하면 아래와 같이 카카오톡 플러스친구를 통해 아두이노 서버와 통신할 수 있다.

카카오톡에서 위치 정보 확인

Location, Roadview 기능이 구현되어 있다.

  • Location을 누르면, 자동응답으로 가장 최신의 GPS 데이터를 기반으로 지도 정보를 보내준다. 메세지에는 간략한 지도정보 이미지를 보여주고, 자세히 보기를 누르면 다음 지도로 연결된다.
  • Roadview를 누르면, 자세히 보기 클릭시 GPS 위치의 Roadview를 보여주게 된다.
  • Alert은 아직 추가되지 않았지만, Alert을 누르면 아이에게 진동이나 알림음으로 알려주는 기능을 추가할 예정이다.


0 0
IoT Open House/LoRa



LPWAN(Low Power Wide Area Network), 즉 적은 전력으로 긴 거리를 통신하는 기술이다. LPWAN은 통신빈도가 적고, 소량의 데이터를 사용하는 Metering, Tracking 등의 응용에 적합한대, LoRa와 NB-IoT가 바라보고 있는 응용 분야갸 같기 때문에 전혀 다른 기반기술임에도 많은 비교가 되고 있다.



이번 포스팅에서는 LoRa의 단점 중 하나라고 지적되는 LoRa의 보안 이슈를 SKT의 LoRa에 대해서 적어보려고 한다.(Public LoRa와 차이점이 있음.)



1. LoRa Device - Network Server


LoRa Device와 Gateway 사이는 비면허 대역이고 Broadcast로 통신하는 LoRa 특성상 보안 이슈가 발생할 수 있다.


일단 LoRaWAN 프로토콜 자체에서  AES-128 Encryption으로 Network Session Key를 관리한다. Public LoRa는 아래 그림에서 Pseudo App Key Join 단계만 수행하게 된다.

SKT LoRa는 Pseudo Join 단계를 통해 암호화된 Real App Key를 생성하게 되고, 이 Real App Key를 사용해 Real Join을 하도록 설계되어 있다. 다시말해 서로 다른 키를 이용해 AES-128로 2회 encryption 하는 것이다.


2단계의 Join 과정을 통해 Join Key가 외부로 유출되는 것을 원천 차단하고 있고, SKT에서 인증받지 않은 단말은 SKT LoRa Network에 접속할 수 없게 된다.




또한, LoRa는 IP 기반이 아닌 EUI64 기반의 ID 체계를 사용하기 때문에 DDOS, 스미싱, 스캐니닝, 바이러스 등 IP 기반의 공격에 안전하다.




2. ThingPlug - App Server


ThingPlug와 App/Web Server 사이에서는 MQTT/HTTP 기반에 oneM2M 프로토콜을 사용한다.


1) TCP Layer 보안

 MQTT와 HTTP는 TCP/IP Layer 기반에서 제공되는 SSL encryption도 지원하고 있다.



2) oneM2M Layer 보안

ThingPlug에서 REST API를 사용해 데이터를를 조회하거나, 디바이스를 조회하기 위해서는 사용자 인증키가 필요하다.

이 사용자 인증키는 SKT에서 발급해 주는 키로 타인의 접근을 방지는 역할을 하게 된다.


3) MQTT Layer 보안

MQTT를 사용하는 경우에도 oneM2M 프로토콜을 사용하기 때문에 사용자 인증키 보안을 사용한다.

추가로 경우 MQTT 접속시에 client ID, username, password를 적용하여 타인의 접속 자체를 차단하고 있다.


'IoT Open House > LoRa' 카테고리의 다른 글

SKT LoRa 서비스의 보안 방식  (0) 2017.07.03
LoRa ID 체계 (App Key, App EUI, Dev EUI, LTID)에 대한 정리  (0) 2017.05.17
LoRa Class (A/B/C)  (0) 2017.02.07
0 0
hobby/FASTWHEEL F0

지난 겨울에 mosfet을 수리하고 얼마 지나지 않아 또 다시 고장이 났다.



증상

  • 정상 동작하다가 방지턱 등 서스펜션에 충격이 가해지면 레드링이 뜨면서 멈추는 현상


추측

  • 위 증상이 충격이 가해졌을 때 발생하는 것으로 보아 센서나 모터와 연결된 부분이 단선된 것으로 판단




진행상황

  • 컨트롤러 내부의 메인 보드(배터리 연결 단자 아래쪽)에서 모터(앞 바퀴) 사이에 hall 센서 연결된 것으로 추정되는 선 중 하나 단선 확인
  • 진행중.. 완료
  • 분해하는데 참고한 영상  http://1byte.tistory.com/34
  • 결론을 먼저 말하면, 수리 장비가 갖춰져 있지 않다면 그냥 수리를 맞기거나 컨트롤러를 구매해서 교체하는게 좋을 것 같다.
  • 이 문제로 2번 수리 도전 했음
  • 첫번째는 단선된 선을 이어 붙이기만 해보았고, 두번째로 커넥터를 통째로 바꿨음.
  • 커넥터 교체를 위해서 구매한 커넥터 http://1byte.tistory.com/35



분해

1. 위 영상을 참고하면서 컨트롤러와 앞바퀴 등을 분해해야 한다.

2. 분해를 위해서는 육각 렌치와 납땜 세트와 몽키스패너까지 필요하다. 몽키스패너가 없어서 다이소에서 3천원짜리 구매함.

3. 분해 하면서 전선 케이블 색 확인을 위해 찍어둠.(아래 사진에서 검은색 케이블이 단선된 것을 확인.)





첫 번째로 수리를 했을 때에는 단선된 선만 이어 붙여보았다.

아래 사진처럼 초록색 선이 단선된 것을 확인하고 나름대로 꼼꼼하게 선도 여유 있게 이어 붙이고 수축 튜브로 마무리까지...



이렇게 해도 일단 동작은 했다.

정상 동작하는 것을 확인하고 집까지 타고가려고 하는데... 다시 레드링이 뜬 것을 확인했다.

확인 해보니 끊어졌던 부분이 다시 또 끊어져 버림..








2차 시도에서는 커넥터까지 바꿔 버리기로함.


사실 원래 달려 있던 커넥터를 빼기 위해서 아래 사진에 보이는 컨트롤러를 분해하고 싶었다.

열풍기로도 해보고 힘으로도 해보려고 했는데,, 모두 실패 했다.


결국 니퍼로 커넥터를 뜯어내고 열풍기로 납을 녹여 제거 했다..


그리고 새로 구매한 커넥터를 끼우고 다시 납땜함.



다행히 PCB 아래쪽에도 동판이 있어서 인두로 살살 납땜함.


5선 케이블을 찾아봤지만 주변에 6선 케이블 밖에 없어서 선 하나를 두고 사용했다. 6선 케이블은 전화선에서 많이 사용함ㅋ

아래 커넥터를 압착기로 작업하는 것도 쉽지 않았다.

5개를 하기 위해 20개 정도 사용한 것 같다.




또 맘에 안들었던 점은, 전화선이 좀 두꺼워서 아래처럼 고무에 끼우기 위해서 약간 칼로 구멍을 넓혔다..

아마도 고무가 더 찢어질 것으로 보인다...




다시 살림!!




3 0
IoT/News
WIZnet MakerSpace Newsletter
0 0
hobby/FASTWHEEL F0

커넥터 교체를 위해 구매한 부품 리스트


아이씨뱅큐를 좋아하는건 아니지만.. 부품을 찾다보면 아이씨뱅큐에 많이 있는 것 같은 느낌이 든다..



커넥터는 2.00mm pitch의 커넥터를 구매해야 한다.


2.00mm 커넥터와 호환되는 터미널도 함께 구매해야함.




구매 후에는 위 그림의 2번을 전선과 함께 1번에 넣어야 함.


1세트는 1번 1개, 3번 1개, 2번 5개가 한세트가 되니까 구매할때 참고하세요

참고로 위에꺼 구매할때 1,2번은 MOQ 100개... 3번은 10개였음..


커넥터 작업할때에는 아래처럼 생긴 압착기가 필요합니다.



압착기 싼거 1만원 이상, 위에 커넥터 부품 배송비 포함 1만원 정도.. 시간과 노력 등등을 고려해보았을 때


이 작업을 하실 바에는 사설 수리샵에서 메인 보드 박스를 구해하는게 좋을 수도 있음.


하지만, 한번 저 작업을 해놓으면, 나중에 단선되면 커넥터만 빼서 교환하기 편합니다.

0 0
1 2 3 4
블로그 이미지

IoT 개발자 블로그이고 싶다.

1byte