전체 글

전체 글

    [Arduino] switch bounce -> debounce

    switch bounce, 스위치 바운싱이란? 채터링, 또는 진동 잡음이라고 한다. 스위치에서 발생하는 필연적인 하드웨어 결함이다. 스위치를 누르면 회로의 접점이 붙는데 그 점접이 붙었다가 떨어지는 순간에 발생하는 것이 바운스이다. 말그대로 통통 튀는.. 이렇게 눌렀다 떼는 것이 우리 입장에서는 그냥 한번 눌렀다가 떼었으니 한번 접점이 붙는거라고 생각할 수 있지만 위에 말한것 처럼 진동 잡음으로 인해 접점이 붙는 순간에 우리가 생각한 것 보다 더 많은 붙고 떨어짐이 발생한다. 이러한 현상으로 인해 스위치를 사용할 때 제대로 인식을 못하는 경우가 있다. 따라서 아두이노 회로에서 스위치를 사용하려면 반드시 디바운싱을 해주고 사용해야 오류없이 사용할 수 있다. debounce란? 위에서 말한 하드웨어 결함으로..

    [Arduino] Pull-down 저항

    이번학기에 들을 수업이 없어서 타과 아두이노 수업을 듣는데.. 불 켰다 껐다만 할땐 머리가 안아팠는데 풀다운 저항부터 머리가 아프다 ㅋㅋㅋ 그래도 언젠가 쓸일이 있지 않을까 해서 정리 Pull-down register란? 일반적인 경우의 스위치로 전원을 공급하는 회로를 예로 들어보겠다. 그냥 위와 같이 구성하는게 가장 평범한데, 스위치가 눌렸을때는 아무 문제가 없다. 이때는 회로에서 HIGH로 인식을 할 수 있다. 그런데 스위치가 위와 같이 열린 경우에는 처음 그냥 생각했을 때 당연히 전류 공급이 안될테니 0V로 LOW로 인식이 될 줄 알았다. 그런데 그게 아니라 스위치를 누르지 않았을 때는 주변의 어떠한 이유(뭐 직전의 전자가 남아있거나, 회로 주변의 상태에 따라)에 의해 0V로 인식되지 않아서 이때 ..

    VMware NAT port forwarding

    실습 튜터를 하는데 주어진 환경은 호스트는 윈10이고, 나는 vmware안에 우분투 서버를 설치해서 서버 데몬을 돌리는게 일이었다. 학생들은 과제로 윈10 IP 주소에 정보를 요청해서 데이터를 받아가는거였는데, 처음에 이 윈도우 호스트에 온 패킷을 어떻게 가상머신으로 던져주는지를 몰라서 못하고 있었다. 이때 사용할 수 있는 것이 NAT 환경에서 포트 포워딩 설정을 해주는 것이었다. 엄청 간단하다. Edit > Virtual Network Editor 클릭 여기서 하단에 Change Settings를 눌러서 관리자 권한을 줘야 설정을 바꿔줄 수 있다!! NAT를 선택하고 살짝 밑에 보면 NAT Settings있는데 이걸 누르면 오른쪽 창이 뜬다. 여기서 중간쯤에 있는 Add를 누른다. 제목에 써있는 것처럼..

    Android screen mirroring in Kali linux

    https://github.com/Genymobile/scrcpy Genymobile/scrcpy Display and control your Android device. Contribute to Genymobile/scrcpy development by creating an account on GitHub. github.com sudo apt install scrcpy scrcpy 무지하게 간단하다.. 설치도 그냥 명령어 한줄에 되고 바로 실행할 수 있다! 이렇게... 제가 원하던대로 미러링해서 볼 수 있습니다 후후 리눅스쪽에서도 안드로이드 조작이 가능 합니다!

    libpcap Android build(Newest version)

    https://biji-jjigae.tistory.com/89 libpcap Android build(arm cross compile) libpcap 라이브러리를 armv7 기반 안드로이드에서 사용하기 위해 cross-compile 하는 과정을 문서화 한 것이다. 성공한 경우에 대한 버전 및 환경 세팅으로 설명을 진행하였다. libpcap & NDK version libpcap-1.8.. biji-jjigae.tistory.com 지난번에 libpcap-1.8.1과 NDK 10으로 libpcap 안드로이드용 크로스 컴파일을 한 글을 쓴적이 있다. NDK도 너무 옛날 버전이고 libpcap도 1.9.1.이 최신 버전이여서 다시 작성했다. 1. Device Nexus 5 (codenamed Hammerhea..

    [안드로이드 모바일 앱 모의해킹] 환경설정(drozer)

    이번 학기 수업을 듣는 김에... 항상 환경 설정을 하는데 오래 걸리고, 잘못하면 안돌아가고 하는 경우가 굉장히 많았어서 환경설정부터 기록을 하도록 했다. 1. 안드로이드 스튜디오: windows 64-bit 3.5.3 version 설치 설치하고 나면 C:\Users\user_name\AppData\Local\Android\Sdk\platform-tools 경로가 모두 생길 것이다. 해당 경로를 사용자 환경변수와 시스템 환경변수의 Path 경로에 추가해준다. 2. SDK Manager: 10.0 version SDK는 Software Development Kit로 소프트웨어 개발 도구 모음을 말한다. 개발에 도움이 될 개발 도구 프로그램이나 디버깅 프로그램, 문서, API등을 가지고 있다. 일반적으로 ..

    [Qt] QCustomPlot

    QCustomPlot은 데이터 시각화를 위해 사용되는 Qt C++ widget이다. 라이브러리 형태로 구현이 되어 있고, 공식 홈페이지에 문서화가 잘 되어 있어서 거길 참고하는게 좋다. 그럼에도 내가 이걸 작성하는 이유는 내가 필요한 부분을 뽑아서 써야하는 것도 있고, 코드 자체가 잘 이해가 되지 않아서 예제에 사용된 함수들이 어떤 역할을 하는지 정리하기 위함이다. 그래서 QCustomPlot을 사용하면 좋은 점은? 데이터를 그래프나 차트 등등 다양한 모양으로 시각화를 할 수 있다. https://www.qcustomplot.com/index.php/introduction Qt Plotting Widget QCustomPlot - Introduction QCustomPlot is a Qt C++ widg..

    libpcap Android build(arm cross compile)

    libpcap 라이브러리를 armv7 기반 안드로이드에서 사용하기 위해 cross-compile 하는 과정을 문서화 한 것이다. 성공한 경우에 대한 버전 및 환경 세팅으로 설명을 진행하였다. libpcap & NDK version libpcap-1.8.1 NDK 103 버전은 위와 같이 통일하는 것을 권장한다. Download NDK https://developer.android.com/ndk/downloads/older_releases 지원되지 않는 NDK 다운로드 | Android NDK | Android Developers 경고: 이 페이지에서는 지원되지 않아 더 이상 사용되지 않는 Android NDK 버전을 다운로드할 수 있습니다. 이 버전은 정보 제공 및 보관처리용으로만 제공됩니다. NDK r..