IoT 디바이스 컨트롤을 위한 스마트폰 앱 활용

 

강사 Blog : http://opensrclab.tistory.com

                http://www.instructables.com/howto/bingdo/

 

목차

1. 개발 환경 구축

   - LPCXpresso IDE 활용

2. W5500 칩 주요 특징 소개

3. W5500-EVB 사용법 실습

   - Github Loopback_LPC11E36_LPCXpresso 프로젝트 활용

   - TCP/UDP 이용에 대한 기본 개념 이해

4. Github Blynk_STM32F103_Eclipse 프로젝트 데모

   - Blynk 스마트폰 앱, Web Server 활용

   - Blynk 플랫폼 및 Web Server의 개념 이해

5. Github BLYNK_LPC11E36_LPCXpresso 프로젝트 실습

   - Blynk 스마트폰 앱 활용

   - Blynk Server와 IoT 디바이스 제어에 대한 개념 이해

개발 환경 구축

LPCXpresso 설치

   - NXP에서 제공하는 IDE 환경 설치

   - http://wizwiki.net/wiki/doku.php?id=osh:lpcxpresso:start

개발 환경 구축(2)

Flash Magic 설치

   - Firmware Writing Tool 설치하기

   - http://www.flashmagictool.com/

 

개발 환경 구축(3)

USB Driver 설치

   - http://www.ftdichip.com/Drivers/VCP.htm

 

W5500 칩 주요 특징 소개

Features

Fully Hardware TCP/IP 이더넷 솔루션 : WIZnet의 저렴하고 활용성이 좋은 이더넷 전용칩

   - W3100<W3100A(+)<W5100<W5300<W5200

   - TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE

   - 8 Sockets

   - Integrated Ethernet PHY

   - SPI Mode 0/3 (Up to 80MHz)

   - 48LQFP

W5500-EVB 사용법 실습

Features

   - NXP LPC11E36 MCU with a 32-bit ARM Cortex-M0

   - Arduino H/W Pin Compatible

 

 

http://wizwiki.net/wiki/doku.php?id=products:w5500:w5500_evb

ioLibrary 소개

 

 

https://github.com/Wiznet/ioLibrary_Driver

Github 예제 실습

W5500-EVB Loopback 예제 실습

   - 소스 다운로드

     https://github.com/Wiznet/Loopback_LPC11E36_LPCXpresso

   - 프로젝트 import

     https://github.com/Wiznet/ioLibrary_Driver

   - 컴파일 및 binary fusing

   - Loopback TCP Server 소스 활성화 및 Client 연동

   - Loopback TCP Client 소스 활성화 및 Server 연동

   - Loopback UDP 활성화 및 Server 연동

Github 예제 실습(2)

   - 소스 다운로드

     https://github.com/Wiznet/Loopback_LPC11E36_LPCXpresso

 

Github 예제 실습(3)

   - 프로젝트 import

 

Github 예제 실습(4)

   - ioLibrary 다운로드 및 프로젝트의 디렉토리에 복사

     https://github.com/Wiznet/ioLibrary_Driver

 

 

Github 예제 실습(5)

   - 컴파일 및 binary fusing

 

* 컴파일 순서에 유념할 것

 

* fusing 전에 ISP 다운로드 모드로 전환할 것 (ISP 버튼 누른 상태에서 Reset)

Github 예제 실습(6)

   - TCP/UDP 이용에 대한 기본 개념

 

* MAC address, IP 중복 피할 것

Blynk_STM32F103_Eclipse 프로젝트 데모

Blynk 스마트폰 앱 / WEB 데모

Instructables.com 참조

http://www.instructables.com/id/How-to-Control-My-IoT-Device-by-Android-Phone-or-I/

 

https://www.youtube.com/watch?v=rgL9GOBiNZk

Tutorial

Instructables.com 참조

http://www.instructables.com/id/How-to-Control-My-IoT-Device-by-Android-Phone-or-I/

 

https://www.youtube.com/watch?v=gJstBKzwHRg

BLYNK_LPC11E36_LPCXpresso 프로젝트 실습

Blynk Platform 소개

Blynk is a Platform with iOS and Android apps to control Arduino, Raspberry Pi and the likes over the Internet.

http://www.blynk.cc/

 

https://ksr-video.imgix.net/projects/657114/video-471034-h264_high.mp4

Blynk Platform 소개(2)

Blynk was designed for the Internet of Things. It can control hardware remotely, it can display sensor data,

it can store data, analyze and do many other cool things.

 

Github 예제 실습

W5500-EVB Blynk 예제 실습

참조 블로그

https://ericslabs.wordpress.com/tag/blynk/

   - 소스 다운로드

     https://github.com/Wiznet/BLYNK_LPC11E36_LPCXpresso

   - 프로젝트 import

   - Blynk 앱 다운로드 및 설치

   - Blynk Server 로그인

   - Create New Project 생성

   - E-mail에서 Auth Token 확인

   - Auth Token 변경 후 컴파일

   - binary fusing 후 reset

   - 디바이스 컨트롤 하기

Github 예제 실습(2)

   - 소스 다운로드

     https://github.com/Wiznet/BLYNK_LPC11E36_LPCXpresso

 

Github 예제 실습(3)

   - 프로젝트 import

 

Github 예제 실습(4)

   - Blynk 앱 다운로드 및 설치

 

 Github 예제 실습(5)

   - Blynk Server 로그인

 

 * 처음 로그인 시 Create Account 사용

Github 예제 실습(6)

   - Create New Project 생성

 

 Github 예제 실습(7)

   - E-mail에서 Auth Token 확인

 

Github 예제 실습(8)

   - Auth Token 변경 후 컴파일

 

* MAC address, IP 중복 피할 것

Github 예제 실습(9)

   - binary fusing 후 reset

 

 * fusing 전에 ISP 다운로드 모드로 전환할 것 (ISP 버튼 누른 상태에서 Reset)

   - Terminal을 통해서 Blynk Server에 연결 확인

Github 예제 실습(10)

   - 디바이스 컨트롤 하기

 

 

 

신고
  1. 김태호 2016.01.21 13:08 신고

    안녕하세요^^ 1/19 wiznet에서 "IOT 디바이스 컨트롤을 위한 스마트폰 앱 활용" 강좌를 들은 사람입니다.
    진행중에 문의사항이 있어 글을 남깁니다.
    IOT는 초보자라 강의때 모르는것이 많아 문의드립니다.

    1. 소스 빌드,컴파일후 바이너리(hex) flash 이후에, 보드와 blynk앱과의 통신은 어떤식으로 이루어지나요? (보드에 유선 Lan을 연결한것으로 보아 Blynk 서버와 socket통신을 하는건가요?)

    - Hercules 앱은 단지 서버와 통신확인하는 용도로만 쓰이는건가요?
    - 해당 관련해서 전체적인 아키텍쳐나 구조도가 있나요?(있으시면 공유부탁드립니다.)

    2. 제가 알기로는 실습때 사용한 보드가 W5500칩이 들어가있는 NXP보드으로 알고있는데, 강의시간에 Blynk 앱으로 통신할때는 HW부분을 Aduino Uno라고 선택해서 해당부분이 궁금합니다.

    3. Blynk app에서 "D8" 버튼을 만들고 보드의 LED를 제어하는것이 HW적으로 시그널이나 인터럽트를 app에다가 전달해 주는 구조인건가요?

    4. 소스코딩하는 부분중, mac address를 설정하는 부분이있는데, 강의시간에는 임의대로 설정하여서.. 이렇게 하드코딩해서 보드에넣으면 해당 mac address가 보드에 세팅이 되는건가요?
    실제로 보드 구매를하면 정식 mac address를 할당 받을수 있나요?

    그리고 혹시 강사님 메일주소나 연락처를 알수 있을까요?^^

    • 김태호 2016.01.21 13:20 신고

      참고로 제 연락처는 010-3552-9854 이며 메일주소는 mitani12@naver.com 입니다^^

  2. 안녕하세요.
    댓글 확인이 좀 늦었네요.

    1. 보드와 Blynk 앱과의 통신은 W5500칩으로 통해서 Ethernet을 기반으로 한 TCP/IP socket 통신을 합니다.
    Hercules는 통신확인용입니다.
    따로 제가 그려 놓은 것은 없고 http://docs.blynk.cc 링크를 참조하세요.

    2. Blynk 서버에 접속하기 위해서 Blynk 서버에서 지원하는 HW model을 선택해야 합니다.
    W5500-EVB는 HW model 리스트에 없기 때문에 Arduino UNO을 선택하면 됩니다.
    이유는 W5500-EVB가 HW pin들이 Arduino UNO와 호환이 되기 때문입니다.

    3. Blynk 앱은 Blynk Server로 Blynk Server에서 W5500-EVB로 연결이 되면서 control하게 됩니다.

    4. 강의 때는 임의의 MAC address를 사용하고 있습니다. 하지만 양산 시에는 정식 MAC address를 구입해서 사용하셔야 합니다.
    소수의 MAC address가 필요하시면 MAC address가 들어가 있는 제품을 구입해서 사용하는 방법도 있습니다.

    네. 제 메일 주소는 jim@wiznet.co.kr 입니다.
    제품에 궁금한 내용이 있으시면 http://wizwiki.net/forum 으로 문의해도 됩니다.

    감사합니다.

+ Recent posts