文章目录
本来参加智能物流机器人比赛是要用OpenMV的,但无奈于诸多因素只有K210可以使用,这也算是不幸中的万幸吧。这篇文章也作为我这一段时间的学习K210进行物体识别的复习与总结(因为种种原因,比赛也面临无法完成,大哭;人工智能小白一枚,欢迎各路大神指正,求轻喷)。
下面的是K210的官网网址:
https://wiki.sipeed.com/soft/maixpy/zh/index.html
提示:以下是本篇文章正文内容,下面案例可供参考
因为我用的是亚博智能的K210开发板套件,在亚博智能的官网上介绍这款开发板用CH340驱动就可以,因为我学过32单片机,这一部分就跳过了[手动狗头]。这下面是CH340的安装包:
https://api.dl.sipeed.com/fileList/MAIX/tools/ch340_ch341_driver/CH341SER.EXE
下面开始搭建开发环境的正式介绍:
正式使用 MaixPy 之前,我们需要先安装好串口驱动,才可进行下一步的开发与使用;因为板子是通过 USB 转串口设备与电脑连接。

因为不同开发板需要的驱动也不同,所以我将官网的网址放在了下面,大家可根据需要自行在官网准备的连接中下载:
https://wiki.sipeed.com/soft/maixpy/zh/get_started/env_install_driver.html
关于在这个环节会出现的问题,官网描述的很清晰也很全,我就不班门弄斧了。
kflash_gui 是跨平台的,可以在多个系统下工作(包括 Windows、Linux、MacOS、甚至树莓派)。在K210的使用过程中我们通过这个软件进行固件的下载。
将下载的压缩包解压到一个文件夹(这里不建议C盘,除非你想成为C盘狂战士,嘿嘿),用鼠标双击kflash_gui.exe(/kflsh_gui) 即可运行(我是右键,以管理员身份运行), Windows系统下建议右键固定到开始页面或者固定到任务栏,其他系统我没用过,请各位大佬在官网自行下载(网址我会放在本小段末尾)。
这是Windows系统下kflash_gui的安装包下载地址:
https://github.com/sipeed/kflash_gui/releases/download/v1.8.1/kflash_gui_v1.8.1_windows.7z
据官网描述kflash_gui也可以使用命令行版本下载,但我没试过。
pip3 install kflash
kflash --help
kflash -p /dev/ttyUSB0 -b 1500000 -B goE maixpy.bin
下面是该部分的官网网址:
https://wiki.sipeed.com/soft/maixpy/zh/get_started/upgrade_maixpy_firmware.html
官网发布版本的固件可以从 github页面下载,也可以在Sipeed官方下载站获取(在这两个平台上都是按照时间进行排序的,最新版看时间最近的就行,这里推荐从Sipeed官方下载站获取固件):
固件为 .bin 结尾或者 .kfpkg 的文件,.kfpkg其实就是多个.bin文件的打包版本, 可以使用kflash_gui打包。
https://dl.sipeed.com/MAIX/MaixPy/release/master/
下面这个是我比较推荐,也是我正在用的一个支持连接MaixPy IDE的MaixPy最小固件集合(但它不包含OpenMV的相关算法和各种外设模块):
在官方的介绍说明中也提到过,运行各种模型的时候建议使用这个。
下面是K210的固件命名说明:

下面是官网上的最新标准固件:
老样子,下面是官网网址:
https://wiki.sipeed.com/soft/maixpy/zh/get_started/upgrade_maixpy_firmware.html
首先打开 kflash_gui 应用,然后选择固件、设置选项, 点击下载即可, 更多特性介绍、使用说明见 官网中kflash_gui 项目主页。
使用时注意串口不能被其它软件占用,选择正确的开发板和串口号,可以适当降低波特率和使用低速模式来提高下载成功率。

对于最早期的 Maix Go, 如果确认选项是对的,仍然无法下载, 可以尝试将三相拨轮按键拨向 Down 的位置并保持再下载。
老样子,下面官网网址(嘿嘿):
https://wiki.sipeed.com/soft/maixpy/zh/get_started/upgrade_maixpy_firmware.html
烧录中出现的问题,还是老样子,官网描述的很清晰也很全,我就不班门弄斧了。
MaixPy 使用 Micropython 脚本语法,所以不像 C 语言 一样需要编译,其实不用 IDE 也能愉快使用: 使用串口终端工具,前面已经安装了
使用 IDE 则会方便在电脑上实时编辑脚本并上传到开发板以及直接在开发板上执行脚本,以及在电脑上实时查看摄像头图像、保存文件到开发板等。
要使用 MaixPy IDE , 固件必须是 v0.3.1 版本以上, 否则MaixPyIDE 上会连接不上, 使用前尽量检查固件版本和 IDE 版本,都更新到最新版以保障能正常使用。
Windows版MaixPy IDE安装包(Windows系统推荐这个,直接安装,简单方便,我用的也是这个),其它系统或者想使用7z压缩包进行安装的,可以在MaixPy IDE 安装网址上自行下载:https://dl.sipeed.com/MAIX/MaixPy/ide/安装方法可以在官网自行查看,我没用过也就不进行过多介绍了。
打开 MaixPy IDE, 上方工具栏里面选择开发板的型号(因为开发板不是它里面的,所以我是默认的第一个Sipeed Maix Dock;另外根据官网的说明 amigo,cube 开发板请选择 Maixduino 进行连接)。
Tool-> Select Board (工具->选择开发板)。
然后点击 connect 连接 MaixPy IDE。

连接成功之后,链接按钮会由绿变红。

连接按钮下方是运行按钮,会执行当前编辑区的py文件。

再次点击运行按钮(红色), 停止运行当前代码。
在 Tool/工具 菜单中可以选择发送文件。
对于运行过程中的注意事项和错误提示原因,官网描述的非常清晰也很全面,就不介绍了,使用过程中注意一下就可以。下面是该部分的官网网址:https://wiki.sipeed.com/soft/maixpy/zh/get_started/env_maixpyide.html
以上就是今天要讲的内容,本文仅仅简单介绍了K210开发环境搭建,在以后会慢慢的为大家介绍如何进行模型训练和如何与STM32进行串口通讯,本文作为我这一段时间的学习K210进行物体识别的复习与总结,希望给本文的读者带来一定帮助,这也是我的第一篇文章,里面存在的不足之处和错误也欢迎大佬们指出来,我一定及时改正。
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
在控制台中反复尝试之后,我想到了这种方法,可以按发生日期对类似activerecord的(Mongoid)对象进行分组。我不确定这是完成此任务的最佳方法,但它确实有效。有没有人有更好的建议,或者这是一个很好的方法?#eventsisanarrayofactiverecord-likeobjectsthatincludeatimeattributeevents.map{|event|#converteventsarrayintoanarrayofhasheswiththedayofthemonthandtheevent{:number=>event.time.day,:event=>ev
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack