wangrong
2026-08-24 beef6536e7c8dd3f5cbe8f73585611479910bea7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
ó
^13j
ãóL•SSKJrJrJr SSKJr \"SS/S9rS\4Sjr\RS5S\4S    j5r    \RS
5S\S \ 4S j5r \RS 5S\S \ 4Sj5r \RS5S\4Sj5r\RS5S\S \ 4Sj5r\RS5S\S \ 4Sj5r\RS5S\S \ 4Sj5r\R%S5S\S \ S\4Sj5r\R%S5S\S \ S\4Sj5rg)é)Ú    APIRouterÚ HTTPExceptionÚRequest)Ú MqttCommandz/api/v1/devicesÚdevices)ÚprefixÚtagsÚrequestcóB•URRR$)N)ÚappÚstateÚmqtt)r
s Ú-E:\smartlearning\server\app\routes\devices.pyÚ    _get_mqttrs€Ø ;‰;× Ñ × !Ñ !Ð!óz /initializedcƒón# •URRRnSUR50$7f©Nr)r r Ú init_registryÚlist_initialized)r
Úregistrys  rÚlist_initialized_devicesr s.é€à{‰{× Ñ ×.Ñ.€HØ x×0Ñ0Ó2Ð 3Ð3ùs‚35z/initialized/{device_id}Ú    device_idcƒó”# •URRRnURU5(d
[    SSS9eUSS.$7f)Né”z"Device not in initialized registry©Ú status_codeÚdetailÚremoved)rÚstatus)r r rÚremover)r
rrs   rÚreset_initialized_devicer!sBé€à{‰{× Ñ ×.Ñ.€HØ ?‰?˜9× %Ñ %ܨÐ4XÑYÐYØ"¨iÑ 8Ð8ùs‚AAz/{device_id}/init-statuscƒó|# •URRRnURU5nUUSLUS.$7f)N)rÚ initializedÚrecord)r r rÚ
get_record)r
rrr$s    rÚget_device_init_statusr&sBé€à{‰{× Ñ ×.Ñ.€HØ ×  Ñ   Ó +€FàØ TÐ)Øñ ðùs‚:<Úcƒó´# •URRRnSUR5Vs/sHo"R    5PM  sn0$s snf7fr)r r Ú device_storeÚ list_devicesÚ
model_dump)r
ÚstoreÚds   rr*r*%sFé€à K‰K× Ñ × *Ñ *€EØ °×0BÑ0BÔ0DÓEÒ0D¨1Ÿ ™ žÑ0DÑEÐ FÐFùÒEùs‚4A¶AÁ    Az /{device_id}cƒó’# •URRRnURU5nU(d
[    SSS9eU$7f)NrzDevice not foundr)r r r)Ú
get_devicer)r
rr,Údevices    rr/r/+s@é€à K‰K× Ñ × *Ñ *€EØ × Ñ ˜iÓ (€FÞ Ü¨Ð4FÑGÐGØ €Mùs‚AAz/{device_id}/ackscƒóp# •URRRnXRU5S.$7f)N)rÚacks)r r r)Úget_acks©r
rr,s   rÚget_device_acksr54s,é€à K‰K× Ñ × *Ñ *€EØ"¯N©N¸9Ó,EÑ FÐFùó‚46z/{device_id}/eventscƒóp# •URRRnXRU5S.$7f)N)rÚevents)r r r)Ú
get_eventsr4s   rÚget_device_eventsr::s.é€à K‰K× Ñ × *Ñ *€EØ"×.>Ñ.>¸yÓ.IÑ JÐJùr6z/{device_id}/cmdÚcommandcƒó¬# •[U5nURXRURURR
=(d S5nU$7f)Né<)rÚ publish_ctlÚactionÚpayloadÚheaderÚttl©r
rr;rÚresults     rÚ send_commandrE@s@é€ä WÓ €DØ × Ñ ˜i¯©¸¿¹È'Ï.É.×J\ÑJ\×JbÐ`bÓ c€FØ €Mùó‚AAz/{device_id}/taskcƒó¬# •[U5nURXRURURR
=(d S5nU$7f)Ni)rÚ publish_taskr?r@rArBrCs     rÚ    send_taskrIGs@é€ä WÓ €DØ × Ñ ˜y¯.©.¸'¿/¹/È7Ï>É>×K]ÑK]×KeÐaeÓ f€FØ €MùrFN)ÚfastapirrrÚapp.models.schemasrÚrouterrÚgetrÚdeleteÚstrr!r&r*r/r5r:ÚpostrErI©rrÚ<module>rRs¼ðß5Ñ5å*á    Ð+°9°+Ñ    >€ð"wô"ð‡ˆNÓð4¨Gó4óð4ð
‡Ð)Ó*ð9¨Gð9Àó9ó+ð9ð‡Ð &Ó'ð¨'ð¸cóó(ðð‡ˆBƒðG óGóðGð
‡ˆNÓð˜gð°#óóðð‡Ð Ó ðG 7ðG°sóGó!ðGð
‡Ð !Ó"ðK WðK¸óKó#ðKð
‡Ð Ó ð ð°CðÀ+óó!ð𠇁Р Ó!ð˜Wð°ð¸{óó"ñr