5193| 8
|
Maixduino AI 开发板 众测来袭z |
Maixduino是一款基于Kendryte K210 RISC-V AI处理器、基于Arduino UNO形式并且板载ESP32 Wi-Fi 和蓝牙模块以及M1 AI模块的AI开发板。 外观上看,和Arduino的布局差不多,只是,正面再也看不到Arduino的管脚号,也没有了Arduino特征的望远镜+-标志了。 再翻面看看,是不是之前熟悉的管脚号出来了,依然支持PWM哦。只不过,我在接线的时候,总得需要翻到背面对管脚号,很不方便,但是相比较强大的AI功能,这就不值一提了吧。 在这里我们重新开始“接触”CPU了,想想也是,Intel从奔腾286开始到i7,都没有好好的让芯片来支持AI,所以,科技的发展是时代特征的体现,将K210整合到Arduino UNO,可是不用散热片和风扇的呢!丰富了UNO架构的功能,但是保留了UNO科学的设计。一代人工智能背景下,创新就是生产力,创意才是驱动力!信息化就这样越来越科学了。 拿到这块板子也是很巧,那天逛网,DF出来一个测试任务,MaixduinoAI开发板众测,我想着,应该可以做点什么出来,就写了一个开发计划,没想到过了几天,DFkiki联系我,入围了,真是很兴奋啊,毕竟在新一代人工智能大背景下,人工智能技术的学习已经迫在眉睫,而这些硬件就是非常好的学习载体,每一分每一秒的研究都在体验人工智能技术的点点滴滴。 一看到这块板子,以为和Arduino的架构差不多,就想直接点亮LED灯看看,通讯是否正常,打开Mixly,选择了UNO的库,拖出一个13号管脚为高的模块,上传,上传失败了,呵呵,翻资料,找度娘,都未果,连硬件编程都开始不了,这可怎么搞,没办法,微信上问Mixly的主创老大傅骞博士,给出一个重要信息,就是可以使用第三方的库来支持Maixduino AI开发板,终于在多方问询,不耻上问中,竟然在我所在的深圳柴火认证会员群中找到答案,可以使用艾乐特的Mixly版本库。搞创客的都很友好,乐于分享,汤老师做了一些简单的介绍,在交谈中,竟然还是在武汉读的大学,继续了解,竟然和高伟光老师是一个团队的!感叹一下,世界真小,但是如果没有分享的精神,就算是在一个城市,也不知道谁是谁哦,赞一个。 做好了硬件和开发软件的准备,评测终于可以开始了。将Maixduino AI开源板通过Type C接口插在电脑的USB接口上。再次打开Mixly,可以看到主板类型可以看到Maixduino AI的选项了,而且左边的模块栏可以看到摄像头、显示屏、物联网、人工智能、机器视觉等支持人工智能的编程指令,是不是很给力!!! 而插上Maixduino AI开源板后,非常有意思的是串口会出现两个串口号。我们要选择串口号小的那个进行程序上传,否则会报错。 实测中,就算在这个状态下,就算是连接到了电脑,软件上连接到Maixduino AI开源板,我们还需要一步操作才可以用Mixly进行Maixduino AI开源板编程,那就是要对Maixduino AI开源板刷固件,刷支持Mixly的固件,以便在Mixly的编程可以正常上传,否则会出现一系列错误: 刷固件是个很麻烦的过程,但是作为第一个吃螃蟹的人来说很麻烦,看了这篇文章后,其实就发现很简单了,因为我喜欢挑战各种问题然后再去求助,在这个过程中,你可以遇到数不清的问题,但是可以涉及数不清的新旧知识,实在是解决不了的时候,去求助,才发现其实离成功的距离很近或者很远了,但是这个距离要么是你探索方向正确的奖赏,要么是你打开新领域大门的钥匙,总之,你肯定是有收获的。 刷固件,要用到一个软件Kflash_gui,今天最新的版本是1.53,可以在这个网址下载,https://cn.dl.sipeed.com/MAIX/Maixduino/tools,最新的固件是红棉高老师发给我的,有朋友相助,的确进展飞快。 点击下载按钮,稍微花点时间,我们就可以看到下载成功的对话框弹出来,提示支持Mixly的固件已经烧录成功。 友情提示:在使用过程中,有串口通讯问题,上传问题,Maixduino AI开源板专门提供两个按钮可以进行恢复出厂设置,这样,让我们遇到“死机”、固件烧录失败等情况可以进行尝试,当然如果无法恢复出厂设置了,你就得返厂修了。 操作方法:轻按一下白色的RESET键,立刻按住白色BOOT键不放2秒,屏幕出现彩色画面,就说明恢复出厂成功。如果按白色RESET键和按住BOOT键之间的时间太长,就不是恢复出厂设置,主控板就识别为重启和启动两个操作,就是,你会看到屏幕没有变化。 先点亮一盏灯吧?开源板最大的特点就是通过高低电平来控制管脚,如果可以让LED灯亮起来,至少说明编程软件和硬件的连接通讯是正常的。我们先从输入输出模块中找到数字输出D2为高积木指令块,上传后,惊奇地发现,LED灯竟然没有亮,打开代码区,才发现,这个版本的编程指令基于MicroPython,和之前的基于ArduinoIDE的指令有区别。 单单这个积木指令块无法驱动LED灯亮起来,需要先初始化管脚输入输出。 上传程序,LED灯亮起来了,说明我们现在的软硬件编程环境已经搭建起来,接下来我们可以进一步进行舵机的角度控制。在智能智造活动中,舵机明显比电机的使用频率要高,角度的控制使用至关重要。 在Mixly中,舵机指令积木模块带有时钟定时器,我们就需要专门为时钟进行初始化,才能正常控制舵机在Maixduino AI开源板上的运用,这和ArduinoUNO开源板编程的区别是比较大的。 继续继续,我们可以将摄像头和显示屏连接在Maixduino AI开源板,现在应该是本次评测的重点。我的天啊,现在才到重点,前面说了多少废话啊,呵呵,是的,废话也是有废话的道理的,不是有句话:存在即合理!再提意见废话更多:) 这里评测用的是荔枝派显示模块2.8寸屏,和ZV-T01-GA4.2摄像头。 这样,我们就可以将摄像头的图像呈现在LCD屏幕上了,这是实现后续功能最重要的一个步骤。 我们可以利用现在的搭建环境来完成一个颜色识别的实验。主要思路就是摄像头获取对象颜色特征后,我们在LCD屏上划出一个指定区域进行颜色采集,采集的颜色通过程序编写呈现出LBA数值和颜色色块,直观显示采集结果。 首先,我们将摄像头获取的图像数据放在一个变量img中,可以方便我们在后面直接调用这个数据。 接下来,我们要获取的图像上绘制一个矩形,我们要识别的颜色就从这个矩形中获取,因为在使用的摄像头的分辨率为320*340,我们将矩形的大小就设定为50*50,这样在识别颜色时会精准一些。在这里我们使用了机器视觉模块中了的绘制积木指令块。 已经确定了要识别的区域,我们可以使用机器视觉模块中的颜色识别模块来识别这个50*50的区域,并且将这个识别结果放在一个变量color中。 人工智能在这个阶段就开始发挥巨大的作用,我们可以使用视觉识别模块下颜色识别中的颜色解析积木指令块对放进变量color中的颜色数据进行Lab解析。 *********************************** Lab是指颜色模型,在这个颜色模型中,取坐标Lab,其中L亮度;a的正数代表红色,负端代表绿色;b的正数代表黄色, 负端代表蓝色。 ************************************ 因为Lab颜色模型是亮度和两种颜色的混合的数据结果,我们可以通过新建一个3个值的列表来映射、转换、装载识别结果。 将50*50方框中的颜色值解析为列表中的三个颜色值,我们就可以解析的数据重新合成、运用,我们可以通过绘制文本指令积木块将解析的数字呈现在屏幕的指定位置。 LCD屏幕上显示Lab的三个数值 我们可以通过LCD显示图像指令积木块,显示程序中被赋予给变量img的全部内容,包括摄像头图像、50*50采集方框区域、解析出的Lab数值、合成的数字颜色块等等。 完整程序如下: 最后的结果就是可以通过摄像头抓取任意区域的颜色呈现在LCD屏幕上,而这个获取的数据可以运用在相关领域,而绘制矩形和数据可视化文本呈现可以用于机器人视觉精准颜色识别、物品分类、机器人循迹等领域,本次测评遭遇很多奇奇怪怪的问题,基本上都是因为对这个开源主控板的性能的不熟悉造成的,在后面进一步对于物联网的运用,人工智能更多模块的了解,相信谁来越来熟练,也可以将这款产品运用于更多更好的智能产品设计中。 欢迎更多志同道合的朋友参与进来,再次感谢高老师和汤老师无私分享,让我能够顺利完成本测评文字。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed