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/idehttp://dl.sipeed.com/MAIX/MaixPy ... e-windows-0.2.4.exe

(4)使用串口工具
a、puttyhttps://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
b、xshellhttps://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_【雕爷学编程】MicroPython动手做(03)——零基础学MaixPy之开机测试...相关推荐

  1. 零基础学编程树莓派和python pdf_零基础学编程:树莓派和Python

    章编程基础知识和环境准备 1.1零基础的小白能学会编程吗 1.1.1为什么要学编程 1.1.2兴趣是好的老师 1.1.3为什么零基础的自学编程者,大多半途而废 1.1.4有趣好玩很重要 1.1.5家长 ...

  2. 零基础学java web开发_从零基础学Java成为一个专业的java web 开发者

    原标题:从零基础学Java成为一个专业的java web 开发者 "我怎么才能成为一个Java Web开发者?"对于这个问题,答案其实并不简单.成为一个Java Web开发人员包括 ...

  3. 零基础学python全彩版实战答案-零基础学Python(全彩版)

    商品描述: 本店出售的图书均是正版二手书,有一些笔记划线,基本是六-九品新左右,基本都没有光盘.介意者请提前咨询客服.本店所有书籍,因买家导致退货退款的,发出运费参照不包邮运费模板由买家承担.如果签收 ...

  4. 学编程有什么用?零基础小白可以学吗?

    编程到底是什么?学了有什么用?什么人可以去学习?今天的文章就带你解答这些疑惑!咱们通过四个知识点来一一解惑. 1.学编程不代表是程序员 2.编程和说话一样,很简单 3.程序员的前途 4.编程的应用 1 ...

  5. 零基础学python用哪本书好-零基础学python推荐几本python学习的书籍

    <Python基础教程 第3版>,作者:[挪]Magnus Lie Hetland,译者:袁国忠 这本书专门针对Python 3进行讲解,包括了Python程序设计的方方面面:从列表.元组 ...

  6. 【CMS建站】写给大家看的网站制作教程03—零基础学网站制作的简单入门指南...

    作者 | 杨小爱 来源 | web前端开发(ID:web_qdkf) 在上一篇<[CMS建站]写给大家看的网站制作教程02-网站制作的工具介绍与下载安装>文章中,我详细的讲解了关于制作一个 ...

  7. python识别魔方色块_【雕爷学编程】MicroPython动手做(08)——零基础学MaixPy之识别颜色...

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

  8. 浙江理工大学c语言作业网站,浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解...

    浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解 OJ地址:http://47.96.116.66/index.php 标程/题解GitHub:https://github.com ...

  9. 没有c语言基础可以学python吗-零基础学Python之前需要学c语言吗

    Python本身是比较适合作为入门编程语言来学习的,一方面Python的语法结构比较简单清晰,实验也相对比较容易完成,这会逐渐增强初学者的学习信心,另一方面Python属于全场景编程语言,未来在很多领 ...

  10. 零基础学python还是c语言-零基础学Python之前需要学c语言吗

    Python本身是比较适合作为入门编程语言来学习的,一方面Python的语法结构比较简单清晰,实验也相对比较容易完成,这会逐渐增强初学者的学习信心,另一方面Python属于全场景编程语言,未来在很多领 ...

最新文章

  1. Linux之make 、makefile的使用方法
  2. 射频宽带低噪放大器测试
  3. 在AD没有备份的情况下还原被删除的数据
  4. Optimized Purchasing基础知识
  5. 如何在VMware Player中设置和安装Windows Home Server“ Vail”
  6. wsadata wsadata;为什么不通过_注册公司之公司名称核准,知道为什么你的核名一直不通过吗?...
  7. php中 怎么去除,php如何去掉链接
  8. c语言生成一个大素数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
  9. IntelliJ IDEA 开发swing(一)
  10. 遗传算法c语言 x^2,c语言遗传算法 解决 y=x2问题
  11. 014吸管工具,颜色取样器工具,标尺工具和注释工具
  12. 常用iOS开发网站资源
  13. 酷奇单车退押金需拨打专线;央行银监会召开网贷整顿会议;Uber隐瞒数据泄露事件丨价值早报
  14. OEM、ODM、OBM分别是什么?
  15. 乐高收割机器人_乐高机器人这个大坑,为啥大家都拽着孩子往里跳?
  16. 车载之ECU、VCU、MCU、HCU
  17. 电影推广思路详解,最权威的电影推广方案
  18. Halium 9 尝鲜 -- 在小米平板4上的移植 (一)
  19. 腾讯云运维工程师认证模拟题
  20. [S]O-10-2 青蛙跳台阶问题

热门文章

  1. SIGIR2020 | 基于GCN的鲁棒推荐系统研究
  2. 解决Dev c++不能调试问题
  3. 腾讯广告算法大赛 | 这是一篇雪中送炭的赛题宝典
  4. linux aio拷贝文件,Linux通过AIO进行异步读文件
  5. 工程数学(数值分析)第一讲:误差
  6. ROS入门-7.创建工作空间与功能包
  7. 吴恩达|机器学习作业6.1.SVM建立垃圾邮件分类器
  8. BSN: Boundary-Sensitive Network for Temporal Action Proposal Generation
  9. 机器学习第二回——多变量线性回归
  10. sitemap.xml生成方法(asp和php)(转)