반응형

전체 글 129

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

이번 포스트는 카카오 SDK를 이용하여 카카오 맵을 연결해보도록 하겠습니다. apis.map.kakao.com/android/guide/ 먼저 위의 URL에 접속해보도록 합시다. 지금 현재 사용하려는 SDK 버전은 1.4.1.0 입니다. 일단 다운을 받읍시다. 압축을 풀어보면 아래와 같은 파일들을 볼수 있습니다. libDaumMapAndroid.jar파일은 프로젝트 폴더에서 app/libs 폴더 내에 복사 붙여넣기 해줍시다. 나머지 3개의 arm으로 시작하는 폴더들은 app/src/main 내에 jniLibs라는 폴더를 만들고 그 안에 복사 붙여넣기 합니다. SDK만 다운받아서는 카카오맵을 사용할 수는 없습니다. 카카오에 SDK를 사용하겠다고 내 앱을 등록시켜줘야합니다. 그러기 위해선 내 앱의 hash ..

[Android] EditView에서 IP Address 입력 정규화 처리

자주 사용하는 EditView에서 정규화와 filter를 이용한 입력처리를 보여주고자 한다. 먼저 EditView에서 우리는 숫자와 점 밖에 안쓰기 때문에 숫자 키보드를 나오게 하고 다른 키 입력을 못하게 막도록 다음과 같이 선언한다. android:inputType="phone" android:digits="1234567890." 이제 MainActivity단에서 onCreate단에 아래와 같이 선언해준다. val filters = arrayOfNulls(1) filters[0] = InputFilter { source, start, end, dest, dstart, dend -> if (end > start) { val destTxt = dest.toString() val resultingTxt = ..

[Android] RecyclerView 사용하기

먼저 RecyclerView의 장점들을 설명하고 싶으나, 정말 많은 블로그에서 설명하고 있음으로 패스. 빠르게 구현하는 방법에 대해 배워보겠다. 일단 RecyclerView에 사용할 SubitemView를 만들어보겠다. layout/recycler_factory_item.xml 을 생성한다. 이제 activity_main,xml에 위에서 만든 layout을 이용하여 recyclerView를 선언해주자. RecyclerView에 표현할 내용은 공장 정보와 그에 해당하는 IP 정보임으로 이를 위한 data class를 선언해주겠다. data class Factory ( var Name: String, var Ip: String = "" ) RecyclerView를 사용하려면 Adapter를 우리가 구현해줘야..

[Android] Wifi로 Android Device 연결하여 개발하기

오늘 오전... 드디어 USB-C 케이블이 맛탱이가 가버렸습니다. 전선의 방향에 따라 연결이 되었다가 안되었다가를 반복하여 개발하다가 집어 던절뻔 하였는데 Debug를 사용하여 개발하려다보니 케이블을 붙잡고 하기 너무 어려워서 WiFi로 디버깅은 못하나 해서 찾아봤더니 이와 관련된 플러그인이 존재했습니다. Android Studio에서 File -> Settings Plugins 선택 Android WiFi ADB 설치 재시작후 다시 Android Studio를 켜보면 좌측에 Android WiFi ADB라는 탭이 생겼습니다. 클릭합시다. 이제 PC 혹은 노트북을 WiFi와 연결하고 개발할 스마트폰도 동일한 WiFi에 연결합시다. 그뒤 핸드폰을 PC에 연결하면 아래와 같은 내용이 나옵니다. 지금은 Sta..

[Android] Ndef 읽기 쓰기

이번에는 NFC를 이용하여 Ndef Message를 NFC에 읽고 쓰는 방법에 대해 알아봅시다. 일단 안드로이드에서 Empty Project를 하나 생성합니다. AndroidManifest.xml 을 열고 위쪽에 다음과 같은 내용을 넣습니다. 문법의 설명처럼 NFC의 권한을 넣고, 하드웨어에서 NFC 기능이 필요하다 라고 명시해 놓은겁니다. package com.antoine.ndef import android.app.PendingIntent import android.content.Intent import android.nfc.NdefMessage import android.nfc.NdefRecord import android.nfc.NfcAdapter import android.nfc.Tag impo..

[IoT] WiFi Max RSSI인 SSID 얻기

esp32를 사용하여 Wifi를 연결할 때, 첫 번째로 가장 중요한 요소는 Wifi와의 연결 강도가 될 수 있습니다. 기껏 esp32를 통해 간단한 웹서버를 만들거나 mqtt를 사용한다거나 카메라 화면등을 가져오는데 Wifi의 연결때문에 신호가 끊어져서 데이터를 읽는 경우가 많습니다. 아래의 코드는 현재 ESP32가 연결 가능한 Wifi들을 수집하여 RSSI가 가장 좋은 SSID를 얻는 방법입니다. int numSsid = WiFi.scanNetworks(); if(numSsid < 0) numSsid = 0; if (numSsid == -1) { INFO("Couldn't get a wifi connection"); while (true); } // print the list of networks se..

프로그래밍/IoT 2020.09.14

[Arduino] Serial Log 관리

Arduino를 개발할 때, 우린 주로 Jtag를 사용하는 경우를 제외하곤 대부분 디버깅을 Serial port를 이용하여 디버깅을 합니다. 그런데 로그도 일반 앱처럼 Info, Warn, Debug, Error 단위로 관리는 하지 않죠. 이를 위한 방법으로 아래와 같이 사용하면 편합니다. 원하는 Log level까지만 표기하도록 전처리기로 선언하여 사용하면 관리가 쉽습니다. #pragma once #include #include // Change _LOGLEVEL_ to set tracing and logging verbosity // 0: DISABLED: no logging // 1: ERROR: errors // 2: WARN: errors and warnings // 3: INFO: errors..

프로그래밍/IoT 2020.09.14

Modbus RTU 구현

과거 Modbus 통신으로 설비 데이터를 수집하는 서브 프로젝트를 맡은 적이 있다. 그당시 nuget에 올라와 있는 modbus 통신 라이브러리를 사용하려고하니 이상하게 동작이 안되는 것들이 많았다. 어차피 시리얼 통신이고 데이터 리딩하는것에 남의 라이브러리 가져다 쓰느니 내가 가볍게 만들어서 쓰는게 좋겠다 싶어서 제작하였다. 코드에는 Write부분이 없긴한데 사실 Write하는 부분도 상당히 간단하기 때문에 Read구문과 비슷하게 코딩하면 될듯. 다른 사람을 위해 올립니다. 적당히 수정하여 사용하시면 될것같습니다. 귀찮음이 많이 보이는 코드지만 특별하게 문제가 없는 코드임으로 잘 사용하시길 바랍니다. using System; using System.Collections.Generic; using Sys..

프로그래밍/C# 2020.09.14
반응형