趙洋 趙言言


摘? 要 通用技術是一門以學生為中心、以實踐為核心的課程,學生技術思想和方法的形成需要立足于技術實踐。在技術實踐過程中,探索智慧停車系統模型硬件工作原理和軟硬件之間通信機理,激發學生對新技術探究的興趣,拓展通用技術實踐課的深度,形成感知、探究和運用新技術的思想和習慣。
關鍵詞 通用技術;技術實踐;智慧停車系統;智能設備;APP;物聯網
中圖分類號:G633.67? ? 文獻標識碼:B
文章編號:1671-489X(2020)01-0081-03
1 前言
通用技術是一門立足于技術實踐、注重創造、體現科技與人文相統一的課程。當前隨著物聯網、大數據和安卓應用程序大規模的應用,智能設備逐漸進入人們的日常生活。《普通高中通用技術課程標準(2017版)》提出在通用技術實踐教學中引入一些具有時代氣息、適應社會發展、體現科技走向、具有可遷移的內容[1]。智慧停車系統模型教學設計與實踐正是基于上述背景開展的技術實踐活動項目。
2 選題背景
當車主自駕進入一個陌生的城市時,必然會遇到這樣的情境:只知道哪里有停車場,卻不知道停車場是否有空閑車位,可能要去好幾個停車場才能找到停車位。這種情況加劇了交通負擔,也是造成交通擁堵的原因之一。當前iOS和Android兩大手機系統有關停車的應用很少,應用質量及用戶體驗都較差,車主只能查看周圍的停車場,卻不能查看停車場是否有停車位。基于此,設計一款智慧停車系統,以求解決此問題。
3 方案設計
智慧停車概述? 智慧停車系統模型針對當前停車難的問題,通過軟件開發與相關硬件系統的設計,為該問題提供一個可行的解決方案。軟件部分設計主要由在線選擇停車位和在線查看停車位等基本功能構成。在停車場的每個車位上安裝檢車器,并投放適量的接收器、集中器、中繼器和一個無線網關裝置:檢車器檢測到有車輛停放,發出信號;集中器接收并發出信號;中繼器接收信號并發出信號;無線網關接收信號,并把數據上傳至云服務器,供后臺人員使用,車主可通過移動端APP實時獲取車位信息并使用相應功能。
教學內容和學情分析? 本課的教學內容是按照系統設計的一般思路和方法制作“智慧停車系統模型”,涉及的電子元器件有單片機、超聲測距模塊、WiFi模塊;軟件編程借助于半成品模塊來完成。
本課的教學對象為高二學生,已系統學習過設計的一般知識,了解簡單的電子控制技術,知道控制系統的一般組成和工作過程,對安卓APP軟件開發有了初步認識。通過之前對智能插座組裝和軟件知識的學習,學生動手操作和編程能力有所提升,而且對設計制作類似軟硬件模型有極大的興趣。
教學目標
1)能夠分析當前智慧停車存在的問題,了解智慧停車設計在現實生活中的作用和意義;
2)能夠根據實驗條件,制訂出智慧停車方案,并能根據設計方案進行硬件連接和軟件編程;
3)在教師的指導下,歷經智慧停車模型的設計與制作,學會系統設計的一般思路和方法,進一步理解智能控制的原理;
4)經歷親自設計和制作智慧停車系統模型,感受和體驗技術對生活的應用價值,保持對技術探究的欲望和興趣。
方案設計? 由于教學實驗條件限制,本項目著眼于智慧停車系統模型的設計,需要STC89C52RC單片機、Wi-Fi模塊ESP8266、SRF05超聲波測距模塊以及穩壓模塊等。車位檢測器使用SRF05超聲波測距模塊來代替。手機APP通過服務器實時查找當前位置是否有停車位,如果有停車位,啟動蜂鳴器引導車輛停靠,主控制器通過超聲波模塊進行相關測距操作,從而得知是否有車停靠,并將獲取的數據通過ESP8266 Wi-Fi模塊發送給阿里云服務器,服務器再反饋到手機APP。系統框架設計如圖1所示。
4 硬件組成與搭建
硬件與電子元件選擇
1)STC89C52RC是STC公司生產的一種低功耗、高性能CMOS 8位微控制器,具有8 K字節系統,可編程Flash存儲器,在本系統中作為主控芯片,負責控制整個系統的運行,采集數據并且操作Wi-Fi模塊進行數據傳輸。本次教學實踐用到的I/O引腳號為p00、p07、p30(RXD)、p31(TXD)、p32。
2)HY-SRF05超聲波模塊可提供2~450 cm的非接觸式距離感測功能,模塊包括超聲波發射器、接收器與控制電路。基本工作原理采用I/O口TRIG觸發測距,給至少10 μs
的高電平信號,模塊自動發送八個40 kHz的方波,自動檢測是否有信號返回;有信號返回,通過I/O口ECHO輸出一個高電平。該模塊在本系統通過距離檢測,從而得知是否有車停靠。
3)Wi-Fi模塊。ESP8266是一款超低功耗的UART-Wi-Fi透傳模塊,專為移動設備和物聯網應用設計,可將用戶的物理設備連接到Wi-Fi無線網絡上,進行互聯網或局域網通信,實現聯網功能。該模塊將主控板采集到的數據通過HTTP協議發送給服務器。部分用到針腳說明:URXD接收、UTXD發送、CH_PD高電平工作復位、GND接地、VCC模塊供電。
4)蜂鳴器模塊負責引導司機將車停靠在查找到的停車位。電壓轉換模塊功能是把單片機底座提供5 V的電源轉換為3.3 V供Wi-Fi模塊(工作電壓3.3 V)使用。
硬件搭建? 硬件連接包括數據線連接和電源線連接。首先是數據線連接,將單片機引腳RXD連接到Wi-Fi模塊引腳UTXD,單片機引腳TXD連接到Wi-Fi模塊引腳URXD,單片機的p32引腳連接到SRF05模塊的ECHO接口,單片機引腳p07連接到SRF05T的TRIG引腳。單片機底座提供三組5 V電源輸出,根據需要連接到各個元器件。特別應注意Wi-Fi模塊電源需要從單片機的底座5 V電源連接到穩壓模塊,然后由穩壓模塊再接到Wi-Fi模塊。
5 軟件編程
該系統軟件部分采用Android Studio和Android SDK來開發手機客戶端。系統的硬件部分由ESP8266 2.4 G無線Wi-Fi模塊和SRF05超聲波測距模塊及STC89C52主控芯片及其相關電路構成。該系統的大致工作流程為:硬件部分通過HTTPS加密連接協議,并使用MQTT進行實時數據傳送,將數據發送給阿里云服務器,服務器獲取信息后將數據存入MySQL數據庫,并通過相關網絡協議將數據發送給手機客戶端,客戶端將數據及時推送給用戶展示。
軟件工作界面設計? 用戶在工作界面輸入想要停車的大致位置,就可以在該位置附近搜索停車位。在該地圖上會顯示用戶的當前位置,點擊右下方的加號和減號,即可對地圖進行放大或縮小;點擊右下方的懸浮按鈕,就可以搜索用戶當前位置附近的停車位;搜索完成后,用戶選中想要停放的車位,即可進行相關停車操作,如圖2所示。
軟件代碼編寫? 智慧停車涉及的軟件代碼較多,這里只列舉出部分核心代碼。主界面邏輯+地圖+定位功能模塊代碼如下:
package com.ips.sx.ipark;
import android.content.Intent;
import android.graphics.Color;
…………
public class MainActivity extends ActivityManager {
//view
private MapView mapview = null;? ? //地圖控件
private FloatingActionButton? gotoMylocationButton = null;? ? //回到我的位置
//用戶設置
private ImageView user = null;
private? int? ?value? = 0;
//地圖操作與定位
private BaiduMap baiduMap = null;? ? //地圖
public LocationClient mLocationClient = null;
private MyLocationListener myListener = new MyLoca
tionListener();
//當前的經緯度
private? LatLng? myLatlng? =? null;
//是否第一次定位成功
private? int isFirstLocation = 0;
private? Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EventBus.getDefault().register(this);
initView();? ? ?//初始化界面
initMap();? ? //初始化地圖
getLocation();? ? //獲取位置
listener();
}
6 教學過程
創設情境,導入課題? 教師播放節假日出行交通擁擠的圖片,配合解說:“目前激增的汽車數量超出了當前城市和停車場的最大負荷。每逢節假日,汽車大量出行,很難找到合適停車位停車。”引發學生思考:當你處在陌生城市時,如何快速找到合適停車位?學生分組進行討論,教師根據討論結果進行歸納總結:“現有百度地圖或高德地圖或許能幫你找到停車場,但并不能確定是否有停車位。解決辦法是在每個車位上裝上傳感器,實時采集數據,通過手機端APP實時查看隨近有沒有停車位,當有停車位時,系統可以為車主鎖定車位若干分鐘,保證車主在適當的時間內找到停車位。”
新知講解,示范操作? 首先,結合前期教師制作的智慧停車系統模型,介紹智慧停車系統模型硬件組成和各部分功能;其次,結合單個元器件,介紹其工作原理及用法,重點介紹測距傳感器和ESP8266程序代碼;最后,介紹手機APP組成模塊及執行過程。
分組合作,“搭”“編”并舉? 分發給各小組硬件搭接的半成品——所有用到元器件已排列到事先切割好的亞克力板上。小組組內分工,一部分成員負責硬件連接,參照投影硬件連接圖;另一部分成員負責軟件設計,完成后進行測試。教師巡回輔導并補充介紹軟件設計包括四個主模塊:主界面邏輯+地圖+定位功能模塊代碼、停車功能操作代碼、單片機代碼、Wi-Fi模塊代碼(由于代碼設計量較大,課堂上時間有限,因此,大部分代碼都已在課余時間調試好)。小組完成作品任務后,請每個小組進行作品展示,穿插組間互評、教師點評。
課堂小結,拓展提升? 本節制作的智慧停車系統模型可以實現用戶車位共享、用戶實時查看車位狀態,讓用戶在最短的時間內找到最近的車位,并且通過硬件系統引導用戶到達指定車位。同時思考:本節制作的智慧停車系統模型如何應用在生活中?如果對學校行政樓地下停車場進行類似改造,如何實現此功能?請把設計思路寫下來。
7 教學反思
本節課采用智慧停車系統模型設計與制作作為實踐教學項目,貼近當前物聯網、云服務和安卓的應用與發展,相對于通用技術課本上一些比較傳統的實踐項目,諸如木工或簡單的電子控制類項目,本節內容有很強的新鮮感,容易激發出學生的探究欲望。從課堂上學生的反映來看,大多數學生不但習得制作步驟,而且理解了物聯網通信原理,同時培養了問題解決能力、批判性和創造性思維、協作和交流能力等。
在實施教學過程中也存在一些問題。
首先,教學內容較為復雜,綜合性強,對于高中學生來講難度較大。本項目既涉及硬件,又涉及軟件設計,在教學過程中雖然最終作品能演示,但是部分學生對智慧停車系統模型的工作原理和機制還是理解不透,在教學過程中就只能當作“黑盒”來處理。
其次,課堂容量較大,部分小組無法順利完成任務,程序調試千差萬別,稍有不慎,就調試不出正確結果。在以后的程序設計教學中應進行模塊化預處理,在程序關鍵語句上下功夫,以節省課堂時間。■
參考文獻
[1]中華人民共和國教育部.普通高中通用技術課程標準(2017版)[S].北京:人民教育出版社,2018.