完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
1个回答
|
|
基于Sipeed Maixduino 开发板 开发
因为对python熟悉,先由maixpy进行开发,在使用boss的固件系统开发。 硬件 型号:Maixduino 芯片:k210-AI模块 esr32-WiFi+蓝牙 模组: [tr]项目说明[/tr]
引脚参考 步骤1安装串口驱动 安装开发环境 相关需求网址 因为对python熟悉,所以安装MaixpyIDE 1、下载maixpy固件,选最新的完整版下载就好 如 maixpy_v0.5.0_34_ga1b47a3_with_lvgl.bin2、下载烧录软件kflash 3、下载IDEmaixpy,选最新的 也可以直接串口连接了写 MicroPython背景知识 MaixPy基于MicroPython开发构建的,而MicroPython是Python3的精炼版,语法一致,但只实现了Python的标准库 第一个程序:使用屏幕和摄像头 相关程序含义可调阅API手册 import sensor,lcd#导入内置sensor库和lcd库sensor.reset()#初始化摄像头,失败查看硬件sensor.set_pixformat(sensor.RGB565)#设置摄像头为RGB565格式sensor.set_framesize(sensor.QVGA)#分辨率为QVGA,即320×240sensor.run(1)#开始运行,在现在的版本中也可以不调用,在上面设置完成后,摄像头会自动开始运行sensor.skip_frames()#摄像头刚启动是,图像质量不稳定,所以跳过一些图像lcd.init(freq=15000000)#初始化LCD,这里传入一个参数freq频率,是指定驱动LCD的时钟频率,这里是15MHz,根据硬件性能调整while(True): lcd.display(sensor.snapshot())#从摄像头取一帧数据,返回一张图像的对象并显示到lcd 第二个程序:点亮LED aduino没有,感受程序对硬件的抽象操控 K210的引脚和片内外设功能(GPIO,I2C,SPI等)的绑定是任意映射,普通单片机是固定的,比如规定了I2C就只能用Pin9或Pin10这样。 from fpioa_manager import fmfm.register(28,fm.fpioa.GPIO0)#将28引脚映射为GPIO0功能#fm.unregister函数可解除绑定#注,Pin和外设只能唯一对应 #点亮LED红灯 from fpioa_manager import fmfrom Maix import GPIOio_led_r=13#将io_led_r赋13,即将Pin13/IO13脚取了个名字,13脚控制着LED红灯fm.register(io_led_r,fm.fpioa.GPIO0)#使用fm来注册芯片外设和引脚的对应关系led_r=GPIO(GPIO.GPIO0,GPIO.OUT)led_r.value(0)#设置高低电平输出,这里设置了低电平,原理图中说低电平导通,LED灯亮 注: GPIO和IO的区别: GPIO-通用输入和输出端口,可有变成状态决定其状态,MCU的IO 就是GPIO, IO-泛指所有类型的输入输出端口,包括单向的端口如逻辑门电路的输入输出管脚和双向的GPIO端口 存储系统介绍 maixpy的存储系统大致如下: Maipy中的存储介质主要由Flash,SD卡组成,分为三块区域,分别是Maixpy.bin固件区,xxx.kmodel 模型区,文件系统区:Flash上为spiffs,SD卡为Fatfs 1、MaixPy.bin固件区 用来存储MaixPy.bin固件,起始于0x000000,因为K210会从0x000000地址开始运行程序。 2、xxx.kmodel模型区 通常起始于0x300000,模型文件之所以不烧录在Flash文件系统,有以下原因: 1、Flash中文件系统拥有的内存并不够大,不足以放入大模型,更大的模型可以放入SD卡中 2、直接读取模型文件比经过文件系统读取速率更快 该区域没有文件系统管理,需要根据烧录时的起始地址操作文件,例如当模型烧录在0x500000时的读取方法: KpuTask=kpu.load(0x500000) 3、文件系统区 通常从0xD00000开始,该区域交由文件系统管理,Flash末尾的3M空间由spiffs管理,另外支持FAT32(Fatfs)的SD卡,这些文件系统提供接口使我们通过文件名便可以对文件进行读写操作,而不需要如模型区一样,使用文件起始地址操作,同时帮助我们有效管理存储介质。 4、MaixPy文件系统的使用 因为Flash和SD卡的文件系统不同,接口不一致,操作时需要调用不同的接口,使用MaixPy中的虚拟文件系统(VFS)可以解决,VFS可以挂载多个不同类型文件系统,并为用户操作提供统一接口。在uos模块中实现。 import uos#类似osprint("files:",uos.listdir("/flash"))with open("/flash/test.txt","w") as f: f.write("hello text")print("files:",uos.listdir("/flash"))with open("/flash/test.txt","r") as f: content=f.read()print("read:",content) spiffs文件系统会自动挂载在/flash目录,只需要访问/falsh目录即可 插上SD卡后,Fatfs自动挂载在/sd下,使用时需满足以下条件:
编辑 os.listdir()查看当前目录下文件 方法一:使用内置编辑器 Micropython Editor(pye) 使用串口工具连接下位机 Linux推荐minicom windows推荐xshell 这款编辑器要求将BackSpace改为DEL功能,否则BackSpace和Ctrl+H一样功能(字符替换) 方法二:使用MaixPy IDE 打开MaixPy IDE里的Tool菜单中的 发送文件 功能来发送文件,会保存到开发板并且文件名和电脑上文件名相同。 方法三:使用工具uPyLoader 读取到PC上编辑后在保存到开发板 https://github.com/BetaRavener/uPyLoader/releases 下载地址 选择串口并点击Connect来连接板子,第一次运行需要初始化,点击File-Init transfer files 来完成初始化,这会在板子里创建两文件,分别是__upload.py和__download.py,然后双击文件名即可打开文件并编辑,编辑完成点击save保存到开发板。 方法4:使用工具rshell读取到PC上编辑后再保存到开发板 https://github.com/dhylands/rshell 地址 sudo apt-get install python3-pipsudo pip3 install reshellreshell -p /dev/ttyUSB1 #根据实际情况选择串口 编辑文件 ls /flashedit /flash/boot.py#编辑器使用方法和vim一样 方法5:SD卡自动拷贝到Flash文件系统 将需要拷贝到Flash文件系统命名为cover.boot.py或cover.main.py,然后放再SD卡根目录,开发板断电插入SD卡,再上电,就会将其自动拷贝到/flash/boot.py或/flash/main.py。 执行 os.chdir()切换到当前目录到文件目录,如os.chdir("/flash") 方法一:import 执行 import hello 该方法只能被执行一次,且if __name__下的代码不会执行 方法二:exec() with open("hello.py") as f: exec(f.read()) 方法三:使用Maixpy IDE执行 连接串口,点击运行 这样和REPL(交互式编辑)类似,只是将程序发送到开发板,并没有保存到文件系统,是一次执行的 方法四:uPyLoader来执行 连接好后选中文件,点击excute按钮来执行文件 方法5:使用ampy来直接运行电脑上的文件 https://github.com/scientifichackers/ampy 地址 执行命令ampy run file_in_PC.py 来执行位于电脑上的文件(文件不会保存到开发板) MaixPy不支持挂载文件系统到电脑 |
|
|
|
只有小组成员才能发言,加入小组>>
2545 浏览 0 评论
1143浏览 2评论
743浏览 1评论
496浏览 0评论
261浏览 0评论
422浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 09:15 , Processed in 1.293990 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号