OneNet云平台前期项目搭建准备:
首先在OneNet云平台这边,我们登录之后,在自己头像这边点击账号信息;

在点进去的界面内,上主菜单有一个全部产品服务,点出来的框内可以看到有多协议接入这个选项

点进去后可以看到有TCP透传这个选项,由于本人在做树莓派开发过程中基本都是TCP/IP进行通信,因此选择该选项,进行产品的添加;

在点击添加产品后,有诸多的信息填入选项(该产品是自己的项目,不算设备,设备在项目生成后会有另外添加)可以依据自己的项目进行填写,也可以随便填,但是联网方式和接入协议不能错写;


填写完成后,便能出现如下图所示的可视化界面; 我们需要在设备列表的界面,对设备进行添加;


输入相关信息的界面中,有个鉴权信息,十分重要,后期要用的

我们点击设备列表,返回到设备信息后,可以看到有个脚本解析,在这边,我们需要上传一个sample.lua的脚本,实现IP地址对OneNet云端的通信。
百度网盘:
链接:https://pan.baidu.com/s/1YRhcshGAR7VpSjfYvy_lLQ?pwd=fr8w
提取码:fr8w

添加脚本后,云端这边就可以通过IP地址+端口号进行通信连接了,此外OneNet云平台本身就有提供固定的IP地址和端口号;
IP:183.230.40.40
端口号:1811
树莓派与OneNet云平台进行对接:
树莓派与外部云端进行TCP/IP通信的方法,
我们这边只需要通过以socket为框架的TCP/IP协议进行通信并发送数据即可,并且在发送数据之前先发送接入报文,所需代码如下:
发送端(服务端) fa.py代码:
#coding=utf-8
import socket
import cv2
import numpy
import time
import smbus
import math
def SendVideo():
address = ('183.230.40.40', 1811) # 地址:IP+端口号
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建sock对象
sock.connect(address) # 与客户端连接
except socket.error as msg: # 判断连接是否发生错误
print(msg)
sys.exit(1)
DataBase=b'*522264#123456#sample*' #输入连接报文
sock.send(DataBase)
while 1:
time.sleep(0.1)
sock.send(b'12'); #发送数据
sock.settimeout(1) # 计时1秒,若无信息接收则关闭recv
try:
data=sock.recv(10)
#print(data)
except socket.timeout as e:
#print(f"{e}")
continue
if __name__ == '__main__':
SendVideo()
需要修改第16行代码

这样树莓派与OneNet云平台建立TCP/IP连接就实现了,主要就是这个代码
树莓派如何建Python文件
1.得到管理员权限
sudo su
2.建Python文件
vim fa.py
3.把代码粘贴进去,Ctrl+C,Ctrl+v在树莓派里不能用,复制粘贴用鼠标右键
4.运行文件
sudo python fa.py
如果出现报错import cv2 找不到cv2
回到pi处:
cd ..
用下面的指令下载cv2库
sudo apt-get install python-opencv
或者 (因为有些Python3. 的版本不能用Python指令)
sudo apt-get install python3-opencv
参考链接:import cv2失败问题的解决 - 灰信网(软件开发博客聚合)
如果出现报错import smbus 找不到smbus
sudo apt-get install python3-smbus
如果还有其他报错,自己上网搜
最后运行python fa.py
打开onenet,设备在线,成功连接
最后
以上就是可爱御姐最近收集整理的关于树莓派连接onenet的全部内容,更多相关树莓派连接onenet内容请搜索靠谱客的其他文章。
发表评论 取消回复