찾다
백엔드 개발C#.Net 튜토리얼라즈베리파이(RPi)에 대한 자세한 소개

라즈베리파이(RPi)에 대한 자세한 소개

Jun 24, 2017 am 10:15 AM
기반으로산딸기기상청설계

머리말

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는 사물인터넷을 위해 특별히 설계된 통신 프로토콜로 대역폭이 낮고 불안정한 네트워크 환경에서도 정상적으로 작동하는 특성을 가지고 있습니다. 메시징에는 세 가지 모드가 있습니다.

최대 한 번만 메시지 손실 또는 중복이 발생합니다. 이 모드는 메시지가 손실되더라도 곧 다시 전송됩니다.

한 번만 중복 데이터 없이 메시지가 도착하도록 보장하며, 결제 시스템과 같이 정확한 데이터가 필요한 시스템에 적합합니다.

메시지 도착을 확인하기 위해 최소한 한 번은 시도해야 하지만 중복이 발생할 수 있습니다.

  1. MQTT 서버 구축은 다음을 참고하세요.
  2. UWP에서 MQTT를 사용하려면 다음을 참고하세요.
  3. UWP에서 MQTT를 사용하려면 nuget 패키지를 설치해야 합니다. m2mqtt

여기 아직 MQTT 연결 코드를 게시합니다:

 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
C# 및 .NET : 둘 사이의 관계 이해C# 및 .NET : 둘 사이의 관계 이해Apr 17, 2025 am 12:07 AM

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

C# .NET의 지속적인 관련성 : 현재 사용법을 살펴보십시오.C# .NET의 지속적인 관련성 : 현재 사용법을 살펴보십시오.Apr 16, 2025 am 12:07 AM

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

웹에서 데스크톱으로 : C# .NET의 다양성웹에서 데스크톱으로 : C# .NET의 다양성Apr 15, 2025 am 12:07 AM

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

C# .net 및 미래 : 신기술에 적응C# .net 및 미래 : 신기술에 적응Apr 14, 2025 am 12:06 AM

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

c# .net이 당신에게 적합합니까? 적용 가능성을 평가합니다c# .net이 당신에게 적합합니까? 적용 가능성을 평가합니다Apr 13, 2025 am 12:03 AM

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

.NET 내의 C# 코드 : 프로그래밍 프로세스 탐색.NET 내의 C# 코드 : 프로그래밍 프로세스 탐색Apr 12, 2025 am 12:02 AM

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

C# .NET : 핵심 개념 탐색 및 프로그래밍 기초C# .NET : 핵심 개념 탐색 및 프로그래밍 기초Apr 10, 2025 am 09:32 AM

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

C# .NET 응용 프로그램 테스트 : 장치, 통합 및 엔드 투 엔드 테스트C# .NET 응용 프로그램 테스트 : 장치, 통합 및 엔드 투 엔드 테스트Apr 09, 2025 am 12:04 AM

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

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

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

안전한 시험 브라우저

안전한 시험 브라우저

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

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구