37创客科创中心

 找回密码
 立即注册
查看: 269|回复: 1

XX 0806 引入外部

[复制链接]

194

主题

324

帖子

2399

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2399
发表于 2025-8-6 13:57:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

采用mind+调用外部文件。

app805.py
  1. #  -*- coding: UTF-8 -*-

  2. # MindPlus
  3. # Python
  4. import siot
  5. from unihiker import GUI
  6. from pinpong.board import Board
  7. from pinpong.board import Servo
  8. from pinpong.board import NeoPixel
  9. # from unihiker_connet_wifi import *
  10. from pinpong.board import Board,Pin
  11. from pinpong.extension.unihiker import *
  12. from pinpong.libs.dfrobot_mlx90614 import MLX90614
  13. from pinpong.libs.dfrobot_speech_synthesis import DFRobot_SpeechSynthesis_I2C


  14. # wifi_manager = WiFiManager()

  15. # 自定义函数
  16. def DianJi(TZhiLing, NSuDu):
  17.     if (TZhiLing.find("前进")!=-1):
  18.         p_p5_out.write_digital(1)
  19.         p_p8_pwm.write_analog(NSuDu)
  20.         p_p6_out.write_digital(1)
  21.         p_p16_pwm.write_analog(NSuDu)
  22.     elif (TZhiLing.find("后退")!=-1):
  23.         p_p5_out.write_digital(0)
  24.         p_p8_pwm.write_analog(NSuDu)
  25.         p_p6_out.write_digital(0)
  26.         p_p16_pwm.write_analog(NSuDu)
  27.     elif (TZhiLing.find("左转")!=-1):
  28.         p_p5_out.write_digital(1)
  29.         p_p8_pwm.write_analog(NSuDu)
  30.         p_p6_out.write_digital(0)
  31.         p_p16_pwm.write_analog(NSuDu)
  32.     elif (TZhiLing.find("右转")!=-1):
  33.         p_p5_out.write_digital(0)
  34.         p_p8_pwm.write_analog(NSuDu)
  35.         p_p6_out.write_digital(1)
  36.         p_p16_pwm.write_analog(NSuDu)
  37.     elif (TZhiLing.find("停止")!=-1):
  38.         p_p5_out.write_digital(0)
  39.         p_p8_pwm.write_analog(0)
  40.         p_p6_out.write_digital(0)
  41.         p_p16_pwm.write_analog(0)
  42. def BT1(Kuan, Gao):
  43.     红灯=u_gui.fill_round_rect(x=0,y=80,w=Kuan,h=Gao,r=5,color="#FF9900")
  44.     红灯=u_gui.draw_digit(text="红灯",x=10,y=90,font_size=20, color="#0000FF")
  45.     红灯.config(onclick=BT红灯)
  46.     前进=u_gui.fill_round_rect(x=80,y=80,w=Kuan,h=Gao,r=5,color="#FF9900")
  47.     前进=u_gui.draw_digit(text="前进",x=90,y=90,font_size=20, color="#0000FF")
  48.     前进.config(onclick=BT前进)
  49.     绿灯=u_gui.fill_round_rect(x=160,y=80,w=Kuan,h=Gao,r=5,color="#FF9900")
  50.     绿灯=u_gui.draw_digit(text="绿灯",x=170,y=90,font_size=20, color="#0000FF")
  51.     绿灯.config(onclick=BT绿灯)
  52. def FMQTT(ZT):
  53.     FDY(ZT)
  54.     FFS((GOP[1]), ZT)
  55. def BT2(Kuan, Gao):
  56.     左转=u_gui.fill_round_rect(x=0,y=125,w=Kuan,h=Gao,r=5,color="#FF0000")
  57.     左转=u_gui.draw_digit(text="左转",x=10,y=135,font_size=20, color="#0000FF")
  58.     左转.config(onclick=BT前进)
  59.     停止=u_gui.fill_round_rect(x=80,y=125,w=Kuan,h=Gao,r=5,color="#FF0000")
  60.     停止=u_gui.draw_digit(text="停止",x=90,y=135,font_size=20, color="#0000FF")
  61.     停止.config(onclick=BT前进)
  62.     右转=u_gui.fill_round_rect(x=160,y=125,w=Kuan,h=Gao,r=5,color="#FF0000")
  63.     右转=u_gui.draw_digit(text="右转",x=170,y=135,font_size=20, color="#0000FF")
  64.     右转.config(onclick=BT前进)
  65. def BT3(Kuan, Gao):
  66.     u_gui.fill_round_rect(x=0,y=170,w=Kuan,h=Gao,r=5,color="#33FF33")
  67.     开门=u_gui.draw_digit(text="开门",x=10,y=180,font_size=20, color="#0000FF")
  68.     开门.config(onclick=BT开门)
  69.     u_gui.fill_round_rect(x=80,y=170,w=Kuan,h=Gao,r=5,color="#33FF33")
  70.     后退=u_gui.draw_digit(text="后退",x=90,y=180,font_size=20, color="#0000FF")
  71.     后退.config(onclick=BT前进)
  72.     u_gui.fill_round_rect(x=160,y=170,w=Kuan,h=Gao,r=5,color="#33FF33")
  73.     关门=u_gui.draw_digit(text="关门",x=170,y=180,font_size=20, color="#0000FF")
  74.     关门.config(onclick=BT关门)
  75. def BT4(Kuan, Gao):
  76.     u_gui.fill_round_rect(x=0,y=215,w=Kuan,h=Gao,r=5,color="#6600CC")
  77.     测温=u_gui.draw_digit(text="测温",x=10,y=225,font_size=20, color="#CC0000")
  78.     测温.config(onclick=BTEXT)
  79.     u_gui.fill_round_rect(x=80,y=215,w=Kuan,h=Gao,r=5,color="#6600CC")
  80.     体温=u_gui.draw_digit(text="体温",x=90,y=225,font_size=20, color="#CC0000")
  81.     体温.config(onclick=BT体温)
  82.     u_gui.fill_round_rect(x=160,y=215,w=Kuan,h=Gao,r=5,color="#6600CC")
  83.     温度=u_gui.draw_digit(text="温度",x=170,y=225,font_size=20, color="#CC0000")
  84.     温度.config(onclick=BT温度)
  85. def DongZuo(TZhiLing, NSuDu):
  86.     if (TZhiLing.find("红灯")!=-1):
  87.         np1.range_color(0,7,0xFF0000)
  88.     elif (TZhiLing.find("绿灯")!=-1):
  89.         np1.range_color(0,7,0x33CC00)
  90.     elif (TZhiLing.find("开门")!=-1):
  91.         舵机.write_angle(90)
  92.     elif (TZhiLing.find("关门")!=-1):
  93.         舵机.write_angle(0)
  94.     else:
  95.         np1.clear()
  96. def FDIS(TN, TM):
  97.     TN.config(text=TM)
  98. def UI(Kuan, Gao):
  99.     BT1(Kuan, Gao)
  100.     BT2(Kuan, Gao)
  101.     BT3(Kuan, Gao)
  102.     BT4(Kuan, Gao)
  103.     return GTOPIC
  104. def FDY(ZT):
  105.     siot.getsubscribe(topic=ZT)
  106.     FDIS(主题, ZT)
  107.     return (str("主题订阅完成:") + str(ZT))
  108. def FFS(TM, TT):
  109.     siot.publish(topic=TT, data=TM)
  110.     return (str("已发送:") + str(TM))

  111. # 事件回调函数
  112. def BT前进():
  113.     FFS((str("前进")), GTOPIC)
  114. def BTEXT():
  115.     FFS((str("测温:") + str(irt.obj_temp_c())), GTOPIC)
  116. def BT红灯():
  117.     FFS((str("红灯")), GTOPIC)
  118. def BT温度():
  119.     FFS((str("温度:") + str(irt.env_temp_c())), GTOPIC)
  120. def BT绿灯():
  121.     FFS((str("绿灯")), GTOPIC)
  122. def BT体温():
  123.     NTiWen = irt.obj_temp_c()
  124.     if (37.3 > NTiWen):
  125.         FFS((str("正常:") + str(NTiWen)), GTOPIC)
  126.         DongZuo((str("绿灯")), 10)
  127.     else:
  128.         FFS((str("发烧:") + str(NTiWen)), GTOPIC)
  129.         DongZuo((str("红灯")), 10)
  130. def BT开门():
  131.     FFS((str("开门")), GTOPIC)
  132. def on_message_callback(client, userdata, msg):
  133.     FDIS(接收消息, (str((str(msg.topic) + str(":"))) + str(msg.payload.decode())))
  134.     DongZuo(msg.payload.decode(), GSuDu)
  135.     p_gravitysynthesis.speak(msg.payload.decode())
  136. def BT关门():
  137.     FFS((str("关门")), GTOPIC)


  138. Board().begin()
  139. u_gui=GUI()
  140. siot.init(client_id="782695830999502",server="i.37ck.cn",port=1883,user="37ck",password="20200808")
  141. p_p5_out=Pin(Pin.P5, Pin.OUT)
  142. p_p8_pwm=Pin(Pin.P8, Pin.PWM)
  143. p_p6_out=Pin(Pin.P6, Pin.OUT)
  144. p_p16_pwm=Pin(Pin.P16, Pin.PWM)
  145. siot.connect()
  146. siot.loop()
  147. siot.set_callback(on_message_callback)
  148. irt = MLX90614(0x5A)
  149. 舵机 = Servo(Pin((Pin.P8)))
  150. np1 = NeoPixel(Pin((Pin.P10)),7)
  151. np1.brightness(128)
  152. GSuDu = 512
  153. PROJECT = (str("行空板M10"))
  154. GOP = ["上线","前进","后退","左转","右转","停止"]
  155. GTOPIC = (str("37ck/莘村中学"))
  156. # MAC = wifi_manager.get_wifi_mac_address()
  157. 标题=u_gui.draw_text(text=PROJECT,x=0,y=10,font_size=20, color="#0000FF")
  158. 主题=u_gui.draw_text(text=GTOPIC,x=0,y=50,font_size=15, color="#993399")
  159. # MAC=u_gui.draw_text(text=MAC,x=0,y=255,font_size=15, color="#FF0000")
  160. 接收消息=u_gui.draw_text(text="接收消息",x=0,y=280,font_size=15, color="#FF0000")
  161. FMQTT(UI(77, 40))
  162. p_gravitysynthesis = DFRobot_SpeechSynthesis_I2C()
  163. p_gravitysynthesis.begin(p_gravitysynthesis.V2)
  164. while True:
  165.     pass
复制代码


UI806.py
  1. #  -*- coding: UTF-8 -*-

  2. # MindPlus
  3. # Python
  4. import siot
  5. from unihiker import GUI

  6. # 自定义函数
  7. def DongZuo(TZhiLing, NSuDu):
  8.     pass
  9. def FMQTT(ZT):
  10.     FDY(ZT)
  11.     FFS((GOP[1]), ZT)
  12. def FDY(ZT):
  13.     siot.getsubscribe(topic=ZT)
  14.     FDIS(主题, ZT)
  15. def FFS(TM, TT):
  16.     siot.publish(topic=TT, data=TM)
  17. def UI(Kuan, Gao):
  18.     BT1(Kuan, Gao)
  19.     BT2(Kuan, Gao)
  20.     BT3(Kuan, Gao)
  21. def FDIS(TN, TM):
  22.     TN.config(text=TM)
  23. def BT1(Kuan, Gao):
  24.     红灯=u_gui.fill_round_rect(x=0,y=80,w=Kuan,h=Gao,r=5,color="#FF9900")
  25.     红灯=u_gui.draw_digit(text="红灯",x=10,y=90,font_size=20, color="#0000FF")
  26.     红灯.config(onclick=BT红灯)
  27.     前进=u_gui.fill_round_rect(x=80,y=80,w=Kuan,h=Gao,r=5,color="#FF9900")
  28.     前进=u_gui.draw_digit(text="前进",x=90,y=90,font_size=20, color="#0000FF")
  29.     前进.config(onclick=BT前进)
  30.     绿灯=u_gui.fill_round_rect(x=160,y=80,w=Kuan,h=Gao,r=5,color="#FF9900")
  31.     绿灯=u_gui.draw_digit(text="绿灯",x=170,y=90,font_size=20, color="#0000FF")
  32.     绿灯.config(onclick=BT绿灯)
  33. def BT2(Kuan, Gao):
  34.     u_gui.fill_round_rect(x=0,y=125,w=Kuan,h=Gao,r=5,color="#FF0000")
  35.     左转=u_gui.draw_digit(text="左转",x=10,y=135,font_size=20, color="#0000FF")
  36.     左转.config(onclick=BT前进)
  37.     u_gui.fill_round_rect(x=80,y=125,w=Kuan,h=Gao,r=5,color="#FF0000")
  38.     停止=u_gui.draw_digit(text="停止",x=90,y=135,font_size=20, color="#0000FF")
  39.     停止.config(onclick=BT前进)
  40.     u_gui.fill_round_rect(x=160,y=125,w=Kuan,h=Gao,r=5,color="#FF0000")
  41.     右转=u_gui.draw_digit(text="右转",x=170,y=135,font_size=20, color="#0000FF")
  42.     右转.config(onclick=BT前进)
  43. def BT3(Kuan, Gao):
  44.     u_gui.fill_round_rect(x=0,y=170,w=Kuan,h=Gao,r=5,color="#33FF33")
  45.     开门=u_gui.draw_digit(text="开门",x=10,y=180,font_size=20, color="#0000FF")
  46.     开门.config(onclick=BT前进)
  47.     u_gui.fill_round_rect(x=80,y=170,w=Kuan,h=Gao,r=5,color="#33FF33")
  48.     后退=u_gui.draw_digit(text="后退",x=90,y=180,font_size=20, color="#0000FF")
  49.     后退.config(onclick=BT前进)
  50.     u_gui.fill_round_rect(x=160,y=170,w=Kuan,h=Gao,r=5,color="#33FF33")
  51.     关门=u_gui.draw_digit(text="关门",x=170,y=180,font_size=20, color="#0000FF")
  52.     关门.config(onclick=BT前进)

  53. # 事件回调函数
  54. def on_message_callback(client, userdata, msg):
  55.     FDIS(接收消息, (str((str(msg.topic) + str(":"))) + str(msg.payload.decode())))
  56.     DongZuo(msg.payload.decode(), GSuDu)
  57. def BT前进():
  58.     FFS('前进11', GTOPIC)
  59. def BT红灯():
  60.     FFS('红灯', GTOPIC)
  61. def BT绿灯():
  62.     FFS('绿灯', GTOPIC)

  63. def init():
  64.     return '初始化完成'
  65. u_gui=GUI()
  66. siot.init(client_id="5199281152081332",server="i.37ck.cn",port=1883,user="37ck",password="20200808")
  67. siot.connect()
  68. siot.loop()
  69. siot.set_callback(on_message_callback)
  70. GSuDu = 512
  71. PROJECT = '行空板M10'
  72. GOP = ["上线","前进","后退","左转","右转","停止"]
  73. GTOPIC = '37ck/801'
  74. 标题=u_gui.draw_text(text=PROJECT,x=0,y=10,font_size=20, color="#0000FF")
  75. 主题=u_gui.draw_text(text=GTOPIC,x=0,y=50,font_size=15, color="#993399")
  76. 接收消息=u_gui.draw_text(text="接收消息",x=0,y=280,font_size=15, color="#FF0000")
  77. FMQTT(GTOPIC)
  78. UI(77, 40)
  79. while True:
  80.     pass
复制代码




回复

使用道具 举报

194

主题

324

帖子

2399

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2399
 楼主| 发表于 2025-8-11 19:12:11 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|37创客科创中心

GMT+8, 2025-12-10 05:12 , Processed in 0.161250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表