调用HTTP API轻松读取传感器数据实战(1)

本文介绍了一种通过特定API实现物联网透传的方法,包括获取token、查询终端在线状态、发送控制指令及获取结果等关键步骤。该方案适用于不同区域间的传感器数据读取与硬件设备控制。

       此前一个项目中需要读取传感器数据,还需要向一些硬件设备下达控制指令。 传感器厂家和硬件设备都没提供HTTP接口,只能直接读写硬件。怎奈研发人员中没有熟悉C/C++的,没有开发Windows或Linux系统的App的经验,而且毕竟是项目,需要保证实时性、稳定性、安全性,不是随便找个人写个DEMO就能应付的,所以只能找现成的解决方案,能快速高效解决问题并稳定可靠。从网上搜索“物联网透传”,找到1个解决方案,值得一提的是能同时支持普通电脑和树莓派,因为项目中传感器和硬件设备在不同的区域,并不在同一个局域网内,如果放置多台电脑成本过高,用树莓派就便宜多了,每个不到1千元,多部署几个也无所谓。下面展示一下常用的API。

1、先获取token

https://domain/api/v1/auth?appId=xxxxx&appSecret=xxxxx
{
  "code": 200,
  "msg": "成功",
  "data": {
    "token": "66B35B049CEA45DEABFD808DDCF45A1B"
   }
}
2、查询终端是否在线
https://domain/api/v1/terminal-id?token=xxxxx&terminalId=xxxx
{
  "code": 200,
  "msg": "成功",
  "data": {
    "id": 50
    "online": "false"
  }
}
3、下达指令给传感器/硬件设备
https://domain/api/v1/cmd-via-network?token=xxxxx&terminalId=xxxx
{
  "ip": "192.168.2.41",
  "port": 8899,
  "timeout": 500,
  "cmdContent":   [ 1,3,5,7,9],   #实际指令
  "upload": true
}
{
  "code": 200,
  "msg": "成功",
  "data": {
    "serialNumber": "1657177271193"  #每条指令下达后有一个序列号,用于后期获取结果  
   }
}
4、获得查询结果
https://domain/api/v1/cmd-result?token=xxxxx&terminalId=xxxxx&serialNumber=xxxxxxxx
{
  "code": 200,
  "msg": "成功",
  "data": {
    "success": true,
    "result": [1,2, 3, 4],
    "terminalId": 1,
    "serialNumber": "1657179754618"
  }
}
就这几个API就能完成项目的基本需求了,其它的API在项目中也用到了,后续再写。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值