最小物聯網系統(七)——與伺服器通訊
這裡寫的資料通訊指的是兩部分,一部分是與伺服器,一部分是與微控制器。這樣設計的另外一個原因是,更好的分層,能讓我們更好的理解這個系統。負責這個功能的這裡用的是Raspberry PI,或者是你的PC兩者都可以,我想你也看到了之前的程式碼。那麼先讓我們看看與伺服器通訊的這部分。
伺服器通訊
示例中的程式碼是這樣子的,如果你沒有看懂的話,那麼等等 。
import json,urllib2
url="http://b.phodal.com/athome/1"
while True:
status=json.load(urllib2.urlopen(url))[0]['led1']
GET
看看get.py的程式碼,這個是沒有壓縮的,換句話說,會比較好理解一點
import json
import urllib2
url="http://b.phodal.com/athome/1"
while 1:
date=urllib2.urlopen(url)
result=json.load(date)
status=result[0]['led1']
print status
這裡做的事情有兩件,一件是從伺服器GET,另外一個就是解析JSON資料。
如果你用的是*nix,應該就自帶curl了,可以試著用下面的命令來GET
curl http://b.phodal.com/athome/1
那麼應該返回的是下面的結果
[{"id":1,"temperature":14,"sensors1":12,"sensors2":12,"led1":0}]
用在python裡面就是
urllib2.open("http://b.phodal.com/athome/1")
資料解析
python帶有json解析模組,我們在這裡只需要用json.load()來解析獲取下面的date就可以了
result=json.load(date)
解析完的result相當於是C語言裡面的陣列,在這裡相當於是一個二維陣列,我們只需要result[0]['led1'],在python裡面叫做字典,意思就是和字典一樣。
"led1":0
led1的值是0,所以result[0]['led1]的值是0,如果你用過Ruby,那麼這個和其中的Hash差不多。
因此在這裡我們拿到了伺服器上面的控制狀態的指令,也就是0。我們還需要傳給微控制器,也就是Arduino。。
相關文章
- 最小物聯網系統(八)——與微控制器通訊
- 最小物聯網系統——Dashboard
- 最小物聯網系統(三)——建立RESTfulREST
- 最小物聯網系統(五)——Laravel RESTful模板化LaravelREST
- 樂訊通雲通訊:物聯網路卡在監控系統的應用
- 最小物聯網系統(四)——詳解Laravel的RESTfulLaravelREST
- 最小物聯網系統(六)——Ajax打造視覺化視覺化
- 最小物聯網系統(九)——Android客戶端Android客戶端
- 樂訊通雲通訊:物聯網路卡在物聯網中起到什麼作用
- 樂訊通雲通訊:物聯卡與物聯網技術讓窗簾更加的智慧化
- 樂訊通雲通訊:物聯網路卡與手機卡區別
- 最小物聯網系統設計——給Laravel新增測試Laravel
- 樂訊通雲通訊:物聯卡,物與物之間溝通的橋樑
- 樂訊通雲通訊:物聯網路卡在車聯網的應用
- 樂訊通雲通訊:物聯網路卡在車聯網中的作用
- 物聯網資料卡系統原始碼——通訊模組整體概述原始碼
- 最小物聯網系統(二)——RESTful(一)Laravel安裝與資料庫設定RESTLaravel資料庫
- 物聯網通訊與普通簡訊通訊的區別和要注意的地方
- 樂訊通雲通訊:如何選擇物聯網路卡
- 樂訊通雲通訊:物聯網路卡有哪些功能
- 樂訊通雲通訊:物聯網路卡都有哪些用途
- Android與物聯網裝置通訊-概念入門Android
- 物聯網通訊協議介紹協議
- 樂訊通雲通訊:什麼是物聯網路卡?物聯網路卡的優點是什麼?
- Android與物聯網裝置通訊-網路模型分層Android模型
- 【物聯網雲端對接-2】通過MQTT協議與阿里雲物聯網套件進行雲端通訊MQQT協議阿里套件
- 物聯網常見通訊協議梳理協議
- 樂訊通雲通訊:物聯卡與加油站結合
- 樂訊通雲通訊:物聯網路卡在食品的應用
- 樂訊通雲通訊:物聯網路卡在無人機的應用無人機
- 樂訊通雲通訊:物聯網路卡是做什麼的
- 樂訊通雲通訊:物聯網路卡助力智慧音響
- 樂訊通雲通訊:如何正確的使用物聯網路卡
- 樂訊通雲通訊:物聯網路卡有什麼優點
- 樂訊通雲通訊:物聯網路卡在工地的應用
- Android與物聯網裝置通訊-UDP&TCP協議AndroidUDPTCP協議
- 物聯網策略與設計“七宗罪”
- 樂訊通雲通訊:物聯網路卡在智慧帽的應用