多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > 【技術(shù)博客推薦】創(chuàng)客程序員設(shè)計(jì)實(shí)現(xiàn)最小物聯(lián)網(wǎng)系統(tǒng)

【技術(shù)博客推薦】創(chuàng)客程序員設(shè)計(jì)實(shí)現(xiàn)最小物聯(lián)網(wǎng)系統(tǒng)

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-10-16 21:08:29 閱讀次數(shù):3430次

【編者按】物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng),編者一直覺(jué)得物聯(lián)網(wǎng)將會(huì)是有創(chuàng)客精神的程序員能夠大展拳腳的領(lǐng)域。在屬于創(chuàng)客們的盛會(huì)深圳Maker Faire即將舉辦之際,編者也為大家推薦一個(gè)關(guān)于物聯(lián)網(wǎng)的技術(shù)博客,博主黃峰達(dá)目前就職于ThoughtWorks,主要的研究方向是物聯(lián)網(wǎng)和數(shù)據(jù)可視化。黃峰達(dá)將自己的畢業(yè)設(shè)計(jì)成果開(kāi)源,并將設(shè)計(jì)概要整理成為物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)專欄,以下為專欄部分內(nèi)容節(jié)選:

關(guān)于物聯(lián)網(wǎng)

物聯(lián)網(wǎng)(Internet of Things,縮寫IOT)是一個(gè)基于互聯(lián)網(wǎng)、傳統(tǒng)電信網(wǎng)等信息承載體,讓所有能夠被獨(dú)立尋址的普通物理對(duì)象實(shí)現(xiàn)互聯(lián)互通的網(wǎng)絡(luò)。

物聯(lián)網(wǎng)一般為無(wú)線網(wǎng),由于每個(gè)人周圍的設(shè)備可以達(dá)到一千至五千個(gè),所以物聯(lián)網(wǎng)可能要包含500萬(wàn)億至一千萬(wàn)億個(gè)物體,在物聯(lián)網(wǎng)上,每個(gè)人都可以應(yīng)用電子標(biāo)簽將真實(shí)的物體上網(wǎng)聯(lián)結(jié),在物聯(lián)網(wǎng)上都可以查找出它們的具體位置。通過(guò)物聯(lián)網(wǎng)可以用中心計(jì)算機(jī)對(duì)機(jī)器、設(shè)備、人員進(jìn)行集中管理、控制,也可以對(duì)家庭設(shè)備、汽車進(jìn)行遙控,以及搜尋位置、防止物品被盜等各種應(yīng)用。

簡(jiǎn)單的來(lái)說(shuō)Internet是一個(gè)由計(jì)算機(jī)組成的網(wǎng)絡(luò),那么物聯(lián)網(wǎng)就是一個(gè)由物體(Things)組成的網(wǎng)絡(luò),只不過(guò)其依賴于Internet,是Internet的一部分。

最小物聯(lián)網(wǎng)系統(tǒng)

因?yàn)閺?qiáng)調(diào)的是最小,BareMinimum,這也是為什么我沒(méi)有改Arduino上面的工程名的原因,因?yàn)樗亲钚〉模?PS:大家都懂的,如果玩硬件)。物聯(lián)網(wǎng),這個(gè)東西一直很復(fù)雜,也不是很復(fù)雜,只是從硬件到軟件涉及到的東西過(guò)多了,不止一點(diǎn)點(diǎn)。當(dāng)然寫在本文的方案也有很多,不止這一個(gè),只是這個(gè)算是基本的最小的,僅此而已。

我們要做的最小物聯(lián)網(wǎng)系統(tǒng)其實(shí)也就相當(dāng)于是一個(gè)平臺(tái)。我們可以上傳我們各種物體的信息,同時(shí)給予這些物體一些屬性,我們也可以通過(guò)網(wǎng)絡(luò)來(lái)控制這些物體,而他們之間也可以相互控制。因此,我們需要給他們提供一個(gè)網(wǎng)絡(luò),這就是RESTful的由來(lái)。所以我們也稍微了解一下RESTful吧。

RESTful

REST從資源的角度來(lái)觀察整個(gè)網(wǎng)絡(luò),分布在各處的資源由URI確定,而客戶端的應(yīng)用通過(guò)URI來(lái)獲取資源的表征。獲得這些表征致使這些應(yīng)用程序轉(zhuǎn)變了其狀態(tài)。隨著不斷獲取資源的表征,客戶端應(yīng)用不斷地在轉(zhuǎn)變著其狀態(tài),所謂表征狀態(tài)轉(zhuǎn)移(Representational State Transfer)。

我們的世界是由資源來(lái)組成的,一個(gè)物體也就相當(dāng)于是一個(gè)資源,以這種方式來(lái)構(gòu)建我們的物聯(lián)網(wǎng)系統(tǒng),在目前來(lái)說(shuō)是再好不過(guò)的一個(gè)方案了。

REST架構(gòu)就是希望能夠統(tǒng)一這一類的Hypermedia Controls, 賦予他們標(biāo)準(zhǔn)的, 高度可擴(kuò)展的標(biāo)準(zhǔn)語(yǔ)義及表現(xiàn)形式, 使得甚至無(wú)人工干預(yù)的機(jī)器與機(jī)器間的通用交互協(xié)議邊的可能。

這個(gè)也就是我們的目的了,物聯(lián)網(wǎng)最后的核心就是使物體與物體之間的交互成為可能。

那么,這里也就解釋了為什么我們要用RESTful來(lái)做這個(gè)最小系統(tǒng)的原因了。

最小系統(tǒng)中的RESTful

例如,一個(gè)簡(jiǎn)單的例子,列舉所有物體狀態(tài):

GET http://localhost/athome

呈現(xiàn)某一特定狀態(tài),

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

接著我們要討論的就是系統(tǒng)框架:

系統(tǒng)框架圖

為什么是Raspberry PI

Raspberry Pi在這里只是充當(dāng)了數(shù)據(jù)的發(fā)送和接收,雖然我們可以直接將Raspberry PI作為控制的對(duì)象,但是將這個(gè)從中剝離來(lái)講清楚系統(tǒng)的結(jié)構(gòu)會(huì)更加簡(jiǎn)單。從而,可以讓我們把核心注意力聚焦在要解決的問(wèn)題上,也就是數(shù)據(jù)傳送,每個(gè)部分都可以簡(jiǎn)單地從系統(tǒng)剝離出來(lái),用另外的事物來(lái)替換。

為什么是Arduino

這個(gè)問(wèn)題的答案和上面是一樣的,只是因?yàn)橛行└阄锫?lián)網(wǎng)是從軟件過(guò)來(lái)的,對(duì)于他們來(lái)說(shuō)去理解端口的難道可能有點(diǎn)大。所以,我們?cè)诤?jiǎn)化系統(tǒng)設(shè)計(jì)的同時(shí),也把系統(tǒng)的代碼簡(jiǎn)化了。因?yàn)锳rduino足夠的簡(jiǎn)單,我們可以關(guān)心問(wèn)題的本質(zhì),而不是如何去編程。

為什么是Ajax

至于什么是Ajax,AJAX即“Asynchronous JavaScript and XML”(異步的JavaScript與XML技術(shù)),指的是一套綜合了多項(xiàng)技術(shù)的瀏覽器端網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。
這里的目的只是在于演示如何運(yùn)用這些數(shù)據(jù),使它具有他應(yīng)有的價(jià)值,而不在于技術(shù)本身。當(dāng)然ajax不是必需的,如果你需要的只是用來(lái)控制這個(gè)燈。

為什么是Laravel

只是因?yàn)閭€(gè)人喜愛(ài),你也可以用Ruby On Rails來(lái)搭建這樣一個(gè)功能,或者是Java。只不過(guò)PHP在我的服務(wù)器上運(yùn)行得挺不錯(cuò)的,而且我又不需要重新去寫配置那些配置。

同時(shí)Laravel可以簡(jiǎn)單的開(kāi)發(fā)我們所需要的功能,換句話說(shuō)他是PHP世界的Ruby On Rails。

關(guān)于項(xiàng)目

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

首頁(yè):http://iot.phodal.com/

文檔可能沒(méi)有足夠的詳細(xì),因?yàn)槭O碌牟糠侄伎梢訥oogle到,這里就不寫詳細(xì)了。

框架:

  • PHP Laravel
  • jQuery (Javascript 主要用于Ajax)
  • jQuery Mobile(可選)(我覺(jué)得我有點(diǎn)懶,于是從原來(lái)做的項(xiàng)目直接拿了出來(lái))
  • Bootstrap (可選) (其實(shí)沒(méi)有多大實(shí)際用處,只是因?yàn)楹每春蚸Query Mobile一樣)

語(yǔ)言:

  • Processing/C/C++:Arduino用 
  • Python,如果你有Raspberry Pi或者與之相近的都可以,只要可以與Arduino串口通信
  • PHP:我學(xué)得不是很好,因?yàn)長(zhǎng)aravel沒(méi)有讓我學(xué)好,但是讓我能做想做的事。

相關(guān)知識(shí)

搞硬件的同學(xué)需要重點(diǎn)了解的知識(shí)

  • RESTful
  • Ajax
  • JSON

搞軟件的同學(xué)需要重要了解的知識(shí)

  • 串口通信
  • 高低電平

關(guān)于服務(wù)器

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

注意

!請(qǐng)盡可能少我的用我的網(wǎng)站做測(cè)試

如何開(kāi)始

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

創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),如iot,編輯 app/config/database.php

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

配置Nginx,添加,詳細(xì)可參考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;
}

測(cè)試

sudo python python/get.py 

再根據(jù)需要修改端口,視真實(shí)的端口而修改。

物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)專欄:

  • 開(kāi)源IOT――一個(gè)最小的物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)方案及源碼
  • 一個(gè)最小物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)方案及源碼――Android客戶端
  • 一個(gè)最小的物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)方案及源碼――與服務(wù)器通訊
  • 最小物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)――給Laravel添加測(cè)試
  • 最小物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)――使用說(shuō)明
  • 最小物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)――添加硬件
  • 物聯(lián)網(wǎng) 畢業(yè)設(shè)計(jì)――社交物聯(lián)網(wǎng)系統(tǒng)的思考
  • 物聯(lián)網(wǎng) 畢業(yè)設(shè)計(jì)――方案選擇
  • 物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)工具箱――Dashboard框架Dashing
  • 最小物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)――添加Dashboard


技術(shù)博客是學(xué)習(xí)新技術(shù)的渠道之一,他們的實(shí)踐經(jīng)驗(yàn)更有參考性,可讀性較高。CSDN及ITeye的博客匯集了大批的優(yōu)秀博主,近期我們會(huì)挖掘冰山下蘊(yùn)藏的巨大寶藏,讓這些作者的潛心研究浮出水面,惠及更多的技術(shù)愛(ài)好者。如果你也是云計(jì)算技術(shù)愛(ài)好者,有云計(jì)算相關(guān)技術(shù)經(jīng)驗(yàn),并發(fā)表過(guò)數(shù)量不少、質(zhì)量也不錯(cuò)的技術(shù)文章,歡迎通過(guò)評(píng)論或@CSDN云計(jì)算微博聯(lián)系我們

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 视频一区二区三区自拍 | 亚洲永久视频 | 日韩亚色 | 成人午夜又粗又硬有大 | 玖操网| 91精品一区二区三区在线播放 | 亚洲国产成人99精品激情在线 | 成人国产在线不卡视频 | 国产成人综合欧美精品久久 | 国产成人啪午夜精品网站男同 | 宅男午夜大片啪啪软件 | 欧美日韩一区二区视频免费看 | 国产中文欧美 | xxxx网| 日韩一级片免费观看 | 欧美日本成人 | 亚洲欧美偷拍另类 | 成人免费观看视频久爱网 | xxxx18日本护士hd | 国产国语一级毛片全部 | 亚洲免费视频在线 | 国产欧美在线不卡 | 九九欧美 | 欧美黑人巨大videos极品视频 | 国产粉嫩00福利福利福利 | 欧美污污网站 | 免费jizz在在线播放国产 | 欧美性xxxx极品高清 | 在线视频一区二区三区四区 | 国产一区二区三区免费在线视频 | 一区二区亚洲精品 | 老司机午夜精品 | www.91色.com| 午夜视频在线观看网站 | 香蕉狠狠再啪线视频 | 亚洲欧美在线视频免费 | 亚洲精品视频在线观看视频 | 亚洲福利在线看 | 小说区| 国产一区二区三区日韩 | 亚洲精品成人a |