毕业设计 树莓派单片机墨水屏电子日历系统 - 物联网 嵌入式
文章目錄
- 0 前言
- 1 簡介
- 2 主要器件
- 3 實現效果
- 4 準備工作
- 5 軟件說明
- Balena平臺
- 6 安裝
- 7 最后
0 前言
🔥 這兩年開始畢業設計和畢業答辯的要求和難度不斷提升,傳統的畢設題目缺少創新和亮點,往往達不到畢業答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統達不到老師的要求。
為了大家能夠順利以及最少的精力通過畢設,學長分享優質畢業設計項目,今天要分享的是
🚩 基于樹莓派單片機的墨水屏電子日歷系統
🥇學長這里給一個題目綜合評分(每項滿分5分)
- 難度系數:4分
- 工作量:4分
- 創新點:3分
1 簡介
基于樹莓派的電子顯示紙日歷
2 主要器件
- 顯示:Waveshare 7.5英寸高清電子紙電子墨水880×528像素原始顯示黑白雙色,帶SPI接口
- 樹莓派Zero WH 512 MB
- SD卡 8GB
- 電源 5V 1A
3 實現效果
4 準備工作
將顯示屏和樹莓派插在一起。(對于扁平電纜,接觸面始終向上)小心地向上折疊連接器上的小卡舌。
閃光燈圖像,例如BelanaEthcher
同時,在 https://aceisace.eu.pythonanywhere.com/setup_wifi 輸入Wifi數據(SSID和WPA2密碼)并創建wpa_supplicant.conf。
如果映像被刷新,則將剛剛創建的文件復制到Fat32 /boot分區和一個空的文本文件ssh中,以通過SSH訪問Raspberry Pi。
現在,SD卡終于可以從PC上彈出并插入Raspberry Pi中。連接電源并等待 1-2 分鐘,以便操作系統啟動。
在路由器中,樹莓現在應該出現在WLAN中。寫出 IP。
啟動樹莓派的 Putty IP 地址在主機名端口 22 輸入最好提供名稱的設置,然后保存并加載。
5 軟件說明
Balena平臺
Balena: 完整的生態
Balena 是一套完整用于開發、部署、管理 IOT 設備,并提供了云用于連接這些 IOT 設備們的工具和服務。它包括了:
- balenaEngine 是一個為嵌入式設備優化的運行引擎,等同于 Docker 的存在,但勝在軟件體積更小,需要傳輸的鏡像層更小,內存占用也更少。
- balenaOS 是一個極簡的 Linux 系統,不同于 Raspberry Pi OS,僅包含了 balenaEngine 以及一些必要的系統組件,使得硬件資源能夠被最大化目標軟件的使用,但借助 Balena 的其他服務,又可以很輕松的部署我們想要的工具。。
- balenaHub 是一個類似 Github 的地方,開發者把軟件裝載進 balenaOS 中并發布到這里,用戶可以從這里免費下載已經打包好的「系統鏡像」。
- balenaEtcher 是一個開源跨平臺的系統鏡像燒錄工具,有精美易用的 UI 界面,可以把上述系統鏡像燒錄到 tf 卡中,然后插入樹莓派直接開始使用。
- balenaFin 一個建立于樹莓派計算模塊之上的開發板,有更好的存儲和電源擴展等。
- balenaCloud 就是承載了上述的開發交互界面,包括打包鏡像、管理設備的云端等功能,balenaCloud 我們后面展開細說。
- openbalena 則是 balenaCloud 的開源版本,如果不信任由 Balena 這家商業公司提供的云,那么就可以考慮自己部署云端,不過只支持單用戶,也沒有 Web UI。后者在 Github 上有第三方的開源版本可以使用。
從該生態版圖可見,Balena 基本包含了嵌入式開發中的所有環節,哪怕你會說沒有樹莓派,都給你考慮到了。
Balena 服務的定價策略比較良心,對于個人用戶來說,前 10 個設備使用 balenaCloud 都是全功能且免費的,基本上普通的用戶也不會超過 10 個 IOT 設備需要連接云吧。后續的服務收費檔位主要是根據設備的數量來決定的。
對于上述的小白用戶來說,最有價值的莫過于 balenaHub 這個大倉庫,可以直接下載極客玩家們開發打包好的應用程序的系統鏡像,然后燒錄到自己的樹莓派中即可享用。
balenaHub: Airplay 服務器
下面我將以 balena-rpiplay 項目作為案例在樹莓派進行部署,讓大家可以清晰直觀的看到項目部署的流程有多簡單。
balena-rpiplay 可以把你的樹莓派變成 Airplay Server,用戶把蘋果設備的屏幕鏡像串流到樹莓派上,而樹莓派則通過 HDMI 連接電視/顯示器/投影儀,部署了這個項目以后算是 Apple TV 盒子中 Airplay 功能的平替。
balena-rpiplay 項目包含了 RPiPlay 項目,后者的安裝原本需要你手動安裝 cmake 包管理器、一堆 C 語言的依賴庫、OpenMAX 庫和客戶端。直接在 Raspberry Pi OS 安裝時需要從源碼開始構建軟件,對于沒有 Linux 基礎的普通玩家來說,整個部署流程十分硬核且枯燥。但是如果進入 balena-rpiplay 的項目主頁看,里面沒有一行實體代碼,只有簡單的配置文件描述,整個過程被大幅度地簡化了。
那么實際部署流程是怎么樣的呢?
- 首先在 balenaHub 找到 balena-rpiplay ,點擊圖中的 Get started 按鈕。
- 在彈出界面選擇自己的樹莓派版本。
- 輸入自己家的 WiFi 連接方式(SSID 和密碼),也可以選擇用網線連接。
- 下載鏡像,通過 balenaEtcher 刷入到 tf 卡中,并插入到樹莓派中。
- (可選) 對于沒有自帶 WiFi 模塊的樹莓派 (2代及以下),需要自備 WiFi 適配器。
- 然后通電,靜待幾分鐘,就擁有了自己的 Airplay 服務器。
整個過程不需要用戶用終端配置任何的東西,最麻煩的步驟僅是燒錄系統到 tf 卡中。燒錄鏡像到樹莓派的步驟,可以參考這篇文章:《從選購到入手:樹莓派零基礎入坑指南》
整個部署上沒有手動輸入命令,修改配置文件的體驗,背后多虧 balenaCloud 的幫助。當你燒錄好系統的時候,它的軟件架構是上圖這個樣子的。當你第一次給硬件通電的時候,首先如同絕大多數 Linux 發行版一樣,systemd 作為第一個守護進程啟動,并帶起 NetworkManager 通過預設的 WiFi 信息連接你家里的網絡,另一方面喚醒并守護你安裝的容器,完成整個工作流程。
而從用戶的角度來看,整個過程就像是通了電就能自動完成安裝 Airplay Server 一樣,最后只需要拿出的蘋果設備搜索并連接上該樹莓派就可以進行投屏了。
balenaCloud:你的 IOT 管家
細心的同學可能還會發現,圖中還有一個抓眼球的 Device Supervisor Container (DSC),它一方面跟云端的 balenaCloud 進行通訊,一方面也在本地網絡廣播自己的存在,使得整個開發部署管理流程有了更多的可能。根據我自己的經驗,我會從幾個痛點聊聊 balena 是如何幫助開發者更好地解決 DevOps 的問題的。
開發
當要利用樹莓派進行開發的時候,我們首先遇到的問題就是「如何交互」。一般來說,在樹莓派上開發,你需要準備一個鍵盤、一個鼠標、一個顯示器以及一根 HDMI 線,才能滿足基本的開發要求。
雖然新的 Raspberry Pi OS 系統版本支持了通過 txt 配置 WiFi 連接和啟動 sshd 服務,讓你可以通過無線 ssh 直接操作終端命令行。但是你又會發現缺少順手的開發工具、必要的運行時等,等把這些又千辛萬苦地安裝好后,相信你的熱情已經被消磨了一大半了。
DSC 是幫助開發者解決這個問題的關鍵。首先,balena 提供了 balenaOS base 鏡像給用戶燒錄到 tf 卡中,啟動它,DSC 會不斷廣播自己的存在。然后,用戶在自己熟悉的 PC/Laptop 中安裝 balena 這個 client 軟件,通過 sudo balena scan 命令即可搜索到自己的樹莓派的 ip 地址。
Reporting scan results -host: 63ec46c.localaddress: 192.168.86.45dockerInfo:Containers: 1ContainersRunning: 1ContainersPaused: 0ContainersStopped: 0Images: 4Driver: aufsSystemTime: 2020-01-09T21:17:11.703029598ZKernelVersion: 4.19.71OperatingSystem: balenaOS 2.43.0+rev1Architecture: armv7ldockerVersion:Version: 18.09.8-devApiVersion: 1.39假設你已經在 PC/Laptop 開發并測試好了軟件和應用,下一步需要的就是驗證在樹莓派上也可運行。那只需要一行命令 balena push 63ec46c.local 即可把當前項目的信息一鍵發送到樹莓派中,DSC 負責接收并自動執行構建和運行,所有的命令行輸出會回傳到自己的 PC/Laptop 中,查看并解決可能的錯誤,大大減輕了需要反復查看日志的繁瑣過程。
部署
到了真正需要部署的時候,一個比較麻煩的事情是,給不同的硬件適配性地打包。回想我們給樹莓派開發部署好的軟件和應用,由于只有一張 tf 卡且暫時要把樹莓派挪作他用,等到想回顧這個應用或者重新玩一下的時候,又需要重頭再來折騰。
balena 幫助開發者把這件事情放到了 balenaCloud 中執行。開發者只需要編寫一份 balena.yml 文件描述一些必要的信息,比如支持的硬件如樹莓派 1、2、3、4 等,項目名稱等展示在 balenaHub 中。通過輸入 balena deploy 命令,即可把項目信息發送給 balenaCloud 然后構建出所有描述中支持的硬件的系統鏡像。當然,必要的 balena login 步驟還是需要的。
只需要開發完成,并上傳到 balenaHub 以后,想要重溫重溫以前的美好隨時都可以在 balenaHub 中下載回來這個鏡像,只需要做燒錄的步驟就可以了。
6 安裝
sudo sed -i s/#dtparam=spi=on/dtparam=spi=on/ /boot/config.txt sudo dpkg-reconfigure tzdata現在是安裝的主要部分,大約需要30分鐘
sudo apt update && sudo apt -y upgrade sudo apt install git sudo apt-get install python3-pip -y sudo apt-get install python3-pil -y sudo apt-get install python3-numpy -y sudo pip3 install RPi.GPIO sudo pip3 install spidev7 最后
總結
以上是生活随笔為你收集整理的毕业设计 树莓派单片机墨水屏电子日历系统 - 物联网 嵌入式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 骑行用什么蓝牙耳机好?骑行骨传导耳机推荐
- 下一篇: java信息管理系统总结_java实现科