在本篇文章中,您将了解到micropython编程及其平台。在本文结束时,您可以了解到micropython及其应用程序和编程环境,您还可以使用micropython的实用库和函数编写一个简单的程序。
什么是MicroPython?
Python是一种非常流行且实用的高级编程语言。但是在编程微控制器方面,由于其高速和适当的处理能力,其他编程语言比Python更常见。 MicroPython是Python3的开源实现,包括一小部分Python标准库,并针对具有有限ROM和RAM的微控制器执行进行了优化。此版本的Python语言设计为具有高速度,可用于与某些微控制器(如pyboard、Wipy、ESP32、ESP8266和MicroBit)进行通信。
所需的材料
● ESP8266开发板
● 适用于ESP8266的MicroPython固件
● ESP8266 Flasher
● putty
py-module-.compressed.jpg (57.67 KB, 下载次数: 13)
2019-8-15 17:16 上传
为何选择ESP8266?
我们更倾向于使用ESP8266进行MicroPython编程而不是其他微控制器。使用ESP8266模块的优势在于具有用于互联网和网络连接的Wi-Fi连接,包括具有大容量RAM且价格合理的强大控制器。
py-logo-.compressed.jpg (34.35 KB, 下载次数: 15)
2019-8-15 17:17 上传
在ESP8266上运行MicroPython
作为在ESP8266模块上运行Python脚本的第一步,您应该下载ESP8266的MicroPython固件并将其上载到电路板上。
下载固件后,您应该将其上传到主板上。为了对ESP8266模块进行编程,您需要ESP8266Flasher,您可以从以下链接下载:https://github.com/nodemcu/nodemcu-flasher
要进入MicroPython编程环境或REPL(Read Evaluate Print Loop),您应该使用串行终端。我们使用Putty软件在Windows上与ESP8266进行通信。您也可以从以下链接下载Putty软件:https://www.putty.org/
现在您已经下载了所需的软件,您可以对ESP8266进行编程,如下所示:
1. 从Operation菜单中选择连接到ESP8266模块的串口。
py-2.png (27.55 KB, 下载次数: 17)
2019-8-15 17:19 上传
2. 现在,在Config菜单中添加刚刚下载的模块的固件路径。
py-3.png (28.44 KB, 下载次数: 18)
2019-8-15 17:20 上传
3. 现在单击Flash以在ESP8266模块上安装固件。
py-4.png (32.88 KB, 下载次数: 17)
2019-8-15 17:20 上传
安装固件后,应为Putty软件设置以下配置以进入REPL。
1. 从Putty连接类型中选择串口连接。然后选择正确的COM并将波特率设置为115200。
py-5.png (25.06 KB, 下载次数: 16)
2019-8-15 17:21 上传
2. 现在单击“Open”以获取REPL命令提示符。
py-6.png (16.86 KB, 下载次数: 13)
2019-8-15 17:22 上传
注意:如果在进入REPL编程环境后文本没有出现在屏幕上,或者您无法在命令提示符下写入任何命令,请从Putty设置中进入Terminal部分并启用Force-on选项
py-7.png (24.71 KB, 下载次数: 15)
2019-8-15 17:23 上传
1.jpg (57.01 KB, 下载次数: 13)
2019-8-15 17:22 上传
通过WebREPL进行MicroPython编程
按照以下步骤进入WebREPL MicroPython编程环境:
1. 在浏览器中打开http://micropython.org/webrepl/。然后返回到命令提示符并输入以下命令。
import webrepl_setup复制代码
2. 运行此命令后,系统将询问您是否要启用或禁用WebREPL。输入E以启用WebREPL。
2.jpg (16.93 KB, 下载次数: 16)
2019-8-15 17:24 上传
3. 然后,系统会要求您设置密码。输入Y后,您可以输入所需的密码。
3.jpg (9.06 KB, 下载次数: 9)
2019-8-15 17:24 上传
4. 完成这些步骤后,连接到ESP模块的WiFi。寻找名为micropython的WiFi网络。密码默认为micropythoN。
5. 连接到WiFi后,返回浏览器中的WebREPL页面。单击“连接”并输入您之前选择的密码。
py-1.png (40.14 KB, 下载次数: 5)
2019-8-15 17:25 上传
项目1:使用MicroPython控制LED(数字控制)
现在我们想运行一个简单的代码使用MicroPhyton控制LED。 ESP8266的电路板上有两个LED,连接到引脚2和16。要使用MicroPayton打开和关闭这些LED,您需要控制模块的输入和输出引脚(GPIO)。您可以使用machine库执行此操作。
>>> import machine复制代码
现在您可以使用此库的函数。以下命令将模块的pin2定义为输出引脚:
>>> LED = machine.Pin( 2, machine.Pin.OUT)复制代码
您可以使用以下命令打开和关闭上面定义的LED:
>>>LED.on()
>>>LED.off()复制代码
或者:
>>>LED.value(1)
>>>LED.value(0)复制代码
现在我们想通过在电路上添加一个键来制作一个闪烁的LED。我们还需要utime库以及machine库。
注意:当您在ESP8266上编写代码时,它继续运行!为了在模块上上传新代码,您需要使用sys库来结束仍在运行的先前代码。
>>> import machine
>>> import utime
>>> import sys
>>> LED = machine.Pin( 2, machine.Pin.OUT)
>>> Button = machine.Pin( 0, machine.Pin.IN, machine.Pin.PULL_UP)复制代码
通过将按键连接到引脚0,您可以通过按键退出以前的代码。
>>>while True:
>>> if Button.value() == 0:
>>> sys.exit()复制代码
exit()函数结束前一个程序。
# Turn LED on and then off
>>> led.on()
>>> utime.sleep_ms(500)
>>>led.off()
>>> utime.sleep_ms(500)复制代码
sleep_ms()函数的作用类似于延迟函数,并以毫秒为单位生成延迟。
项目2:使用MicroPython控制LED(模拟控制)
现在我们想用电位器控制LED灯。 为了控制LED灯,我们使用PWM。 将电位器连接到ESP8266模块ADC引脚。该引脚读取电位器的模拟值并将其转换为0到1024之间的数字值。然后,该数字值作为PWM占空比发送,以控制LED灯的强度。
>>> import machine
>>> import utime
>>> import sys
>>> LED = machine.Pin( 2, machine.Pin.OUT)
>>> Button = machine.Pin( 0, machine.Pin.IN, machine.Pin.PULL_UP)
>>> ADCpin = machine.ADC(0)
>>> PWM=PWM(Pin(2))
>>>while True:
>>> if Button.value() == 0:
>>> sys.exit()
>>>AnalogValue = adc.read()
>>>AnalogValue = AnalogValue * (3.3 / 4095)
>>>pwm.duty(AnalogValue)
>>>utime.sleep_ms(2)复制代码
以上就是本文的全部内容,希望您能学习到新的知识。如遇到问题,请随时在本帖下面进行回复。