我最近写了很多microPython的程序,越写越回不到写C的日子。你说在这个背后是如何实现这一切的?为什么在烧录一个几百kb的bin文件之后就会获得这些魔法效果?...我可不可以把这种魔法效果移植到别处呢?我找了很久,零零碎碎的,而且大多数文章都是适可而止,让我很难受。。。我想所有的一切都可以在源码中获得。...我们将会在这个过程中学到什么: 交叉编译技术 环境搭建技术 c模块编写 py接口编写 代码组织 内在原理 驱动移植 待续 ? 这里 mpy最早是在stm32上面实现的,后面是移植到各种的平台上面。...我这次的硬件想使用ESP32,说说一些我的取舍,首先是资料丰富,各种层次的资料都比较齐全,而且是官方是比较积极的在更新。...整个过程是阅读为主,所以需要一款文本阅读器。要求首先是要可以搜索,然后就是最好可以把里面的函数对象和宏定义的对象显示出来。我这里先使用VSCode来读,当不满足需求的时候来搭配其它的软件读取。 ?
SAST - 一种对源代码分析或构建过程中去寻找安全漏洞的工具,是一种在软件开发的生命周期(SDLC)中确保安全的重要步骤。...如果你希望指定不同的配置文件名,你可以在 polaris 命令中使用 -c 选项。 在项目根目录运行 polaris setup 以生成通用的 polaris.yml 文件。...运行 polaris configure 以确认你的文件在语法上是正确的并且 polaris 没有任何问题。...Capture - 捕获 YAML 配置文件可以包含三种类型的 Capture: Build(构建) - 运行构建命令,然后分析结果 Filesystem(文件系统) - 对于解释型语言,提供项目类型和要分析的扩展列表...name: ${scm.git.commit} date: ${scm.git.commit.date} capture: build: buildCommands: # 如果构建过程很复杂
或者,某些或所有模块可实现为冻结字节码:在大多数平台上,这样可以节省更多的RAM,因为字节码直接从闪存运行而没有存储在RAM中的。...垃圾回收”(GC)的进程回收该内存,并将其返回到空闲堆。这个过程自动进行,但可通过发出 gc.collect() 来直接调用。...Micropython技术是依赖Byte Code的执行,在编译阶段就将py文件先转换成mpy文件,在通过mpy-tool.py生成Byte Code,Byte Code在执行时会依赖Virtual...MicroPython通过哈希值和长度进行字符串比较从而尽可能地保证性能。 qstrdefs.generated.h主要在qstr.h和qstr.c中被include。...ports/esp8266/——运行在Espressif的esp8266 SoC上的MicroPython版本。 ——在32个微端口上运行的python/Espressif版本。
在本教程中,您将学习: 什么是嵌入式开发以及为什么要使用 Python 来完成它 在嵌入式系统上运行 Python 的硬件和软件选项是什么 当Python的是一个非常适合嵌入式系统时,它的不 如何使用MicroPython...如果他们在指令前加上“西蒙说”,那么小组就必须这样做。如果他们在没有先说“西蒙说”的情况下给出指令,则该小组必须忽略该指令。为了让我们的游戏更简单,我们将只专注于提供指令的部分。...MicroPython 文档:micro:bit 上 Python 的高度可读文档 在 BBC micro:bit 上构建贪吃蛇游戏:更复杂游戏的教程,带您慢慢完成整个过程 Micro:bit 教育基金会最近发布了...标记为 MicroPython 的 Hackaday 项目:该站点提供了人们构建的项目的文章,可以给您一些灵感!...在本教程中,您学习了: 什么是嵌入式开发以及为什么要使用 Python 来完成它 嵌入式系统编程和通用计算机有什么区别 哪些选项可用于为嵌入式系统编写Python代码 如何使用MicroPython在
help('modules') 你可以使用help查看模块的帮助 在正式的说库之前,需要插一下下面这个东西: https://github.com/micropython/micropython-lib...这个库里面放着这些东西 MicroPython 特定的库 ============================== 这些是专门为在 MicroPython 上使用而编写的库。...在某些情况下,这些库的灵感来自或基于等效的 CPython 标准库,但兼容性各不相同。这些库通常以“u”前缀命名。 其他库是专门为 MicroPython 用例编写的。...但是看完再ffi的unix目录里面,这个结果不稀奇 因为unix哲学就是万物皆文件 这是时间库,我其实觉得这个源码可能不是我看的 因为文档里面的方法在这里面都没有体现 https://github.com...编码过程将 24 位的输入位组表示为输出4 个编码字符的字符串。从左到右,a24 位输入组由 3 个 8 位输入组串联而成。
开发环境搭建 我本身是一名java程序员,对于面向对象编程是信手拈来,所以针对ESP32编程,我选择的是MicroPython。...安装ESP32驱动,驱动会在文末提供 安装Thonny IDE MicroPython 固件烧录到 ESP32 单片机 编写代码运行程序 过程还是比较简单的,初期建议大家跟着教程做就是了,不要问为什么,...安装 ssd1306 模块: 在 REPL 中执行以下命令下载并安装 ssd1306 模块: import upip upip.install('micropython-ssd1306') 使用此命令需要...安装 ssd1306 模块: 在 REPL 中执行以下命令下载并安装 ssd1306 模块: python复制代码import upip upip.install('micropython-ssd1306...我也是刚刚接触物联网开发,文中有不正确的地方欢迎指正。 请关注我的公众号,回复ESP32获取本文中提到的所有代码和工具。期待你的留言与互动! 最后祝大家端午安康。
使用Makefile构建Docker 刚开始学习docker命令的时候,很喜欢一个字一个字敲,因为这样会记住命令。后来熟悉了之后,每次想要做一些操作的时候就不得不 重复的输入以前的命令。...GNU(GNU's Not Unix)是一个类Unix系统, 目标是创建一套完全自由的操作系统。在Linux出现之前,GNU已经完成了除了内核之外大部分的软件。...防止target和文件名一样 当我们设置的target和当前目录下的文件名一样的话,target会被忽略,所以,通常,我们把target都用做phony target。...Docker构建用的指令 我常用的Makefile如下 NAME = ryan/airflow VERSION = 1.10.4 .PHONY: build start push build: build-version...make build 构建完毕,运行一下镜像,看看内容是否正确 make start 最后推送到docker仓库 make push 参考 Make命令教程 GNU、Linux和GNU/Linux之间的关系
为什么要学习Makefile? Linux环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是Unix程序员。...在Linux(unix)环境下使用GNU的make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。...最好不要用“GNUmakefile”,是GNU的make识别的。...(这有点像一个堆栈的过程) 当然,你的C文件和H文件是存在的啦,于是make会生成.o文件,然后再用.o文件生 成make的终极任务,也就是执行文件main了。...在执行过程中,如果出现错误,比如被依赖的文件找不到,那么make就会直接退出,并报错,而对于所 定义的命令的错误,或是编译不成功,make根本不理。make只管文件的依赖性。
我这本身是做嵌入式的,听说有个叫MicroPython的,能直接运行在单片机上,这让我很感兴趣。...本身它是开源的,项目位于https://github.com/espressif/esptool 安装方式,我这里采用的是:pip install esptool 备注:esptool本身基于Python...的,所以在安装前,你的电脑上需要先安装Python,这里不再描述,不会的自行百度即可,我电脑上装的Python 2.7。...第3步,在Windows DOS窗口下执行下述指令 esptool.py --port COM3 erase_flash 实现ESP32 Flash全部擦除的功能。...上述下载固件的过程需要经历一段时间 ?
板子申请了也有一段时间了,也快到评测截止时间了,想着做点有意思的东西,正好前一段时间看到过可以在MCU上移植MicroPython的示例,就自己尝试一下,记录移植过程。...MicroPython是什么 ? 程序猿中有句俗语: 人生苦短,我用Python。 Python的强大和易用性让它不仅可以写网站,编程序,在嵌入式领域也有一席之地。...正好MicroPython支持本次申请的Nucleo-F411RE开发板,就试着把刷成MicroPython的固件,尝试一下使用Python来开发STM32,具体移植过程。...打开DfuSeDemo软件,选择已经下载的固件:NUCLEO_F411RE-20190604-v1.11-25-gce8262a16.dfu ? 点击Upgrade升级,在弹出的界面,点击“是”。...,会在电脑上显示一个PYBFLASH的盘符,但是我这次移植并没有出现,不知道是什么问题。
下面我将为大家介绍如何在最新版本的 Ubuntu下(14.10)来安装、编译Objective-C。...C11标准中才引入的Unicode前缀字面量表达式——u'加',表示一个UTF-16字符,因此我们在GNUmakefile中也加入了-std=gnu11这个编译选项来使得编译器使用最新的C11标准与GNU...工程即构建完成。...,我这里的做法是将汇编文件单独编译成.o目标文件,然后再跟其它makefile编译好的目标文件进行连接。...,这样方便汇编过程的实现。
文章,教程和讲座 MicroPython 为我的房屋供暖 链接: https://www.youtube.com/watch?...v=P5nOGKVLIYo 2018年,我从美国搬到爱尔兰,虽然我租的房子有一个联网控制的供暖器,我租的房屋却仍然非常冷。...在本次演讲中,我想告诉大家我是如何“调试”这个问题的,以及如何使用几个运行在 MicroPython 的微控制器来改善供暖方式,而这些都没有对不属于我的这座房子进行任何物理修改。...实现一个基于视图的权限系统,并解释为什么选择这样做。...和 Flask 在本机上布置一个快速但肮脏的搜索引擎。
不急不急,看到后面就明白啦:) 为什么是深度神经网络 深度学习的基础是构建多层神经网络(NN)。 神经网络作为深度学习的基础技术,模型表达能力强,尤其是善于处理非结构化的多媒体数据。...而且,主角在MCU上也都是跑得动的。构建块从运算结构上看,大多是主运算搭配后加工的方式。 主运算和后加工的常见种类都屈指可数: ? 是不是很有一种三板斧打天下的感觉?.../tree/mfn_demo 等等,谁看到了一个似曾相识的字眼——micropython!...没错,这个demo就是构建在micropython和OpenMV的软件基础上,借助了OpenMV-RT项目中的图像提取与人脸检测功能,并使用python编写的demo业务逻辑。...过程很简单,先站在镜头前面摆好pose,openmv软件会在100ms内迅速地检测出你的可爱小脸蛋,然后切成64x64点再送给MobileFaceNet过一遍,得出128个数存进数据库。
上节简单得介绍了一下开发板,这节开始说一下为什么要用python开发,以及别的开发模式. ?...我以自己现在得学识其实是说不出个所以然得.如果非要说,我觉得就是wifi这种连接方式在很多指标是取得了一种平衡.比如传输速率,容量,开发得门槛.以及一些高层应用,快速组网等.当然也不能吹得过头,总之就是还得看自己得需求来选择...轻量级 Lua语言的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快,从而适合嵌入在别的程序里。...(我也有些看不懂...高级特性俺还用不到)......看看热闹就行 用NodeMCU的好处是入手容易Lua与MicroPython相对于Arduino C来说要简单很多,所以学习其编程是非常快的...----------我是迷人得分割线------------------------------------------------ 我终于要开始吹MicroPython了!!!!!!!..
,考试前我特意巩固的离散系统没怎么考,拉普拉斯没怎么考,上场前画了个信号流熟悉了熟悉梅森公式热热身也没考,滤波器也没按正常套路考。。。。。...首先向这位前辈大师表示敬重,最近一直在找相关的资料,在micropython社区发现了这位大师,他有很多基于micropython好玩有趣的开源代码,mark一下。...主要是基于micropython开发板的快速数字滤波器实现,开发板如图所示,板载STM32F405 数据采集过程中采集到数据往往不直接使用,而是经过一定的过滤以后才使用,原因是因为这些信号中包含了各种噪声...主要实现了上述两种滤波器.计算对象是32位有符号整形,在micropython开发板中,滑动平均需要8微秒,FIR需要15微秒来获得一组典型系数。...第一个asm.py是一个演示文件,演示了汇编语言在micropython中的使用 第二个avg.py和第三个avgtest.py是滑动平均滤波的代码实现以及实例代码 后面全是fir滤波器的代码实现以及多个实例代码
一、Makefile简介 Makefile是什么,能做什么用,为什么要用?...(2) 使用 "-" 前缀可以忽略命令错误,比如创建已有的路径; “@” 可以不显示命令本身 (3) Makefile 中 $、# 有特殊含义,可以进行转义 "\#"、"$$"。...(5) 在工作目录按 "GNUmakefile、makefile、Makefile (推荐)" 顺序查找执行,或 -f 指定。...(8) 在makefile 常见的gcc/g++参数 -D 即条件编译; -static 使用静态库;注意 -L../lib -ldown 与 ....."=" 递归展开变量,仅在目标展开时才会替换,也就是说它可以引用在后面定义的变量。 ":=" 直接展开变量,在定义时就直接展开,它无法后置引用。 "?
也可以自己到官网下载,我已经下好,大家可以找我索取当前最新板micropython-1.13 http://www.micropython.org/download/ ?...编译mpy-cross, mpy-cross是一个micropython的辅助工具,在编译过程中会用到,在micropython的源码根目录中输入命令make -C mpy-cross ? ?...至此修改完毕,可以编译,在micropython根目录下输入命令 make -C ports/stm32 BOARD=BODEBOARD ? 等待编译完成。 ?...编译好的固件怎么样复制到windows主机呢,当然你可以直接去生成的目录底下拷贝,在win10 的linux子系统中默认已经将windows分区挂载好了,我们可以在/mnt目录下看到 ?...至此就可以用python编写很多好玩的东西在单片机上跑了。 6. 参考文档 序号 文献 1 www.micropython.org
当你看到这个,hhhh 后面有两组串口可以连接除SBUS以外的RC接收机,至于为什么不支持,我觉得是因为反相器的问题,至少是支持IBUS的。...uasyncio 往往是构建 IO 密集型和高层级 结构化 网络代码的最佳选择。 Sony的串口设置,用的串口2。 具体是什么编程思想?...目的是设计驱动程序,使应用程序在驱动程序等待硬件响应时继续运行。应用程序仍然响应诸如用户交互之类的事件。在等待机器回复的时间内,再做一些别的事情,比如更新一下UI。...接地触发,施密特3V3触发,在这个文件里面实现 支持比较遗憾的是设置这部分我没有写,使用的是json文件,很有新意的方式 https://pypi.org/project/micropython-uasyncio...://docs.micropython.org/en/latest/library/uasyncio.html https://github.com/peterhinch/micropython-async
最近,有朋友在用Power Pivot构建表间关系的时候,出现了一个问题:明明我已经删除了重复项,但构建表间关系的时候,还是说我两个表都有重复的数据!...如下图所示,以姓名列为基础进行删除重复项: 结果没有找到重复值: 为什么呢?表中的第2/3,4/5,6/7,8/9看起来不是一样的吗?...那到底是为什么呢? 我们先通过非重复计数函数来算一下,到底有没有重复的数据: 好嘛!表中明明有9行数据,非重复计数的结果却是5!...啰啰嗦嗦写了这么鬼长,其实就一个核心知识点:文本后面的空格在Power Pivot中被忽略(删除)了!大家还可以尝试用更多的方法去验证它。...不过,这个找到问题原因的过程,希望对大家有点儿启发。 ——感谢您的耐心阅读!
0x01 缘起 大家都知道,如果要对一个MCU进行控制的话,一般方法是需要写基于c或者asm语言的代码,再经过专业的编译器编译后,再通过工具下载到芯片中,才能够完成整个开发过程,当然还免不了有多次调试。...这个过程肯定有很多g点,触之则痛。记得,我刚开始学51单片机的时候,安装到下载进去第一个程序花费了几天的时间,才点亮了第一个LED灯。...后期看到了micropython在Kickstarter上进行筹款,正好满足我这方面的想法,所以就一直在跟。...由于micropython官方出品的硬件-pyBoard在价格较高,而且micropython遵照MIT协议的。...0x03 人生苦短快用python 比如说,我现在要点亮一个板子上面的一颗led灯珠,那么在pyMagic上面只要做这么几步: 第一步:插入U盘,不,插入pyMagic,然后电脑上面会弹出来一个名称为PYBFLASH
领取专属 10元无门槛券
手把手带您无忧上云