Update(boards): xpython板卡执行 build:prod

This commit is contained in:
王立帮
2025-03-15 00:09:36 +08:00
parent 9d93007740
commit 3acc813a16
95 changed files with 5235 additions and 4068 deletions

View File

@@ -14,6 +14,7 @@ _CI_ID_GET = const(0x02)
_CI_ID_SET = const(0x03)
_CI_ID_NUM = const(0x06)
_CI_ID_CLE = const(0x07)
_CI_ID_PACTRL = const(0x09)
_CI_ID_END = const(0x5A)
class CI130X:
@@ -24,7 +25,11 @@ class CI130X:
try:
self._rreg(_CI_ID_GET, 3)
except:
raise AttributeError("Cannot find a CI130X")
try: #C130X 启动慢,加延时判断
time.sleep_ms(500)
self._rreg(_CI_ID_GET, 3)
except:
raise AttributeError("Cannot find a CI130X")
def _wreg(self, reg):
'''Write memory address'''
@@ -83,3 +88,7 @@ class CI130X:
if end is not None:
self.play_id(end)
time.sleep_ms(delay)
def pa_ctrl(self, value=True, delay=10):
self._wreg(bytes([_CI_ID_PACTRL, int(value), 0, _CI_ID_END]))
if value: time.sleep_ms(delay)

View File

@@ -225,7 +225,7 @@
"micropython"
],
"__file__": true,
"__size__": 2484,
"__size__": 2770,
"__name__": "ci130x.py"
},
"debugnet": {
@@ -540,7 +540,7 @@
"machine"
],
"__file__": true,
"__size__": 6726,
"__size__": 6994,
"__name__": "music.py"
},
"mxc6655xa": {
@@ -668,7 +668,7 @@
"espnow"
],
"__file__": true,
"__size__": 5454,
"__size__": 5905,
"__name__": "radio.py"
},
"rc522": {

View File

@@ -28,12 +28,13 @@ normal_tone = {
Letter = 'ABCDEFG#R'
class MIDI():
def __init__(self,pin,volume=100,invert=0):
def __init__(self, pin, volume=100, invert=0, pa_ctrl=None):
self.reset()
self._invert=invert
self._pin = pin
self._volume = volume
self._pwm = None
self._pa_ctrl = pa_ctrl
def set_volume(self,volume):
if not 0 <= volume <= 100:
@@ -97,6 +98,7 @@ class MIDI():
tone = tone[:pos]
def play(self, tune, duration=None):
if self._pa_ctrl: self._pa_ctrl(1)
self._pwm = PWM(Pin(self._pin), duty=1023 if self._invert else 0)
if duration is None:
self.set_default(tune[0])
@@ -112,25 +114,29 @@ class MIDI():
sleep_ms(midi[1])
self._pwm.freq(400000)
sleep_ms(1)
if self._pa_ctrl: self._pa_ctrl(0)
self._pwm.deinit()
sleep_ms(10)
def pitch(self, freq):
if self._pa_ctrl: self._pa_ctrl(1)
self._pwm = PWM(Pin(self._pin))
self._pwm.duty(1023-self._volume) if self._invert else self._pwm.duty(self._volume)
self._pwm.freq(int(freq))
def pitch_time(self, freq, delay):
if self._pa_ctrl: self._pa_ctrl(1)
self._pwm = PWM(Pin(self._pin))
self._pwm.duty(1023-self._volume) if self._invert else self._pwm.duty(self._volume)
self._pwm.freq(int(freq))
sleep_ms(delay)
if self._pa_ctrl: self._pa_ctrl(0)
self._pwm.deinit()
sleep_ms(10)
def stop(self):
if self._pwm:
self._pwm.deinit()
if self._pa_ctrl: self._pa_ctrl(0)
if self._pwm: self._pwm.deinit()
sleep_ms(10)
DADADADUM=['r4:2','g','g','g','eb:8','r:2','f','f','f','d:8']

View File

@@ -21,6 +21,7 @@ class ESPNow(espnow.ESPNow):
self._channel = channel
self._txpower = txpower
self._on_handle = {}
self._once_irq = True
self._nic = network.WLAN(network.STA_IF) #if version else network.WLAN(network.AP_IF)
self._nic.active(True)
self._nic.config(channel=self._channel, txpower=self._txpower)
@@ -46,7 +47,10 @@ class ESPNow(espnow.ESPNow):
self._nic.active(True)
elif err.args[1] == 'ESP_ERR_ESPNOW_NOT_FOUND':
super().add_peer(_peer, channel=self._channel)
return super().send(_peer, str(msg))
try:
return super().send(_peer, str(msg))
except:
raise OSError("ESPNOW channel ({}) conflicts with WiFi channel ({})".format(self._channel, self.channel))
elif err.args[1] == 'ESP_ERR_ESPNOW_NO_MEM':
raise OSError("internal ESP-NOW buffers are full")
elif err.args[1] == 'ESP_ERR_ESPNOW_ARG':
@@ -65,6 +69,8 @@ class ESPNow(espnow.ESPNow):
def set_channel(self, channel=None, txpower=None):
self._channel = self._channel if channel is None else channel
self._nic.config(channel=self._channel, txpower=self._txpower if txpower is None else txpower)
if self._channel != self.channel:
print("Warning: The set channel ({}) does not match the actual channel ({})".format(self._channel, self.channel))
def _cb_handle0(self, event_code, data):
'''Callback processing conversion'''
@@ -112,12 +118,14 @@ class ESPNow(espnow.ESPNow):
self._on_handle(hexlify(host).decode(), msg.decode())
def recv_cb(self, *args):
'''Receive callback'''
if isinstance(args[0], str):
self._on_handle[args[0]] = args[1]
'''Receive callback (single dictionary or lists)'''
if len(args) >= 2:
self._on_handle.update({args[0]: args[1]})
else:
self._on_handle = args[0]
if args[0]:
if self._once_irq:
self._once_irq = False
if version == 0:
self.irq(self._cb_handle0)
else:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="iot_wifi_connect" id="6ld3p2Cg_MUqhJg}x0fo" x="-3976" y="-1412"><value name="WIFINAME"><shadow type="text" id="5nJwDFqu$P,l8o([hlL)"><field name="TEXT">fuhua</field></shadow></value><value name="PASSWORD"><shadow type="text" id="F[zi}PI}[fC,WjsPHa:{"><field name="TEXT">12345678</field></shadow></value><next><block type="onboard_RTC_settime_string" id="J_HQuQD!`Xw-?]@v+rk:"><value name="CONTENT"><shadow type="tuple_input" id="~y8urBqxyE|=H{o_Y}m4"><field name="CONTENT">2025,3,14,16,32,41</field></shadow><block type="ntptime_time" id="k2u)50Rze$O9fRz~:q6X"><value name="data"><shadow type="text" id="|KGe;YwV[VK:$R-s/lbd"><field name="TEXT">ntp.aliyun.com</field></shadow><block type="ntptime_address" id="KA+V|CoRakrJ92k[mK;X"><field name="op">ntp.aliyun.com</field></block></value></block></value><next><block type="controls_whileUntil" id="m(HjgN)S9akCdj)fuuCq"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="R*Fpy$l:O{pL^5Hi+hID"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id="]]a90Da;y.v(*8H.mq:O"><value name="VAR"><shadow type="text" id="z=2h?deCLuW8|F;?sby-"><field name="TEXT">Mixly</field></shadow><block type="text_substring" id="[ihVk5lCB^gZCpb5Ff,7"><value name="VAR"><shadow type="text" id="|$MQ+JpZ#vo;O2`RU+m*"><field name="TEXT">Mixly</field></shadow><block type="onboard_RTC_get_time_str" id="f$Qa5{!K^!v}t9ym2K7S"></block></value><value name="AT1"><shadow type="math_indexer_number" id="s|6;)CBE*MGnP/z;z}oF"><field name="NUM">11</field></shadow></value><value name="AT2"><shadow type="math_indexer_number" id="nL|g2U[p;9ga:#I_H;zM"><field name="NUM"></field></shadow></value></block></value><next><block type="display_scroll_string_delay" id=";*L#69zDVi#p)njn|z3_"><value name="data"><shadow type="text" id="6G4bc]9R2/ER}8iL8VjB"><field name="TEXT">Mixly</field></shadow><block type="text_substring" id="9gS~ibAJL4wBwv~{Kygs"><value name="VAR"><shadow type="text" id="|$MQ+JpZ#vo;O2`RU+m*"><field name="TEXT">Mixly</field></shadow><block type="onboard_RTC_get_time_str" id="nXH2|owW[#2+!vCu-2GV"></block></value><value name="AT1"><shadow type="math_indexer_number" id="_uD(42#T`=no:u-.q9E1"><field name="NUM">11</field></shadow></value><value name="AT2"><shadow type="math_indexer_number" id="q[+jwt9K/QSo@?|3(;_F"><field name="NUM"></field></shadow></value></block></value><value name="space"><shadow type="math_number" id="M3knPqWzp46NRdmr)^.w"><field name="NUM">0</field></shadow></value><value name="time"><shadow type="math_number" id="|OHptVNCS(1-uE:*i}62"><field name="NUM">50</field></shadow></value></block></next></block></statement></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1peGlvdAppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKd2hpbGUgVHJ1ZToKICAgIHByaW50KHJ0Y3RpbWUuc3RydGltZSgpWzExIDogXSkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChydGN0aW1lLnN0cnRpbWUoKVsxMSA6IF0sc3BlZWQgPTUwLHNwYWNlID0gMCkK</code>g==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="controls_whileUntil" id="(b4uBpQ**ZR@2^alxMME" x="-1061" y="-571"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="aW|*gv!_NrP1{8qBoZ__"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="system_print" id="nxoMTLi;-d~sw*7#`ib*"><value name="VAR"><shadow type="text" id="1nYP73VwsxoN.Ex=1tj6"><field name="TEXT">Mixly</field></shadow><block type="sensor_sound" id="za-jP8=eF6Jv,EWXkXx^"></block></value><next><block type="controls_delay_new" id="5(`C/XW0tB8!y+5lotH@"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="IrY,Sd}w.hII?5i3SJ5~"><field name="NUM">1</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpCiAgICB0aW1lLnNsZWVwKDEpCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="controls_whileUntil" id="(b4uBpQ**ZR@2^alxMME" x="-1061" y="-571"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="aW|*gv!_NrP1{8qBoZ__"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image_or_string_delay" id="`SS|8t3WOEC^l`Y/V8Gn"><field name="center">True</field><value name="data"><shadow type="text" id="}ayvx}6Mmvl7f;Y.qzX^"><field name="TEXT">Mixly</field></shadow><block type="variables_change" id="*nca0GjYr$q67fR4[I[2"><field name="OP">int</field><value name="MYVALUE"><block type="math_arithmetic" id="oVqP-JkpUo#4]m))H@)X"><field name="OP">ZHENGCHU</field><value name="A"><shadow type="math_number" id="(d`JbL?W9;Lk^g5BhYFI"><field name="NUM">1</field></shadow><block type="sensor_mixgo_pin_near_single" id="(mPZU2mjVb*{q5ptl7@m"></block></value><value name="B"><shadow type="math_number" id="*Y/GayI)m@`bX=3;5fbH"><field name="NUM">10</field></shadow></value></block></value></block></value><value name="space"><shadow type="math_number" id="7Gztxk:-gbp*.wRK2mC+"><field name="NUM">0</field></shadow></value><next><block type="controls_delay_new" id="hKgzRd9pqfF^#Y)L:VfD"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="S*y#DHZ.$B@(gR,r)$(`"><field name="NUM">1</field></shadow></value></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGludCgob25ib2FyZF9hbHMucHNfbmwoKSAvLyAxMCkpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgdGltZS5zbGVlcCgxKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="controls_whileUntil" id="MLRV(fFU1k8w@3Ka=f|)" x="-1125" y="-706"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="c*mV$xnm}.pUx+4ewb-7"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="F=Jw1$v=V_/8Y*UrEZ;e"><field name="VAR">红外接近数值</field><value name="VALUE"><block type="sensor_mixgo_pin_near_single" id=".hX}~lp(Dcxy5:w4}NtH"></block></value><next><block type="display_show_image_or_string_delay" id="D(Vsn[7@xuRiKq0CSICm"><field name="center">True</field><value name="data"><shadow type="text" id="Hys_*V~!l*2kBVfe|l/B"><field name="TEXT">Mixly</field></shadow><block type="variables_change" id="JlJG:fdyhldM}n#4+J{X"><field name="OP">int</field><value name="MYVALUE"><block type="math_arithmetic" id="U2Tenel66rU0,AHQAD~k"><field name="OP">ZHENGCHU</field><value name="A"><shadow type="math_number" id="_FfOH[sBg{ts0YL*)9TA"><field name="NUM">1</field></shadow><block type="variables_get" id="E04,FSvTRbvI~,HjQk[d"><field name="VAR">红外接近数值</field></block></value><value name="B"><shadow type="math_number" id="LQDGo+o~0n1nEAHib:$H"><field name="NUM">10</field></shadow></value></block></value></block></value><value name="space"><shadow type="math_number" id="n|F.,`u~l#.oZEa4E1O+"><field name="NUM">0</field></shadow></value><next><block type="controls_if" id="NA8nsKMb}TxZ38`4Au{,"><value name="IF0"><block type="logic_compare" id=",#31F|@{C@hkuTbQp;4l"><field name="OP">GT</field><value name="A"><block type="variables_get" id="p(5n-HaT#Ge{z;LC[VbU"><field name="VAR">红外接近数值</field></block></value><value name="B"><block type="math_number" id="=5XQj#zmk@UE45!O-ro1"><field name="NUM">40</field></block></value></block></value><statement name="DO0"><block type="esp32_onboard_music_pitch_with_time" id="ql.~Z[1`0:e)kvZ3W,~,"><value name="pitch"><shadow type="pins_tone_notes" id="y(~$OC_oI;2/2)@J/BDm"><field name="PIN">659</field></shadow></value><value name="time"><shadow type="math_number" id="$cFEJI`Sw43{AumPJQ}H"><field name="NUM">1000</field></shadow><block type="math_arithmetic" id="(B0@051?34r*#Ps`+V*j"><field name="OP">ZHENGCHU</field><value name="A"><shadow type="math_number" id="BL{4[P50*kE$c?}3F=9_"><field name="NUM">10000</field></shadow></value><value name="B"><shadow type="math_number" id="sZ,h/.Xm[o}#I-ND|ph*"><field name="NUM">1</field></shadow><block type="variables_get" id="jmygQkn$3UKe$iWO]G3-"><field name="VAR">红外接近数值</field></block></value></block></value><next><block type="controls_delay_new" id="=wD*mn)sL4/XlrB[(Gf-"><field name="Time">ms</field><value name="DELAY_TIME"><shadow type="math_number" id="=Z#3U;L}QS``+aPJj-n["><field name="NUM">1</field></shadow><block type="math_arithmetic" id="iWn2#7)rD`5jL]mWn6]`"><field name="OP">ZHENGCHU</field><value name="A"><shadow type="math_number" id="|ub+_e(Rn=$K4y:_5E-j"><field name="NUM">10000</field></shadow></value><value name="B"><shadow type="math_number" id="sZ,h/.Xm[o}#I-ND|ph*"><field name="NUM">1</field></shadow><block type="variables_get" id="7YF8LE43[!(2kQ`#Iq_a"><field name="VAR">红外接近数值</field></block></value></block></value></block></next></block></statement></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICDnuqLlpJbmjqXov5HmlbDlgLwgPSBvbmJvYXJkX2Fscy5wc19ubCgpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhpbnQoKOe6ouWkluaOpei/keaVsOWAvCAvLyAxMCkpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgaWYg57qi5aSW5o6l6L+R5pWw5YC8ID4gNDA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgKDEwMDAwIC8vIOe6ouWkluaOpei/keaVsOWAvCkpCiAgICAgICAgdGltZS5zbGVlcF9tcygoMTAwMDAgLy8g57qi5aSW5o6l6L+R5pWw5YC8KSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="controls_whileUntil" id="m(HjgN)S9akCdj)fuuCq" x="-3686" y="-1167"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="R*Fpy$l:O{pL^5Hi+hID"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="1Vk~*gXSKNC*g[x]3Qvk"><field name="VAR">卡号</field><value name="VALUE"><block type="mini_g2_rfid_readid" id="{ORTm8_l_Ezu|++b0CBL"></block></value><next><block type="controls_if" id=".qv*k/D~VdUT/qjCE?J;"><value name="IF0"><block type="logic_compare" id="mf1.BCq^;bE=|Z4LkCCA"><field name="OP">NEQ</field><value name="A"><block type="number_to_text" id="z1aVfJz/#hDQbiVgSZZM"><value name="VAR"><shadow type="variables_get" id="VZY@g!3U#s{eTBso+$GI"><field name="VAR">x</field></shadow><block type="variables_get" id="jhN4|4Rr{{t(dVc)I{~8"><field name="VAR">卡号</field></block></value></block></value><value name="B"><block type="text" id="-=wo)5q4RfwT][;hx)|~"><field name="TEXT">None</field></block></value></block></value><statement name="DO0"><block type="system_print" id="E47#h^10)Kq6#,53{?V("><value name="VAR"><shadow type="text" id="a$Gq@PP~d}^IgA}{C^A_"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="2qdl1|Ls0(fC[ZNabzUL"><field name="VAR">卡号</field></block></value><next><block type="esp32_onboard_music_pitch_with_time" id="Ew[!x#_scML=eAqEDD$T"><value name="pitch"><shadow type="pins_tone_notes" id="0.IVCh+8b,ChY/~mEzke"><field name="PIN">659</field></shadow></value><value name="time"><shadow type="math_number" id="4o^.)1`Os@:daV#,R},G"><field name="NUM">100</field></shadow></value><next><block type="controls_delay_new" id="36/#=dx^T)+kT+,WeKr@"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="(.TCZgpHY3C=/tl,a:IF"><field name="NUM">1</field></shadow></value></block></next></block></next></block></statement></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cijljaHlj7cpICE9ICdOb25lJzoKICAgICAgICBwcmludCjljaHlj7cpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="controls_whileUntil" id="IQUhC^FmGqVnQ{V$plY@" x="-1360" y="-400"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Em^@j9D-MHRQW+k,e(.5"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="display_show_image" id=")sMk5@KNz{~9~lckuhzw"><value name="data"><shadow type="pins_builtinimg" id="?M:VhkSs`+bcxvG[ExNq"><field name="PIN">onboard_matrix.DOOR_CLOSE</field></shadow></value><next><block type="controls_if" id="2Xz^viwFtRJQ]pO4s(46"><value name="IF0"><block type="logic_compare" id="ICAHzc_Ju,[FNVW-M[#_"><field name="OP">GT</field><value name="A"><block type="sensor_mixgo_pin_near_single" id="}c|.!aRxw`FDmbeoY(3i"></block></value><value name="B"><block type="math_number" id="5-H)I(`t$rQw|9ep^Ku="><field name="NUM">100</field></block></value></block></value><statement name="DO0"><block type="display_show_image" id="/|_qX(5kSblFq{0-bq5@"><value name="data"><shadow type="pins_builtinimg" id="55dv8o0c_.zoR7}y10QE"><field name="PIN">onboard_matrix.DOOR_OPENING</field></shadow></value><next><block type="controls_delay_new" id="78[$EMH0os,AbQZ-MDH*"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="[q[4i,)H/55fQSYE}Edd"><field name="NUM">0.3</field></shadow></value><next><block type="display_show_image" id="J@[x=g+.lv{H0FH1!JK("><value name="data"><shadow type="pins_builtinimg" id=";z{;J}~J^/-=WL,yx:=="><field name="PIN">onboard_matrix.DOOR_OPEN</field></shadow></value><next><block type="do_while" id="z}v(Uk-/`1pB/_]E_Tk4"><field name="type">true</field><value name="select_data"><block type="logic_compare" id="JZ.nComkGooTQ96T!G*W"><field name="OP">LT</field><value name="A"><block type="sensor_mixgo_pin_near_single" id="}eLqRN|@]YMe.!Rs}j),"></block></value><value name="B"><block type="math_number" id="d;y{uxX$Eq{33N.?Dknn"><field name="NUM">40</field></block></value></block></value><next><block type="display_show_image" id=";G;re$Er,#:mCjivBxpT"><value name="data"><shadow type="pins_builtinimg" id="R-WjgAoBUs0huWf6XmDE"><field name="PIN">onboard_matrix.DOOR_OPENING</field></shadow></value><next><block type="controls_delay_new" id="r-7z$*-y)S{]hpu|qS)o"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="T1wgGY+ZwC$IX6n7BfCT"><field name="NUM">0.3</field></shadow></value><next><block type="display_show_image" id="sIT07Vke]xB|?5HzvQ{G"><value name="data"><shadow type="pins_builtinimg" id="KotN$T|Qy].Q]wFoDD`k"><field name="PIN">onboard_matrix.DOOR_CLOSE</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCiAgICBpZiBvbmJvYXJkX2Fscy5wc19ubCgpID4gMTAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzLnBzX25sKCkgPCA0MCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="variables_set" id="}pfL(Trseyrc9Vlo)?V," x="-1360" y="-434"><field name="VAR">馆内人数</field><value name="VALUE"><block type="math_number" id="qD8BZ5{NkkLv5myo|ngF"><field name="NUM">0</field></block></value><next><block type="controls_whileUntil" id="IQUhC^FmGqVnQ{V$plY@"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Em^@j9D-MHRQW+k,e(.5"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="2Xz^viwFtRJQ]pO4s(46"><value name="IF0"><block type="logic_compare" id="ICAHzc_Ju,[FNVW-M[#_"><field name="OP">GT</field><value name="A"><block type="sensor_mixgo_pin_near_single" id="}c|.!aRxw`FDmbeoY(3i"></block></value><value name="B"><block type="math_number" id="5-H)I(`t$rQw|9ep^Ku="><field name="NUM">100</field></block></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="J/n3g8nd4)-Q(;fJ55BY"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="sPvSkG9{!Hb@;o{(GSMa"><field name="VAR">馆内人数</field></shadow></value><value name="B"><shadow type="math_number" id="q.kH8]KSW*1H16Bk/iR2"><field name="NUM">1</field></shadow></value><next><block type="display_show_image" id="/|_qX(5kSblFq{0-bq5@"><value name="data"><shadow type="pins_builtinimg" id="55dv8o0c_.zoR7}y10QE"><field name="PIN">onboard_matrix.DOOR_OPENING</field></shadow></value><next><block type="controls_delay_new" id="78[$EMH0os,AbQZ-MDH*"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="[q[4i,)H/55fQSYE}Edd"><field name="NUM">0.3</field></shadow></value><next><block type="display_show_image" id="J@[x=g+.lv{H0FH1!JK("><value name="data"><shadow type="pins_builtinimg" id=";z{;J}~J^/-=WL,yx:=="><field name="PIN">onboard_matrix.DOOR_OPEN</field></shadow></value><next><block type="do_while" id="z}v(Uk-/`1pB/_]E_Tk4"><field name="type">true</field><value name="select_data"><block type="logic_compare" id="JZ.nComkGooTQ96T!G*W"><field name="OP">LT</field><value name="A"><block type="sensor_mixgo_pin_near_single" id="}eLqRN|@]YMe.!Rs}j),"></block></value><value name="B"><block type="math_number" id="d;y{uxX$Eq{33N.?Dknn"><field name="NUM">40</field></block></value></block></value><next><block type="display_show_image" id=";G;re$Er,#:mCjivBxpT"><value name="data"><shadow type="pins_builtinimg" id="R-WjgAoBUs0huWf6XmDE"><field name="PIN">onboard_matrix.DOOR_OPENING</field></shadow></value><next><block type="controls_delay_new" id="r-7z$*-y)S{]hpu|qS)o"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="T1wgGY+ZwC$IX6n7BfCT"><field name="NUM">0.3</field></shadow></value><next><block type="display_show_image" id="sIT07Vke]xB|?5HzvQ{G"><value name="data"><shadow type="pins_builtinimg" id="KotN$T|Qy].Q]wFoDD`k"><field name="PIN">onboard_matrix.DOOR_CLOSE</field></shadow></value><next><block type="display_show_image_or_string_delay" id="e-l}]QyM_7EkXP:q9iyw"><field name="center">True</field><value name="data"><shadow type="text" id="*+-H_$fC84G)yiMk4Ojp"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="NrQuvM+yNr{Cgt:)QO.x"><field name="VAR">馆内人数</field></block></value><value name="space"><shadow type="math_number" id="Gg^mkYv[HRew?G9FJ/Ih"><field name="NUM">0</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></statement></block></next></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoK6aaG5YaF5Lq65pWwID0gMAp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDoKICAgICAgICDppoblhoXkurrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzLnBzX25sKCkgPCA0MCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOmmhuWGheS6uuaVsCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="controls_whileUntil" id="IQUhC^FmGqVnQ{V$plY@" x="-1585" y="-291"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Em^@j9D-MHRQW+k,e(.5"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="i=In6[CKCvuKDeS}]JWS"><field name="VAR">模拟温度输入</field><value name="VALUE"><block type="variables_change" id="?8A,jeI.wvrw$~e$oO/@"><field name="OP">int</field><value name="MYVALUE"><block type="math_map" id="OwKIW6A8dl2@6b6T#-o("><value name="NUM"><shadow type="math_number" id="kc|/k-,j7#kWb]N:~yv@"><field name="NUM">50</field></shadow><block type="sensor_mixgo_touch_slide" id="8AXq+pI$X)tDO4`JF~Vn"></block></value><value name="fromLow"><shadow type="math_number" id="Mi{+eH)){/(8Q}Q}E^f4"><field name="NUM">-100</field></shadow></value><value name="fromHigh"><shadow type="math_number" id=".Iv76pUSuc|r4`r^*I6C"><field name="NUM">100</field></shadow></value><value name="toLow"><shadow type="math_number" id="TfLC_?*5hidu1DS$7Vxa"><field name="NUM">0</field></shadow></value><value name="toHigh"><shadow type="math_number" id="nI3ts+S|Jnol2x+gcbXE"><field name="NUM">40</field></shadow></value></block></value></block></value><next><block type="controls_if" id="`5s{UZFwB^|lZBgsGByB"><value name="IF0"><block type="logic_compare" id="@[0MlRO66jA*9Zh*k0/S"><field name="OP">GT</field><value name="A"><block type="variables_get" id="5Ks~C)_PfdUo)Tciovo}"><field name="VAR">模拟温度输入</field></block></value><value name="B"><block type="math_number" id="*,:3VE10Kp04id)=K0je"><field name="NUM">30</field></block></value></block></value><statement name="DO0"><block type="controls_forEach" id="#WX6E`{C`/j#=SOT7AvD"><value name="LIST"><shadow type="list_many_input" id="LGA#bkYzsQl;8@Lv/IyT"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="hJ-2|ZOd~w^$ISX,XcMk"><value name="FROM"><shadow type="math_number" id=";?[N3t8Vhg7q0-6py`ca"><field name="NUM">0</field></shadow></value><value name="TO"><shadow type="math_number" id="(Y{!m@u;DAI{bhA8?]cp"><field name="NUM">360</field></shadow></value><value name="STEP"><shadow type="math_number" id="2kX_e@My$zICR)C/+qT-"><field name="NUM">1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="*@F5r]s)Gc$~=(V*z{2="><field name="VAR">i</field></shadow></value><statement name="DO"><block type="draw_pointer" id="3i*u1-.gMIPb^HO9_0}+"><value name="angle"><shadow type="math_number" id="x2}~o-/D8+]-d,QoAS#w"><field name="NUM">0</field></shadow><block type="variables_get" id="*/*D4.YE,{EXKUXOi+Wb"><field name="VAR">i</field></block></value></block></statement></block></statement></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKd2hpbGUgVHJ1ZToKICAgIOaooeaLn+a4qeW6pui+k+WFpSA9IGludCgobWF0aF9tYXAob25ib2FyZF9ib3QudG91Y2hfc2xpZGUoKSwgKC0xMDApLCAxMDAsIDAsIDQwKSkpCiAgICBpZiDmqKHmi5/muKnluqbovpPlhaUgPiAzMDoKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCAzNjAsIDEpOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5wb2ludGVybihhbmdsZT1pKQo=</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="controls_whileUntil" id="YH^VSy.X+z4b+d.5(PYv" x="-1282" y="-258"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="qfX3{Z8ld@FVl($xwb}="><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="UM8U[Q|T1}HE_(MrDM)("><field name="VAR">光照值</field><value name="VALUE"><block type="variables_change" id="X-r32~g)tBzrs^bC()J9"><field name="OP">int</field><value name="MYVALUE"><block type="sensor_LTR308" id="LM1=Qz4=+;ybT2Xh.l#s"></block></value></block></value><next><block type="display_show_image_or_string_delay" id="dPC+8bwXbBm6`3}rh[,4"><field name="center">True</field><value name="data"><shadow type="text" id="vaCqsALrSwpIx(x@L?;B"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="=vn5PjF7|XML5gKy=|HQ"><field name="VAR">光照值</field></block></value><value name="space"><shadow type="math_number" id="=5Z-o*URDoHF90OuyvO2"><field name="NUM">0</field></shadow></value><next><block type="controls_if" id="UGNDnfPJ$HKNc/;RrTci"><mutation else="1"></mutation><value name="IF0"><block type="logic_compare" id=")j#8m{u,g:fgXss|-@`m"><field name="OP">LT</field><value name="A"><block type="variables_get" id="fTgjM`u(-{`0Q(c{oShn"><field name="VAR">光照值</field></block></value><value name="B"><block type="math_number" id="tL/f+]!$Ebho}9N);960"><field name="NUM">40</field></block></value></block></value><statement name="DO0"><block type="actuator_led_bright" id="Xc!D?B(/Ot:c)wUjlhgY"><value name="led"><shadow type="number" id="SUXzuw?.83VL;9cc:ott"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="Q3JOTkc_G]``a=rRlKmd"><field name="flag">1</field></shadow></value><next><block type="actuator_led_bright" id="Nf]-ZsVvIdU9c5?-_|1W"><value name="led"><shadow type="number" id="4_.zEY}R4{DbEr4OO3UK"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id=",`=|@-l9?Ua;nI43Vw6)"><field name="flag">1</field></shadow></value></block></next></block></statement><statement name="ELSE"><block type="actuator_led_bright" id="5ch9(u_6H{#LA]#K2=4n"><value name="led"><shadow type="number" id="i|gq$F6P-QJd0z`W;A,_"><field name="op">1</field></shadow></value><value name="bright"><shadow type="ledswitch" id="|WgOp)?}aLE9j$~7A1gd"><field name="flag">0</field></shadow></value><next><block type="actuator_led_bright" id="|61HcAfic?r]!5_tw7I,"><value name="led"><shadow type="number" id="y]Bo:Se.ryw2SJI).4RR"><field name="op">2</field></shadow></value><value name="bright"><shadow type="ledswitch" id="{V:_Wc6P(DlOdv|=lQ]2"><field name="flag">0</field></shadow></value></block></next></block></statement><next><block type="controls_delay_new" id="T[+If#$gV1F_Kua7i7Qn"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="Y!nY1ES+e,h2paxHWf9L"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5YWJ54Wn5YC8ID0gaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOWFieeFp+WAvCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGlmIOWFieeFp+WAvCA8IDQwOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICB0aW1lLnNsZWVwKDEpCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="iot_wifi_connect" id="GI!Pf3kA/-yI{-ionbZ~" x="-1216" y="-445"><value name="WIFINAME"><shadow type="text" id="EI}l?(:qhUM`k*J,T6(T"><field name="TEXT">fuhua</field></shadow></value><value name="PASSWORD"><shadow type="text" id="VdIP^5ecGt?3zi#l:hsK"><field name="TEXT">12345678</field></shadow></value><next><block type="iot_mixio_connect" id="[fs85?]c)4$4ofR:@.I_"><value name="SERVER"><shadow type="text" id=",{s^2i[@e=rv^NOHBAY^"><field name="TEXT">mixio.mixly.cn</field></shadow></value><value name="USERNAME"><shadow type="text" id="VR4*.||cQzVQ(Ps-~3AI"><field name="TEXT">demo@mixly.org</field></shadow></value><value name="PASSWORD"><shadow type="text" id="#-o1-adk5mFwbPKTx#qP"><field name="TEXT">048e66146b4937557366489cb10fe055</field></shadow></value><value name="PROJECT"><shadow type="text" id="NyVGM[;#}9xkd4EuN.8p"><field name="TEXT">demo</field></shadow></value><next><block type="controls_whileUntil" id="YH^VSy.X+z4b+d.5(PYv"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="qfX3{Z8ld@FVl($xwb}="><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="UM8U[Q|T1}HE_(MrDM)("><field name="VAR">光照值</field><value name="VALUE"><block type="variables_change" id="X-r32~g)tBzrs^bC()J9"><field name="OP">int</field><value name="MYVALUE"><block type="sensor_LTR308" id="LM1=Qz4=+;ybT2Xh.l#s"></block></value></block></value><next><block type="display_show_image_or_string_delay" id="dPC+8bwXbBm6`3}rh[,4"><field name="center">True</field><value name="data"><shadow type="text" id="vaCqsALrSwpIx(x@L?;B"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="=vn5PjF7|XML5gKy=|HQ"><field name="VAR">光照值</field></block></value><value name="space"><shadow type="math_number" id="=5Z-o*URDoHF90OuyvO2"><field name="NUM">0</field></shadow></value><next><block type="IOT_MIXIO_PUBLISH" id="B`G:D2Hg2|s*H8$IL846"><value name="TOPIC"><shadow type="text" id="YP02B))m{~YF]3*SjQ#w"><field name="TEXT">光照强度</field></shadow></value><value name="MSG"><shadow type="text" id="U9OhMC7|Mrru|+8w+0{F"><field name="TEXT">msg</field></shadow><block type="variables_get" id="h:!Yz_.A]NZPKVCD3P8b"><field name="VAR">光照值</field></block></value><next><block type="controls_delay_new" id="glSQj@PWJ~/]Rq*-=_KU"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="L7S!a;!JEMgJg*q5UXla"><field name="NUM">5</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></xml><config>{}</config><code>aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YScsJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIOWFieeFp+WAvCA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjlhYnnhaflgLwsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhaflvLrluqYnLCDlhYnnhaflgLwpCiAgICB0aW1lLnNsZWVwKDUpCg==</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><variables><variable id="Nx{LR19}}N,P~KHcw}|t">client</variable><variable id="NV)i2.vjA|d#U^]~Nrdn">topic</variable><variable id="MLi]n5cwC9~4G}v...Y!">msg</variable></variables><block type="iot_wifi_connect" id="GI!Pf3kA/-yI{-ionbZ~" x="-1216" y="-445"><value name="WIFINAME"><shadow type="text" id="EI}l?(:qhUM`k*J,T6(T"><field name="TEXT">fuhua</field></shadow></value><value name="PASSWORD"><shadow type="text" id="VdIP^5ecGt?3zi#l:hsK"><field name="TEXT">12345678</field></shadow></value><next><block type="iot_mixio_connect" id="[fs85?]c)4$4ofR:@.I_"><value name="SERVER"><shadow type="text" id=",{s^2i[@e=rv^NOHBAY^"><field name="TEXT">mixio.mixly.cn</field></shadow></value><value name="USERNAME"><shadow type="text" id="VR4*.||cQzVQ(Ps-~3AI"><field name="TEXT">demo@mixly.org</field></shadow></value><value name="PASSWORD"><shadow type="text" id="#-o1-adk5mFwbPKTx#qP"><field name="TEXT">048e66146b4937557366489cb10fe055</field></shadow></value><value name="PROJECT"><shadow type="text" id="NyVGM[;#}9xkd4EuN.8p"><field name="TEXT">demo</field></shadow></value><next><block type="IOT_MIXIO_SUBSCRIBE" id=";X4?SIgNa^uO,/-jbP.Q"><value name="TOPIC"><shadow type="text" id="!j2,|#r?Q@[wI|*v}=wC"><field name="TEXT">光照强度</field></shadow></value><value name="METHOD"><shadow type="factory_block_return" id="f?9_5L_g];$X9Tr*Qe?2"><field name="VALUE">method</field></shadow></value><next><block type="controls_whileUntil" id="YH^VSy.X+z4b+d.5(PYv"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="qfX3{Z8ld@FVl($xwb}="><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="iot_mixio_check" id="FzSw9,y??Oun/pX.uQG^"></block></statement></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="C~I25r#,cR23~1/Zf!c?" x="-1147" y="-36"><mutation><arg name="client" varid="Nx{LR19}}N,P~KHcw}|t"></arg><arg name="topic" varid="NV)i2.vjA|d#U^]~Nrdn"></arg><arg name="msg" varid="MLi]n5cwC9~4G}v...Y!"></arg></mutation><field name="NAME">method</field><statement name="STACK"><block type="system_print" id="OS56vq[Bi)gj9YXw~Gvf"><value name="VAR"><shadow type="text" id="Y8BW3wlE1mdx}f,n7[C`"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="JVM]y(8ZASSx+c^3ia_9"><field name="VAR">msg</field></block></value></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIHByaW50KG1zZykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5YWJ54Wn5by65bqmJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflhYnnhaflvLrluqYnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK</code>

View File

@@ -0,0 +1 @@
<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><variables><variable id="R{(lk.WZeA[iX]:cfS8b">tim</variable></variables><block type="iot_wifi_connect" id="A6DHbfIw::+:sCS2:,gG" x="-1599" y="-569"><value name="WIFINAME"><shadow type="text" id="$#=CQ;GA6^#oiw42BjYG"><field name="TEXT">fuhua</field></shadow></value><value name="PASSWORD"><shadow type="text" id="Ux[c/M.k3-qVK5n{$L^c"><field name="TEXT">12345678</field></shadow></value><next><block type="iot_mixio_connect" id="Wggp.u4u;Js_/zb72KlN"><value name="SERVER"><shadow type="text" id="/4P)Bs_Nl1MVtY7Z/)9+"><field name="TEXT">mixio.mixly.cn</field></shadow></value><value name="USERNAME"><shadow type="text" id="(L|h=]c|_oEbF9p$PNSX"><field name="TEXT">demo@mixly.org</field></shadow></value><value name="PASSWORD"><shadow type="text" id="uVh(#H=dlHN`_92Pl$jA"><field name="TEXT">048e66146b4937557366489cb10fe055</field></shadow></value><value name="PROJECT"><shadow type="text" id="-)RttFR~nbXb!LF}:_/1"><field name="TEXT">demo</field></shadow></value><next><block type="variables_set" id="N]0TQ=#y[4EVjDnGzE`R"><field name="VAR">路灯编号</field><value name="VALUE"><block type="text" id="m=H]3P}D|,DEk,o7bf+{"><field name="TEXT">B板</field></block></value><next><block type="system_timer_init" id="9ua?3ZZUyJP-c..0p260"><value name="SUB"><shadow type="variables_get" id="D5q5DYTA9{Dmr+,0E{m!"><field name="VAR">tim</field></shadow></value><next><block type="system_timer" id="e(uW(ftk*;A!.B649|H~"><field name="mode">PERIODIC</field><value name="VAR"><shadow type="variables_get" id="$S+OYYohD^`PVzy_Hgq}"><field name="VAR">tim</field></shadow></value><value name="period"><shadow type="math_number" id=":Malu.5*RM=8WPMkD$9o"><field name="NUM">5000</field></shadow></value><value name="callback"><shadow type="factory_block_return" id="7X;{R8gplZ;${rlngYpn"><field name="VALUE">tim_callback</field></shadow></value><next><block type="controls_whileUntil" id="IQUhC^FmGqVnQ{V$plY@"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="Em^@j9D-MHRQW+k,e(.5"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="variables_set" id="2w8,4$RWCO:;)M_5{}~s"><field name="VAR">光照值</field><value name="VALUE"><block type="variables_change" id="rO/DTAF@:+)46`Qasrjq"><field name="OP">int</field><value name="MYVALUE"><block type="sensor_LTR308" id="Df*DOv;Qa[c:yCg:WraX"></block></value></block></value><next><block type="display_show_image_or_string_delay" id="vw$2uH(j2X1mGD=oicJs"><field name="center">True</field><value name="data"><shadow type="text" id="RIqA3O4vCj-uJ$L.Lc-F"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="Cm1r+hXq*CEQ2gZdXbG]"><field name="VAR">光照值</field></block></value><value name="space"><shadow type="math_number" id="(-!fv0]gt2Nko.Z`n:6r"><field name="NUM">0</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="_!aLgm+5znsg?$Gfxq^:" x="-1601" y="-136"><mutation><arg name="tim" varid="R{(lk.WZeA[iX]:cfS8b"></arg></mutation><field name="NAME">tim_callback</field><statement name="STACK"><block type="IOT_MIXIO_PUBLISH" id="k|F|5KUv4BNqJdHx@}P`"><value name="TOPIC"><shadow type="text" id="K}0N+Bd*o6[-K1Be$UV,"><field name="TEXT">光照信息</field></shadow><block type="text_join" id="34YF@{zf@$VHce8D_N1("><value name="A"><shadow type="text" id="rWd?vx*7[_iqDKxN=fE#"><field name="TEXT">Hello</field></shadow><block type="variables_get" id="4yaYD^YoN]oMV;q?wFE!"><field name="VAR">路灯编号</field></block></value><value name="B"><shadow type="text" id="IMGyT~o-=EWggEvz-KSn"><field name="TEXT">光照信息</field></shadow></value></block></value><value name="MSG"><shadow type="text" id="jsg;0Mzhqie/-MEqOf)Z"><field name="TEXT">msg</field></shadow><block type="variables_get" id="_pu5/szH;=)e{9?_Cz.h"><field name="VAR">光照值</field></block></value></block></statement></block></xml><config>{}</config><code>aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICjot6/nga/nvJblj7cgKyAn5YWJ54Wn5L+h5oGvJyksIOWFieeFp+WAvCkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCui3r+eBr+e8luWPtyA9ICdC5p2/Jwp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIOWFieeFp+WAvCA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjlhYnnhaflgLwsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCg==</code>

View File

@@ -357,109 +357,113 @@
"__name__": "44-2-智能小车-P双巡线(MEGO).mix"
},
"北师大版教材示例代码": {
"第三单元": {
"3-12 MIXIO使用.mix": {
"__file__": true,
"__name__": "3-12 MIXIO使用.mix"
"八年级": {
"第三单元": {
"3-12 MIXIO使用.mix": {
"__file__": true,
"__name__": "3-12 MIXIO使用.mix"
},
"3-2a 无线发送.mix": {
"__file__": true,
"__name__": "3-2a 无线发送.mix"
},
"3-2b 无线接收.mix": {
"__file__": true,
"__name__": "3-2b 无线接收.mix"
},
"3-3a 蓝牙主机.mix": {
"__file__": true,
"__name__": "3-3a 蓝牙主机.mix"
},
"3-3b 蓝牙从机.mix": {
"__file__": true,
"__name__": "3-3b 蓝牙从机.mix"
},
"3-4 HTTP协议.mix": {
"__file__": true,
"__name__": "3-4 HTTP协议.mix"
},
"3-5 MQTT协议.mix": {
"__file__": true,
"__name__": "3-5 MQTT协议.mix"
},
"__file__": false,
"__name__": "第三单元"
},
"3-2a 无线发送.mix": {
"__file__": true,
"__name__": "3-2a 无线发送.mix"
"第二单元": {
"2-11 RFID读取.mix": {
"__file__": true,
"__name__": "2-11 RFID读取.mix"
},
"2-16 WIFI扫描.mix": {
"__file__": true,
"__name__": "2-16 WIFI扫描.mix"
},
"2-4 获取光强.mix": {
"__file__": true,
"__name__": "2-4 获取光强.mix"
},
"2-5 楼道灯.mix": {
"__file__": true,
"__name__": "2-5 楼道灯.mix"
},
"__file__": false,
"__name__": "第二单元"
},
"3-2b 无线接收.mix": {
"__file__": true,
"__name__": "3-2b 无线接收.mix"
"第五单元": {
"5-11 停车显示.mix": {
"__file__": true,
"__name__": "5-11 停车显示.mix"
},
"5-19 车位检测.mix": {
"__file__": true,
"__name__": "5-19 车位检测.mix"
},
"5-20 空位显示.mix": {
"__file__": true,
"__name__": "5-20 空位显示.mix"
},
"5-9 停车空位.mix": {
"__file__": true,
"__name__": "5-9 停车空位.mix"
},
"__file__": false,
"__name__": "第五单元"
},
"3-3a 蓝牙主机.mix": {
"__file__": true,
"__name__": "3-3a 蓝牙主机.mix"
"第六单元": {
"2-10 摔倒检测.mix": {
"__file__": true,
"__name__": "2-10 摔倒检测.mix"
},
"2-2 温度与光照.mix": {
"__file__": true,
"__name__": "2-2 温度与光照.mix"
},
"2-7 震动强度.mix": {
"__file__": true,
"__name__": "2-7 震动强度.mix"
},
"__file__": false,
"__name__": "第六单元"
},
"3-3b 蓝牙从机.mix": {
"__file__": true,
"__name__": "3-3b 蓝牙从机.mix"
},
"3-4 HTTP协议.mix": {
"__file__": true,
"__name__": "3-4 HTTP协议.mix"
},
"3-5 MQTT协议.mix": {
"__file__": true,
"__name__": "3-5 MQTT协议.mix"
"第四单元": {
"4-10-11 MIXIO学生抢答.mix": {
"__file__": true,
"__name__": "4-10-11 MIXIO学生抢答.mix"
},
"4-15-16 MIXIO学生抢答2.mix": {
"__file__": true,
"__name__": "4-15-16 MIXIO学生抢答2.mix"
},
"4-5 MIXIO学生点到.mix": {
"__file__": true,
"__name__": "4-5 MIXIO学生点到.mix"
},
"__file__": false,
"__name__": "第四单元"
},
"__file__": false,
"__name__": "第三单元"
},
"第二单元": {
"2-11 RFID读取.mix": {
"__file__": true,
"__name__": "2-11 RFID读取.mix"
},
"2-16 WIFI扫描.mix": {
"__file__": true,
"__name__": "2-16 WIFI扫描.mix"
},
"2-4 获取光强.mix": {
"__file__": true,
"__name__": "2-4 获取光强.mix"
},
"2-5 楼道灯.mix": {
"__file__": true,
"__name__": "2-5 楼道灯.mix"
},
"__file__": false,
"__name__": "第二单元"
},
"第五单元": {
"5-11 停车显示.mix": {
"__file__": true,
"__name__": "5-11 停车显示.mix"
},
"5-19 车位检测.mix": {
"__file__": true,
"__name__": "5-19 车位检测.mix"
},
"5-20 空位显示.mix": {
"__file__": true,
"__name__": "5-20 空位显示.mix"
},
"5-9 停车空位.mix": {
"__file__": true,
"__name__": "5-9 停车空位.mix"
},
"__file__": false,
"__name__": "第五单元"
},
"第六单元": {
"2-10 摔倒检测.mix": {
"__file__": true,
"__name__": "2-10 摔倒检测.mix"
},
"2-2 温度与光照.mix": {
"__file__": true,
"__name__": "2-2 温度与光照.mix"
},
"2-7 震动强度.mix": {
"__file__": true,
"__name__": "2-7 震动强度.mix"
},
"__file__": false,
"__name__": "第六单元"
},
"第四单元": {
"4-10-11 MIXIO学生抢答.mix": {
"__file__": true,
"__name__": "4-10-11 MIXIO学生抢答.mix"
},
"4-15-16 MIXIO学生抢答2.mix": {
"__file__": true,
"__name__": "4-15-16 MIXIO学生抢答2.mix"
},
"4-5 MIXIO学生点到.mix": {
"__file__": true,
"__name__": "4-5 MIXIO学生点到.mix"
},
"__file__": false,
"__name__": "第四单元"
"__name__": "八年级"
},
"__file__": false,
"__name__": "北师大版教材示例代码"
@@ -592,6 +596,110 @@
"__file__": false,
"__name__": "经典游戏复刻"
},
"苏版版教材示例代码": {
"八年级": {
"第三单元": {
"3-1 网络获取时间.mix": {
"__file__": true,
"__name__": "3-1 网络获取时间.mix"
},
"3-2 蓝牙数据传输主机.mix": {
"__file__": true,
"__name__": "3-2 蓝牙数据传输主机.mix"
},
"3-2 蓝牙数据传输从机.mix": {
"__file__": true,
"__name__": "3-2 蓝牙数据传输从机.mix"
},
"__file__": false,
"__name__": "第三单元"
},
"第二单元": {
"2-1 采集环境声音.mix": {
"__file__": true,
"__name__": "2-1 采集环境声音.mix"
},
"2-2 红外测距测试.mix": {
"__file__": true,
"__name__": "2-2 红外测距测试.mix"
},
"2-3 模拟倒车雷达.mix": {
"__file__": true,
"__name__": "2-3 模拟倒车雷达.mix"
},
"2-5 RFID读卡测试.mix": {
"__file__": true,
"__name__": "2-5 RFID读卡测试.mix"
},
"2-6 RFID写卡充值.mix": {
"__file__": true,
"__name__": "2-6 RFID写卡充值.mix"
},
"__file__": false,
"__name__": "第二单元"
},
"第五单元": {
"5-1 图书馆自动开关门.mix": {
"__file__": true,
"__name__": "5-1 图书馆自动开关门.mix"
},
"5-2 图书馆人数统计.mix": {
"__file__": true,
"__name__": "5-2 图书馆人数统计.mix"
},
"5-3 图书馆满员提示.mix": {
"__file__": true,
"__name__": "5-3 图书馆满员提示.mix"
},
"5-4 图书馆模拟温度控制.mix": {
"__file__": true,
"__name__": "5-4 图书馆模拟温度控制.mix"
},
"__file__": false,
"__name__": "第五单元"
},
"第四单元": {
"4-1 本地控制单路灯.mix": {
"__file__": true,
"__name__": "4-1 本地控制单路灯.mix"
},
"4-2 定时上报光照强度.mix": {
"__file__": true,
"__name__": "4-2 定时上报光照强度.mix"
},
"4-3 订阅光照强度.mix": {
"__file__": true,
"__name__": "4-3 订阅光照强度.mix"
},
"4-3 远程控制路灯.mix": {
"__file__": true,
"__name__": "4-3 远程控制路灯.mix"
},
"4-4 定时器多路灯上报光照强度.mix": {
"__file__": true,
"__name__": "4-4 定时器多路灯上报光照强度.mix"
},
"4-4 定时器多路灯上报光照强度书中写法.mix": {
"__file__": true,
"__name__": "4-4 定时器多路灯上报光照强度书中写法.mix"
},
"4-5 同时控制多路灯.mix": {
"__file__": true,
"__name__": "4-5 同时控制多路灯.mix"
},
"4-5 同时控制多路灯书中写法.mix": {
"__file__": true,
"__name__": "4-5 同时控制多路灯书中写法.mix"
},
"__file__": false,
"__name__": "第四单元"
},
"__file__": false,
"__name__": "八年级"
},
"__file__": false,
"__name__": "苏版版教材示例代码"
},
"__file__": false,
"__name__": "MixGo MINI"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -63,7 +63,7 @@
"ci130x"
],
"__file__": true,
"__size__": 6753,
"__size__": 6782,
"__name__": "mixgo_sant.py"
},
"mixgo_zero": {

View File

@@ -85,7 +85,7 @@ onboard_rgb = NeoPixel(Pin(21), 4)
'''1Buzzer-Music'''
from music import MIDI
onboard_music = MIDI(16)
onboard_music = MIDI(16, pa_ctrl=onboard_asr.pa_ctrl)
'''5KEY_Sensor'''
class KEYSensor:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -357,109 +357,113 @@
"__name__": "44-2-智能小车-P双巡线(MEGO).mix"
},
"北师大版教材示例代码": {
"第三单元": {
"3-12 MIXIO使用.mix": {
"__file__": true,
"__name__": "3-12 MIXIO使用.mix"
"八年级": {
"第三单元": {
"3-12 MIXIO使用.mix": {
"__file__": true,
"__name__": "3-12 MIXIO使用.mix"
},
"3-2a 无线发送.mix": {
"__file__": true,
"__name__": "3-2a 无线发送.mix"
},
"3-2b 无线接收.mix": {
"__file__": true,
"__name__": "3-2b 无线接收.mix"
},
"3-3a 蓝牙主机.mix": {
"__file__": true,
"__name__": "3-3a 蓝牙主机.mix"
},
"3-3b 蓝牙从机.mix": {
"__file__": true,
"__name__": "3-3b 蓝牙从机.mix"
},
"3-4 HTTP协议.mix": {
"__file__": true,
"__name__": "3-4 HTTP协议.mix"
},
"3-5 MQTT协议.mix": {
"__file__": true,
"__name__": "3-5 MQTT协议.mix"
},
"__file__": false,
"__name__": "第三单元"
},
"3-2a 无线发送.mix": {
"__file__": true,
"__name__": "3-2a 无线发送.mix"
"第二单元": {
"2-11 RFID读取.mix": {
"__file__": true,
"__name__": "2-11 RFID读取.mix"
},
"2-16 WIFI扫描.mix": {
"__file__": true,
"__name__": "2-16 WIFI扫描.mix"
},
"2-4 获取光强.mix": {
"__file__": true,
"__name__": "2-4 获取光强.mix"
},
"2-5 楼道灯.mix": {
"__file__": true,
"__name__": "2-5 楼道灯.mix"
},
"__file__": false,
"__name__": "第二单元"
},
"3-2b 无线接收.mix": {
"__file__": true,
"__name__": "3-2b 无线接收.mix"
"第五单元": {
"5-11 停车显示.mix": {
"__file__": true,
"__name__": "5-11 停车显示.mix"
},
"5-19 车位检测.mix": {
"__file__": true,
"__name__": "5-19 车位检测.mix"
},
"5-20 空位显示.mix": {
"__file__": true,
"__name__": "5-20 空位显示.mix"
},
"5-9 停车空位.mix": {
"__file__": true,
"__name__": "5-9 停车空位.mix"
},
"__file__": false,
"__name__": "第五单元"
},
"3-3a 蓝牙主机.mix": {
"__file__": true,
"__name__": "3-3a 蓝牙主机.mix"
"第六单元": {
"2-10 摔倒检测.mix": {
"__file__": true,
"__name__": "2-10 摔倒检测.mix"
},
"2-2 温度与光照.mix": {
"__file__": true,
"__name__": "2-2 温度与光照.mix"
},
"2-7 震动强度.mix": {
"__file__": true,
"__name__": "2-7 震动强度.mix"
},
"__file__": false,
"__name__": "第六单元"
},
"3-3b 蓝牙从机.mix": {
"__file__": true,
"__name__": "3-3b 蓝牙从机.mix"
},
"3-4 HTTP协议.mix": {
"__file__": true,
"__name__": "3-4 HTTP协议.mix"
},
"3-5 MQTT协议.mix": {
"__file__": true,
"__name__": "3-5 MQTT协议.mix"
"第四单元": {
"4-10-11 MIXIO学生抢答.mix": {
"__file__": true,
"__name__": "4-10-11 MIXIO学生抢答.mix"
},
"4-15-16 MIXIO学生抢答2.mix": {
"__file__": true,
"__name__": "4-15-16 MIXIO学生抢答2.mix"
},
"4-5 MIXIO学生点到.mix": {
"__file__": true,
"__name__": "4-5 MIXIO学生点到.mix"
},
"__file__": false,
"__name__": "第四单元"
},
"__file__": false,
"__name__": "第三单元"
},
"第二单元": {
"2-11 RFID读取.mix": {
"__file__": true,
"__name__": "2-11 RFID读取.mix"
},
"2-16 WIFI扫描.mix": {
"__file__": true,
"__name__": "2-16 WIFI扫描.mix"
},
"2-4 获取光强.mix": {
"__file__": true,
"__name__": "2-4 获取光强.mix"
},
"2-5 楼道灯.mix": {
"__file__": true,
"__name__": "2-5 楼道灯.mix"
},
"__file__": false,
"__name__": "第二单元"
},
"第五单元": {
"5-11 停车显示.mix": {
"__file__": true,
"__name__": "5-11 停车显示.mix"
},
"5-19 车位检测.mix": {
"__file__": true,
"__name__": "5-19 车位检测.mix"
},
"5-20 空位显示.mix": {
"__file__": true,
"__name__": "5-20 空位显示.mix"
},
"5-9 停车空位.mix": {
"__file__": true,
"__name__": "5-9 停车空位.mix"
},
"__file__": false,
"__name__": "第五单元"
},
"第六单元": {
"2-10 摔倒检测.mix": {
"__file__": true,
"__name__": "2-10 摔倒检测.mix"
},
"2-2 温度与光照.mix": {
"__file__": true,
"__name__": "2-2 温度与光照.mix"
},
"2-7 震动强度.mix": {
"__file__": true,
"__name__": "2-7 震动强度.mix"
},
"__file__": false,
"__name__": "第六单元"
},
"第四单元": {
"4-10-11 MIXIO学生抢答.mix": {
"__file__": true,
"__name__": "4-10-11 MIXIO学生抢答.mix"
},
"4-15-16 MIXIO学生抢答2.mix": {
"__file__": true,
"__name__": "4-15-16 MIXIO学生抢答2.mix"
},
"4-5 MIXIO学生点到.mix": {
"__file__": true,
"__name__": "4-5 MIXIO学生点到.mix"
},
"__file__": false,
"__name__": "第四单元"
"__name__": "八年级"
},
"__file__": false,
"__name__": "北师大版教材示例代码"
@@ -592,6 +596,110 @@
"__file__": false,
"__name__": "经典游戏复刻"
},
"苏版版教材示例代码": {
"八年级": {
"第三单元": {
"3-1 网络获取时间.mix": {
"__file__": true,
"__name__": "3-1 网络获取时间.mix"
},
"3-2 蓝牙数据传输主机.mix": {
"__file__": true,
"__name__": "3-2 蓝牙数据传输主机.mix"
},
"3-2 蓝牙数据传输从机.mix": {
"__file__": true,
"__name__": "3-2 蓝牙数据传输从机.mix"
},
"__file__": false,
"__name__": "第三单元"
},
"第二单元": {
"2-1 采集环境声音.mix": {
"__file__": true,
"__name__": "2-1 采集环境声音.mix"
},
"2-2 红外测距测试.mix": {
"__file__": true,
"__name__": "2-2 红外测距测试.mix"
},
"2-3 模拟倒车雷达.mix": {
"__file__": true,
"__name__": "2-3 模拟倒车雷达.mix"
},
"2-5 RFID读卡测试.mix": {
"__file__": true,
"__name__": "2-5 RFID读卡测试.mix"
},
"2-6 RFID写卡充值.mix": {
"__file__": true,
"__name__": "2-6 RFID写卡充值.mix"
},
"__file__": false,
"__name__": "第二单元"
},
"第五单元": {
"5-1 图书馆自动开关门.mix": {
"__file__": true,
"__name__": "5-1 图书馆自动开关门.mix"
},
"5-2 图书馆人数统计.mix": {
"__file__": true,
"__name__": "5-2 图书馆人数统计.mix"
},
"5-3 图书馆满员提示.mix": {
"__file__": true,
"__name__": "5-3 图书馆满员提示.mix"
},
"5-4 图书馆模拟温度控制.mix": {
"__file__": true,
"__name__": "5-4 图书馆模拟温度控制.mix"
},
"__file__": false,
"__name__": "第五单元"
},
"第四单元": {
"4-1 本地控制单路灯.mix": {
"__file__": true,
"__name__": "4-1 本地控制单路灯.mix"
},
"4-2 定时上报光照强度.mix": {
"__file__": true,
"__name__": "4-2 定时上报光照强度.mix"
},
"4-3 订阅光照强度.mix": {
"__file__": true,
"__name__": "4-3 订阅光照强度.mix"
},
"4-3 远程控制路灯.mix": {
"__file__": true,
"__name__": "4-3 远程控制路灯.mix"
},
"4-4 定时器多路灯上报光照强度.mix": {
"__file__": true,
"__name__": "4-4 定时器多路灯上报光照强度.mix"
},
"4-4 定时器多路灯上报光照强度书中写法.mix": {
"__file__": true,
"__name__": "4-4 定时器多路灯上报光照强度书中写法.mix"
},
"4-5 同时控制多路灯.mix": {
"__file__": true,
"__name__": "4-5 同时控制多路灯.mix"
},
"4-5 同时控制多路灯书中写法.mix": {
"__file__": true,
"__name__": "4-5 同时控制多路灯书中写法.mix"
},
"__file__": false,
"__name__": "第四单元"
},
"__file__": false,
"__name__": "八年级"
},
"__file__": false,
"__name__": "苏版版教材示例代码"
},
"__file__": false,
"__name__": "MixGo MINI"
}