1、几个知识点
(1)MicroPython
是 Python 3 语言的精简高效实现 ,包括Python标准库的一小部分,并针对嵌入式微控制器(单片机)和受限制的环境进行了优化,它是Python延伸出来的一个落地产物。MicroPython是运行在微控制器硬件之上的完全的Python编译器和运行时系统,它提供给用户一个交互式提示符(REPL)来立即执行所支持的命令。除了包括选定的核心Python库,MicroPython还包括了给予编程者访问低层硬件的模块。
Micropython的由来,这得益于Damien George(乔治.达明)这位伟大的计算机工程师,Damien George每天都会使用Python工作,他有一天冒出一个大胆的想法:能否用Python来控制单片机,从而实现对机器人的操作呢?
Python语言本身就是一款简单上手的高级脚本语言,主要特点是具有简洁性、易读性以及可扩展性。Python的设计哲学是“优雅”、“明确”、“简单”,倡导“用一种方法,最好是只有一种方法来做一件事”,一些非计算机专业的爱好者都选Python语言作为入门语言。但是美中不足,它不能实现对一些底层的操作,在硬件领域毫不起眼。所以,Damien George利用6个月时间打造了MicroPython,这就是MicroPyhton的由来。
此内容由EEWORLD论坛网友eagler8原创,如需转载或用于商业用途需征得作者同意并注明出处
MicroPython它基于ANSIC,语法跟Python3基本一致(采用一部分),遵循MIT许可协议,与风靡全球的Arduino类似,拥有自己的解析器、编译器、虚拟机和类库等,相对而言MicroPython更强大。目前它支持基于32-bit的ARM处理器,比如STM32F405、STM32f407,Esp8266和Esp32等,也就是说ARM处理器STM32F405上直接可运行Python语言,用Python语言来控制单片机。在单片机上能运行Python,实际上Python已经完全脱离系统,也就是说,你可以通过Python脚本语言开发单片机程序。MicroPython旨在尽可能与普通Python兼容,让您轻松将代码从桌面传输到微控制器或嵌入式系统中。
McrioPython的优势是什么?
在MicroPython出世之前,单片机嵌入式大部分都是用C/C++语言开发的,还要了解各种寄存器知识。拿STM32来说,控制一个引脚,光定义就一堆,刚入门的新手用起来头大。MicroPython它干了啥事呢?它就是把那些C语言封装起来了,让用户可以用Python的语法去调用,这样会让之前从事Python开发工作的人快速进行单片机,同时也方便刚入门的新手学习,毕竟掌握Python比掌握C语言来的更简单和快捷。
目前AI人工智能是当下社会发展的主流,MicroPython的出现是一个时机,让很多像我这样的零基础的初学者,也有可以能自己做智能小车,或者尝试简单机器人,学习智能硬件,它比C语言学习更简单,更适合加入人工智能教育,人人都可以学编程,写程序,由此可以看出MicroPython未来市场前景是非常大的,是比Arduino更强大、更容易编程的开发系统平台。
(3)K210芯片
勘智K210这款芯片由著名的矿机公司嘉楠科技基于RISC-V架构进行研发设计,可根据业务场景需求扩展基础指令,具备较强的可编程能力。同时,勘智K210具备机器听觉与机器视觉两种能力,可以灵活适配人脸识别、目标检测、语音唤醒及识别等场景,是国内ASIC领域为数不多保持一定通用性的芯片。作为嘉楠科技自主研发的边缘侧AI芯片,勘智K210兼具高能耗比和灵活性。
在算力方面,勘智K210可在0.3W的条件下提供1TOP的算力支持,充分适配在多数业务场景中低功耗约束下的算力需求。在芯片集成度方面,勘智K210采用视听一体化设计。在机器视觉上,芯片基于自主研发的神经网络加速器KPU,可完成基于神经网络的图像分类任务,进行人脸识别与检测,以及实时获被检测目标的分类。在听觉能力上,芯片自带APU语音处理单元,最高可支持8路音频数据及16个方向,无需占用CPU即可实现声源定向、声场成像、波束形成、语音识别与唤醒等功能。
在算法定制化方面,勘智K210在可编程能力上呈现出更高的灵活性。首先,相比ARM等架构,勘智K210采用RISC-V架构,拥有更强的可定制化能力,便于开发者根据具体应用场景定制算法。其次,芯片搭载FPIOA现场可编程IO阵列,支持TensorFlow、Keras、Darknet、Paddle和Caffe等主流AI编程框架,以及全面的开发文档,对开发者十分友好。
此外,芯片内置64位双核处理器架构,分为计算核与应用核,能够为开发者提供足以应对复杂业务场景的计算资源。勘智K210可在仅为0.3W的功耗约束下提供1TOPS算力,能耗比优异。
3、连接电脑
Maixduino开发板使用了 CH552 芯片来实现 USB 转串口功能,没有 JTAG 模拟功能, Windows 需要安装 FT2232 的驱动,请自行搜索 FT2232 驱动 下载安装。
正常情况下,win10 ,linux3.0+ ,mac os都可以自动识别并安装串口驱动。如果遇到驱动失败,可以去 FTDI 官网下载对应的 VCP 驱动程序。https://www.ftdichip.com/Drivers/VCP.htm
win驱动下载地址:http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip
如果到驱动安装不正确,请彻底卸载原驱动,下载官方驱动,切断网络并安装驱动即可解决问题。
4、软件准备(配置IDE开发环境)
(1)下载官方开发板固件(这里选择了v0.5.0_31版本)
https://dl.sipeed.com/MAIX/MaixPy/release/master/
(2)下载烧录软件kflash_gui 应用,直接下载GitHub项目工程,下载完成点击“kflash_gui.exe”文件安装。运行并烧录固件。
https://github.com/sipeed/kflash_gui/releases
(3)下载并安装MaixPy IDE,MaixPy 使用Micropython 脚本语法,所以不像 C语言 一样需要编译,要使用MaixPy IDE , 开发板固件必须是V0.3.1 版本以上, 否则MaixPy IDE上会连接不上。
https://cn.dl.sipeed.com/MAIX/MaixPy/ide
http://dl.sipeed.com/MAIX/MaixPy/ide/_/v0.2.4/maixpy-ide-windows-0.2.4.exe
(4)使用串口工具
a、putty
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
b、xshell
https://xshell.en.softonic.com/download
(5)具体见《MicroPython动手做(02)——尝试搭建K210开发板的IDE环境》
https://bbs.eeworld.com.cn/thread-1115831-1-1.html
(6)官方提供的MaixPy IDE标准界面
本帖最后由 eagler8 于 2020-4-2 07:34 编辑
引用: freebsder 发表于 2020-4-2 16:19 好,支持一个。有机会玩玩
谢谢鼓励哦
目录清单
MicroPython动手做(01)——春节后入手了一块K210芯片AI开发板
https://bbs.eeworld.com.cn/thread-1115786-1-1.html
MicroPython动手做(02)——尝试搭建K210开发板的IDE环境
https://bbs.eeworld.com.cn/thread-1115831-1-1.html
MicroPython动手做(03)——零基础学MaixPy之开机运行
https://bbs.eeworld.com.cn/thread-1116184-1-1.html
MicroPython动手做(04)——零基础学MaixPy之基本示例
https://bbs.eeworld.com.cn/thread-1116438-1-1.html
MicroPython动手做(05)——零基础学MaixPy之LCD液晶屏
https://bbs.eeworld.com.cn/thread-1116577-1-1.html
MicroPython动手做(06)——零基础学MaixPy之单目摄像头
https://bbs.eeworld.com.cn/thread-1116591-1-1.html
MicroPython动手做(07)——零基础学MaixPy之机器视觉
https://bbs.eeworld.com.cn/thread-1116617-1-1.html
MicroPython动手做(08)——零基础学MaixPy之识别颜色
https://bbs.eeworld.com.cn/thread-1116662-1-1.html
MicroPython动手做(09)——零基础学MaixPy之人脸识别
https://bbs.eeworld.com.cn/thread-1116720-1-1.html
MicroPython动手做(10)——零基础学MaixPy之神经网络KPU
https://bbs.eeworld.com.cn/thread-1116925-1-1.html
MicroPython动手做(11)——搭建掌控板IDE环境
https://bbs.eeworld.com.cn/thread-1117964-1-1.html
MicroPython动手做(12)——掌控板之Hello World
https://bbs.eeworld.com.cn/thread-1118180-1-1.html
MicroPython动手做(13)——掌控板之RGB三色灯
https://bbs.eeworld.com.cn/thread-1118275-1-1.html
MicroPython动手做(14)——掌控板之OLED屏幕
https://bbs.eeworld.com.cn/thread-1118389-1-1.html
MicroPython动手做(15)——掌控板之AB按键
https://bbs.eeworld.com.cn/thread-1118496-1-1.html
MicroPython动手做(16)——掌控板之图片图像显示
https://bbs.eeworld.com.cn/thread-1118945-1-1.html
MicroPython动手做(17)——掌控板之触摸引脚
https://bbs.eeworld.com.cn/thread-1119462-1-1.html
MicroPython动手做(18)——掌控板之声光传感器
https://bbs.eeworld.com.cn/thread-1119583-1-1.html
MicroPython动手做(19)——掌控板之蜂鸣器与音乐
https://bbs.eeworld.com.cn/thread-1119668-1-1.html
MicroPython动手做(20)——掌控板之三轴加速度
https://bbs.eeworld.com.cn/thread-1119998-1-1.html
MicroPython动手做(21)——掌控板之磁场传感器
https://bbs.eeworld.com.cn/thread-1120188-1-1.html
MicroPython动手做(22)——掌控板之无线广播
https://bbs.eeworld.com.cn/thread-1120835-1-1.html
MicroPython动手做(23)——掌控板之WiFi与蓝牙
https://bbs.eeworld.com.cn/thread-1120934-1-1.html
MicroPython动手做(24)——掌控板之拓展掌控宝
https://bbs.eeworld.com.cn/thread-1121208-1-1.html
MicroPython动手做(25)——语音合成与语音识别
https://bbs.eeworld.com.cn/thread-1123752-1-1.html