調(diào)用
調(diào)用網(wǎng)絡(luò)API通常是通過HTTP來做的,對于TD這種上位機軟件來說形入,可以直接選擇GET浓若、POST這些方式耳舅,通過地址傳入?yún)?shù)盔性。一般的形式是地址后面加'?'然后跟參數(shù)名=值,不同的參數(shù)之間通過‘&’連接,例如
地址?參數(shù)名1=值1&參數(shù)名2=值2......
例如調(diào)用心知天氣的API愕难,可以查到官方的文檔是這樣的
TD
所以在TD可以新建一個web client,在URL填入https://api.seniverse.com/v3/weather/now.json,方法選擇GET
然后新建一個table在里面按照文檔說明寫入?yún)?shù)祥楣,傳入OP里
點request就可以獲取了,TD會自動用上面提到的把參數(shù)鏈接起來嘀略。
ESP32
對于ESP32這種沒有這樣工具的東西來調(diào)用的,話這些就要手動生成字符串了,類似這樣
其實就是先連接上服務(wù)器筷畦,地址是根地址鼎文。然后GET方法其實就是一個特定的字符串
GET url HTTP/1.1
Host: host
connection: close
然后就會收到服務(wù)器返回的數(shù)據(jù)
返回數(shù)據(jù)
一般來說API返回的都是JSON格式的
TD
在TD里面撑帖,可以用TDJ來解析衷敌,例如這樣
TDJ = op.TDModules.mod.TDJSON
json_data = TDJ.textToJSON(data)
op('table2')[0,0]= json_data['results'][0]['location']['name']
op('table2')[1,0]= json_data['results'][0]['now']['text']
op('table2')[2,0]= json_data['results'][0]['now']['temperature']
還可以用datToJSON(dat, orderedDict=True, showErrors=False)來轉(zhuǎn)換,具體可以看這里https://docs.derivative.ca/TDJSON
ESP32
可以用ArduinoJSON這個庫。