張昊月
(集美工業學校,福建 廈門 361022)
隨著智能手機、平板電腦等智能終端的快速普及,無線網絡的全面覆蓋,手機APP已經成為人們生活中重要的組成部分。物聯網專業技能競賽——智能終端APP開發賽項的設置,利用技能大賽的示范引領作用,構建在技能競賽背景下高效、實效的物聯網專業建設。該項比賽緊密結合產業技術發展,比賽內容面向物聯網產業核心崗位,緊跟產業發展新技術新趨勢,依托參加大賽的院校和企業合作伙伴,形成產學研共同體,圍繞物聯網產業人才培養需求,促進職業教育成效。
中職物聯網專業學生具備一定的理論水平和技能水平,但研發能力不足,選用APP Inventor2進行APP開發,能夠使學生快速上手,增強自信心。同時,通過App開發過程中對接硬件設備,有助于學生對物聯網基本技術的理解,有利于學生就業和職業生涯發展,滿足服務社會經濟、產業振興規劃、產業結構調整、經濟轉型升級、科學技術進步以及人才市場用人需求,增強就業創業能力。
App Inventor最初是谷歌實驗室(Google Lab)于2009年開始,由麻省理工學院(MIT)主導的一個實驗項目。與傳統的代碼不同,App Inventor中程序是通過可視化的指令模塊來實現的,并用模塊定義不同的功能。 2012年3月4日,MIT App Inventor開放使用。2013年12月,麻省理工學院推出了新的App Inventor版本——App Inventor 2(簡稱AI2)。 AI2是完全基于開發安卓應用的(也叫做云端開發)的工具,使用者可以用電子郵箱申請賬號,成功登錄后,顯示頁面如圖1所示。
App Inventor2界面有3個,第1個為項目界面。在項目界面可以完成項目的新建、刪除、導入、導出等操作。如圖2所示。
App Inventor2第2個界面為設計界面。該設計界面也稱UI界面,也就是設計用戶直接看到的界面,該界面有4欄。
第1欄為組件面板,用于選擇組件,選取所需組件拖曳至第2欄。第2欄為工作面板,是用戶直接面對的項目外觀。第3欄上方為組件列表,顯示已添加的組件;下方為素材欄,用來上傳聲音、圖片等素材。第4欄為組件屬性欄,用于設置組件的屬性。新建或單擊任一項目后會進入該界面,如圖3所示。
第3個界面為程序模塊界面,單擊UI界面右上角的“邏輯設計”進入,左側為模塊欄,選取所需模塊拖曳到工作面板。工作面板為程序核心,各程序模塊需拼接在一起。視圖欄左下角顯示警告信息,右下角為垃圾桶,可以將不用的模塊拖到垃圾桶刪除。如圖4所示。
模塊操作有幾個快捷鍵,如“Ctrl+C”復制、“Ctrl+V”粘貼、“Delete”刪除,“Ctrl+”鼠標滾輪可放大縮小視圖。將鼠標懸停在模塊上,會出現模塊使用說明。
App inventor2完全基于瀏覽器開發安卓應用(也叫做云端開發),開發者除了瀏覽器不需要額外安裝任何軟件。訪問AI2云端官方服務器http://app.gzjkw.net,再通過以下三種方式之一,就可以快速開發一個安卓應用。
方式一:使用無線網絡和安卓設備(安卓手機或平板電腦)開發(App Inventor官方推薦)。這種方式是直接在云端服務器上開發,它不需要計算機下載任何額外的軟件,通過在安卓設備上安裝MIT App Inventor Companion配套App進行實時調試,如圖5所示。
方式二:安裝并運行AI2模擬器。這種方式使用AI2模擬器來調試App。AI2提供了一個安卓模擬器(與安卓設備一樣),它需要在計算機上運行。很多學校或課后興趣小組都使用模擬器這種方式來開發。需要注意的是模擬器與真機在部分組件測試時可能有所不同。使用模擬器來開發,需要首先在計算機上安裝相應的軟件。
方式三:使用USB數據線連接安卓手機或平板電腦。有一些場所不提供Wi-Fi網絡,或者禁止連接Wi-Fi網絡的設備彼此通信,為此App Inventor還提供了使用USB數據線來連接安卓手機或平板電腦的方式,如圖6所示。
App Inventor2的Android應用開發可以拓展到智能家居領域,此時Android手機成為智能家居的控制終端。例如,我們要通過Web 客戶端實現網關中繼電器開關的控制。
在這個項目中,要實現軟件對硬件的控制,首先需要建立一個通信過程。App Inventor2用于實現通信連接的組件有藍牙客戶端、藍牙服務器以及Web客戶端。其中藍牙組件實現近距離的控制,而實現遠程控制的組件只有Web客戶端組件。它通常包括Web服務器和Web客戶端兩部分。控制器本身內置一個簡單的Web服務器,基于這個接口,使用App Inventor的Web客戶端功能建立通信連接,以實現對硬件設備的控制。
圖7所示中的 Web 客戶端1為APP Inventor連接網關的網絡通信組件,通信的網址為網關中IP地址和開啟Web服務的端口號,格式為:http://+網關IP地址+冒號+網關開啟的Web服務端口號。具體的參數值根據網關的設置情況而定,符號要求為英文符號。 APP Inventor 邏輯設計為檢測繼電器按鍵的動作,通過 Web 客戶端實現網關中繼電器開關的控制如圖8所示。
2.3.1 物聯網專業App開發課程開設情況調查
在一定范圍內對若干所中等職業學校物聯網專業就App開發方面的課程開設情況進行了問卷調查,結果如下。
目前中等職業學校物聯網專業APP開發課程尚未開設,主要原因是物聯網專業開設時間較短,課程還在調整之中。如果開設APP開發課程,大部分教師認為應該選擇適合中職生特點的開發平臺,同時能符合物聯網專業要求,實現一定的物聯網應用。中職生思維活躍,但編程水平相對較弱。
2.3.2 學校上網機房情況調查
目前廈門市各個中等職業學校都有專門的上網機房,可以滿足物聯網專業班級學生上網的需要。
2.3.3 學生安卓手機使用情況調查
當前,物聯網專業的所有學生都配備了智能手機,88%的同學使用的是安卓手機。85%的同學非常期待能夠在自己的智能手機上安裝自己開發的App,8%的同學表示無所謂,7%的同學覺得不可能。
App Inventor2為我們提供了一個很容易上手地開發安卓應用的工具。在App Inventor中,與傳統編程不同,代碼變成了一個一個可拼接的“塊”,編寫程序就是將這些“塊”拼裝在一起,代碼的編寫過程簡直就像玩拼圖游戲;加上經過字斟句酌、反復磨合的漢化版本,編程變得輕松愉快。使用App Inventor開發移動應用時,可以不懂程序設計語言,不用編寫代碼,采用搭積木的方式,短時間內就可以完成一個應用,例如智能家居控制程序等,對中職生很有吸引力;同時,完成的成果可以直接下載到Android手機進行展示,有利于學生產生成就感,增強自信。此外,App Inventor2與arduino的完美結合,就能夠較好地實現物聯網的應用。總之,App Inventor2是一款適合中職物聯網專業學生進行APP開發的平臺。
針對物聯網專業技能競賽——智能終端APP開發賽項設置的研究進行了企業調研,了解物聯網發展的現狀和趨勢,以及企業的崗位需求。同時,調研了中職校應對職業技能競賽、課程開設開展情況,結合本校實際選取物聯網專業作為研究對象,通過備戰職業技能競賽,對賽項設置的依據、必要性和重要性、賽項參賽對象的特點、賽項設備、賽項評價、賽項組織以及賽項創新等方面開展實踐研究。
研究結果顯示:中職物聯網專業學生具備一定的理論水平和技能水平,但是總體研發能力不足,選用APP Inventor2進行APP開發,能夠快速上手,增強他們的自信心。同時通過App開發過程中對接硬件設備,有助于學生對物聯網基本技術的理解,有利于學生就業和職業生涯發展,滿足服務社會經濟、產業振興規劃、產業結構調整、經濟轉型升級、科學技術進步以及人才市場用人需求,增強就業創業能力。