인기글(댓글수)
-
통신
[안드로이드 Kotlin] BLE(Bluetooth Low Energy) 통신 예제
전체적으로 BLE 기능 구현을 심플하게 작성하였습니다. UI 업데이트 부분은, 데이터 바인딩을 사용하였습니다. BLE 기능구현 위주로 봐주세요. Permission BLE사용을 위해 위 세개의 퍼미션을 AndroidManifest에 추가해줍니다. Ble 지원 확인 override fun onResume() { super.onResume() // finish app if the BLE is not supported if (!packageManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) { finish() } } ble를 지원하지 않으면 어플이 종료되도록 합니다. Constants.kt class Constants{ companion object..
- 통신 [안드로이드] 아두이노와 안드로이드 Bluetooth 통신하기 안드로이드 기기와 아두이노 보드간 블루투스 통신 코드를 소개하겠습니다. 아두이노는 블루투스 통신을 위해 HC-06을 사용하였습니다. 먼저 bluetooth 통신을 위해 connect 버튼을 누르면 버튼이벤트를 시작으로 블루투스 연결을 시도하였습니다. 코드를 차근차근 따라해보면 이해가 쉬울 것입니다. 구현한 소스는 안드로이드 기기에서 데이터를 아두이노 보드에 송신하고, 아두이노에서 데이터를 수신하는 코드입니다. 특정기기에 자동으로 페어링, 연결 하는 최신 코드를 전부 합하여 포스팅 하였습니다. [Android/통신] - [안드로이드-아두이노] bluetooth classic 자동 페어링&연결 / 데이터 송,수신 안드로이드 Bluetooth 연결 Manifest 추가 먼저, 권한을 위해 AndroidMani..
-
통신
[안드로이드-아두이노] bluetooth classic 자동 페어링&연결 / 데이터 송,수신
이 예제는, 특정 이름을 가진 블루투스를 검색 후 자동 페어링, 연결 후 데이터 송/수신을 하는 예제입니다. 아두이노 우노와 데이터 송/수신 하였고, HC-06을 사용 하였으며, SPP통신입니다. 이전에 안드로이드와 아두이노 블루투스 코드를 포스팅 했었습니다. (Java) [Android/통신] - [안드로이드] 아두이노와 안드로이드 Bluetooth 통신하기 위의 포스팅과 비교하여 추가된 점과 달라진 점은 아래와 같습니다. 페어링된 기기뿐 아니라 페어링 되지 않은 기기의 페어링 진행 특정 디바이스를 필터하여 페어링&연결 블루투스 connect 상태 체크 안드로이드, 아두이노 송/수신 전부 구현 Kotlin 데이터 바인딩과 라이브데이터를 사용한 MVVM 구조로 짜여진 코드를 리뷰하는 것이므로, 메서드 구..
-
Pixy2
Pixy2 cam 아두이노로 색 물체 따라 움직이는 모바일 로봇 만들기!
이번 포스팅에서는 모바일 로봇의 모터와 연동하여 색 물체를 따라 움직여 보겠습니다. 우선 색을 먼저 학습시키는 법은 아래 포스팅을 확인해주세요. Pixy2 색 인식하기▽ Pixy2 cam 물체 인식, 색 학습 하는 법 아두이노 카메라 Pixy2 소개 ▽ 색깔 인식(학습)가능한 아두이노 카메라 Pixy cam ― Pixy2 소개 Pixy2 소개 원하는 물체(색)를 학습시킬 수 있는 카메라 Pixy cam. 사용해보니 만족 스러웠습니다. 그런데 Pixy2가.. ddangeun.tistory.com Pixy2 공식사이트에서는 Zumo 로봇을 이용하였는데요, 예제 코드도 Zumo 로봇 코딩한 것을 활용하였습니다. Zumo 모바일 로봇▽ https://www.pololu.com/product/2509 가이드 ht..
-
Pixy2
Pixy2 cam 아두이노 코딩하기 ― 물체 따라서 서보모터 움직이기
아두이노 카메라 Pixy2 소개▽ 색깔 인식(학습)가능한 아두이노 카메라 Pixy cam ― Pixy2 소개 Pixy2 소개 원하는 물체(색)를 학습시킬 수 있는 카메라 Pixy cam. 사용해보니 만족 스러웠습니다. 그런데 Pixy2가 한참전에 나와서 살펴보았더니 아주 좋더라구요. ▲Pixy2 소개 동영상 가격은 이전버전에 비해.. ddangeun.tistory.com Pixy2 색 인식하기▽ Pixy2 cam 물체 인식, 색 학습 하는 법 아두이노 카메라 Pixy2 소개 ▽ 색깔 인식(학습)가능한 아두이노 카메라 Pixy cam ― Pixy2 소개 Pixy2 소개 원하는 물체(색)를 학습시킬 수 있는 카메라 Pixy cam. 사용해보니 만족 스러웠습니다. 그런데 Pixy2가.. ddangeun.tis..
인기 글(조회수)
- Git [Git] .DS_Store 삭제후 다시 commit local folder에서 .DS_Store 삭제 후 commitfind . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -fecho .DS_Store >> .gitignoregit add .gitignoregit commit -m ".DS_Store is banished"git push origin main
- Git [Git] non-fast-forward 오류 non-fast-forward 오류가 발생한 것을 보니, 원격 저장소의 변경 사항을 로컬 저장소로 가져와 병합한 후 다시 푸시해야 합니다. 이를 해결하기 위해 git pull 명령어를 사용해 원격 브랜치의 변경 사항을 로컬 브랜치에 병합하고, 푸시하는 방법을 다시 시도해 보겠습니다.원격 저장소의 변경 사항을 가져오기 (fetch) git fetch origin 로컬 브랜치와 원격 브랜치 병합 (merge) git merge origin/main --allow-unrelated-histories 충돌 해결 및 커밋 (충돌 발생 시)충돌 파일 수정수정된 파일을 스테이징git add 충돌 해결 커밋git commit -m "Resolve merge conflict" 만약 병합 중에 충돌이 발생하..
- Git [Git] this exceeds GitHub's file size limit of 100.00 MB : git lfs large file 추가 방법 errorthis exceeds GitHub's file size limit of 100.00 MB git lfs 설치Linux(Debian): apt-get install git-lfsLinux(Red Hat): yum install git-lfsmacOS(brew): brew install git-lfsWindows: 사이트에서 다운로드설치후, 폴더 에서git lfs install lfs 등록 (.gitattributes 파일에 등록됨)git lfs track 100MB 넘었다고 에러난 파일을 모두 track 해제하고 lfs track 등록하자이전 commit 삭제하고이전 커밋을 삭제하고 변경 사항을 유지git loggit reset HEAD^ --soft그 후 add commit하면Large 파일..
- Git [Git] fatal: the remote end hung up unexpectedly 에러 git post buffer size 문제git config --global http.postBuffer 1048576000git config --global http.postBuffer 524288000postBuffer 사이즈 늘려주기 혹은 나눠서 넣기.gitignore 파일 활용캐시 삭제git rm -r --cached .git rm -r --cached . -f 추가 error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400git config --global http.version HTTP/1.1
- function UDP 포트 포워딩 하기 ― Nginx 리버스 프록시 udp 포트가 하나로 고정되어 있어서, 포트 포워딩을 하고 싶은데 nginx 리버스 프록시를 사용하였습니다. 참고로, nginx udp 리버스 프록시는 윈도우에서 지원하지 않습니다.(윈도우에서 삽질함) nginx 설치 sudo apt install nginx 리버스 프록시 설정 sudo nano /etc/nginx/nginx.conf nano 편집기로 편집해줌. 경로는 /etc/nginx/nginx.conf 로 가서 밑의 줄을 추가해 준다. stream { upstream portforwarding_udp { server [server_ip]:[port]; } server { listen [port] udp; proxy_pass portforwarding_udp; proxy_connect_timeout ..
-
UI
[Unity] IOS 느낌의 On/Off 스위치 만들기
이런 느낌의 스위치를 만들어 보도록 하겠습니다. Swtich Gameobject 아래 background 추가 하고 background 이미지를 넣어줍니다. 그리고 또 하위에스위치 버튼 이미지를 넣어 주고 왼쪽 끝부분으로 맞춥니다. 버튼의 x축 위치를 이동시켜 버튼을 on/off 할 것입니다. SwitchHandler Script를 새롭게 만들어 Switch Gameojbect에 넣어줍니다. Script 작성전에, Asse Store에서 DOTween 무료버전을 설치해줍니다. Window>Package Manager에서 DOTween Import 해줍니다. 그리고 SwitchHandler Script 를 다음과 같이 작성해 줍니다. using UnityEngine; using System; using D..
최신 글
- Git [Git] .DS_Store 삭제후 다시 commit local folder에서 .DS_Store 삭제 후 commitfind . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -fecho .DS_Store >> .gitignoregit add .gitignoregit commit -m ".DS_Store is banished"git push origin main
- Git [Git] non-fast-forward 오류 non-fast-forward 오류가 발생한 것을 보니, 원격 저장소의 변경 사항을 로컬 저장소로 가져와 병합한 후 다시 푸시해야 합니다. 이를 해결하기 위해 git pull 명령어를 사용해 원격 브랜치의 변경 사항을 로컬 브랜치에 병합하고, 푸시하는 방법을 다시 시도해 보겠습니다.원격 저장소의 변경 사항을 가져오기 (fetch) git fetch origin 로컬 브랜치와 원격 브랜치 병합 (merge) git merge origin/main --allow-unrelated-histories 충돌 해결 및 커밋 (충돌 발생 시)충돌 파일 수정수정된 파일을 스테이징git add 충돌 해결 커밋git commit -m "Resolve merge conflict" 만약 병합 중에 충돌이 발생하..
- Git [Git] this exceeds GitHub's file size limit of 100.00 MB : git lfs large file 추가 방법 errorthis exceeds GitHub's file size limit of 100.00 MB git lfs 설치Linux(Debian): apt-get install git-lfsLinux(Red Hat): yum install git-lfsmacOS(brew): brew install git-lfsWindows: 사이트에서 다운로드설치후, 폴더 에서git lfs install lfs 등록 (.gitattributes 파일에 등록됨)git lfs track 100MB 넘었다고 에러난 파일을 모두 track 해제하고 lfs track 등록하자이전 commit 삭제하고이전 커밋을 삭제하고 변경 사항을 유지git loggit reset HEAD^ --soft그 후 add commit하면Large 파일..
- Git [Git] fatal: the remote end hung up unexpectedly 에러 git post buffer size 문제git config --global http.postBuffer 1048576000git config --global http.postBuffer 524288000postBuffer 사이즈 늘려주기 혹은 나눠서 넣기.gitignore 파일 활용캐시 삭제git rm -r --cached .git rm -r --cached . -f 추가 error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400git config --global http.version HTTP/1.1
- function UDP 포트 포워딩 하기 ― Nginx 리버스 프록시 udp 포트가 하나로 고정되어 있어서, 포트 포워딩을 하고 싶은데 nginx 리버스 프록시를 사용하였습니다. 참고로, nginx udp 리버스 프록시는 윈도우에서 지원하지 않습니다.(윈도우에서 삽질함) nginx 설치 sudo apt install nginx 리버스 프록시 설정 sudo nano /etc/nginx/nginx.conf nano 편집기로 편집해줌. 경로는 /etc/nginx/nginx.conf 로 가서 밑의 줄을 추가해 준다. stream { upstream portforwarding_udp { server [server_ip]:[port]; } server { listen [port] udp; proxy_pass portforwarding_udp; proxy_connect_timeout ..
-
라즈베리파이
라즈베리파이 한글 사용 하기(fcitx)
라즈베리파이 4 를 사용했으며, 인터넷 연결을 해주어야 합니다. update&upgrade sudo apt-get update sudo apt-get upgrade font 설치 sudo apt install fonts-nanum 한글이 보일 수 있도록 나눔 폰트를 설치합니다. Locale 설정 메뉴>Preferences>Raspberry Pi Configuration>Localisation Set Locale... 한국, 한국어로 맞추면 기본 라즈비안 환경이 한글이 됩니다. 그 후, 재부팅 해줍니다. fcitx 설치 sudo apt install fcitx fcitx-hangul 한글입력기 ibus, fcitx, nabi중 ibus는 오류가 많고, nabi는 설치해도 반응이 없더라구요. fcitx를 설..
Architecture
-
Architecutre
MVVM 시작하기(1) ― LiveData, Room을 MVVM패턴으로 사용해보자
-
Architecutre
MVVM 시작하기(2) ― Room Entity, Dao, Database 만들기
-
Architecutre
MVVM 시작하기(3) ― ViewModel, 데이터 바인딩(Data Binding)
-
Architecutre
MVVM 시작하기(4) ― Repository, Model-View 연동
-
Architecutre
[안드로이드 MVVM] Repository 에서 ViewModel, View(Activity,Fragment)에 Event/Data 전달하기 ― Repository에서의 LiveData ?
-
Architecutre
[안드로이드 Service] MVVM구조에서 BluetoothLE Service 사용하기
-
Architecutre
안드로이드 Clean Architecture 구현하기
Android 통신
-
통신
[안드로이드 Java] 하드웨어 모듈과 TCP/IP 소켓 통신 하기 ― 클라이언트 소켓 프로그래밍
- 통신 [안드로이드] 아두이노와 안드로이드 Bluetooth 통신하기
-
통신
[안드로이드] Wifi List (와이파이 목록) 띄우기 ― Popup Window에서 Recycler View 사용하기
- 통신 [안드로이드 java] byte 배열 타입별로 변환하기 ― 수신 프로토콜 처리하기
-
통신
[안드로이드 Kotlin] BLE(Bluetooth Low Energy) 통신 예제
-
통신
[안드로이드-아두이노] bluetooth classic 자동 페어링&연결 / 데이터 송,수신
-
통신
안드로이드 RxBle 사용하기, 예제