本帖最后由 JERRY12138 于 2024-4-20 20:51 编辑
看到ESP32C6特别小巧的形状,很想做一个可以随身携带的签到神器。
设计思路如下图:
外壳设计:
3D打印件:
组装过程:
注入灵魂:
- #程序准备部分(导入各种库文件及定义)
- import time
- import machine
- from umqtt.simple import MQTTClient #导入 mqtt 库文件
- from machine import Pin #导入 指示灯 库文件
-
-
- led = Pin(15,Pin.OUT) #定义指示灯引脚
- pin = Pin(4,Pin.IN) #定义按钮引脚
- level = pin.value()
-
- #联网部分
- def do_connect():
- import network
- wlan = network.WLAN(network.STA_IF)
- wlan.active(True)
- if not wlan.isconnected():
- print('connecting to network...') #报告联网状态
- wlan.connect('Wifi名称', 'WiFi密码') #此处填写无线热点的信息
- while not wlan.isconnected():
- pass
- print('network config:', wlan.ifconfig()) #打印联网信息
- do_connect()
-
- import network
-
- #连接mqtt服务器部分
-
- mqtt = MQTTClient("*********", "链接地址", 1883, "用户名", "密码") #设置mqtt服务器参数
-
- try:
- mqtt.connect() #开始连接mqtt服务器
- print('MQTT Connected Successful')
- except:
- print('MQTT Connection Failed') #报告连接状态
-
- #开始工作部分
- i = 1
- while i < 2:
- level = pin.value()
-
- if level == 1:
- if not wlan.isconnected():
- print('connecting to network...') #报告联网状态
- wlan.connect('Wifi名称', 'WiFi密码') #此处填写无线热点的信息
- while not wlan.isconnected():
- pass
- mqtt.publish(str("testtopic/1"), str("学生A入校").encode('utf-8')) #发送入校信息
- time.sleep(0.5)
- led.value(1)
- time.sleep(0.5)
- led.value(0) #指示灯闪烁报告完成入校流程
- else:
- led.value(0)
复制代码
动态展示:
制作心得:
第一次接触MicroPython编程,只会图形编程的我只能从图形开始学习啦~
感谢Mind+可以同时查看图形和代码区,可以学习(拷贝)很多不会的代码!
|