日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 【技術博客推薦】創客程序員設計實現最小物聯網系統

【技術博客推薦】創客程序員設計實現最小物聯網系統

來源:程序員人生   發布時間:2014-10-16 21:08:29 閱讀次數:3437次

【編者按】物聯網就是物物相連的互聯網,編者一直覺得物聯網將會是有創客精神的程序員能夠大展拳腳的領域。在屬于創客們的盛會深圳Maker Faire即將舉辦之際,編者也為大家推薦一個關于物聯網的技術博客,博主黃峰達目前就職于ThoughtWorks,主要的研究方向是物聯網和數據可視化。黃峰達將自己的畢業設計成果開源,并將設計概要整理成為物聯網系統設計專欄,以下為專欄部分內容節選:

關于物聯網

物聯網(Internet of Things,縮寫IOT)是一個基于互聯網、傳統電信網等信息承載體,讓所有能夠被獨立尋址的普通物理對象實現互聯互通的網絡。

物聯網一般為無線網,由于每個人周圍的設備可以達到一千至五千個,所以物聯網可能要包含500萬億至一千萬億個物體,在物聯網上,每個人都可以應用電子標簽將真實的物體上網聯結,在物聯網上都可以查找出它們的具體位置。通過物聯網可以用中心計算機對機器、設備、人員進行集中管理、控制,也可以對家庭設備、汽車進行遙控,以及搜尋位置、防止物品被盜等各種應用。

簡單的來說Internet是一個由計算機組成的網絡,那么物聯網就是一個由物體(Things)組成的網絡,只不過其依賴于Internet,是Internet的一部分。

最小物聯網系統

因為強調的是最小,BareMinimum,這也是為什么我沒有改Arduino上面的工程名的原因,因為它是最小的,(PS:大家都懂的,如果玩硬件)。物聯網,這個東西一直很復雜,也不是很復雜,只是從硬件到軟件涉及到的東西過多了,不止一點點。當然寫在本文的方案也有很多,不止這一個,只是這個算是基本的最小的,僅此而已。

我們要做的最小物聯網系統其實也就相當于是一個平臺。我們可以上傳我們各種物體的信息,同時給予這些物體一些屬性,我們也可以通過網絡來控制這些物體,而他們之間也可以相互控制。因此,我們需要給他們提供一個網絡,這就是RESTful的由來。所以我們也稍微了解一下RESTful吧。

RESTful

REST從資源的角度來觀察整個網絡,分布在各處的資源由URI確定,而客戶端的應用通過URI來獲取資源的表征。獲得這些表征致使這些應用程序轉變了其狀態。隨著不斷獲取資源的表征,客戶端應用不斷地在轉變著其狀態,所謂表征狀態轉移(Representational State Transfer)。

我們的世界是由資源來組成的,一個物體也就相當于是一個資源,以這種方式來構建我們的物聯網系統,在目前來說是再好不過的一個方案了。

REST架構就是希望能夠統一這一類的Hypermedia Controls, 賦予他們標準的, 高度可擴展的標準語義及表現形式, 使得甚至無人工干預的機器與機器間的通用交互協議邊的可能。

這個也就是我們的目的了,物聯網最后的核心就是使物體與物體之間的交互成為可能。

那么,這里也就解釋了為什么我們要用RESTful來做這個最小系統的原因了。

最小系統中的RESTful

例如,一個簡單的例子,列舉所有物體狀態:

GET http://localhost/athome

呈現某一特定狀態,

GET http://localhost/athome/1/
剩下的部分這里就不多說了,多說無益,可以自己谷歌去。

接著我們要討論的就是系統框架:

系統框架圖

為什么是Raspberry PI

Raspberry Pi在這里只是充當了數據的發送和接收,雖然我們可以直接將Raspberry PI作為控制的對象,但是將這個從中剝離來講清楚系統的結構會更加簡單。從而,可以讓我們把核心注意力聚焦在要解決的問題上,也就是數據傳送,每個部分都可以簡單地從系統剝離出來,用另外的事物來替換。

為什么是Arduino

這個問題的答案和上面是一樣的,只是因為有些搞物聯網是從軟件過來的,對于他們來說去理解端口的難道可能有點大。所以,我們在簡化系統設計的同時,也把系統的代碼簡化了。因為Arduino足夠的簡單,我們可以關心問題的本質,而不是如何去編程。

為什么是Ajax

至于什么是Ajax,AJAX即“Asynchronous JavaScript and XML”(異步的JavaScript與XML技術),指的是一套綜合了多項技術的瀏覽器端網頁開發技術。
這里的目的只是在于演示如何運用這些數據,使它具有他應有的價值,而不在于技術本身。當然ajax不是必需的,如果你需要的只是用來控制這個燈。

為什么是Laravel

只是因為個人喜愛,你也可以用Ruby On Rails來搭建這樣一個功能,或者是Java。只不過PHP在我的服務器上運行得挺不錯的,而且我又不需要重新去寫配置那些配置。

同時Laravel可以簡單的開發我們所需要的功能,換句話說他是PHP世界的Ruby On Rails。

關于項目

源碼:https://github.com/gmszone/iot

首頁:http://iot.phodal.com/

文檔可能沒有足夠的詳細,因為剩下的部分都可以Google到,這里就不寫詳細了。

框架:

  • PHP Laravel
  • jQuery (Javascript 主要用于Ajax)
  • jQuery Mobile(可選)(我覺得我有點懶,于是從原來做的項目直接拿了出來)
  • Bootstrap (可選) (其實沒有多大實際用處,只是因為好看和jQuery Mobile一樣)

語言:

  • Processing/C/C++:Arduino用 
  • Python,如果你有Raspberry Pi或者與之相近的都可以,只要可以與Arduino串口通信
  • PHP:我學得不是很好,因為Laravel沒有讓我學好,但是讓我能做想做的事。

相關知識

搞硬件的同學需要重點了解的知識

  • RESTful
  • Ajax
  • JSON

搞軟件的同學需要重要了解的知識

  • 串口通信
  • 高低電平

關于服務器

  • Nginx 需要配置,具體配置可以參照github上面的代碼
  • LNMP 直接用上面的會比較簡單,但是可能也會遇到一些問題。
  • Phpmyadmin 最好需要有這個,如果不是很精通MYSQL

注意

!請盡可能少我的用我的網站做測試

如何開始

git clone https://github.com/gmszone/iot.git
cp iot/rest PATH_OF_HTDOCS/

創建一個新的數據庫,如iot,編輯 app/config/database.php

'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'iot',
'username' => 'root',
'password' => ' ',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),

配置Nginx,添加,詳細可參考Nginx下面的配置

# include /etc/nginx/includes/enforce_non_www;
if ($host ~* ^www.(.*))
{
set $host_without_www $1;
rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent;
}
# Check if file exists
if (!-e $request_filename)
{
rewrite ^/(.*)$ /index.php?/$1 last;
break;
}

測試

sudo python python/get.py 

再根據需要修改端口,視真實的端口而修改。

物聯網系統設計專欄:

  • 開源IOT――一個最小的物聯網系統設計方案及源碼
  • 一個最小物聯網系統設計方案及源碼――Android客戶端
  • 一個最小的物聯網系統設計方案及源碼――與服務器通訊
  • 最小物聯網系統設計――給Laravel添加測試
  • 最小物聯網系統設計――使用說明
  • 最小物聯網系統設計――添加硬件
  • 物聯網 畢業設計――社交物聯網系統的思考
  • 物聯網 畢業設計――方案選擇
  • 物聯網系統設計工具箱――Dashboard框架Dashing
  • 最小物聯網系統設計――添加Dashboard


技術博客是學習新技術的渠道之一,他們的實踐經驗更有參考性,可讀性較高。CSDN及ITeye的博客匯集了大批的優秀博主,近期我們會挖掘冰山下蘊藏的巨大寶藏,讓這些作者的潛心研究浮出水面,惠及更多的技術愛好者。如果你也是云計算技術愛好者,有云計算相關技術經驗,并發表過數量不少、質量也不錯的技術文章,歡迎通過評論或@CSDN云計算微博聯系我們

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 激情久久av一区av二区av三区 | 一级毛片在线 | 亚洲精品视频成人 | 成人在线一区二区 | 亚洲成av人影院 | a级片一区二区三区 | 爱爱免费 | 午夜精品久久久久久久久久久 | 国产亚洲精品精品国产亚洲综合 | 成人在线免费观看小视频 | 久久成人国产精品 | 久久国产精品免费 | 91精品国产综合久久精品图片 | 麻豆高清免费国产一区 | 中文字幕一区在线 | 日本亚洲视频 | 久久亚洲高清 | 第一福利视频网站 | 精品国产一区二区在线 | 国产精品久久久久久 | 91av电影在线| 日韩黄色一级电影 | 国产99在线视频 | 国产一区二区三区高清 | 国产麻豆一区二区三区在线观看 | 日韩在线免费视频 | 国产欧美一区二区三区在线看 | 国产精品毛片久久久久久 | 宅男天堂网 | 亚洲福利视频一区二区 | 国产精品www| 久久久4久久久久8久久久久久 | 日本一区二区三区免费观看 | 国产成人在线播放 | 久久久亚洲精品视频 | 国内在线一区 | 欧美少妇a| 成人高潮aa毛片免费 | 久久久久久婷 | 亚洲国产精品久久久久 | 国产超级av在线 |