머리말
Raspberry Pi(RPi)는 학생 컴퓨터 프로그래밍 교육을 위해 특별히 설계되었습니다. 신용카드 크기의 카드형 컴퓨터로 Linux 또는 Windows 10 IoT Core 운영 체제를 실행할 수 있습니다. 본 글에서는 Raspberry Pi와 UWP(Universal Windows Platform) 개발 기술을 활용하여 실시간으로 모니터링할 수 있는 기상 관측소 시스템을 구축해보겠습니다.
하드웨어 및 관련 기술
하드웨어 부분 :
Raspberry Pi 2 또는 3, 8G 이상의 메모리 카드, 카드 리더기(또는 SD 카드가 장착된 컴퓨터) 인터페이스) 1개, Dht11 온도 및 습도 센서 1개, GY-68 BMP180 기압계 1개,
LY-69 토양 수분 측정기 1개, MQ-2 연기 센서 1개, 빗방울 센서 1개; 여러 개의 암수 DuPont 케이블, 브레드보드, 마이크로 USB 케이블, 전원 공급 장치
HDMI 인터페이스 모니터(또는 다른 인터페이스에 대한 HDMI).
개발 부분:
통합 개발 환경: Visual Studio 2017(커뮤니티 버전 권장)
개발 언어: C#; 개발 플랫폼: UWP
-
통신 프로토콜: MQTT;
Raspberry Pi 운영 체제: WIndows 10 IoT Core;
데이터베이스: Sqlite
운영 체제 다운로드 및 설치:
Windows 10 IoT Core 대시보드 애플리케이션 설치 Microsoft 개발자 센터에서 Raspberry Pi 3를 선택하고 빈 microSD 카드, Windows10 IoT 코어에 설치하고 다음 버튼을 클릭하여 새 페이지로 이동하고 대시보드 다운로드 버튼을 클릭하여 다운로드한 후 설치합니다.
운영 체제를 MicroSD 카드에 굽습니다. 설치가 완료된 후 새 장치 설정 항목을 선택하여 굽기 페이지로 들어갑니다. 장치 유형으로 Raspberry Pi 2&3을 선택하고, OS 내부 버전으로 Windows 10 IoT Core(15063)를 선택하고, 삽입된 MicroSD 카드를 드라이버로 선택하고, WLAN 네트워크 연결을 확인하세요. 현재 컴퓨터를 연결하는 옵션 연결된 WLAN 정보가 Raspberry Pi 개발 보드의 운영 체제에 복사되어 재구성 문제가 제거됩니다. 이 시점에서 Raspberry Pi에 Windows 10 IoT 운영 체제 설치가 완료됩니다. .
아래 그림과 같이:
- Windows Device Portal:
- 동일한 네트워크 환경의 브라우저에 Raspberry Pi의 IP 주소, 포트는 8080을 입력하고 Enter 키를 누르면 다음과 같이 됩니다. 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. 기본 사용자 이름은 Administrator이고, 비밀번호는 운영 체제를 구울 때 설정한 비밀번호입니다. 비밀번호를 잊어버린 경우 재설치만 가능합니다. 성공적으로 로그인하면 Raspberry Pi 개발 보드의 현재 운영 체제, 애플리케이션 관리 인터페이스, 기본 프로그램 설정 및 부팅 시 자동 시작에 대한 자세한 정보가 표시됩니다.
MQTT 통신:
MQTT(Message Queuing Telemetry Transport)는 IBM에서 개발한 인스턴트 메시징 프로토콜입니다. 수년간의 개발 끝에 MQTT는 다양한 분야에서 널리 사용되었으며 모바일 클라이언트를 위한 메시지 푸시 도구로 사용될 수 있으며 Android 애플리케이션에서 비교적 큰 비중을 차지합니다. MQTT는 사물인터넷을 위해 특별히 설계된 통신 프로토콜로 대역폭이 낮고 불안정한 네트워크 환경에서도 정상적으로 작동하는 특성을 가지고 있습니다. 메시징에는 세 가지 모드가 있습니다.
최대 한 번만 메시지 손실 또는 중복이 발생합니다. 이 모드는 메시지가 손실되더라도 곧 다시 전송됩니다.
한 번만 중복 데이터 없이 메시지가 도착하도록 보장하며, 결제 시스템과 같이 정확한 데이터가 필요한 시스템에 적합합니다.
메시지 도착을 확인하기 위해 최소한 한 번은 시도해야 하지만 중복이 발생할 수 있습니다.- MQTT 서버 구축은 다음을 참고하세요.
- UWP에서 MQTT를 사용하려면 다음을 참고하세요.
UWP에서 MQTT를 사용하려면 nuget 패키지를 설치해야 합니다. m2mqtt
public class Mqtt : MqttClient {public Mqtt(string host) : base(host, 61613, false, MqttSslProtocols.None) { Connect(Guid.NewGuid().ToString(), "admin", "password"); Subscribe(new string[] { "atmo" }, new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE }); // PostData("Hello World!"); } public void RequestData(string msg) { Publish("atmo", Encoding.UTF8.GetBytes(msg)); }public void PostData(string msg) { Publish("atmo", Encoding.UTF8.GetBytes(msg)); } }
Sqlite 구현: UWP에서 Sqlite를 사용하려면 먼저 Universal Windows 플랫폼용 VS 확장 Sqlite를 설치해야 합니다. Nuget 패키지 SQLite.Net-PCL. sqlite의 자세한 사용법은 다음을 참조하세요.
다음은 이 시스템의 데이터베이스 클래스입니다:
public class DataBase : SQLiteConnection {public static string path = Path.Combine(ApplicationData.Current.LocalFolder.Path, "atmo.db");public DataBase() : base(new SQLitePlatformWinRT(), path) { CreateTable<datamodel>(); } }</datamodel>
INotifyPropertyChanged 인터페이스 구현
public class ViewModelBase : INotifyPropertyChanged {public event PropertyChangedEventHandler PropertyChanged;protected void OnPropertyChanged([CallerMemberName]string name = "") { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); } }
Raspberry Pi GPIO 다이어그램
하드웨어 연결 다이어그램:
센서 핀 다이어그램:
프로젝트 주소:
이 프로젝트는 아직 완벽하지 않습니다. 모두 환영합니다. 보충과 수정!
위 내용은 라즈베리파이(RPi)에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

C#과 .NET의 관계는 분리 할 수 없지만 같은 것은 아닙니다. C#은 프로그래밍 언어이며 .NET은 개발 플랫폼입니다. C#은 코드를 작성하고 .NET의 중간 언어 (IL)로 컴파일하고 .NET 런타임 (CLR)에 의해 실행되는 데 사용됩니다.

C#.NET은 여러 응용 프로그램 개발을 지원하는 강력한 도구 및 라이브러리를 제공하기 때문에 여전히 중요합니다. 1) C#은 .NET 프레임 워크를 결합하여 개발 효율적이고 편리하게 만듭니다. 2) C#의 타입 안전 및 쓰레기 수집 메커니즘은 장점을 향상시킵니다. 3) .NET은 크로스 플랫폼 실행 환경과 풍부한 API를 제공하여 개발 유연성을 향상시킵니다.

C#.NETISVERSATILEFORBOTHWEBBANDDESKTOPDEVENTROMMENT.1) FORWEB, useASP.NETFORRICHINTERFACES.3) FORDESKTOP.3) USEXAMARINFORCROSS-PLATFORMDEEVENTRIMMENT, LINABILEDEV, MACODEDEV, and MACODEDOWS, 및 MACODEDOWS.

C# 및 .NET는 지속적인 업데이트 및 최적화를 통해 신흥 기술의 요구에 적응합니다. 1) C# 9.0 및 .NET5는 레코드 유형 및 성능 최적화를 소개합니다. 2) .NETCORE는 클라우드 네이티브 및 컨테이너화 된 지원을 향상시킵니다. 3) ASP.NETCORE는 최신 웹 기술과 통합됩니다. 4) ML.NET는 기계 학습 및 인공 지능을 지원합니다. 5) 비동기 프로그래밍 및 모범 사례는 성능을 향상시킵니다.

C#.netissuitable forenterprise-levelapplications는 richlibraries, androbustperformance, 그러나 itmaynotbeidealforcross-platformdevelopmentorwhenrawspeediscritical, wherelanguagesslikerustorthightordogrordogrognegrognegrognegrognecross-platformdevelopmentor.

.NET에서 C#의 프로그래밍 프로세스에는 다음 단계가 포함됩니다. 1) C# 코드 작성, 2) 중간 언어 (IL)로 컴파일하고 .NET 런타임 (CLR)에 의해 실행됩니다. .NET에서 C#의 장점은 현대적인 구문, 강력한 유형 시스템 및 .NET 프레임 워크와의 긴밀한 통합으로 데스크탑 응용 프로그램에서 웹 서비스에 이르기까지 다양한 개발 시나리오에 적합합니다.

C#은 Microsoft가 개발 한 최신 객체 지향 프로그래밍 언어이며 .NET 프레임 워크의 일부로 개발되었습니다. 1.C#은 캡슐화, 상속 및 다형성을 포함한 객체 지향 프로그래밍 (OOP)을 지원합니다. 2. C#의 비동기 프로그래밍은 응용 프로그램 응답 성을 향상시키기 위해 비동기 및 키워드를 기다리는 키워드를 통해 구현됩니다. 3. LINQ를 사용하여 데이터 컬렉션을 간결하게 처리하십시오. 4. 일반적인 오류에는 NULL 참조 예외 및 인덱스 외 예외가 포함됩니다. 디버깅 기술에는 디버거 사용 및 예외 처리가 포함됩니다. 5. 성능 최적화에는 StringBuilder 사용 및 불필요한 포장 및 Unboxing을 피하는 것이 포함됩니다.

C#.NET 애플리케이션에 대한 테스트 전략에는 단위 테스트, 통합 테스트 및 엔드 투 엔드 테스트가 포함됩니다. 1. 단위 테스트를 통해 MSTEST, NUNIT 또는 XUNIT 프레임 워크를 사용하여 코드의 최소 단위가 독립적으로 작동합니다. 2. 통합 테스트는 일반적으로 사용되는 시뮬레이션 된 데이터 및 외부 서비스를 결합한 여러 장치의 기능을 확인합니다. 3. 엔드 투 엔드 테스트는 사용자의 완전한 작동 프로세스를 시뮬레이션하며 셀레늄은 일반적으로 자동 테스트에 사용됩니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

드림위버 CS6
시각적 웹 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구
