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

       此前一个项目中需要读取传感器数据,还需要向一些硬件设备下达控制指令。 传感器厂家和硬件设备都没提供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在项目中也用到了,后续再写。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
上位机CAN总线读取传感器数据编程,是指通过编写程序实现上位机通过CAN总线读取传感器数据。 首先,我们需要了解CAN总线的工作原理和协议。CAN总线是一种高速串行通信总线,广泛应用于汽车电子和工业自动化等领域。它采用差分传输方式,能够在复杂电磁环境下实现可靠的数据传输。 为了读取传感器数据,需要连接CAN总线适配器和传感器。CAN总线适配器一般是一个硬件设备,用于将CAN总线上的信号转换为计算机可以读取数据传感器可以是各种类型的,比如温度传感器、压力传感器等。 在编程方面,我们可以使用编程语言(如C、C++等)来实现上位机对CAN总线的读取操作。主要的步骤如下: 1. 初始化CAN总线适配器。通过调用相应的函数或库,设置适配器的参数,包括波特率、帧格式等。 2. 打开CAN总线。调用适配器的打开函数,连接到CAN总线上。 3. 设置过滤规则。为了避免读取到无关的数据,可以设置过滤规则,只接收特定ID的CAN帧。 4. 循环读取数据。使用循环结构,持续地读取传感器发送的CAN帧。可以使用适配器提供的函数或库来实现。 5. 解析数据。解析CAN帧的数据区域,提取出传感器数据,可以根据传感器的协议和数据格式进行解析。 6. 处理数据。对于读取到的传感器数据,可以进行相应的处理,比如保存到文件、显示在界面上、发送到其他设备等。 7. 关闭CAN总线。完成读取操作后,关闭CAN总线,释放资源。 总的来说,编程实现上位机CAN总线读取传感器数据需要了解CAN总线的工作原理和协议,以及相应的编程语言和工具。通过适配器与传感器进行通信,并对读取到的CAN帧进行解析和处理,最后完成读取传感器数据的操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值