最近经常性和这些偏硬件的东西打交道,以防后面忘记,顺手记录一下。
树莓派使用的是3b+,虽然以前经常听说树莓派,真正拿到手里开始研究的时候兴致却没那么浓厚了。说实话,感觉就是一个小型PC携带了Linux系统。基本流程的话,研究树莓派就和研究Linux差不多。

平台就不介绍了,大家能知道。这边主要讲一下流程,因为之前一直是拿学校给的板子,都是使用的平台特有的EDP协议,所以创建的设备都是EDP协议。这时,想用HTTP协议连接,就收到了405错误。
总结一下使用OneNET平台的心得,就是用什么协议连接就要创建对应的设备接受信息,这点,很关键。

创建http协议产品

官方说其实建议个人用户使用http,企业用户不推荐,我想大概和http协议的安全性有关,不过我只是用于个人使用,所以选http也没什么问题,大规模的用户可能需要再考虑一下。

选择接入协议为http即可。
树莓派传输数据给OneNET(HTTP形式)_网络_Talk is cheap, show me the code!-CSDN博客 - 图1
创建成功就如下图所示。
树莓派传输数据给OneNET(HTTP形式)_网络_Talk is cheap, show me the code!-CSDN博客 - 图2

创建设备

然后添加设备,添加完设备之后我们可以获取设备ID,这个之后代码会有涉及。同时也可以为这个设备单独添加一个APIkey,当然如果不需要的话可以用全局的APIkey
树莓派传输数据给OneNET(HTTP形式)_网络_Talk is cheap, show me the code!-CSDN博客 - 图3

创建数据流模版

这一步不一定是必须的,只是方便后期的管理,数据流会传输到设备对应的数据流中可以进行查看。

创建模版如下所示,填写一些基本信息即可。
树莓派传输数据给OneNET(HTTP形式)_网络_Talk is cheap, show me the code!-CSDN博客 - 图4
数据流可以在设备管理的操作处进入。
树莓派传输数据给OneNET(HTTP形式)_网络_Talk is cheap, show me the code!-CSDN博客 - 图5
进入之后就可以见到可视化数据。
树莓派传输数据给OneNET(HTTP形式)_网络_Talk is cheap, show me the code!-CSDN博客 - 图6

树莓派的环境其实也不用怎么配置,因为Python3已经装好了,最多再装个中文环境包,Linux环境很类似的。当然,使用的时候最好有个外接显示屏,不然小屏真的是很不爽,有了显示屏就可以快乐地使用鼠标、键盘了。

代码

代码真的很简单,因为只要研究一下API就行了,研究透之后以后只要使用两个模块——requests、json即可。
具体代码如下:

  1. import requests
  2. import json
  3. headers = {'api-key' : api_key}
  4. data = {'datastreams':[{'id':'temperature', 'datapoints':[{'value':7}]}]}
  5. jdata = json.dumps(data)
  6. puturl = 'https://api.heclouds.com/devices/' + device_ID+ '/datapoints'
  7. get_mult_url = 'https://api.heclouds.com/devices/' + device_ID + '/datapoints'
  8. def http_post():
  9. '''
  10. 传输数据
  11. '''
  12. r = requests.post(url=puturl, headers=headers, data=jdata)
  13. print(r.text)
  14. def http_get():
  15. '''
  16. 获取数据
  17. '''
  18. r = requests.get(url=get_mult_url, headers=headers)
  19. print(r.text)

树莓派传输数据给OneNET(HTTP形式)_网络_Talk is cheap, show me the code!-CSDN博客 - 图7 树莓派传输数据给OneNET(HTTP形式)_网络_Talk is cheap, show me the code!-CSDN博客 - 图8

发布了77 篇原创文章 · 获赞 66 · 访问量 25万+