查看5d的源代码
←
5d
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 采集器建议规范 == === 采集器硬件要求 === 单次采集,数据量很大,硬件最好满足如下基本要求: * 至少 1GB 内存 * 16GB 存储 * 能跑嵌入式 Linux 系统 * 支持千兆 Ethernet * 支持 3G/4G * 支持 WiFi * 支持 LoRa * 下行最少一路 RS485 最少支持 40 块表,支持多路 RS485 <br> === 采集器系统功能要求 === * 上行到服务器,支持以太网/WiFi/3G/4G,IP 地址和端口可配置,支持 DHCP * 通过 http 请求往边缘服务器推送数据 * 数据间隔可调,最小粒度5s,即:每 5s 抄一次所有表,随后 http 发往边缘服务器 * 集中器如果数据上行 push 失败,至少要能存储一天的历史数据,待边缘服务器恢复后,自动将历史数据推送到边缘服务器 (可选) * 支持配置 building_id 和 gateway_id(可选) * 集中器需支持配置电表的 CT 变比,自动乘上 CT 变比 <br> === 采集器上传数据格式 === * building_id 为建筑编号 * gateway_id 为采集器编号 * meter_id 为电表地址 * way_id 为电表的路号,支持 1 路的电表 way_id 为 1;支持 2 路三相电监控的路号为 1 ~ 2;支持 6 路三相电监控的路号为 1 ~ 6 * 电表数据可以详细到三相电的每一相,就是下面 xml 格式内的 phase A, B,C。每项的监测数据有电压 (U),电流 (I),功率 (P),功率因数 (PF),视在功率 (S)和无功功率 (Q) * 三相总的(phase All)数据:功率因数 (PF),有功功率 (P),无功功率 (Q),视在功率 (S),正向有功总电能 (PEP),反向有功总电能 (NEP),正向无功总电能 (PEQ),反向无功总电能 (NEQ) * 每一个时间间隔抄表,上行数据的 timestamp 必须统一 (xml: <time>20170908123000</time>,即:2017-09-08 12:30:00) 以下是电表地址 (meter_id) 为 70(一路)和 72 (两路)两块表的数据同时上传例子: <source lang=xml> <?xml version="1.0" encoding="utf-8"?> <root> <common> <building_id>110101B001</building_id> <gateway_id>2</gateway_id> <type>report</type> <data operation="report"> <sequence>0</sequence> <parser>yes</parser> <time>20170810093040</time> <total>1</total> <current>1</current> <meter id="70"> <function id="1" coding="01" error="0"> <way id="1"> <phase id="A"> <U>226.12</U> <I>7.00</I> <S>0.00</S> <P>0.70</P> <Q>0.00</Q> <PF>0.77</PF> </phase> <phase id="B"> <U>226.12</U> <I>7.00</I> <S>0.00</S> <P>0.70</P> <Q>0.00</Q> <PF>0.77</PF> </phase> <phase id="C"> <U>226.12</U> <I>7.00</I> <S>0.00</S> <P>0.70</P> <Q>0.00</Q> <PF>0.77</PF> </phase> <phase id="All"> <S>0.00</S> <P>0.00</P> <Q>0.00</Q> <PF>0.00</PF> <PEP>5.00</PEP> <NEP>6.00</NEP> <PEQ>5.00</PEQ> <NEQ>6.00</NEQ> </phase> </way> </function> </meter> <meter id="72"> <function id="1" coding="01" error="0"> <way id="1"> <phase id="A"> <U>226.12</U> <I>0.00</I> <S>0.00</S> <P>0.00</P> <Q>0.00</Q> <PF>0.10</PF> </phase> <phase id="B"> <U>226.12</U> <I>0.00</I> <S>0.00</S> <P>0.00</P> <Q>0.00</Q> <PF>0.10</PF> </phase> <phase id="C"> <U>226.12</U> <I>0.00</I> <S>0.00</S> <P>0.00</P> <Q>0.00</Q> <PF>0.10</PF> </phase> <phase id="All"> <S>0.00</S> <P>0.00</P> <Q>0.00</Q> <PF>0.00</PF> <PEP>5.00</PEP> <NEP>6.00</NEP> <PEQ>5.00</PEQ> <NEQ>6.00</NEQ> </phase> </way> <way id="2"> <phase id="A"> <U>226.12</U> <I>0.00</I> <S>0.00</S> <P>0.00</P> <Q>0.00</Q> <PF>0.20</PF> </phase> <phase id="B"> <U>226.12</U> <I>0.00</I> <S>0.00</S> <P>0.00</P> <Q>0.00</Q> <PF>0.20</PF> </phase> <phase id="C"> <U>226.12</U> <I>0.00</I> <S>0.00</S> <P>0.00</P> <Q>0.00</Q> <PF>0.20</PF> </phase> <phase id="All"> <S>0.00</S> <P>0.00</P> <Q>0.00</Q> <PF>0.00</PF> <PEP>5.00</PEP> <NEP>6.00</NEP> <PEQ>5.00</PEQ> <NEQ>6.00</NEQ> </phase> </way> </function> </meter> </data> </common> </root> </source> <br> === HTTP POST 格式 === <source lang=bash> POST /dev/elec HTTP/1.1 Host: 192.168.1.20 User-Agent: curl/7.52.1 Accept: */* Content-Length: 3401 Content-Type: application/x-www-form-urlencoded Expect: 100-continue <?xml version="1.0" encoding="utf-8" ?><root><common><building_id>110101B001</building_id><gateway_id>2</gateway_id><type>report</type><data operation="report"><sequence>0</sequence><parser>yes</parser><time>20170810093040</time><total>1</total><current>1</current><meter id="70"><function id="1" coding="01" error="0"><way id="1"><phase id="A"><U>226.12</U><I>7.00</I><S>0.00</S><P>0.70</P><Q>0.00</Q><PF>0.77</PF></phase><phase id="B"><U>226.12</U><I>7.00</I><S>0.00</S><P>0.70</P><Q>0.00</Q><PF>0.77</PF></phase><phase id="C"><U>226.12</U><I>7.00</I><S>0.00</S><P>0.70</P><Q>0.00</Q><PF>0.77</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way></function></meter><meter id="1"><function id="1" coding="01" error="0"><way id="1"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.10</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.10</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.10</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way><way id="2"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.20</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.20</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.20</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way><way id="3"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.30</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.30</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.30</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way><way id="4"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.40</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.40</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.40</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way><way id="5"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.50</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.50</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.50</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way><way id="6"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.60</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.60</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.60</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way></function></meter></data></common></root> </source> or: <source lang=bash> $ cat d.xml <?xml version="1.0" encoding="utf-8" ?><root><common><building_id>110101B001</building_id><gateway_id>2</gateway_id><type>report</type><data operation="report"><sequence>0</sequence><parser>yes</parser><time>20170810093040</time><total>1</total><current>1</current><meter id="70"><function id="1" coding="01" error="0"><way id="1"><phase id="A"><U>226.12</U><I>7.00</I><S>0.00</S><P>0.70</P><Q>0.00</Q><PF>0.77</PF></phase><phase id="B"><U>226.12</U><I>7.00</I><S>0.00</S><P>0.70</P><Q>0.00</Q><PF>0.77</PF></phase><phase id="C"><U>226.12</U><I>7.00</I><S>0.00</S><P>0.70</P><Q>0.00</Q><PF>0.77</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way></function></meter><meter id="1"><function id="1" coding="01" error="0"><way id="1"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.10</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.10</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.10</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way><way id="2"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.20</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.20</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.20</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way><way id="3"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.30</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.30</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.30</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way><way id="4"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.40</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.40</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.40</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way><way id="5"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.50</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.50</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.50</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way><way id="6"><phase id="A"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.60</PF></phase><phase id="B"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.60</PF></phase><phase id="C"><U>226.12</U><I>0.00</I><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.60</PF></phase><phase id="All"><S>0.00</S><P>0.00</P><Q>0.00</Q><PF>0.00</PF><PEP>5.00</PEP><NEP>6.00</NEP><PEQ>5.00</PEQ><NEQ>6.00</NEQ></phase></way></function></meter></data></common></root> $ curl -X POST -d @d.xml http://192.168.1.20:8000/dev/elec </source> <br> == 现场调试操作 == * http://192.168.1.2:3000/ * http://192.168.1.2:18083/ * http://192.168.1.2:8000/device/yard * http://192.168.1.2:8000/device/yard2 * http://192.168.1.2:8000/device/temp * http://192.168.1.2:8000/device/temp2 * pull elect data: http://192.168.1.2:8000/dev/data?meter_id=1B&way_id=3 * push data: http://192.168.1.2:8000/dev/temp?building_id=110101B001&devid=MKD393830497658&temp=19.2 * pull data: http://192.168.1.2:8000/tempdata?devid=MKD118581004672 === 验证 === 到此,在调试人员 PC 122.5.18.172 上,开一个 TCP Server 端口在 9011,就能收到,集中器定时上传的 XML 数据: <source lang=bash> comcat@jackslab:/work/5d/src/src-x$ sudo nc -l -p 9011 <?xml version="1.0" encoding="utf-8"?> <root><common><sadd>37060001</sadd><oadd></oadd><func_type>6</func_type><oper_type>3</oper_type></common><trans><total_meter_num>1</total_meter_num><frame_idx>1</frame_idx><meter_num>1</meter_num><time_node>2017-01-05 22:38:00</time_node></trans><row id="1"><f_id>2375</f_id><f_meter_type>40</f_meter_type><f_device_id>3</f_device_id><f_meter_address>00000000000087</f_meter_address><f_timestamp>2017-01-05 22:38:43</f_timestamp><f_time>2017-01-05 22:38:00</f_time><f_pact_tot_elec>null</f_pact_tot_elec><f_nact_tot_elec>null</f_nact_tot_elec><f_preact_tot_elec>null</f_preact_tot_elec><f_nreact_tot_elec>null</f_nreact_tot_elec><f_act_tot_elec>null</f_act_tot_elec><f_react_tot_elec>null</f_react_tot_elec></row></root> <?xml version="1.0" encoding="utf-8"?> <root><common><sadd>37060001</sadd><oadd></oadd><func_type>6</func_type><oper_type>3</oper_type></common><trans><total_meter_num>1</total_meter_num><frame_idx>1</frame_idx><meter_num>1</meter_num><time_node>2017-01-05 22:38:00</time_node></trans><row id="1"><f_id>2375</f_id><f_meter_type>40</f_meter_type><f_device_id>3</f_device_id><f_meter_address>00000000000087</f_meter_address><f_timestamp>2017-01-05 22:38:43</f_timestamp><f_time>2017-01-05 22:38:00</f_time><f_pact_tot_elec>null</f_pact_tot_elec><f_nact_tot_elec>null</f_nact_tot_elec><f_preact_tot_elec>null</f_preact_tot_elec><f_nreact_tot_elec>null</f_nreact_tot_elec><f_act_tot_elec>null</f_act_tot_elec><f_react_tot_elec>null</f_react_tot_elec></row></root> ...... ...... </source> 集中器默认抄表时间间隔为 2 分钟 <br><br> == Debug Log == * [[8th log for 5d]] * [[Meter Table of XinDongAn]] <br><br> == NOTES == === Meter Type === * HEATMETER 0x20 * WATERMETER 0x10 * ELECTMETER 0x40 * GASMETER 0x30 * SENSORDEV 0x50 // RTU module of sensors <br> === ElectMeter Protocol === <source lang=cpp> /* * Format:串口设置, 读取电表数据标识符, 前导符个数, 通讯类型 (0:MBUS 1:485), 通讯协议类型(0:MODBUS 1:645) */ uint16 gELEC_METER_Table[ELECMETER_PROTO_SUM][5] = { {ELEC_COMSET_1, 0x0000, 0, ELEC_RS485, ELEC_PROTO_MODBUS}, //力创电表 -----idx: -0- {ELEC_COMSET_1, 0x0000, 0, ELEC_RS485, ELEC_PROTO_MODBUS}, //acrel DDSD1352单相电表 -----idx: -1- {ELEC_COMSET_1, 0x0000, 0, ELEC_RS485, ELEC_PROTO_MODBUS}, //acrel DTSF1352三相电表 -----idx: -2- {ELEC_COMSET_1, 0x0000, 0, ELEC_RS485, ELEC_PROTO_MODBUS}, //acrel PZ80-E4C三相电表 -----idx: -3- }; </source> <br> === Meter Channel === Only support: * RS485_DOWN_CHANNEL 7 <br> === Meter Config in Database === <source lang=bash> sqlite> .schema t_meter_info CREATE TABLE t_meter_info ( f_id integer primary key autoincrement, f_meter_type varchar(2), f_device_id varchar(4), f_meter_address varchar(14), f_meter_channel varchar(2), f_meter_proto_type varchar(2), f_install_pos varchar(50) ); sqlite> select * from t_meter_info; 18|40|3|00000000000001|7|0|3#地下室 19|20|4|11110020160429|1|0|3#under sqlite> .dump t_meter_info PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; INSERT INTO "t_meter_info" VALUES(18,'40','3','00000000000001','7','0','3#地下室'); INSERT INTO "t_meter_info" VALUES(19,'20','4','11110020160429','1','0','3#under'); COMMIT; </source> <br><br> == Hardware == === Serial Console === * CP2102_PIN26 --- ARM9_CORE_J2_32_DRXD * CP2102_PIN25 --- ARM9_CORE_J2_30_DTXD <br> === RS485_1 === * RS485_1_A+ --- MAX485_PIN6 * RS485_1_B- --- MAX485_PIN7 * MAX485_PIN4 --- ARM9_CORE_J2_68_TXD0 * MAX485_PIN1 --- ARM9_CORE_J2_69_RXD0 * MAX485_PIN2 & 3 --- ARM9_CORE_J1_69_PC30 <br> === RS485_2 === * RS485_2_A+ --- MAX485_PIN6 * RS485_2_B- --- MAX485_PIN7 * MAX485_PIN4 --- ARM9_CORE_J2_55_CANTX1 * MAX485_PIN1 --- ARM9_CORE_J2__57_CANRX1 * MAX485_PIN2 & 3 --- ARM9_CORE_J1_68_PC31 <br> == Drivers == atmel_usart: <source lang=bash> atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL atmel_usart.1: ttyS1 at MMIO 0xf801c000 (irq = 5) is a ATMEL_SERIAL atmel_usart.2: ttyS2 at MMIO 0xf8020000 (irq = 6) is a ATMEL_SERIAL atmel_usart.3: ttyS3 at MMIO 0xf8024000 (irq = 7) is a ATMEL_SERIAL atmel_usart.5: ttyS5 at MMIO 0xf8040000 (irq = 15) is a ATMEL_SERIAL atmel_usart.6: ttyS6 at MMIO 0xf8044000 (irq = 16) is a ATMEL_SERIAL </source> <source lang=c> #define DEVICE4851 "/dev/ttyS1" #define DEVICE4852 "/dev/ttyS2" #define DEVICEGPRS "/dev/ttyS3" #define DEVICEMBUS "/dev/ttyS6" #define IO_CONTROL "/dev/CONTROL_IO" </source> <br><br> == 有功无功 == 根据《多功能电能表通信协议》DL/T645-2007的规定,我们将一个平面坐标系的横轴定义为无功功率,纵轴定义为有功功率,二个轴将一个平面划分为四个区域,左上角的为Ⅰ象限,顺时针依次为Ⅱ象限、Ⅲ象限和Ⅳ象限;Ⅰ象限和Ⅱ象限无功定义为正向无功, Ⅲ象限和Ⅳ象限无功定义为反向无功; 我们按下面的要求定义实际功率的方向: * 正向有功功率:即输入有功功率,是电网向用户送电,是用户用电功率; * 反向有功功率:即输出有功功率,是用户向电网送电,是用户发电功率; * 正向无功功率:即输入无功功率,是电网向用户送无功,是用户用无功功率; * 反向无功功率:即输出无功功率,是用户向电网送无功,是用户发无功功率; * Ⅰ象限无功:输入有功功率,输入无功功率,用户为阻感性负载; * Ⅱ象限无功:输出有功功率,输入无功功率,用户负荷相当于一台欠励磁发电机; * Ⅲ象限无功:输出有功功率,输出无功功率,用户负荷相当于一台过励磁发电机; * Ⅳ象限无功:输入有功功率,输出无功功率,用户为阻容性负载 正向无功是指系统呈感性 反向无功是指系统呈容性 ,正反向都计量无功 * http://www.sheweikeji.com/fuwu/?tid=464 <br> == Reference == * DTSD106-M100 三相电子式电能表用户使用手册: http://www.go-gddq.com/down/2011-10/11102117032297.pdf * ZLAN5102-3 用户使用手册l: http://www.zlmcu.com/download/ZLAN5102-3.pdf <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br> <br><br>
返回到
5d
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面