本篇文章給大家分享讓人心動的物聯(lián)網(wǎng)畢業(yè)設(shè)計(解決方案)有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
物聯(lián)網(wǎng)畢業(yè)設(shè)計系統(tǒng)總體設(shè)計方案
Arduino+Raspberry Pi+Laravel+JSON+RESTful+Ajax+Python+HighCharts
硬件方案選擇
單片機選擇
Arduino
Arduino,是一個開放源代碼的單芯片微電腦,它使用了Atmel AVR單片機,采用了基于開放源代碼的軟硬件平臺,構(gòu)建于開放源代碼 simple I/O 接口板,并且具有使用類似Java,C 語言的Processing/Wiring開發(fā)環(huán)境。
51
單片機,全稱單片微型計算機(英語:Single-Chip Microcomputer),又稱微控制器(Microcontroller),是把中央處理器、存儲器、定時/計數(shù)器(Timer/Counter)、各種輸入輸出接口等都集成在一塊集成電路芯片上的微型計算機。與應(yīng)用在個人計算機中的通用型微處理器相比,它更強調(diào)自供應(yīng)(不用外接硬件)和節(jié)約成本。它的最大優(yōu)點是體積小,可放在儀表內(nèi)部,但存儲量小,輸入輸出接口簡單,功能較低。
軟件方案選擇
數(shù)據(jù)通訊方式選擇
RESTful
表征狀態(tài)轉(zhuǎn)移是Roy Fielding博士在2000年他的博士論文中提出來的一種軟件架構(gòu)風(fēng)格。 目前在三種主流的Web服務(wù)實現(xiàn)方案中,因為REST模式的Web服務(wù)與復(fù)雜的SOAP和XML-RPC對比來講明顯的更加簡潔,越來越多的web服務(wù)開始采用REST風(fēng)格設(shè)計和實現(xiàn)。
soap
簡單對象訪問協(xié)議是交換數(shù)據(jù)的一種協(xié)議規(guī)范,使用在計算機網(wǎng)絡(luò)Web服務(wù)中,交換帶結(jié)構(gòu)信息。SOAP為了簡化網(wǎng)頁服務(wù)器從XML數(shù)據(jù)庫中提取數(shù)據(jù)時,節(jié)省去格式化頁面時間,以及不同應(yīng)用程序之間按照HTTP通信協(xié)議,遵從XML格式執(zhí)行資料互換,使其抽象于語言實現(xiàn)、平臺和硬件。
數(shù)據(jù)通信格式選擇(轉(zhuǎn)載保留:物聯(lián)網(wǎng) 畢業(yè)設(shè)計)
JSON
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。 易于人閱讀和編寫。同時也易于機器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數(shù)據(jù)交換語言。
XML
可擴展標(biāo)記語言(英語:eXtensible Markup Language,簡稱: XML),是一種標(biāo)記語言。標(biāo)記指計算機所能理解的信息符號,通過此種標(biāo)記,計算機之間可以處理包含各種信息的文章等。如何定義這些標(biāo)記,既可以選擇國際通用的標(biāo)記語言,比如HTML,也可以使用像XML這樣由相關(guān)人士自由決定的標(biāo)記語言,這就是語言的可擴展性。XML是從標(biāo)準(zhǔn)通用標(biāo)記語言(SGML)中簡化修改出來的。它主要用到的有可擴展標(biāo)記語言、可擴展樣式語言(XSL)、XBRL和XPath等。
網(wǎng)絡(luò)服務(wù)方案選擇
語言選擇
PHP Laravel
PHP(全稱:PHP:Hypertext Preprocessor,即“PHP:超文本預(yù)處理器”)是一種開源的通用計算機腳本語言,尤其適用于網(wǎng)絡(luò)開發(fā)并可嵌入HTML中使用。PHP的語法借鑒吸收了C語言、Java和Perl等流行計算機語言的特點,易于一般程序員學(xué)習(xí)。PHP的主要目標(biāo)是允許網(wǎng)絡(luò)開發(fā)人員快速編寫動態(tài)頁面,但PHP也被用于其他很多領(lǐng)域。
Laravel
Laravel是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架(PHP Web Framework)。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構(gòu)建一個完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡潔、富于表達(dá)力。
Java Spring
Java
Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。
Spring
Spring 也表示是一個開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性由Rod Johnson創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為 J2EE 應(yīng)用程序開發(fā)提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。
其它
數(shù)據(jù)通訊收發(fā)設(shè)備
Raspeberry PI
Raspberry Pi是一款針對電腦業(yè)余愛好者、教師、小學(xué)生以及小型企業(yè)等用戶的迷你電腦,預(yù)裝Linux系統(tǒng),體積僅信用卡大小,搭載ARM架構(gòu)處理器,運算性能和智能手機相仿。 在接口方面,Raspberry Pi提供了可供鍵鼠使用的USB接口,此外還有千兆以太網(wǎng)接口、SD卡擴展接口以及1個HDMI高清視頻輸出接口,可與顯示器或者TV相連。
Debian
廣義的Debian是指一個致力于創(chuàng)建自由操作系統(tǒng)的合作組織及其作品,由于Debian項目眾多內(nèi)核分支中以Linux宏內(nèi)核為主,而且 Debian開發(fā)者 所創(chuàng)建的操作系統(tǒng)中絕大部分基礎(chǔ)工具來自于GNU工程 ,因此 “Debian” 常指Debian GNU/Linux。
Linux
Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
輔助語言選擇
Python
Python(KK 英語發(fā)音:/?pa?θ?n/), 是一種面向?qū)ο?、直譯式計算機程序設(shè)計語言,由Guido van Rossum于1989年底發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。Python語法簡潔而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,它能夠很輕松的把用其他語言制作的各種模塊(尤其是C/C++)輕松地聯(lián)結(jié)在一起。常見的一種應(yīng)用情形是,使用python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,速度要求非常高,就可以用C++重寫。
Ruby
Ruby,一種為簡單快捷的面向?qū)ο缶幊蹋嫦驅(qū)ο蟪绦蛟O(shè)計)而創(chuàng)的腳本語言,在20世紀(jì)90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)開發(fā),遵守GPL協(xié)議和Ruby License。它的靈感與特性來自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 語言。由 Ruby 語言本身還發(fā)展出了JRuby(Java 平臺)、IronRuby(.NET 平臺)等其他平臺的 Ruby 語言替代品。Ruby的作者于1993年2月24日開始編寫Ruby,直至1995年12月才正式公開發(fā)布于fj(新聞組)。因為Perl發(fā)音與6月誕生石pearl(珍珠)相同,因此Ruby以7月誕生石ruby(紅寶石)命名。
串口通信模塊
Pyserial
封裝了串口通訊模塊,支持Linux、Windows、BSD(可能支持所有支持POSIX的操作系統(tǒng)),支持Jython(Java)和IconPython(.NET and Mono).
網(wǎng)頁通信
Ajax
AJAX即“Asynchronous JavaScript and XML”(異步JavaScript和XML),AJAX并非縮寫詞,而是由Jesse James Gaiiett創(chuàng)造的名詞,是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。
數(shù)據(jù)可視化框架選擇
HighCharts
Highcharts 是一個用純JavaScript編寫的一個圖表庫, 能夠很簡單便捷的在web網(wǎng)站或是web應(yīng)用程序添加有交互性的圖表,并且免費提供給個人學(xué)習(xí)、個人網(wǎng)站和非商業(yè)用途使用。HighCharts支持的圖表類型有曲線圖、區(qū)域圖、柱狀圖、餅狀圖、散狀點圖和綜合圖表。
推薦學(xué)習(xí):《PHP視頻教程》