최근 RS-485 통신의 Slave 기기를 구현할 일이 있었다. (ATmega64 칩셋 이용) 이에 구현을 하며 얻은 정보를 정리해보려 한다. RS-485 통신에 대하여 참고 링크: https://jusths.tistory.com/41 위키: https://www.wikiwand.com/en/RS-485 - 시리얼 통신 표준 중의 하나이다. 시리얼 통신 표준은 RS-232, RS-422, RS-485 등이 있다. - RS-232 보다 먼 거리에서 통신이 가능하고, RS-422의 4 wire 보다 간편하다. - Half-Duplex 이다. 양방향 통신이 가능하지만 한번에 한 방향만 가능하다는 말이다. - 2 wire 를 쓰는데 4 wire 를 쓰면 Full-Duplex도 가능하기는 하다. - Half-Du..
Photo by Simon Migaj on Unsplash 시작 PDF 또는 ePub 를 읽을 일이 가끔씩 있어서 가볍게 들고 다닐만한 태블릿을 찾아보았다. 현 시점 (2020-09-20) 의 가성비 제품은 크게 셋으로 볼 수 있었는데 10만원대 P20HD, iplay20, Fire HD 10 이었다. iplay20 으로 어느정도 마음을 굳히고 있었는데 곰곰이 생각해보니 집에 샤오미 Mi Pad 가 있었다. 며칠 들고 다녀보고 태블릿으로 PDF, ePub 를 읽는 습관을 들일 수 있는지 경험해보자 싶었다. 그런데 검색해보니 의외로 샤오미 Mi Pad 가 연식에 비해 나쁘지 않고 해상도는 발군인 것이었다. 그래서 커스텀 롬의 기나긴 여정이 시작되었다. 커스텀 롬을 올리는 것 자체는 전혀 어렵지 않았다. 하..
개요 google 에서 제공하는 Cloud NoSQL DB 인 Firestore 에 센서의 측정값을 올려보자. 목표 지금까지의 포스팅에서 센서의 값을 주기적으로 측정하는 부분까지 완료하였다. 이것을 Cloud 상의 NoSQL DB 인 Firestore 에 올려보겠다. 이후, 웹을 통하여 챠트로 표현하여 모니터링이 가능하게 될 것이다. 프로젝트 GitHub: https://github.com/nicewook/dustsensor_public 구현코드 링크: https://github.com/nicewook/dustsensor_public/blob/master/ds_v2_firestore.py 미세먼지 토이 프로젝트 - 센서 선정 및 라즈베리파이 연결: https://jusths.tistory.com/103 ..
개요 미세먼지의 실제 기준 단위인 ug/m3 와 aqi 를 계산해본다. 기본 테스트 버전인 ds_test1.py 에서 간략한 수정 및 계산식을 추가하여 구현한다. 프로젝트 포스팅 링크 미세먼지 토이 프로젝트 - 센서 선정 및 라즈베리파이 연결: https://jusths.tistory.com/103 미세먼지 토이 프로젝트 - 센서 원리와 측정단위 변환법: https://jusths.tistory.com/105 - 자세한 계산식에 대한 이해는 여기를 참고 미세먼지 토이 프로젝트 - 기본 테스트: https://jusths.tistory.com/109 - 여기서 구현한 ds_test1.py 코드를 베이스로 수정하였음: https://github.com/nicewook/dustsensor_public/blob..
개요 1) 기본적인 센서 측정 동작을 둘러보고, 개념을 이해한다. 2) interrupt 를 제대로 작동하는지, 놓치는 경우는 없는지 확인한다. 참고사항 - 이전 포스팅들과 중복되는 부분이 있겠지만 참고할 부분들을 적어본다. 참고1. 센서와 라즈베리파이 연결 PPD42NS 센서 라즈베리파이 3B 1번 (GND) 아래그림 6번 GND 3번 (5V) 아래그램 2번 또는 4번 5V 2번 (Output PM25) 아래그림 3번 GPIO 2 4번 (Output PM10) 아래그림 7번 GPIO 4 참고2. Base code (GitHub) - 링크: https://github.com/mauricecyril/pidustsensor/blob/master/pidustsensor.py 참고3. pigpio 실행시키기 $..
개요 1) Shinyei PPD42NS 센서에서 미세먼지를 측정하는 방식을 이해하고 2) 측정값을 미세먼지 측정단위로 계산, 변환하는 법을 정리해 본다. Shinyei PPD42NS 센서의 동작 원리 1) 센서는 미세먼지가 지나가면 GPIO 를 High → Low 로 만들어준다. - LPO time: Low Pulse Occupancy time 2) 센서는 두 개의 GPIO Output이 있는데 하나는 PM10, 다른 하나는 PM25 이다. - 각각 미세먼지의 지름이 1.0 micron, 2.5 micron 이라는 말이다. (micron = um = 1/1000 mm) 두 수치를 동시에 계측했다면 지름이 작은 먼지의 개수는 계측 값에서 큰 먼지의 개수를 빼는 것이 맞을 수 있겠다. 큰 먼지 개수까지 중복..
개요 만들고 싶은 전체 그림은 다음과 같다. 1) 라즈베리파이와 미세먼지센서를 이용하여 미세먼지 값을 측정하여 2) 주기적으로 클라우드 상의 데이터베이스에 올리고 (Google Cloud Firestore) 3) HTML + JavaScript 를 이용하여 챠트로 확인한다. 이번 블로깅에는 센서 선정 및 라즈베리파이와의 연결을 정리해본다. 1) 어떤 센서를 고를까? 2) 라즈베리파이에 어떻게 연결하면 될까? Shinyei PPD42NS 센서 선택 참고링크: https://goo.gl/oVMFEC 대표적인 센서들은 아래와 같은데 Shinyei PPD42NS 이 무난해 보이기도 하고 실제로 LG 공기청정기에서도 쓰인다길래 선택함 - 어짜피 엄청난 고가의 제대로된 미세먼지 센서와는 비교할 수 없으며, - 천만..
상황 - 라즈베리파이에서 센서와 연동하는 파이썬 프로그램을 개발하고 있다. - 윈도우 원격 데스트톱 연결로 접속하여 라즈베리파이에 깔아둔 Spyder3 프로그램을 사용하여 개발하는데 너무 느리다 * 2018-05-30 에 작성하였던 글을, 2019-03-19 에 필요에 따라 다시 따라 해보면서 정리, 블로깅 한다. 목표 Windows PC 의 VSCode 에서, 네트웍으로 연결되어 있는 라즈베리파이의 파일을 편집하자. - VSCode 의 terminal 에서 ssh로 라즈베리파이에 접근한다. - ssh terminal 로 접속한 라즈베리파이에서 특정 파일을 VSCode 로 열 수 있고, 바로 실행해볼 수도 있다. 설치 및 설정 1) Windows PC 에서 OpenSSH, Remote VSCode (VS..
개요 작은 기능들을 담은 Embedded Project 들의 소스를 보다보면 하나의 파일에 모든 기능들을 담아놓은 경우를 보게 된다. 초기화 설정, 인터럽트, 센서와의 연동, 통신 등등이 뒤섞여있다. 일정에 맞춰 빠른 기능구현을 하다보니 그렇게 되었으리라 싶다. 또한 여러 파일로 나눠 놓았음에도 서로간의 연결이 뒤죽박죽인 경우도 있다. 헤더파일과 전역변수, 함수의 선언 (declaration) 등이 일관성이 없거나 잘못된 경우들 그나마 일관성을 유지하며 개발하려 노력하였으나 제대로된 가이드 문서를 만나게 되어, 문서에 그 동안의 경험을 더하여 개인적인 기준을 정리해본다. * 문서에 더해지는 의견은 의견 이라고 표시하겠음 문서링크: https://goo.gl/xSzyy2 웹페이지의 Modularizing ..
개요 원문 참고링크: https://www.codeproject.com/Articles/1012319/Arduino-Software-Reset 임베디드 시스템에도 오동작등 다양한 이유로 재부팅을 해야할 경우가 있다. (Arduino 이지만) 참고 링크에서는 세 가지 방법을 소개하고 있으며, 그 중에서 추천하고 있는 Watchdog Reset 을 소개해본다. TL;DR 아래 코드를 쓰시오. #include void softwareReset( uint8_t prescaller) { // start watchdog with the provided prescaller wdt_enable( prescaller); // wait for the prescaller time to expire // without sen..
- Total
- Today
- Yesterday
- 인텔리제이
- folklore
- 티스토리챌린지
- 클린 애자일
- 오블완
- solid
- OpenAI
- intellij
- 제이펍
- Gin
- 체호프
- 독서후기
- clean agile
- ChatGPT
- strange
- 잡학툰
- notion
- bun
- golang
- websocket
- API
- go
- 엉클 밥
- 독서
- agile
- Bug
- 노션
- 2023
- github
- 영화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |