Update(boards): xpython板卡执行 build:prod
This commit is contained in:
@@ -14,6 +14,7 @@ _CI_ID_GET = const(0x02)
|
|||||||
_CI_ID_SET = const(0x03)
|
_CI_ID_SET = const(0x03)
|
||||||
_CI_ID_NUM = const(0x06)
|
_CI_ID_NUM = const(0x06)
|
||||||
_CI_ID_CLE = const(0x07)
|
_CI_ID_CLE = const(0x07)
|
||||||
|
_CI_ID_PACTRL = const(0x09)
|
||||||
_CI_ID_END = const(0x5A)
|
_CI_ID_END = const(0x5A)
|
||||||
|
|
||||||
class CI130X:
|
class CI130X:
|
||||||
@@ -24,7 +25,11 @@ class CI130X:
|
|||||||
try:
|
try:
|
||||||
self._rreg(_CI_ID_GET, 3)
|
self._rreg(_CI_ID_GET, 3)
|
||||||
except:
|
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):
|
def _wreg(self, reg):
|
||||||
'''Write memory address'''
|
'''Write memory address'''
|
||||||
@@ -83,3 +88,7 @@ class CI130X:
|
|||||||
if end is not None:
|
if end is not None:
|
||||||
self.play_id(end)
|
self.play_id(end)
|
||||||
time.sleep_ms(delay)
|
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)
|
||||||
|
|||||||
@@ -225,7 +225,7 @@
|
|||||||
"micropython"
|
"micropython"
|
||||||
],
|
],
|
||||||
"__file__": true,
|
"__file__": true,
|
||||||
"__size__": 2484,
|
"__size__": 2770,
|
||||||
"__name__": "ci130x.py"
|
"__name__": "ci130x.py"
|
||||||
},
|
},
|
||||||
"debugnet": {
|
"debugnet": {
|
||||||
@@ -540,7 +540,7 @@
|
|||||||
"machine"
|
"machine"
|
||||||
],
|
],
|
||||||
"__file__": true,
|
"__file__": true,
|
||||||
"__size__": 6726,
|
"__size__": 6994,
|
||||||
"__name__": "music.py"
|
"__name__": "music.py"
|
||||||
},
|
},
|
||||||
"mxc6655xa": {
|
"mxc6655xa": {
|
||||||
@@ -668,7 +668,7 @@
|
|||||||
"espnow"
|
"espnow"
|
||||||
],
|
],
|
||||||
"__file__": true,
|
"__file__": true,
|
||||||
"__size__": 5454,
|
"__size__": 5905,
|
||||||
"__name__": "radio.py"
|
"__name__": "radio.py"
|
||||||
},
|
},
|
||||||
"rc522": {
|
"rc522": {
|
||||||
|
|||||||
@@ -28,12 +28,13 @@ normal_tone = {
|
|||||||
Letter = 'ABCDEFG#R'
|
Letter = 'ABCDEFG#R'
|
||||||
|
|
||||||
class MIDI():
|
class MIDI():
|
||||||
def __init__(self,pin,volume=100,invert=0):
|
def __init__(self, pin, volume=100, invert=0, pa_ctrl=None):
|
||||||
self.reset()
|
self.reset()
|
||||||
self._invert=invert
|
self._invert=invert
|
||||||
self._pin = pin
|
self._pin = pin
|
||||||
self._volume = volume
|
self._volume = volume
|
||||||
self._pwm = None
|
self._pwm = None
|
||||||
|
self._pa_ctrl = pa_ctrl
|
||||||
|
|
||||||
def set_volume(self,volume):
|
def set_volume(self,volume):
|
||||||
if not 0 <= volume <= 100:
|
if not 0 <= volume <= 100:
|
||||||
@@ -97,6 +98,7 @@ class MIDI():
|
|||||||
tone = tone[:pos]
|
tone = tone[:pos]
|
||||||
|
|
||||||
def play(self, tune, duration=None):
|
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)
|
self._pwm = PWM(Pin(self._pin), duty=1023 if self._invert else 0)
|
||||||
if duration is None:
|
if duration is None:
|
||||||
self.set_default(tune[0])
|
self.set_default(tune[0])
|
||||||
@@ -112,25 +114,29 @@ class MIDI():
|
|||||||
sleep_ms(midi[1])
|
sleep_ms(midi[1])
|
||||||
self._pwm.freq(400000)
|
self._pwm.freq(400000)
|
||||||
sleep_ms(1)
|
sleep_ms(1)
|
||||||
|
if self._pa_ctrl: self._pa_ctrl(0)
|
||||||
self._pwm.deinit()
|
self._pwm.deinit()
|
||||||
sleep_ms(10)
|
sleep_ms(10)
|
||||||
|
|
||||||
def pitch(self, freq):
|
def pitch(self, freq):
|
||||||
|
if self._pa_ctrl: self._pa_ctrl(1)
|
||||||
self._pwm = PWM(Pin(self._pin))
|
self._pwm = PWM(Pin(self._pin))
|
||||||
self._pwm.duty(1023-self._volume) if self._invert else self._pwm.duty(self._volume)
|
self._pwm.duty(1023-self._volume) if self._invert else self._pwm.duty(self._volume)
|
||||||
self._pwm.freq(int(freq))
|
self._pwm.freq(int(freq))
|
||||||
|
|
||||||
def pitch_time(self, freq, delay):
|
def pitch_time(self, freq, delay):
|
||||||
|
if self._pa_ctrl: self._pa_ctrl(1)
|
||||||
self._pwm = PWM(Pin(self._pin))
|
self._pwm = PWM(Pin(self._pin))
|
||||||
self._pwm.duty(1023-self._volume) if self._invert else self._pwm.duty(self._volume)
|
self._pwm.duty(1023-self._volume) if self._invert else self._pwm.duty(self._volume)
|
||||||
self._pwm.freq(int(freq))
|
self._pwm.freq(int(freq))
|
||||||
sleep_ms(delay)
|
sleep_ms(delay)
|
||||||
|
if self._pa_ctrl: self._pa_ctrl(0)
|
||||||
self._pwm.deinit()
|
self._pwm.deinit()
|
||||||
sleep_ms(10)
|
sleep_ms(10)
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
if self._pwm:
|
if self._pa_ctrl: self._pa_ctrl(0)
|
||||||
self._pwm.deinit()
|
if self._pwm: self._pwm.deinit()
|
||||||
sleep_ms(10)
|
sleep_ms(10)
|
||||||
|
|
||||||
DADADADUM=['r4:2','g','g','g','eb:8','r:2','f','f','f','d:8']
|
DADADADUM=['r4:2','g','g','g','eb:8','r:2','f','f','f','d:8']
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ class ESPNow(espnow.ESPNow):
|
|||||||
self._channel = channel
|
self._channel = channel
|
||||||
self._txpower = txpower
|
self._txpower = txpower
|
||||||
self._on_handle = {}
|
self._on_handle = {}
|
||||||
|
self._once_irq = True
|
||||||
self._nic = network.WLAN(network.STA_IF) #if version else network.WLAN(network.AP_IF)
|
self._nic = network.WLAN(network.STA_IF) #if version else network.WLAN(network.AP_IF)
|
||||||
self._nic.active(True)
|
self._nic.active(True)
|
||||||
self._nic.config(channel=self._channel, txpower=self._txpower)
|
self._nic.config(channel=self._channel, txpower=self._txpower)
|
||||||
@@ -46,7 +47,10 @@ class ESPNow(espnow.ESPNow):
|
|||||||
self._nic.active(True)
|
self._nic.active(True)
|
||||||
elif err.args[1] == 'ESP_ERR_ESPNOW_NOT_FOUND':
|
elif err.args[1] == 'ESP_ERR_ESPNOW_NOT_FOUND':
|
||||||
super().add_peer(_peer, channel=self._channel)
|
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':
|
elif err.args[1] == 'ESP_ERR_ESPNOW_NO_MEM':
|
||||||
raise OSError("internal ESP-NOW buffers are full")
|
raise OSError("internal ESP-NOW buffers are full")
|
||||||
elif err.args[1] == 'ESP_ERR_ESPNOW_ARG':
|
elif err.args[1] == 'ESP_ERR_ESPNOW_ARG':
|
||||||
@@ -65,6 +69,8 @@ class ESPNow(espnow.ESPNow):
|
|||||||
def set_channel(self, channel=None, txpower=None):
|
def set_channel(self, channel=None, txpower=None):
|
||||||
self._channel = self._channel if channel is None else channel
|
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)
|
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):
|
def _cb_handle0(self, event_code, data):
|
||||||
'''Callback processing conversion'''
|
'''Callback processing conversion'''
|
||||||
@@ -112,12 +118,14 @@ class ESPNow(espnow.ESPNow):
|
|||||||
self._on_handle(hexlify(host).decode(), msg.decode())
|
self._on_handle(hexlify(host).decode(), msg.decode())
|
||||||
|
|
||||||
def recv_cb(self, *args):
|
def recv_cb(self, *args):
|
||||||
'''Receive callback'''
|
'''Receive callback (single dictionary or lists)'''
|
||||||
if isinstance(args[0], str):
|
if len(args) >= 2:
|
||||||
self._on_handle[args[0]] = args[1]
|
self._on_handle.update({args[0]: args[1]})
|
||||||
else:
|
else:
|
||||||
self._on_handle = args[0]
|
self._on_handle = args[0]
|
||||||
if args[0]:
|
|
||||||
|
if self._once_irq:
|
||||||
|
self._once_irq = False
|
||||||
if version == 0:
|
if version == 0:
|
||||||
self.irq(self._cb_handle0)
|
self.irq(self._cb_handle0)
|
||||||
else:
|
else:
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
469
boards/default/micropython_educore/styles/main.9995ef5e.css
Normal file
469
boards/default/micropython_educore/styles/main.9995ef5e.css
Normal file
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
450
boards/default/micropython_esp32/styles/main.daca3d7e.css
Normal file
450
boards/default/micropython_esp32/styles/main.daca3d7e.css
Normal file
File diff suppressed because one or more lines are too long
@@ -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>
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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>
|
||||||
@@ -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>
|
||||||
@@ -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>
|
||||||
@@ -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>
|
||||||
File diff suppressed because one or more lines are too long
@@ -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>
|
||||||
@@ -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>
|
||||||
File diff suppressed because one or more lines are too long
@@ -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>
|
||||||
@@ -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>
|
||||||
@@ -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>
|
||||||
@@ -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>
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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>
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -357,109 +357,113 @@
|
|||||||
"__name__": "44-2-智能小车-P双巡线(MEGO).mix"
|
"__name__": "44-2-智能小车-P双巡线(MEGO).mix"
|
||||||
},
|
},
|
||||||
"北师大版教材示例代码": {
|
"北师大版教材示例代码": {
|
||||||
"第三单元": {
|
"八年级": {
|
||||||
"3-12 MIXIO使用.mix": {
|
"第三单元": {
|
||||||
"__file__": true,
|
"3-12 MIXIO使用.mix": {
|
||||||
"__name__": "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,
|
"2-11 RFID读取.mix": {
|
||||||
"__name__": "3-2a 无线发送.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,
|
"5-11 停车显示.mix": {
|
||||||
"__name__": "3-2b 无线接收.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,
|
"2-10 摔倒检测.mix": {
|
||||||
"__name__": "3-3a 蓝牙主机.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,
|
"4-10-11 MIXIO学生抢答.mix": {
|
||||||
"__name__": "3-3b 蓝牙从机.mix"
|
"__file__": true,
|
||||||
},
|
"__name__": "4-10-11 MIXIO学生抢答.mix"
|
||||||
"3-4 HTTP协议.mix": {
|
},
|
||||||
"__file__": true,
|
"4-15-16 MIXIO学生抢答2.mix": {
|
||||||
"__name__": "3-4 HTTP协议.mix"
|
"__file__": true,
|
||||||
},
|
"__name__": "4-15-16 MIXIO学生抢答2.mix"
|
||||||
"3-5 MQTT协议.mix": {
|
},
|
||||||
"__file__": true,
|
"4-5 MIXIO学生点到.mix": {
|
||||||
"__name__": "3-5 MQTT协议.mix"
|
"__file__": true,
|
||||||
|
"__name__": "4-5 MIXIO学生点到.mix"
|
||||||
|
},
|
||||||
|
"__file__": false,
|
||||||
|
"__name__": "第四单元"
|
||||||
},
|
},
|
||||||
"__file__": false,
|
"__file__": false,
|
||||||
"__name__": "第三单元"
|
"__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__": "第四单元"
|
|
||||||
},
|
},
|
||||||
"__file__": false,
|
"__file__": false,
|
||||||
"__name__": "北师大版教材示例代码"
|
"__name__": "北师大版教材示例代码"
|
||||||
@@ -592,6 +596,110 @@
|
|||||||
"__file__": false,
|
"__file__": false,
|
||||||
"__name__": "经典游戏复刻"
|
"__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,
|
"__file__": false,
|
||||||
"__name__": "MixGo MINI"
|
"__name__": "MixGo MINI"
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
469
boards/default/micropython_esp32c2/styles/main.9995ef5e.css
Normal file
469
boards/default/micropython_esp32c2/styles/main.9995ef5e.css
Normal file
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
459
boards/default/micropython_esp32c3/styles/main.b3372d53.css
Normal file
459
boards/default/micropython_esp32c3/styles/main.b3372d53.css
Normal file
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
439
boards/default/micropython_esp32s2/styles/main.a6bcf664.css
Normal file
439
boards/default/micropython_esp32s2/styles/main.a6bcf664.css
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -63,7 +63,7 @@
|
|||||||
"ci130x"
|
"ci130x"
|
||||||
],
|
],
|
||||||
"__file__": true,
|
"__file__": true,
|
||||||
"__size__": 6753,
|
"__size__": 6782,
|
||||||
"__name__": "mixgo_sant.py"
|
"__name__": "mixgo_sant.py"
|
||||||
},
|
},
|
||||||
"mixgo_zero": {
|
"mixgo_zero": {
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ onboard_rgb = NeoPixel(Pin(21), 4)
|
|||||||
|
|
||||||
'''1Buzzer-Music'''
|
'''1Buzzer-Music'''
|
||||||
from music import MIDI
|
from music import MIDI
|
||||||
onboard_music = MIDI(16)
|
onboard_music = MIDI(16, pa_ctrl=onboard_asr.pa_ctrl)
|
||||||
|
|
||||||
'''5KEY_Sensor'''
|
'''5KEY_Sensor'''
|
||||||
class KEYSensor:
|
class KEYSensor:
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
449
boards/default/micropython_esp32s3/styles/main.72e2096b.css
Normal file
449
boards/default/micropython_esp32s3/styles/main.72e2096b.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
364
boards/default/micropython_k210_mixgoai/styles/main.09543780.css
Normal file
364
boards/default/micropython_k210_mixgoai/styles/main.09543780.css
Normal file
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
430
boards/default/micropython_robot/styles/main.fe8e8307.css
Normal file
430
boards/default/micropython_robot/styles/main.fe8e8307.css
Normal file
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
211
boards/default/python_mixpy/styles/main.5ab36060.css
Normal file
211
boards/default/python_mixpy/styles/main.5ab36060.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
206
boards/default/python_pyodide/styles/main.652dd748.css
Normal file
206
boards/default/python_pyodide/styles/main.652dd748.css
Normal file
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
168
boards/default/python_skulpt/styles/main.94e0b346.css
Normal file
168
boards/default/python_skulpt/styles/main.94e0b346.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
141
boards/default/python_skulpt_car/styles/main.058da4a1.css
Normal file
141
boards/default/python_skulpt_car/styles/main.058da4a1.css
Normal file
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
130
boards/default/python_skulpt_mixtoy/styles/main.b8b9abd2.css
Normal file
130
boards/default/python_skulpt_mixtoy/styles/main.b8b9abd2.css
Normal file
File diff suppressed because one or more lines are too long
@@ -357,109 +357,113 @@
|
|||||||
"__name__": "44-2-智能小车-P双巡线(MEGO).mix"
|
"__name__": "44-2-智能小车-P双巡线(MEGO).mix"
|
||||||
},
|
},
|
||||||
"北师大版教材示例代码": {
|
"北师大版教材示例代码": {
|
||||||
"第三单元": {
|
"八年级": {
|
||||||
"3-12 MIXIO使用.mix": {
|
"第三单元": {
|
||||||
"__file__": true,
|
"3-12 MIXIO使用.mix": {
|
||||||
"__name__": "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,
|
"2-11 RFID读取.mix": {
|
||||||
"__name__": "3-2a 无线发送.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,
|
"5-11 停车显示.mix": {
|
||||||
"__name__": "3-2b 无线接收.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,
|
"2-10 摔倒检测.mix": {
|
||||||
"__name__": "3-3a 蓝牙主机.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,
|
"4-10-11 MIXIO学生抢答.mix": {
|
||||||
"__name__": "3-3b 蓝牙从机.mix"
|
"__file__": true,
|
||||||
},
|
"__name__": "4-10-11 MIXIO学生抢答.mix"
|
||||||
"3-4 HTTP协议.mix": {
|
},
|
||||||
"__file__": true,
|
"4-15-16 MIXIO学生抢答2.mix": {
|
||||||
"__name__": "3-4 HTTP协议.mix"
|
"__file__": true,
|
||||||
},
|
"__name__": "4-15-16 MIXIO学生抢答2.mix"
|
||||||
"3-5 MQTT协议.mix": {
|
},
|
||||||
"__file__": true,
|
"4-5 MIXIO学生点到.mix": {
|
||||||
"__name__": "3-5 MQTT协议.mix"
|
"__file__": true,
|
||||||
|
"__name__": "4-5 MIXIO学生点到.mix"
|
||||||
|
},
|
||||||
|
"__file__": false,
|
||||||
|
"__name__": "第四单元"
|
||||||
},
|
},
|
||||||
"__file__": false,
|
"__file__": false,
|
||||||
"__name__": "第三单元"
|
"__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__": "第四单元"
|
|
||||||
},
|
},
|
||||||
"__file__": false,
|
"__file__": false,
|
||||||
"__name__": "北师大版教材示例代码"
|
"__name__": "北师大版教材示例代码"
|
||||||
@@ -592,6 +596,110 @@
|
|||||||
"__file__": false,
|
"__file__": false,
|
||||||
"__name__": "经典游戏复刻"
|
"__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,
|
"__file__": false,
|
||||||
"__name__": "MixGo MINI"
|
"__name__": "MixGo MINI"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user