2.13 haas506 2.0开发教程-高级组件库-OSS

该教程详细介绍了如何利用Haas506开发板进行录音,并将录制的文件存储到阿里云的对象存储服务OSS。首先,在阿里云开通OSS服务,然后在代码中填入必要的认证信息。通过编写Python程序,实现在开发板上录音并上传文件到指定的OSS存储桶。程序中包含了网络连接、录音和文件上传的完整流程。
摘要由CSDN通过智能技术生成

最新案例教程点击下方链接跳转,CSDN已停止更新

点击跳转HaaS506官方最新案例







OSS对象存储

1、案例说明

  • 本案例使用haas506开发板录音,并将录音文件储存至阿里云OSS。
  • 对象存储OSS(Object Storage Service)提供基于网络的数据存取服务。使用OSS,可以通过网络随时存储和调用包括文本、图片、音视频在内的各类数据文件。

2、开始使用OSS

3、程序

将endpoint,bucketname,AccessKey ID,AccessKey Secret和objectname填入程序相应位置。(43行)

main.py

# -*- coding: UTF-8 -*-
import OSS as oss
from audio import Record
import network
import utime as time
import uos
import sntp

g_connect_status = False
g_wait_upload_finashed = True
localfilename = '/sdcard0/myFirstRecord.pcm'

def on_4g_cb(args):
    global g_connect_status
    pdp = args[0]
    netwk_sta = args[1]
    if netwk_sta == 1:
        g_connect_status = True
    else:
        g_connect_status = False


def connect_network():
    global net,on_4g_cb,g_connect_status
    net = network.NetWorkClient()
    g_register_network = False
    if net._stagecode is not None and net._stagecode == 3 and net._subcode == 1:
        g_register_network = True
    else:
        g_register_network = False
    if g_register_network:
        net.on(1,on_4g_cb)
        net.connect(None)
    else:
        print('网络注册失败')
    while True:
        if g_connect_status:
            print('网络连接成功')
            break
        time.sleep_ms(20)

def oss_upload_file(filename):
    keyid = 'yourKeyId'
    keysecret = 'yourKeySecret'
    endpoint = 'yourEndPoint'
    bucketname = 'yourBucketName'
    objectname = '/record/myFirstRecord.pcm'
    ret = oss.uploadFile(keyid,keysecret,endpoint,bucketname,objectname,filename)
    return ret

def end_cb(args):
    global g_wait_upload_finashed
    print('filename:%s,filelen:%d,errcord:%d'%(args[0],args[1],args[2]))
    print('record finashed then upload record file to oss')
    oss_upload_file(args[0])
    g_wait_upload_finashed = False

def start_record(filename):
    rd = Record()
    rd.end_callback(end_cb)
    rd.start(filename,10)

if __name__ == '__main__':
    time.sleep_ms(5000)
    ret = uos.mountsd()
    if ret == True:
        connect_network()
        sntp.settime()
        start_record(localfilename)
    else:
        print('not found sdcard')
    while g_wait_upload_finashed:
        time.sleep_ms(1000)
        print('waiting upload oss finished...')

4、实现步骤

(1)烧录代码
(2)查看结果
在这里插入图片描述

class-OSS

oss

downloadFileuploadFile
下载文件上传文件

oss.uploadFile(keyid,keysecret,endpoint,bucketname,objectname,filename)

作用:上传文件
参数:keyid,keysecret,endpoint,bucketname,objectname,filename
返回:0成功
参数类型说明
keyidstrOSS服务的keyid
keysecretstrOSS服务的keysecret
endpointstrOSS的区域节点,如’oss-cn-beijing.aliyuncs.com’
bucketNamestr对象存储OSS中Bucket列表名称,需事先创建
objectnamestr文件上传到指定文件夹内,需事先创建
filenamestr上传的文件名称
oss.downloadFile(keyid,keysecret,endpoint,bucketname,objectname,filepath)
作用:下载文件
参数:keyid,keysecret,endpoint,bucketname,objectname,filepath
返回:0成功
参数类型说明
keyidstrOSS服务的keyid
keysecretstrOSS服务的keysecret
endpointstrOSS的区域节点,如’oss-cn-beijing.aliyuncs.com’
bucketNamestr对象存储OSS中Bucket列表名称,需事先创建
objectnamestr需要下载的文件名称
filepathstr下载完成后,文件存放的路径

总结

本节介绍了如何使用Haas506的高级组件库中的OSS模块,实现了本地录音、OSS上传文件功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值