[rpi]심장 박동 측정

라즈베리파이로 심장 박동을 측정하려 한다.

준비물로는 라즈베리파이, 심장박동 센서( Pulsesensor.com ), ADC (MCP3208)가 필요하다. 심장박동 센서가 아날로그 신호를 내기에 이 신호를 디지털로 바꿔주는 ADC가 있어야 한다.

[통신] 파이와 ADC 간의 통신

라즈베리파이와 ADC 간의 통신은 SPI를 이용한다.

[참고자료]

Building a MicroPython heart rate monitor
Finding the beat in HR sensor data

Heart rate (HR) sensors

[rpi]Windows 10 IoT Core 개발환경 만들기

라즈베리파이3에 WINDOWS 10 IOT CORE 설치

라즈베리파이3 WINDOWS 10 IOT CORE 개발 환경 구축

여기서, 개발 PC를 “개발자 모드”로 변경한다는 것은 원격접속 기능을 사용할 수 있게 한다.

개발 환경 구축하기

WINDOWS 10 IOT CORE에 POWERSHELL로 연결하기

PowerShell로 연결하기

WINDOWS 10 IOT CORE에 SSH로 연결하기

Putty 접속할 때, SSH2_MSG_UNIMPLEMENTED packet error가 발생하면, To solve the issue, open the configuration for the connection and navigate to SSH -> Kex. In the “Algorithm selection policy”, move the “Diffie-Hellman group 14” entry to the first position in the list. (SSH2_MSG_UNIMPLEMENTED packet error with PuTTY and RHEL 7.2 를 참조)한다.

SSH 접속을 위한 PuTTY의 설정 화면

WINDOWS 10 IOT CORE를 위한 VISUAL STUDIO 설정

[rpi]Windows 10 IoT Core

지원하는 보드

https://docs.microsoft.com/en-us/windows/iot-core/tutorials/quickstarter/PrototypeBoards

[참고] 라즈베리파이 3B+는 별도로 설치해야 한다. 참고 사이트는 여기이다.

다운로드하는 곳

https://www.microsoft.com/en-us/software-download/windows10IoTCore

Windows 10 IoT Core Dashboard를 내려받아서, 라즈베리파이에 설치한다. 이 때, 보안경고가 뜨면서 대시보드가 설치되지 않을 수 있다.

응용 프로그램 설치 – 보안 경고 회피 방법

실행창에 regedit를 입력 후 레지스터 편집기로 들어가서..

Internet, Localintranet, MyComputer 모두 Enabled로 변경하니 설치가 되는군요. (참고로 이 방법은 마이크로소프트 사에서 권장하지 않음)

https://www.jesusninoc.com/06/10/windows-10-iot-core-command-line-utils/
명령어

[rpi]Raspberry Pi Projects

https://pimylifeup.com/category/projects/server/

https://www.makeuseof.com/tag/raspberry-pi-server-project-ideas/

https://www.networkworld.com/article/3176091/10-killer-raspberry-pi-projects-collection-1.html

https://opensource.com/article/17/4/5-projects-raspberry-pi-home

https://makezine.com/2013/04/14/47-raspberry-pi-projects-to-inspire-your-next-build/
https://www.pantechsolutions.net/blog/top-200-raspberry-pi-projects-final-year/

GPC 컴파일 교훈

과거(2008) 컴파일한 것은 32비트용이었다.

최근(2019) 컴파일해야 하는 것은 64비트용이다.

기존의 프로젝트 파일을 수정하기보다 새로 프로젝트 파일을 만들어서 했다.

Debug 모드가 아니라 Release 모드로 컴파일해야 다른 컴퓨터에서 사용할 수 있다.

c/c++ 소스를 컴파일하는 것이므로, visual c++ redistributable(재배포 패키지)를 설치해야 한다.

컴파일한 DLL이 의존하는 다른 DLL이 없어도 오류가 발생한다. 의존관계를 알 수 있는 프로그램(dependencies)도 있다.

[c/c++]vcruntime140d.dll missing

vcruntime140d.dll과 vcruntime140.dll는 다르다. vcruntime140d.dll는 debug 모드에서 호출되는 DLL이다. vcruntime140.dll 가 호출되도록 하려면, Release 모드로 컴파일해야 한다.

vcruntime140d.dll is missing

위 그림에 있는 gpc64.dll에서 vcruntime140d.dll을 호출하고 있다. 이는 gpc64.dll이 debug 모드로 컴파일되었다는 것을 의미한다. gpc64.dll이 vcruntime140.dll 를 호출하도록 하려면 Release 모드로 다시 컴파일해야 한다.

[참고문헌]

https://social.msdn.microsoft.com/Forums/windows/en-US/06b66cae-d010-441d-bc72-64a8c7cd65bc/missing-vcruntime140ddll-and-ucrtbaseddll?forum=visualstudiogeneral

[.net]네임스페이스와 데이터 타입에 별명 붙이기

길고 복잡한 이름을 갖고 있는 네임스페이스(namespace)나 데이터 타입(data type)에 간단한 별명을 붙여서 사용하면 편리하다. 닷넷에서도 이런 기능을 제공한다.

VB.Net에서 별명을 선언하기

선언된 별명을 사용하기

다음은 Vertex2D를 항목으로 하는 목록을 정의한 것이다.

사용할 때는 다음과 같이 한다.

[참고문헌]

https://pietschsoft.com/post/2007/11/26/net-how-to-alias-namespaces-and-data-types