EasyEdge 智能边缘控制台通过sdk发布应用

本文介绍了如何在树莓派上离线部署SDK,包括下载EasyDLSDK、安装智能边缘控制台,以及提供了一个使用示例代码,展示了如何通过边缘计算节点发送图像数据并存储到数据库的过程。
摘要由CSDN通过智能技术生成

离线部署SDK生成

在这里插入图片描述
模型部署完成后会出现下载SDK的按钮,点击按钮下载SDK并保存好SDK。

进入EasyDL官网的技术文档

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装智能边缘控制台

跟着教程,完成安装:点此链接

在这里插入图片描述
树莓派4b是Linux arm64的架构,点击对应的链接进行下载。

在这里插入图片描述
下载完成之后通过SecureFX软件将该压缩包传到树莓派并解压;解压完成后的目录结构如下所示:

├── easyedge-iec
├── easyedge-iec-setup.sh
├── etc
│   └── easyedge-iec.yml
└── readme.txt

解压完成后,通过终端进入该目录执行一下命令进行安装(前提是以root权限):

bash ./easyedge-iec-setup.sh install 

安装完成之后就可以通过工程师站的浏览器访问边缘控制台。
在这里插入图片描述
登录进入控制台,就可以用之前下载的SDK发布服务了。
在这里插入图片描述

示例代码

import time

import requests
import cv2
import pymysql
import threading

url = "http://127.0.0.1:24405/"  # 边缘计算节点的地址
params = {'threshold': 0.1}

# 连接数据库
conn = pymysql.connect(
    host="127.0.0.1",
    port=3306,
    user="root",
    password="123456",
    database="image_data"
)
cursor = conn.cursor()


# 向边缘计算服务发送请求
def detect_and_send_image(url, params, frame):
    # binary_image = image_to_base64(frame)

    # 将图像数据转换为二进制格式
    # binary_image = cv2.imencode('.jpg', frame)[1].tobytes()
    # response = requests.post(url,params=params, data=binary_image)

    cv2.imwrite("tmp.jpg", frame)
    with open('./tmp.jpg', 'rb') as f:
        img_data = f.read()
        print(img_data)
        result = requests.post(
            url=url,  # 请确认IP地址是否正确
            params=params,
            data=img_data)

        # 处理图像检测接口的响应,这里可以根据需要进行进一步的处理
        data = result.json()
        print("图像检测结果:", data)

        # 解析resp 获取result、score
        confidence = data["results"][0]["confidence"]
        score = data["results"][0]["score"]
        label = data["results"][0]["label"]

        try:
            sql_insert = """insert into test(confidence, score,label) values(%f,%f,%s)"""
            cursor.execute(sql_insert, (confidence, score, label))
            conn.commit()  # 提交请求,不然不会插入数据
        except:
            print("数据库存储异常")


# 数据存储至数据库
# def save_data(confidence, score, label):


if __name__ == '__main__':
    # 读取视频文件或摄像头
    video_capture = cv2.VideoCapture(0)
    # t = time.time()
    # t1 = threading.Thread(target=detect_and_send_image().func, args=(url,params))
    # t1.start()
    # t1.join()
    while True:
        ret, frame = video_capture.read()

        if not ret:
            break

        # 发送图像数据到图像检测接

        if cv2.waitKey(1) & 0xFF == ord('w'): # 按住w拍照
            threading.Thread(target=detect_and_send_image, args=(url, params, frame)).start()
            # t = time.time()  # 更新结果时间

        cv2.imshow('Video', frame)

        # 按'q'键退出视频捕捉
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    video_capture.release()
    cv2.destroyAllWindows()
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冲鸭嘟嘟可

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值