960| 0
|
[ESP8266/ESP32] FireBeetle 2 ESP32 C6: 讯飞星火Fuctioncall控制SERVO和LED |
本帖最后由 sky007 于 2024-4-19 15:36 编辑 FireBeetle 2 ESP32 C6: 讯飞星火Fuctioncall控制SERVO和LED 概述 FireBeetle 2 ESP32 C6试用活动第二篇,参考社区大佬云天的《用大语言模型控制行空板机器人》https://mp.weixin.qq.com/s/rS1ENffALjplNvXlD2Wzpw项目,创建一个可以通过自然语言输入控制的ESP32 C6的系统。系统通过Python程序将文本指令用functioncall发送讯飞星火大模型,返回回来的指令通过MQTT控制ESP32 C6开发板。ESP32 C6接收到指令后,控制舵机和LED。 材料清单
硬件组装 PCB设计 焊接和组装 完成了PCB的焊接工作,确保所有组件正确连接。 软件配置 Python程序编写 集成了讯飞语音识别服务的API,配置了必要的参数,如API密钥和用户ID,以确保语音指令能够被正确识别和转换。 编写了一个Python程序,该程序能够接收用户的语音输入,通过讯飞API转换为文本指令,然后将指令通过MQTT协议发送给ESP32 C6开发板。主要执行程序如下: while True: Input = input("\n" +"我:") question = checklen(getText("user",Input)) SparkApi.answer ="" print("星火:",end = "") main(appid,api_key,api_secret,Spark_url,domain,question) getText("assistant",SparkApi.answer) ESP32 C6开发板编程 为ESP32 C6开发板编写了micropython程序,该程序能够解析接收到的MQTT消息,并根据指令控制舵机和LED灯的动作。 def deal(MSG): command = MSG.decode('utf-8') if command !="": # 使用'/'作为分隔符分割字符串 parts = command.split('/') print(parts) # 输出: ['LED', 'right_LIGHT', '30%'],['MOTOR', 'go', '60%'],['SERVO', 'turn', '30'] try: # 处理最后一个部分,如果它包含'%' if '%' in parts[-1]: # 按照'%'切割最后一个部分,并转换为浮点数 percentage_str, _ = parts[-1].split('%') percentage_float = float(percentage_str) / 100 # 将最后一个部分替换为转换后的浮点数 parts[-1] = str(percentage_float) print(parts) # 输出: ['motor', 'go', '0.6'] value=float(parts[-1]) print(value) except ValueError: print("无法将字符串转换为数字") if parts[0]=="LED": DUTY=int(value*1023) if parts[1]=="right_LED": right_LIGHT.duty(DUTY) if parts[1]=="left_LED": left_LIGHT.duty(DUTY) if parts[1]=="BOTH": right_LIGHT.duty(DUTY) left_LIGHT.duty(DUTY) if parts[0]=="SERVO": angle=int(value) Servo(S1,angle) 测试结果 经过测试,系统能够准确地识别用户的语音指令,并将指令转换为舵机和LED灯的动作。但相同提示要求,讯飞返回的指令有时会有所出入,functioncll的控制方式,还需要进一步摸索。 结论 本项目展示了如何将自然语言处理与物联网设备相结合,创建一个可以通过语音控制的智能机器人系统。FireBeetle 2 ESP32 C6开发板的灵活性和强大的处理能力,结合讯飞的语音识别服务和MQTT协议,为实现复杂的控制逻辑提供了可能。 附录 · 项目源代码:functioncall(MQTT).py(控制端),C6.py(执行端) · PCB设计文件:Gerber_测试用板(DF-C6)_PCB_测试用板.zip |
1.71 KB, 下载次数: 1559
执行端
3.28 KB, 下载次数: 1604
控制端
Gerber_测试用板(DF-C6)_PCB_测试用板.zip
201.52 KB, 下载次数: 1643
PCB
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed