美文网首页
API调用小记(Touchdesigner和ESP32)

API调用小记(Touchdesigner和ESP32)

作者: 剑山 | 来源:发表于2021-01-21 15:49 被阅读0次

    调用

    调用网络API通常是通过HTTP来做的,对于TD这种上位机软件来说,可以直接选择GET、POST这些方式,通过地址传入参数。一般的形式是地址后面加'?'然后跟参数名=值,不同的参数之间通过‘&’连接,例如

    地址?参数名1=值1&参数名2=值2......

    例如调用心知天气的API,可以查到官方的文档是这样的


    TD

    所以在TD可以新建一个web client,在URL填入https://api.seniverse.com/v3/weather/now.json,方法选择GET

    然后新建一个table在里面按照文档说明写入参数,传入OP里


    点request就可以获取了,TD会自动用上面提到的把参数链接起来。

    ESP32

    对于ESP32这种没有这样工具的东西来调用的,话这些就要手动生成字符串了,类似这样



    其实就是先连接上服务器,地址是根地址。然后GET方法其实就是一个特定的字符串

    GET url HTTP/1.1
    Host: host
    connection: close
    

    然后就会收到服务器返回的数据

    返回数据

    一般来说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)来转换,具体可以看这里https://docs.derivative.ca/TDJSON

    ESP32

    可以用ArduinoJSON这个库。


    相关文章

      网友评论

          本文标题:API调用小记(Touchdesigner和ESP32)

          本文链接:https://www.haomeiwen.com/subject/jwzrzktx.html