JERRY12138 发表于 2024-4-20 20:49:53

Wifi签到徽章

本帖最后由 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)动态展示:
https://www.bilibili.com/video/BV1H1421d78s/?spm_id_from=333.999.0.0
制作心得:
第一次接触MicroPython编程,只会图形编程的我只能从图形开始学习啦~
感谢Mind+可以同时查看图形和代码区,可以学习(拷贝)很多不会的代码!

hnyzcj 发表于 2024-4-20 20:58:40

可以把帖子写的更详细一点。

JERRY12138 发表于 2024-4-21 22:40:13

hnyzcj 发表于 2024-4-20 20:58
可以把帖子写的更详细一点。

谢谢提的建议,主要最近比较忙,希望后面能有足够的时间把帖子谢谢详细啦~

_深蓝_ 发表于 2024-4-23 08:08:58

这是用什么软件制作的模型??

JERRY12138 发表于 2024-5-2 10:31:01

_深蓝_ 发表于 2024-4-23 08:08
这是用什么软件制作的模型??

用的是inventor3维制图软件
页: [1]
查看完整版本: Wifi签到徽章