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的由来。

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更强大、更容易编程的开发系统平台。

(2)MaixPy是将MicroPhon 移植到K210芯片的一个项目,支持MCU(比如这里做实验的Maixduino开发板)的常规操作,集成了机器视觉和麦克风等系列,是可以快速开发,成本极低,体积实用的AIOT(人工智能+物联网)领域智能应用优化平台,相关源代码在github。Maixpy 的目的是让 AIOT 编程更简单, 基于 Micropython 语法,运行在一款有着便宜价格的高性能芯片 K210 上。

(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算力,能耗比优异。

2、实验硬件
Sipeed k210 RISC-V AI+lOT ESP32视觉听觉开发套装:
(1)Maixduino AI开发板——K210芯片,RISC-V 双核64bit、内置FPU、400Mhz标准频率(可超频),内置ESP32模块,支持2.4G 802.11.b/g/n,Bluetooth v4.2全规格,低功耗蓝牙(BLE),MEMS 麦克风、3W扬声器输出
(2)OV2640摄像头——200W像素通用24P摄像头
(3)2.4寸LCD显示屏——ST7789驱动器芯片(24P 320X240)

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 ... e-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)具体见Sipeed 官方论坛
https://cn.bbs.sipeed.com/d/161-maixduino9-maixpy-idemicropython

(6)官方提供的MaixPy IDE标准界面

5、打开IDE,选择开发板,确定连接电脑串口(不同电脑串口号并不相同)

检查固件版本(这里烧录的是v0.5.0_31)
使用串口终端(比如putty)打开串口

然后复位,看输出的版本信息,与github 或者 master 分支 的固件版本对比,根据当前版本情况考虑升级到最新版本。

也可在MaixPy IDE上运行下面的代码查看版本

import sys
sys.implementation.version

6、测试运行,hello world!

【雕爷学编程】MicroPython动手做(03)——零基础学MaixPy之开机测试的更多相关文章

  1. 【雕爷学编程】MicroPython动手做(06)——零基础学MaixPy之单目摄像头

    配套 OV2640摄像头:200W像素通用24P摄像头具有200万像素(1632x1232像素),其体积小.工作电压低,提供单片UXGA摄像和影像处理器的所有功能.通过SCCB总线控制,可以输出整帧. ...

  2. 【雕爷学编程】MicroPython动手做(04)——零基础学MaixPy之尝试运行

    1.hello micropython #MicroPython动手做(04)——零基础学MaixPy之基本示例 #程序之一:hello micropython #MicroPython动手做(04) ...

  3. 【雕爷学编程】MicroPython动手做(07)——零基础学MaixPy之机器视觉

    机器视觉 machine vision机器视觉是人工智能正在快速发展的一个分支.机器视觉作为生产过程中关键技术之一,在机器或者生产线上,机器视觉可以检测产品质量以便将不合格的产品剔除,或者指导机器人完 ...

  4. 【雕爷学编程】MicroPython动手做(05)——零基础学MaixPy之LCD液晶屏

    配套 2.4寸LCD屏 ST7789驱动器芯片(24P 320X240) ST7789驱动器芯片2.4寸LCD屏(24P 320X240)主要参数 1. 模块名称:液晶显示模块2. 型号:KD024C ...

  5. 【雕爷学编程】MicroPython动手做(08)——零基础学MaixPy之识别颜色

    早上用百度搜了一下“颜色识别”,多少有了一点大致的概念,还是老办法,动手做,多实验,往前走,还请各位老师多多指点. OpenCV(百度百科)是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运 ...

  6. 小甲鱼零基础学python第25讲课后习题动手练习--通讯录

    小甲鱼零基础学python第25讲课后习题动手练习---通讯录 **************************通讯录要求******************************* 输入指令: ...

  7. 《Windows编程零基础学》第零节

    首先很开心申请到了这一个专栏<Windows编程零基础学> 这是第一篇文章,在这里,我将讲述一些基础的知识. 什么是Windows编程 所谓Windows编程就是在Windows平台上开发 ...

  8. [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念

    上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...

  9. [Python] 文科生零基础学编程系列三——数据运算符的基本类别

    上一篇:[Python] 文科生零基础学编程系列二--数据类型.变量.常量的基础概念 下一篇: ※ 程序的执行过程,就是对数据进行运算的过程. 不同的数据类型,可以进行不同的运算, 按照数据运算类型的 ...

  10. 《零基础学HTML5+CSS3(全彩版)》读书笔记

    2019年1月31日星期四 1点 <零基础学HTML5+CSS3(全彩版)>开始全面学习 前提: 11月20日开始学Python,可能因为太累了,也可能遇到了瓶颈,进入了一个迷茫期,1月6 ...

随机推荐

  1. How to check if directory exist using C++ and winAPI

    如果看文件夹是否存在,必须看返回值是不是 INVALID_FILE_ATTRIBUTES #include <windows.h> #include <string> bool ...

  2. MAC攻击及缺陷

    MAC攻击及缺陷 MAC有好几种实现方式 对MAC的攻击 重放攻击 重放攻击的防护 密钥推测攻击 MAC算法的缺陷 第三方证明 防止否认 前面我们在讲HMAC的时候简单讲过了什么是MAC消息认证码. ...

  3. Spring Cloud sleuth with zipkin over RabbitMQ教程

    文章目录 Spring Cloud sleuth with zipkin over RabbitMQ demo zipkin server的搭建(基于mysql和rabbitMQ) 客户端环境的依赖 ...

  4. mysql备份及恢复

    第四章:MySQL数据库的备份与恢复                            2016-09-30 00:58:05 标签:数据库备份 工作原理 数据库表 mysql source 原创 ...

  5. Week-1 linux命令行重点整理

    ①仅对当前用户: ~/.bashrc ②对所有用户有效: /etc/bashrc screen命令:创建新screen会话screen –S [SESSION]加入screen会话screen –x ...

  6. 解决 Retrofit 多 BaseUrl 及运行时动态改变 BaseUrl ?

    原文地址: juejin.im/post/597856- 解决Retrofit多BaseUrl及运行时动态改变BaseUrl(一) 解决Retrofit多BaseUrl及运行时动态改变BaseUrl( ...

  7. Radware:上周五美国大规模DDoS攻击是如何发生的

    10月21日上午,Dyn遭受到拒绝服务(DoS)攻击,造成了托管DNS网络的中断.成千上万的网站因此变得不可访问,其中包括Amazon EC2.当天晚些时候,当攻击者发起第二轮针对Dyn DNS系统的 ...

  8. memcached 原子性操作 CAS模式

    2019独角兽企业重金招聘Python工程师标准>>> 应用场景分析: 如原来MEMCACHED中的KES的内容为A,客户端C1和客户端C2都把A取了出来,C1往准备往其中加B,C2 ...

  9. 数学--数论--HDU 5382 GCD?LCM?(详细推导,不懂打我)

    Describtion First we define: (1) lcm(a,b), the least common multiple of two integers a and b, is the ...

  10. P5522 [yLOI2019] 棠梨煎雪

    updata on 2020.3.19 今天把博客从洛谷往博客园搬,图炸了 其实早就发现了,懒得管 那图其实就是一个用dev自带的调试功能调试时,RE了的报错 当时觉得很奇怪看不出是啥,现在再看已经觉 ...