반응형

전체 글 129

[IoT] esp32 Flash Download Tools 이용하여 업로드

우리가 VS Code에 PlatformIO Plugin을 이용하여 개발을 하는 경우, esp32에 프로그램을 업로드 하려면 vs code를 이용하여 업로드 하는 방법밖에 없다. 하지만 소스코드를 매번 컴파일 하며 업로드를 하는 것은 시간 낭비이며, 업체에 소스코드를 넘겨서 생산하는것은 더더욱 무리다. 때문에 .bin파일을 이용하여 esp32에 프로그램을 업로드 하는 방법을 소개하고자 한다. 먼저 해당 프로젝트를 열고 터미널을 연다. pio run -v -t upload 위의 코드를 입력하면 기존에 업로드 할때 나왔던 정보가 아닌 디테일한 정보들이 나온다. 이러한 정보 중 다음과 같은 데이터를 이용한다. 대충 이러한 정보인데 텍스트를 이쁘게 풀어서 써보자면 아래와 같다. "c:\users\jade4375\..

프로그래밍/IoT 2020.09.14

[Arduino] Button Control

우리가 Arduino나 마이크로 프로세서 등을 사용할 때 I/O를 이용하는 가장 기본적으로 예는 바로 버튼일 것이다. 이같은 회로를 바로 사용하면 채터링(Chattering) 현상이 발생하게 되는데 시그널로 확인해본다면 아래와 같다. 채터링 현상이 일어나는동안 SW적으로 데이터를 읽으면 1도 아니고 0도 아닌 이상한 상태가 되어 의도하지 않은 값을 읽어올수 있다. 이와 같은 상황을 해결하기 위해서 Debouncing이라는 기법을 이용하여 해결한다. 쉽게 설명하여 버튼 입력이 일어나는 동안 Debouncing Time만큼 입력을 무시하면 된다. 그리고 또한 실제 개발 환경에서는 이러한 버튼들에 대해 많은 I/O를 할당 하기 어려운 경우들이 대부분이다. 그러면 적은 수의 버튼을 이용하여 셋팅이나 조작을 해야..

프로그래밍/IoT 2020.09.14

[Android] 경기지역화폐 지도 만들기 - 4

이번 포스트 지난 포스트에서는 Retrofit을 이용해서 실제로 지역화폐 가맹점 데이터를 가져와봤다. 이번 포스트에서는 Dependency Injection(의존성 주입)을 사용하기 위해 Koin이라는 라이브러리를 적용하겠다. 의존성 주입의 이점은 대표적으로 3가지가 있다. 의존 관계 설정이 컴파일시가 아닌 실행시에 이루어져 모듈간의 결합도를 낮출 수 있다. 코드 재사용을 높혀서 작성된 모듈을 여러 곳에서 소스코드의 수정 없이 사용할 수 있다. 모의 객체 등을 이용한 단위 테스트의 편의성을 높여준다. 위와 같은 이유로 사용되어지는데, 사실상 개발을 하다보면 확실히 느끼게 되는 점 중 하나는 결합도의 문제이다. 객체 간의 결합도가 높게 되면 A 객체의 수정 시, B 객체도 수정해야하는 불상사가 생기게 되고..

[WPF] MVVM에서 ComboBox SelectionChanged Binding

단순히 xaml에서 code behind로 SelectionChanged 이벤트는 쉽게 헨들러를 통해 추가할 수 있다. 하지만 MVVM에서 Binding을 통해 Binding을 하려고 하면 바인딩을 하기 위한 속성이 존재 하지 않는다. 이를 해결하기 위해 System.Windows.Interactivity라는 Reference가 존재한다. 단순히 Blend SDK가 안깔려 있다면 아래와 같은 내용을 최상위 컨트롤에 추가해준다. xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 깔려 있을경우 아래의 내용을 추가해준다. xmlns:i="http://schemas.microsoft.com/expre..

프로그래밍/WPF 2020.08.21

[Android] 경기지역화폐 지도 만들기 - 3

이번 포스트 이번 포스트에서는 retrofit2 라이브러리를 이용하여 공공데이터 open API에서 데이터를 다운 받아보겠다. 일단 retrofit에 대해서 알아보자 https://square.github.io/retrofit/ Retrofit A type-safe HTTP client for Android and Java square.github.io 상단의 홈페이지에 가보면 사용법과 셋팅법에 대해서 기술하고 있다. public interface GitHubService { @GET("users/{user}/repos") Call listRepos(@Path("user") String user); } 위의 예제에서는 @GET 이라는 Annotation을 이용하여 RESTful service들을 이용할 ..

[Android] 경기지역화폐 지도 만들기 - 2

지난 포스트 지난 시간에는 경기도의 지역화폐 가맹점 데이터를 습득하기 위해 공공데이터포탈에서 가입 그리고 인증키를 발급받았다. 이번 포스트 이번 포스트에서는 Android Studio를 이용하여 프로젝트를 생성하고, OpenAPI에서 사용하는 데이터를 이용하기 위한 데이터 클래스를 만들도록하겠다. 이제 Android Studio를 이용하여 프로젝트를 생성하도록 하자. Empty Activity에 kotlin으로 적용하고 sdk버전은 7.0으로 셋팅하자. 컴파일도 해보고 실행도 시켜서 잘돌아가는지 확인하자. 뭔가 잘 안된다면 열심히 검색... 큰 문제는 아닐것이다. 대부분 SDK가 설치가 안되었다거나 에뮬레이터 버전 문제가 대부분이다. 이제 우리가 요청한 URL을 통해서 데이터를 받아야 하는데 일단 어떤 ..

[Android] 경기지역화폐 지도 만들기 - 1

시작하며... 대학 졸업, 대학원 졸업, 첫 회사를 입사 그리고 퇴사, 그리고 지금의 회사를 다니면서 다양한 업무 경험을 했다. 나의 기술들이나 테크닉을 나름대로의 정리를 한다고 시늉하느라 에버노트에 난잡하게 정리되어있는 코드 블럭 그리고 구글 크롬에 북마크로 남겨놨다. 하지만 이건 찾기도 힘들고 뭔지도 모를정도로 쌓여버리고 말았다. 배우고 익히고 사용한 것들을 도서관마냥 정리해야겠다는 필요성을 느꼈다. 그리하여 시작한 이번 포스팅은 요즘 이것저것 만들어본다고 배운 안드로이드 되시겠다. 데이터는 어디서?? 공공데이터포털이라는 곳에가면 별에별 데이터가 다있는데 여기서 지역화폐 가맹점 현황 을 검색하면 OpenAPI 및 .csv형태의 파일까지 지원해준다. https://data.gg.go.kr/portal/..

[IoT] Arduino IDE 개발환경 구축하기

이전 포스트에서 우리는 개발보드를 esp32 칩이 있는 esp-32 devkit으로 선정하였습니다. (물론 esp-32가 내장되어있는 nodemcu-32s라던가 기타 다른 개발모듈을 선택하셔도 무방합니다.) 자 일단 MCU는 왔는데 개발은 어떻게 해야 하냐?? 라고 물으실수 있습니다. 어떻게 개발하긴요!! 우리의 Arduino IDE가 다 해줘요!! 일단 Arduino IDE를 설치해봅시다. https://www.arduino.cc/en/Main/Software Arduino - Software By downloading the software from this page, you agree to the specified terms. THE ARDUINO SOFTWARE IS PROVIDED TO YOU ..

프로그래밍/IoT 2020.08.03

[IoT] 개발 보드 선정하기

제목에도 그렇듯이 저는 Internet of things(IoT)에 대한 내용을 포스팅 할 예정이기에 주력으로 쓸 MCU를 선정해보도록 합시다. 우선 여러가지 옵션이 있을 수 있습니다. 첫 번째로 전통적인 방식으로 arduino uno + esp-01을 이용하는 방법. 가격은 $ 4.8 이네요. 그리 부담스러운 가격은 아닙니다. 다만 한가지 단점은 UNO는 동작 전원이 5V인데 비해 esp-01은 3.3V라서 전압 다운을 해줘야 한다는 점이고, 사실상 atmega328의 스팩은 그리 좋지 않습니다. ( https://store.arduino.cc/usa/arduino-uno-rev3 - TECH SPECS 참고 ) 여기서 ESP-01은 esp8266라는 마이크로칩을 이용한 저가형 wifi 모듈입니다. E..

프로그래밍/IoT 2020.08.03
반응형