物联网开发
文章平均质量分 76
分享物联网开发相关的软硬件知识,包括Arduio、MicroPython开发,蓝牙、星闪、WiFi短距离无线通信等内容
原子星
这个作者很懒,什么都没留下…
展开
-
单片机通信协议(1):SPI简介
摘要:SPI(串行外设接口)是板载设备间通信接口之一,本文对SPI做一个概述的介绍。原创 2024-05-24 00:32:22 · 722 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(15):使用LCD和触摸传感器
摘要:pybaord的pyb对LCD设备也进行了封装,可以使用官方的LCD显示屏原创 2024-05-24 00:28:50 · 370 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(14):LED调光
摘要:PWM信号除了可以控制舵机,打开和关闭LED外,还可以控制LED的亮度,让LED的亮度淡入淡出,本文就使用pyboard来实现对LED的控制原创 2024-05-22 21:26:19 · 488 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(13):控制舵机
摘要:pyboard上有4个PWM专用管脚可以用于舵机的控制,本文使用几个例子来介绍舵机的控制方法。原创 2024-05-22 21:22:05 · 1094 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(12):功耗控制
功耗控制对于单片机系统至关重要,它能够延长待机时间、增加电池寿命、降低能源消耗、提升环保效益,并增强设备的可靠性与市场竞争力,尤其在依赖电池或需要长时间运行的应用场景中,有效的功耗控制是实现持久稳定工作的关键。原创 2024-05-21 15:20:20 · 598 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(11):内联汇编
摘要:是不是有点意外,MicroPython也支持内联汇编,就是在Python代码中可以直接嵌入汇编代码。这在很多语言中都是支持的,比如C、C++、Pascal、Delphi等等,主要的目的是为了性能,在一些函数或内存操作的时候,可以有效的减少指令和指令周期,从而提高性能。但是,获得性能的代价就是牺牲部分可移植性。在一些编译语言中,内嵌的汇编代码使用的就是汇编指令,而在Python或Java这种虚拟机环境中,实际上是经过了封装后的指令。原创 2024-05-21 15:19:15 · 407 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(10):定时器
摘要:pyboard一共有14个定时器,每个定时器都由一个独立的计数器组成,按照用户定义的频率运行,可以把它们设置为在特定时间间隔内运行某个功能。原创 2024-05-20 14:57:04 · 585 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(9):模拟鼠标
摘要:pyboard是一个USB设备,它默认被配置为一个U盘,但是它还可以被配置为一个鼠标。原创 2024-05-20 14:55:53 · 961 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(8):安全模式和恢复出厂设置
如果pyboard出现问题,不要慌,因为几乎不可能通过错误的编程来破坏pyboard。首先可以尝试进入安全模式:这会暂时跳过boot.py和main.py的执行并提供默认的USB设置,可以修改错误的代码。如果文件系统出现问题,则可以恢复出厂设置,将文件系统恢复到原始状态。原创 2024-05-19 15:46:18 · 511 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(7):加速度传感器
摘要:加速度计是测量物体运动加速度和姿态的传感器,经常用于运动姿态感知控制和惯性导航。这篇文章将介绍如何使用MicroPython和pyboard的板载加速度传感器来读取加速度信号,感知左右倾斜。原创 2024-05-19 15:43:04 · 409 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(6):Switch、回调和中断
摘要:pyboard开发板有两个小开关,分别标为`USR`和`RST`。`RST`开关是一个硬复位开关,如果按下,pyboard就会从头开始重启,相当于关机后再开机。原创 2024-05-18 18:02:21 · 566 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(5):点亮LED
摘要:对于嵌入式开发,点亮pyboard开发板的板载LED就像写HelloWorld一样,只需要几行代码。连接到开发板,在解释器中键入下面的代码,就可以成功点亮pyboard上的LED原创 2024-05-18 18:00:59 · 1079 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(2):注意事项
摘要:要使用好pyboard开发板,需要了解其工作原理的一些基本知识。本文介绍了pyboard使用时的一些注意事项。原创 2024-05-17 16:30:01 · 419 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(1):pyboard开发板简介
摘要:使用MicroPython和Pybaord开发板系列(1)pybaord开发板简介原创 2024-05-17 16:20:25 · 505 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(4):mpyboard开发板使用REPL
摘要:REPL是指交互式解释器(Read Evaluate Print Loop),就是一种命令输入交互模式,可以使用命令行的方式与pyboard进行交互。REPL是测试代码和运行命令最简单的方式之一,也可以使用REPL编写main.py的代码。要使用REPL必须先把pyboard连接到电脑USB,不同的操作系统操作会略有区别。原创 2024-03-22 01:17:53 · 758 阅读 · 0 评论 -
使用MicroPython和pyboard开发板(3):上手开发板
摘要:本文介绍了如何使用MicroPython在pyboard开发板上运行你的第一个程序,所以,在开始下面的步骤前,你需要有一块pyboard开发板,如果你还没有,可以先去某宝或MicroPython官方网站买一块。原创 2024-03-22 08:00:00 · 2100 阅读 · 0 评论 -
小实验:ESP32实现流水灯控制
ESP32提供了多路IO接口,下面的这个小试验用MicroPython实现了一个简单的流水灯控制,可以控制6个灯珠,当然也可以更多,可以根据情况增加和减少。原创 2024-03-02 23:58:58 · 772 阅读 · 0 评论 -
用ESP32和MicroPython实现6自由度遥控舵机机械臂
ESP32提供了多路IO接口和WiFi联网能力,很多开发板也支持MicroPython,可以方便的实现一个简单的舵机机械臂控制原创 2024-03-02 23:51:24 · 1751 阅读 · 0 评论 -
MicroPython开发板:pyboard快速参考
pyboard是MicroPython官方支持的开发板,具有很好的兼容性和易用性,下面的内容是pyboard开发过程中最常用的一些参考。原创 2024-02-20 16:25:18 · 1934 阅读 · 0 评论 -
使用Thonny搭建MicroPython 开发环境,简单易用,保姆级教程
Thonny是一款面向入门开发者的工具,就主打一个简单易上手,用来做MicroPython再合适不过了,实话实说,不会比Arduinno开发环境更复杂。相对于使用VScode和别的开发工具,Thonny可以说是一个对MicroPython以及Python入门者都非常友好的集成开发环境了。体积不大,上手容易,对于单片机开发已经足够用了。原创 2024-02-18 01:42:17 · 7392 阅读 · 1 评论 -
MicroPython ESP32开发:脉宽调制(PWM)
脉宽调制(PWM)是一种在数字引脚上获得人工模拟输出的方法。它通过快速将引脚从低电平切换到高电平来实现。与此相关的参数有两个:切换频率和占空比。占空比的定义是,与单周期(低电平加高电平时间)的长度相比,引脚高电平的时间有多长。最大占空比是指引脚一直处于高电平状态,最小占空比是指引脚一直处于低电平状态。对于传递给PWM构造函数的每个引脚,通道都会被内部初始化为PWM模式一次。**注意:**无需指定。原创 2024-02-03 21:28:04 · 541 阅读 · 0 评论 -
MicroPython ESP32开发:快速参考
ESP32是使用非常广泛的一款微处理器,集成了WiFi和蓝牙模块,根据性能和应用场景的不同有很多不同的版本,本文是ESP32开发板在MicroPython环境下运行的快速参考,对于首次使用这个开发板在MicroPython下进行开发的应该会有一定的帮助。下面以Espressif ESP32开发板为例进行说明。原创 2024-02-03 21:17:41 · 1547 阅读 · 0 评论 -
在ESP32上使用MicroPython
ESP32是一款非常好用的物联网芯片,MicroPython可以充分利用ESP32的各种资源,本文会对MicroPython在ESP32上的应用进行说明,包括初始使用、提示信息、使用 WebREPL、连接网络与互联网通信、使用硬件外设以及控制外部组件等等。原创 2024-02-02 17:12:20 · 1427 阅读 · 0 评论 -
MicroPython核心:实现一个模块
本文详细介绍如何在MicroPython中实现一个核心模块,MicroPython模块可以是下面的其中之一:* 内置模块:作为 MicroPython 资源库一部分的通用模块。* 用户模块:对您的特定项目有用的模块,由您在自己的资源库或私人代码库中维护。* 动态模块:可在设备运行时部署和导入的模块。原创 2024-02-02 13:29:20 · 492 阅读 · 0 评论 -
MicroPython核心:公共的C API
公共C-API包括`py/`目录下所有C头文件中定义的函数。大部分重要的核心运行时C API都在`runtime.h`和`obj.h`中公开。原创 2024-02-01 14:55:44 · 430 阅读 · 0 评论 -
MicroPython核心:移植MicroPython
MicroPython 项目包含多个针对不同微控制器系列和架构的移植。项目资源库中有一个 ports 目录,其中包含每个支持移植的子目录。原创 2024-02-01 14:54:14 · 1238 阅读 · 0 评论 -
MicroPython核心:优化
MicroPython使用多种优化方法来节省RAM,同时确保程序的高效执行,本文会讨论其中的一些优化。原创 2024-01-31 16:21:47 · 442 阅读 · 0 评论 -
MicroPython核心:字符串驻留(String interning)
MicroPython使用字符串驻留可以同时保存在RAM和ROM,这就避免了存储相同字符串的重复副本,这主要适用于代码中的标识符,因为函数或变量名很可能会在代码中的多个地方出现。在MicroPython中,内部字符串被称为QSTR(uniQue STRing唯一字符串)。QSTR值(类型为qstr)是QSTR池链接表的索引。QSTR会存储其长度及其内容的哈希值,以便在去重过程中进行快速比较。所有处理字符串的字节码操作都使用QSTR参数。原创 2024-01-31 16:16:38 · 910 阅读 · 0 评论 -
MicroPython核心:映射和字典
MicroPython字典和映射使用称为开放寻址和线性探测的技术,本文详细介绍了这两种方法。原创 2024-01-30 14:23:00 · 365 阅读 · 0 评论 -
MicroPython核心:内存管理
与C/C++等编程语言不同,MicroPython通过自动内存管理向开发人员隐藏了内存管理细节。自动内存管理是操作系统或应用程序用于自动管理内存分配和删除的一种技术。自动内存管理避免了忘记释放内存和使用已释放内存的关键问题。自动内存管理有多种形式,垃圾回收(GC)就是其中之一。原创 2024-01-30 14:20:52 · 1596 阅读 · 0 评论 -
MicroPython核心:用C扩展MicroPython
本文介绍了在C语言中实现附加功能的选项,但这些功能是通过在MicroPython主资源库之外编写的代码实现的。第一种方法适用于构建定制固件,其中包含一些可从Python访问的特定项目附加模块或函数。第二种方法用于构建可在运行时加载的模块。原创 2024-01-30 14:00:59 · 1528 阅读 · 0 评论 -
MicroPython核心:编译器
MicroPython编译过程包括以下步骤:* 词法分析器将MicroPython程序文本流转换为标记。* 语法解释器将标记转换为抽象语法(语法树)。* 根据语法书输出字节码或本地代码。原创 2024-01-30 13:54:46 · 1504 阅读 · 0 评论 -
MicroPython核心:编写测试
在进行MicroPython移植的过程中,需要对目标开发板进行全面的测试,MicroPython中的测试位于 tests/ 路径下。在现有文件夹或新文件夹中创建新文件,即可添加测试。也可以在测试文件夹之外创建自定义测试,建议用于自定义移植。测试是通过比较测试目标的输出和CPython的输出来运行的。因此,任何测试都应使用打印语句来显示测试结果。对于无法与CPython进行比较的测试(即MicroPython特有的功能),则可以提供一个。总而言之,测试可以根据硬件情况和实际需要来进行定义。原创 2024-01-24 21:18:12 · 445 阅读 · 0 评论 -
MicroPython核心:源码获取、编译构建
本文介绍了MicroPython在主要平台进行构建的基本方法,包括如何进行版本控制、获取和构建移植的源代码、构建文档、运行测试,以及MicroPython代码库的目录结构。原创 2024-01-17 00:10:52 · 1732 阅读 · 0 评论 -
MicroPython的文件系统操作
下面的类实现了一个简单的块设备,它使用bytearryif op == 4: # 获取块数if op == 5: # 获取块大小import os下面举例说明同时支持简单接口和扩展接口(即同时支持和# 先擦除,再写offset = 0if op == 4: # 块数量if op == 5: # 块大小if op == 6: # 块擦除return 0由于它支持扩展接口,因此可以与littlefsimport os。原创 2024-01-08 23:32:54 · 1682 阅读 · 0 评论 -
MicroPython的Manifest文件介绍
“manifest”本身也是Python文件,列出了要冻结到固件的其他Python文件,会在构建的时候解释执行。通常情况下,可以将manifest文件作为电路板定义的一部分来编写,当然也可以编写一个独立的manifest文件,将其与现有的电路板定义一起使用。manifest文件可以定义对microropython-lib库和文件系统中的Python文件的依赖关系,也可以定义对其它manifest文件的依赖关系。原创 2024-01-07 23:46:10 · 1172 阅读 · 0 评论 -
MicroPython:微控制器上的MicroPython
MicroPython是为在微控制器上运行而设计的,受微控制器硬件资源的限制,传统计算机程序员对这部分可能不太熟悉,特别是RAM和非易失性存储器“磁盘”(闪存)容量的限制,本文提供了一些方法,可以充分利用这些有限的资源。由于MicroPython运行于各种架构,因此提供的方法是通用的:在某些情况下可能需要上从特定平台的文档中获取详细信息。原创 2024-01-07 00:05:06 · 982 阅读 · 0 评论 -
Micropython的包管理
MicroPython包支持多种管理和安装方式,本文主要mipmpremote以及手动安装包的方式,另外也会说明下如何发布自己的包。原创 2024-01-04 00:25:08 · 2129 阅读 · 0 评论 -
MicroPython性能调优
本文主要介绍了MicroPython代码性能优化的方法,包括语言以及编译等方面的内容。原创 2024-01-02 22:50:25 · 1335 阅读 · 0 评论 -
MicroPython的中断处理
中断是计算机系统中非常重要的一种机制,简单的说就是当有I/O或其它因素发出中断信号后,CPU会暂定执行当前代码保护好现场,然后执行中断处理程序。CPU执行完中断处理程序后,返回原来的执行点,恢复现场,继续执行原来的代码。MicroPython也支持在合适的硬件上(与硬件和固件有相关性)编写中断处理程序。中断处理程序(也称为中断服务程序ISR),通常被定义为回调函数。当定时器或引脚电平变化等事件触发中断后,中断处理程序将被执行。原创 2023-12-25 22:40:32 · 2094 阅读 · 0 评论