简易工具Thonny

下载

首先,我必须吐槽Thonny在官网上真的下载不下来,至少我的电脑是,感觉是因为是外网的原因。于是只能退而求其次,去小网站上,关闭杀毒软件,终于下载了下来Thonny,和一堆乱七八糟软件。。。能下上就行(还是汉译的),官网下载失败多次也费了不少事。
官方下载https://thonny.org/
在这里插入图片描述
使用MicroPython开发ESP32教程:
b站链接
博客链接

固件下载与烧录

在这里插入图片描述
注:在固件烧录后,需要把端口改为自定义,再继续进行代码,不然会显示未连接等。

简单用法

用法很简单,开始的时候也会把硬件使用,连接网络,快捷键的使用列出来,可以翻看使用。
在这里插入图片描述

MicroPython可以使用help函数获得帮助

可以进行运算或输出信息

可以控制GPIO口:

通过 help() 查看相关说明,先导入machine模块中的Pin类,接着声明一个GPIO口对象(p13),该对象绑定到芯片的GPIO13,并且设置为输出。接下来使用 help 函数查看了p13对象的说明。

>>> from machine import Pin
>>> p13=Pin(13,Pin.OUT)
>>> help()
Welcome to MicroPython on the ESP32!

For generic online docs please visit http://docs.micropython.org/

For access to the hardware use the 'machine' module:

import machine
pin12 = machine.Pin(12, machine.Pin.OUT)
pin12.value(1)
pin13 = machine.Pin(13, machine.Pin.IN, machine.Pin.PULL_UP)
print(pin13.value())
i2c = machine.I2C(scl=machine.Pin(21), sda=machine.Pin(22))
i2c.scan()
i2c.writeto(addr, b'1234')
i2c.readfrom(addr, 4)

Basic WiFi configuration:

import network
sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
sta_if.scan()                             # Scan for available access points
sta_if.connect("<AP_name>", "<password>") # Connect to an AP
sta_if.isconnected()                      # Check for successful connection

Control commands:
  CTRL-A        -- on a blank line, enter raw REPL mode
  CTRL-B        -- on a blank line, enter normal REPL mode
  CTRL-C        -- interrupt a running program
  CTRL-D        -- on a blank line, do a soft reset of the board
  CTRL-E        -- on a blank line, enter paste mode

For further help on a specific object, type help(obj)
For a list of available modules, type help('modules')

最后使用 on() 让GPIO13输出高电平。

>>> p13.on()
>>> help()
Welcome to MicroPython on the ESP32!

For generic online docs please visit http://docs.micropython.org/

For access to the hardware use the 'machine' module:

import machine
pin12 = machine.Pin(12, machine.Pin.OUT)
pin12.value(1)
pin13 = machine.Pin(13, machine.Pin.IN, machine.Pin.PULL_UP)
print(pin13.value())
i2c = machine.I2C(scl=machine.Pin(21), sda=machine.Pin(22))
i2c.scan()
i2c.writeto(addr, b'1234')
i2c.readfrom(addr, 4)

Basic WiFi configuration:

import network
sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
sta_if.scan()                             # Scan for available access points
sta_if.connect("<AP_name>", "<password>") # Connect to an AP
sta_if.isconnected()                      # Check for successful connection

Control commands:
  CTRL-A        -- on a blank line, enter raw REPL mode
  CTRL-B        -- on a blank line, enter normal REPL mode
  CTRL-C        -- interrupt a running program
  CTRL-D        -- on a blank line, do a soft reset of the board
  CTRL-E        -- on a blank line, enter paste mode

For further help on a specific object, type help(obj)
For a list of available modules, type help('modules')
>>> 

小灯闪烁

在IO口上接上LED,并加入延时就可以实现控制小灯闪烁了。

>>> from machine import Pin
>>> p13=Pin(13,Pin.OUT)
>>> p13.on()
>>> import time

连接无线

>>> import network as nw
>>> wl=nw.WLAN(nw.STA_IF)
>>> wl.active(True)
I (748917) phy: phy_version: 4180, cb3948e, Sep 12 2019, 16:39:13, 0, 2
True
>>> wl.connect('AAA','123456')
>>> wl.isconnected()
False
>>> wl.ifconfig()
('0.0.0.0', '0.0.0.0', '0.0.0.0', '0.0.0.0')

我这个是没有连接自己的无线,随便写了一个,果然没有连上,连上后,最后会输出IP、子网掩码、网关等信息。

通过文件运行程序

上面的程序都是在Python Shell交互环境中进行的,当然也可以将代码保存到文件上,通过文件运行程序。MicroPython的固件会在开发板ESP32模块的flash上创建一个文件系统,可以用来存放文件。

使用 Thonny 打开、删除开发板上存储的文件

在这里插入图片描述

将文件保存到开发板上,启动运行文件

输入后,在保存这里选择此电脑,再运行即可输出。
在这里插入图片描述

运行顺序

默认情况下MicroPython会生成一个 boot.py 文件,当系统启动完成之后会先运行该文件中的内容,该文件一般用于运行一些系统层面开机时需要启动的功能,一般不推推荐用户修改。在 boot.py 文件中的程序运行结束之后系统紧接着会运行 main.py 文件(如果没有该文件则跳过)。在 main.py 文件运行结束后会则进入Python Shell调试模式。

有死循环

如果在 main.py 文件中写个死循环,然后所有程序都写在该循环中,那用起来就和传统的单片机差不多了,只不过从固件变成了文件。不过如果这样做的话就进不了Python Shell调试模式了,并且无法再次进行文件修改上传等操作,只有重写烧写MicroPython固件才能恢复(或者死循环的程序中有文件系统读写的功能)。

支持文件树状视图

是目前唯一一个支持以文件夹形式上传文件的工具。
在这里插入图片描述
视图选择文件。选择文件夹右击选择上载即可。

在使用arduino失败后,这个还是想到简易的。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于创建局域网简易聊天工具,你可以使用 HTML、CSS 和 JavaScript 来实现。以下是一个简单的示例: 1. 创建一个 HTML 文件,命名为 `chat.html`: ```html <!DOCTYPE html> <html> <head> <title>局域网聊天工具</title> <style> #messages { height: 200px; overflow-y: scroll; } </style> </head> <body> <h1>局域网聊天工具</h1> <div id="messages"></div> <input type="text" id="input" /> <button onclick="sendMessage()">发送</button> <script> var socket = new WebSocket("ws://localhost:8080"); socket.onmessage = function(event) { showMessage(event.data); }; function showMessage(message) { var div = document.createElement("div"); div.textContent = message; document.getElementById("messages").appendChild(div); } function sendMessage() { var input = document.getElementById("input"); var message = input.value; socket.send(message); input.value = ""; } </script> </body> </html> ``` 2. 使用 WebSocket 在局域网中建立一个简单的服务器来处理消息。在命令行中,使用以下命令安装 `ws` 模块: ``` npm install ws ``` 3. 创建一个名为 `server.js` 的 JavaScript 文件,并将以下代码复制到文件中: ```javascript const WebSocket = require("ws"); const wss = new WebSocket.Server({ port: 8080 }); wss.on("connection", function connection(ws) { ws.on("message", function incoming(message) { wss.clients.forEach(function each(client) { if (client.readyState === WebSocket.OPEN) { client.send(message); } }); }); }); ``` 4. 在命令行中运行以下命令以启动服务器: ``` node server.js ``` 5. 使用浏览器打开 `chat.html` 文件,即可在局域网中使用简易聊天工具。 请注意,此示例仅提供了一个基本的框架,你可以根据需要进行修改和扩展。还需要注意的是,此示例没有提供任何身份验证或安全功能,因此仅适用于局域网环境。在实际应用中,建议添加适当的安全措施。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值