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