搜尋
首頁後端開發C#.Net教程樹莓派(Raspberry Pi,RPi)的詳細介紹
樹莓派(Raspberry Pi,RPi)的詳細介紹Jun 24, 2017 am 10:15 AM
基於樹莓氣象站設計

前言

  樹莓派(Raspberry Pi,RPi)是專門為學生電腦程式教育而設計,只有信用卡大小的卡片式電腦,可以運行Linux或Windows 10 IoT Core作業系統。本文將利用樹莓派和UWP(Universal Windows Platform)開發技術建構一個可以即時監控的氣象站系統。

硬體與涉及技術

#  

硬體部分:

  • 樹莓派2或3一塊,8G以上記憶卡一張,讀卡機(或有sd卡介面的電腦)一個;

  • Dht11溫濕度感測器一個,GY-68 BMP180氣壓計一個;

  • LY-69 土壤濕度計一個,MQ-2 煙霧氣敏感測器一個,雨滴感測器一個;

  • 公母杜邦線若干,麵包板一個,micro USB線一根,電源一個;

  • HDMI接口顯示器一台(或HDMI轉其它接口)。

 

 

開發部分:

  • 整合開發環境: Visual Studio 2017(建議使用社區版);

  • 開發語言:C#;

  • #開發平台:UWP;

  • ##通信協定:MQTT;

  • 樹莓派作業系統:WIndows 10 IoT Core;

  • ##資料庫:Sqlite

作業系統的下載與安裝:

安裝Windows 10 IoT Core Dashboard 應用, 造訪微軟開發者中心依序選擇Raspberry Pi 3,Install onto my blank microSD card,Windows10 IoT core,點選Next按鈕來到新頁面,點選Download Dashboard按鈕下載,然後安裝。

燒錄作業系統到MicroSD卡,安裝完成後選擇設定新設備項目進入燒錄頁面。裝置類型選擇Raspberry Pi 2&3;OS內部版本選擇Windows 10 IoT Core(15063);磁碟機選擇插入的MicroSD卡;輸入裝置名稱、密碼、確認密碼;勾選WLAN網路連線(勾選此項目後可將目前電腦連接的WLAN資訊複製給樹莓派開發板的作業系統,省去再次配置的麻煩);至此,樹莓派安裝Windows 10 IoT作業系統完成。

如下圖:

  Windows Device Portal:

  在同一網路環境下的瀏覽器輸入樹莓派的IP位址,連接埠為8080,回車後會提示輸入使用者名稱和密碼。預設使用者名稱為Administrator,密碼為燒錄作業系統時所設定的密碼,如果忘記密碼則只能重新安裝。登陸成功後會看到樹莓派開發板的當前作業系統下的詳細資訊,應用程式管理介面,設定預設程式以及開機自啟動等。

     
  1. 實作
  2. MQTT通訊:

  3.  

  MQTT(Message Queuing Telemetry Transport,訊息佇列遙測傳輸)是IBM開發的一個即時通訊協定。經過多年的發展,MQTT在各領域的應用都有凸顯,它可以作為手機用戶端的訊息推播工具,並且在安卓應用上有比較大的佔比。作為一款專為物聯網設計的通訊協議,MQTT具有在低頻寬、不穩定的網路環境下正常運作的特性。它的訊息傳遞有三種模式: 

至多一次,會發生訊息遺失或重複,這種模式適合感測器類別的資料傳輸,即使訊息遺失,很快會再次發送。

只有一次,確保訊息到達且不發生重複數據,適合需要精確數據的系統,例如計費系統。

至少一次,確保訊息可以到達,但可能發生重複。

關於MQTT伺服器的搭建可以參考:

MQTT在UWP下的使用可以參考:

要在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需要先安裝VS擴充Sqlite for Universal Windows Platform和Nuget套件SQLite .Net-PCL。關於sqlite的詳細使用方法參考:######以下是本系統中Database類別:######
  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));
        }
    }
###

 

樹莓派GPIO圖

硬體連結圖:

#感測器腳位圖:

#專案位址:

該專案還不完善,歡迎大家補充和指正! ###### ######### ######

以上是樹莓派(Raspberry Pi,RPi)的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
iPhone 16的设计特点是堆叠式后置感光元件iPhone 16的设计特点是堆叠式后置感光元件Aug 11, 2023 am 10:17 AM

iPhone16系列将在全线型号也采用堆叠式后置感光元件设计。该设计在今年的iPhone15标准版上已有类似的应用。今年的标准版iPhone15和iPhone15Plus预期将配备一个4800万像素的后置镜头,并使用能够捕捉更多光线的堆叠式CMOS影像感光元件(CIS)设计。新感光元件设计的产能问题,导致苹果无法在所有iPhone15型号上全面采用此设计。尽管索尼的高端CIS产能预期将在2024年前持续紧张,但Apple已提前确保了大部分的Sony订单。根据郭明錤的说法,索尼产能紧张,将对竞争对

在线投票系统的设计与实现在线投票系统的设计与实现Aug 09, 2023 am 10:13 AM

在线投票系统的设计与实现随着互联网的不断发展,在线投票系统成为了一种非常方便和高效的方式来进行民意调查和选举。本文将介绍在线投票系统的设计和实现,并附带一些代码示例。一、系统设计功能需求分析在线投票系统主要具备以下功能:用户注册与登录:用户可以通过注册账号并登录系统来参与投票活动。创建投票:管理员可以创建投票并设定投票的相关参数,如投票主题、选项内容和投票截

Java API 开发中的 RESTful 接口设计Java API 开发中的 RESTful 接口设计Jun 18, 2023 am 08:31 AM

随着互联网技术的发展,RESTful风格的API设计成为了最为流行的一种设计方式。而Java作为一种主要的编程语言,也越来越多地在RESTful接口的开发中扮演着重要的角色。在JavaAPI开发中,如何设计出优秀的RESTful接口,成为了一个需要我们深入思考的问题。RESTful接口的基本原则首先,我们需要了解RESTful接口的基本原则。REST即Re

Go语言中的面向服务架构设计Go语言中的面向服务架构设计Jun 04, 2023 am 09:51 AM

随着互联网技术的不断发展,面向服务架构(SOA)的理念越来越受到人们的重视。在这个背景下,Go语言作为一种高效、可靠的编程语言,也逐渐成为了很多企业与开发者实现SOA的首选语言。本文将深入探讨Go语言中的面向服务架构设计。一、SOA简介面向服务架构是一种软件设计的架构风格,它将复杂的系统拆分成多个相互独立、可复用的服务,每个服务都有独立的功能实现,并使用标准

自动驾驶汽车的软件升级技术管理与监管策略分析自动驾驶汽车的软件升级技术管理与监管策略分析May 16, 2023 am 08:40 AM

随着智能车辆在网联化、智能化及架构技术的发展,汽车无论是在固件还是软件上都已经不可逆转的需要进行软件迭代升级。要求在汽车生命周期内会不断的基于汽车OTA能力为整车提供软件升级、固件升级、售后服务等服务能力,可以说,汽车的智能化更迭对于OTA升级能力已经成为不可或缺的主流趋势。本文章将针对自动驾驶汽车的软件升级现状需求及监管要求等进行详细的描述。意在帮助读者整体了解自动驾驶中的软件升级过程原理、准入要求及其应对策略。1整车软件升级技术优势首先,软件定义汽车推动了整车软件升级技术的发展与应用,通过整

如何使用Go语言进行代码安全性设计如何使用Go语言进行代码安全性设计Aug 02, 2023 pm 05:29 PM

如何使用Go语言进行代码安全性设计在当今互联网时代,代码安全性是一项至关重要的任务。无论是为了保护用户的隐私还是避免遭受黑客攻击,代码安全性都是必不可少的。Go语言作为一种现代化的编程语言,提供了许多功能和工具,可以帮助我们进行代码安全性设计。本文将介绍一些在Go语言中实现代码安全性的最佳实践,并提供相应的代码示例。输入验证输入验证是代码安全性的第一道防线。

Redis应用实例分享:文章点赞功能设计Redis应用实例分享:文章点赞功能设计Jun 20, 2023 am 09:30 AM

在互联网时代,文章阅读与分享已经成为人们日常生活中必不可少的一部分。然而,对于文章的点赞与收藏功能来说,用户体验体现的非常关键。而Redis作为一个高性能的键值存储数据库,在文章点赞与收藏功能的实现中有很大的优势。本文将分享一个基于Redis实现的文章点赞功能设计。功能设计文章点赞功能的设计过程中,需要考虑到许多因素。首先,需要将点赞接口暴露给用户,用户可随

RESTful API设计及其实现方法RESTful API设计及其实现方法Jun 22, 2023 pm 04:07 PM

RESTfulAPI是目前Web架构中较为常用的一种API设计风格,它的设计理念是基于HTTP协议的标准方法来完成Web资源的表示与交互。在实现过程中,RESTfulAPI遵循一系列规则和约束,包括可缓存、服务器-客户端分离、无状态性等,这些规则保证了API的可维护性、扩展性、安全性以及易用性。接下来,本文将详细介绍RESTfulAPI的设计及其实现方

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版