MicroPython

micro:bit的三大python彩蛋

怎甘沉沦 提交于 2020-12-15 04:47:28
在很多软件中,开发者都喜欢隐藏一些彩蛋,让使用者去发现,为大家带来一些乐趣。在micro:bit的python程序中,同样隐藏了三个彩蛋,非常有趣,大家都可以试一试。 首先,我们需要下载一个python程序到microbit,可以使用mu或者社区的在线PythonEditor( http://microbit.site/ ),写入一个空白程序到microbit。然后在mu 的 REPL 下,按照下面方式就可以看到彩蛋了。 彩蛋1: 在REPL下输入 import this ,就可以看到第一个彩蛋,python之禅。 彩蛋2: 在REPL下,输入 import love ,就可以看到爱心彩蛋。 彩蛋3: 反重力彩蛋,方法请点击下方的 阅读原文 。 注: 彩蛋只有第一次运行才有效,第二次输入就无效了,需要复位后才能再次看到效果。 本文分享自微信公众号 - MicroPython中文社区(MicroPython_cn)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/609160/blog/4401056

micro:bit世界挑战赛

房东的猫 提交于 2020-11-29 22:03:39
microbit基金会正在发起一个全球性的编程比赛,有兴趣的网友都可以关注和参与一下。以下是基金会关于比赛的预告: 你能帮助实现全球目标吗?我们正在设定最大规模的编码挑战! 我们很高兴地宣布,ARM、World’s Largest Lesson 和microbit教育基金会共同创造了一个全新称为全球挑战赛的活动。 我们希望你使用microbit,设计并解决一个影响你的社区或者世界其他地方社区的问题,并将有助于实现联合国的可持续发展目标(全球目标)。也许你有一个伟大的创新,可以使你的学校或社区更安全?或者也许你对健康和幸福充满激情,有关于使我们更健康生活的想法? 这次挑战的获胜者将前往伦敦进行一次免费的旅行,并与来自世界各地的其他获胜者一起参加一个令人惊叹的 microbit 挑战日! 请在9月24日查看一下关于挑战赛的全部内容以及如何参与。 同时,看看这些资源有助于你开始设计: https://microbit.org/en/global-challenge/lessons-landing/ 比赛英文网站: https://microbit.org/global-challenge/ 本文分享自微信公众号 - MicroPython中文社区(MicroPython_cn)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”

micro:bit的MakeCode错误码

余生颓废 提交于 2020-11-29 00:37:20
如果在运行makecode程序时,在屏幕上显示下面的动画(哭脸加数字),代表程序出现错误。显示的数字就代表了错误代码。 通过错误代码,就可以知道出现了什么错误。下面是microbit提供的部分错误码: 错误号码 这意味着什么 10 micro:bit的I2C总线不工作。设备可能会受到物理损坏。 20 micro:bit上没有空闲内存。您的程序可能过于复杂或包含许多大变量。尝试减少代码。 30 在micro:bit堆空间中检测到损坏(通常为存储变量分配的内存)。尝试将不同的.hex文件刷新到您的设备 40 micro:bit无法正确执行你的脚本。向其中写入一个不同的.hex文件,然后尝试再次闪烁并运行您以前的脚本。 42 micro:bit无法正确执行你的脚本。向其中写入一个不同的.hex文件,然后尝试再次闪烁并运行您以前的脚本。 43 micro:bit的无线电组件发生错误。 50 micro:bit的加速度计组件发生错误。 51 micro:bit的磁力计组件发生错误。 98 断言失败。 断言中 的条件为false 时发生的MakeCode错误。 来自: https://microbit.org/guide/hardware/error-codes/ 本文分享自微信公众号 - MicroPython中文社区(MicroPython_cn)。 如有侵权,请联系 support

micro:bit 版 makecode V3 官方宣传片

一个人想着一个人 提交于 2020-11-28 09:38:12
micro:bit 版 makecode 2020(V3)的官方宣传片,包含的内容比较多,可以看到开发者的介绍、新功能的使用演示(关于新功能的详细介绍,请参见上一个公众号文章的介绍《 MakeCode micro:bit – 2020版(V3) 发布了 》 )。 虽然宣传片是英文视频,但是大部分内容都是与makecode相关的,比较容易理解。通过视频演示可以详细了解 makecode v3 版带来的最新功能,以及这些功能的使用方法,这对于学习和使用 makecode 有较大帮助。 V3 版主要的新功能: 具有返回值的函数 展开/折叠块 Python语言支持 上下文内翻译 调试器 GitHub集成 WebUSB 更多音乐功能 break 和 continue 点对点连接器 提示输入项目名称 双编辑器版本 二维码分享 编写自己的教程 注: 原视频比较大,时间约有1个多小时,超过了微信公众号上传的限制,因此将它分为了3个部分,带来的不便请大家见谅。 感谢社区热心网友 Hori 提供视频。 第一部分 第二部分 第三部分 本文分享自微信公众号 - MicroPython中文社区(MicroPython_cn)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https:/

micro:bit CPU 第二版

不打扰是莪最后的温柔 提交于 2020-11-09 04:14:09
翻译自:http://www.suppertime.co.uk/blogmywiki/2020/06/improved-microbit-cpu/ 在第一版的micro:bit CPU中(用MakeCode编程),只有非常精简的4条指令,但它在许多方面都像第一代家用计算机中使用的微处理器,如Altair 8800、Commodore Kim-1和剑桥科学的MK14: 没有使用诸如MakeCode,Scratch,Python或BASIC之类的高级语言进行编程,而是使用二进制代码指令。 每个二进制代码代表一条指令,一条附加了数据的指令,或者仅仅是数据。 程序运行时,CPU 依次从内存中提取每个指令。 然后解析指令 CPU 执行该指令 使用程序步数计数器跟踪其在程序中的位置,并在每次需要获取新指令时在程序计数器中加1。 不断从内存中按顺序提取,解码和执行指令,直到到达暂停指令为止。 实际上,我们的简易CPU所能做的就是将两个数字加在一起,并使用LED以二进制形式显示答案。它只不过是一个计算器而已,但不是一个好的计算器,因为它不能减、乘或除。 因为设计指令的方式,它仅限于4条指令: 指令限制为5位二进制数,而不是早期计算机系统中通常使用的8位二进制,因为我希望能够在micro:bit的LED显示屏的一行上显示指令的内容,发光的LED代表1,不发光的LED代表0。 操作数(数据

mpy进展from 20190824

三世轮回 提交于 2020-08-15 02:44:19
20190823之前 (1)编译在ubantu下进行 (2)选择1.9.4版本。这应该是最新的release版本,并且 dcexpert 分享的帖子 [分享] 在MicroPython中添加外部C模块的方法 里面的链接: https://github.com/micropython/micropython/blob/master/docs/develop/cmodules.rst ,这个文档的例子应该可以在1.9.4里面跑起来,但是在1.4.5版本是无法跑起来的,因为例子中的变量类型我在1.4.5里面找不到。 (3)昨晚搞定了KEIL下编译运行bare的例子。就是把1.4.5的KEIl里面的mpy版本内容由1.4.5换成1.9.4,竟然能编译通过了。(事实上并没有成功。) 2019.08.24 (4)折腾大概一个小时,终于1.9.4的KEIL可以编译了,但是无法正确输出。那么先看看1.4.5的KEIL都改了什么东西吧。 所有个更改记录如下: john@DESKTOP-AT0PVKR MINGW64 ~/Desktop/新建文件夹/last/micropython (master) $ git log --pretty=oneline fbcc16c47e4bc06bdedb4ecc9d552adc1f9378bd (HEAD -> master) okok

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用

こ雲淡風輕ζ 提交于 2020-08-11 11:26:37
测试说明 测试模块数:3 测试模式: 配置模式、传输模式和RSSI模式 如果 没有检测到串口 ,首先检查是否安装串口驱动CH341SER, 下载链接 , 提取码 :vaw2 工作模式 模式(0-3) M2 M1 M0 模式介绍 备注 0 传输模式 1 0 0 串口打开,无线打开,连续透明传输 空速支持手动配置和自适应波特率自动调节;连续模式双方波特率必须一致 1 RSSI 1 0 1 串口打开,无线打开,RSSI功能打开 模块每100ms输出RSSI强度值 2 测距模式 1 1 0 保留 - 3 配置模式 1 1 1 串口打开,无线关闭,用于参数配置 波特率固定9600 8N1 3 低功耗 0 x x 低功耗模式,功耗为最低 M2置高时处于正常工作状态,M2置低时处于低功耗 配置模块(进入配置模式) 使用USB-TTL连接E28 LoRa模块,接线方式为3V3-VCC、GND-GND、TX-RX和RX-TX,如下图所示 配置模式的模块跳帽如下图(M0、M1、M2引脚 均置高 ) 打开官方提供的 配置软件 ConfigureTool_EBYTE_E28Txx-Setting_v1.1 ,配置流程如下图所示 3个E28 LoRa模块配置参数 模块序号 传输方式 模块地址 模块信道 1 定点 0001 05 2 定点 0002 05 3 定点 0003 05 同频道定点与广播传输

关于 k210 的 micropython 添加 ussl 模块,实现 https 访问支持的那些事。

佐手、 提交于 2020-08-11 07:06:01
起因 事情已经过去快一周了吧,继上次修复 maixpy k210 的 esp8285 at 通信后,突然遇到泽畔大大问,要不要做 ussl 的支持? 评估了一下各方的实现,想了一下自己也刚好在做网络层的优化和处理,况且 micropython 在 stm32 、 esp32 上的也有对应的实现,那就添加实现进去吧,选取了 mbedtls 版本的 ussl 模块,实现相关文件如下。 这里说一下 ussl 的工作机制。 首先建立在 micropython 的 network 架构下的 socket 模块,提供了关键的 steam->write 和 steam->read 基础接口,实际上就是继承一个抽象 steam 对象的接口。 因此 ussl 提供了 wrap_socket 用来提升 socket 的功能,从而支持 https 的访问。 我们看一下 micropython 的实例就知道了。 try: import usocket as _socket except: import _socket try: import ussl as ssl except: import ssl def main(use_stream=True): s = _socket.socket() ai = _socket.getaddrinfo("google.com", 443) print(