3166 lines
98 KiB
JavaScript
3166 lines
98 KiB
JavaScript
import { JSFuncs } from 'mixly';
|
|
|
|
export const ethernet_init_begin = function (_, generator) {
|
|
var Ethernet = this.getFieldValue('Ethernet');
|
|
generator.definitions_['include_spi'] = '#include <SPI.h>';
|
|
generator.definitions_['include_' + Ethernet] = '#include <' + Ethernet + '.h>';
|
|
generator.definitions_['var_declare_EthernetClient'] = 'EthernetClient client;';
|
|
var mac = generator.valueToCode(this, 'MAC', generator.ORDER_ATOMIC);
|
|
var code = "Ethernet.begin(" + mac + ")";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ethernet_mac_address = function (_, generator) {
|
|
var VAR1 = this.getFieldValue('VAR1');
|
|
var VAR2 = this.getFieldValue('VAR2');
|
|
var VAR3 = this.getFieldValue('VAR3');
|
|
var VAR4 = this.getFieldValue('VAR4');
|
|
var VAR5 = this.getFieldValue('VAR5');
|
|
var VAR6 = this.getFieldValue('VAR6');
|
|
generator.definitions_['var_declare_byte_mac'] = 'byte mac[] = {0x' + VAR1 + ', 0x' + VAR2 + ', 0x' + VAR3 + ', 0x' + VAR4 + ', 0x' + VAR5 + ', 0x' + VAR6 + '};';
|
|
var code = "mac";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ethernet_init_local_ip = function (_, generator) {
|
|
var code = "Ethernet.localIP()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ethernet_client_connect_server = function (_, generator) {
|
|
var PORT = generator.valueToCode(this, 'PORT', generator.ORDER_ATOMIC);
|
|
var SERVER = generator.quote_(this.getFieldValue('SERVER'));
|
|
var code = 'client.connect(' + SERVER + ',' + PORT + ')';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ethernet_client_stop = function () {
|
|
var code = "client.stop();\n";
|
|
return code;
|
|
}
|
|
|
|
export const ethernet_client_connected = function (_, generator) {
|
|
var code = "client.connected()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ethernet_client_available = function (_, generator) {
|
|
var code = "client.available()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ethernet_client_print = function (_, generator) {
|
|
var TEXT = generator.valueToCode(this, 'TEXT', generator.ORDER_ATOMIC) || '""';
|
|
var code = 'client.print(' + TEXT + ');\n';
|
|
return code;
|
|
}
|
|
|
|
export const ethernet_client_println = function (_, generator) {
|
|
var TEXT = generator.valueToCode(this, 'TEXT', generator.ORDER_ATOMIC) || '""';
|
|
var code = 'client.println(' + TEXT + ');\n';
|
|
return code;
|
|
}
|
|
|
|
export const ethernet_client_read = function (_, generator) {
|
|
var code = "(char)client.read()";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const ethernet_client_get_request = function () {
|
|
var URL = this.getFieldValue('URL');
|
|
var SERVER = this.getFieldValue('SERVER');
|
|
var code = 'client.println("GET ' + URL + ' HTTP/1.1");\n'
|
|
+ 'client.println(F("Host: ' + SERVER + '"));\n'
|
|
+ 'client.println(F("Connection: close"));\n'
|
|
+ 'client.println();\n';
|
|
return code;
|
|
}
|
|
|
|
export const WIFI_info = function (_, generator) {
|
|
var SSID = generator.valueToCode(this, 'SSID', generator.ORDER_ATOMIC);
|
|
var PWD = generator.valueToCode(this, 'PWD', generator.ORDER_ATOMIC);
|
|
generator.definitions_['include_ESP8266WiFi'] = '#include <ESP8266WiFi.h>';
|
|
generator.setups_['setup_WiFi_begin'] = 'WiFi.begin(' + SSID + ', ' + PWD + ');\n'
|
|
+ ' while (WiFi.status() != WL_CONNECTED) {\n'
|
|
+ ' delay(500);\n'
|
|
+ ' Serial.print(".");\n'
|
|
+ ' }\n'
|
|
+ ' Serial.println("Local IP:");\n'
|
|
+ ' Serial.print(WiFi.localIP());\n'
|
|
return "";
|
|
}
|
|
|
|
export const network_wifi_connect = function (_, generator) {
|
|
return ["WiFi.status()", generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const network_get_connect = function (_, generator) {
|
|
var board_type = JSFuncs.getPlatform();
|
|
var mode = this.getFieldValue('mode');
|
|
if (board_type.match(RegExp(/ESP8266/))) {
|
|
generator.definitions_['include_ESP8266WiFi'] = '#include <ESP8266WiFi.h>';
|
|
}
|
|
else if (board_type.match(RegExp(/ESP32/))) {
|
|
generator.definitions_['include_WiFi'] = '#include <WiFi.h>';
|
|
}
|
|
if (mode == 'IP') {
|
|
return ["WiFi.localIP()", generator.ORDER_ATOMIC];
|
|
}
|
|
return ["WiFi.macAddress()", generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const NTP_server = function (_, generator) {
|
|
var server_add = generator.valueToCode(this, 'server_add', generator.ORDER_ATOMIC);
|
|
var timeZone = generator.valueToCode(this, 'timeZone', generator.ORDER_ATOMIC);
|
|
var Interval = generator.valueToCode(this, 'Interval', generator.ORDER_ATOMIC);
|
|
generator.definitions_['include_TimeLib'] = '#include <TimeLib.h>';
|
|
generator.definitions_['include_NtpClientLib'] = '#include <NtpClientLib.h>';
|
|
generator.definitions_['var_declare_timeZone'] = 'int8_t timeZone = ' + timeZone + ';';
|
|
generator.definitions_['var_declare_ntpServer'] = 'const PROGMEM char *ntpServer = ' + server_add + ';';
|
|
generator.setups_['setup_NTP.setInterval'] = 'NTP.setInterval (' + Interval + ');';
|
|
generator.setups_['setup_NTP.setNTPTimeout'] = 'NTP.setNTPTimeout (1500);';
|
|
generator.setups_['setup_NTP.begin'] = 'NTP.begin (ntpServer, timeZone, false);';
|
|
return "";
|
|
}
|
|
|
|
export const NTP_server_get_time = function (_, generator) {
|
|
var timeType = this.getFieldValue('TIME_TYPE');
|
|
var code = timeType;
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
var Client_ID;
|
|
|
|
export const MQTT_server = function (_, generator) {
|
|
var server_add = generator.valueToCode(this, 'server_add', generator.ORDER_ATOMIC);
|
|
var server_port = generator.valueToCode(this, 'server_port', generator.ORDER_ATOMIC);
|
|
var IOT_ID = generator.valueToCode(this, 'IOT_ID', generator.ORDER_ATOMIC);
|
|
var IOT_PWD = generator.valueToCode(this, 'IOT_PWD', generator.ORDER_ATOMIC);
|
|
Client_ID = generator.valueToCode(this, 'Client_ID', generator.ORDER_ATOMIC);
|
|
if (Client_ID.length > 2) {
|
|
Client_ID += '/';
|
|
}
|
|
Client_ID = Client_ID.replace(/"/g, "");
|
|
generator.definitions_['include_Adafruit_MQTT'] = '#include "Adafruit_MQTT.h"';
|
|
generator.definitions_['include_Adafruit_MQTT_Client'] = '#include "Adafruit_MQTT_Client.h"';
|
|
generator.definitions_['include__WiFiClient'] = 'WiFiClient client;';
|
|
generator.definitions_['var_declare_Adafruit_MQTT_Client'] = 'Adafruit_MQTT_Client mqtt(&client, ' + server_add + ', ' + server_port + ', ' + IOT_ID + ', ' + IOT_PWD + ');';
|
|
var board_type = JSFuncs.getPlatform();
|
|
if (board_type.match(RegExp(/ESP8266/))) {
|
|
generator.definitions_['var_declare_ MQTT_connect();'] = 'void MQTT_connect();';
|
|
}
|
|
var funcName = 'MQTT_connect';
|
|
var code = 'void' + ' ' + funcName + '() {\n'
|
|
+ ' int8_t ret;\n'
|
|
+ ' if (mqtt.connected()) {\n'
|
|
+ ' return;\n'
|
|
+ ' }\n'
|
|
+ ' Serial.print("Connecting to MQTT... ");\n'
|
|
+ ' uint8_t retries = 3;\n'
|
|
+ ' while ((ret = mqtt.connect()) != 0) {\n'
|
|
+ ' Serial.println(mqtt.connectErrorString(ret));\n'
|
|
+ ' Serial.println("Retrying MQTT connection in 5 seconds...");\n'
|
|
+ ' mqtt.disconnect();\n'
|
|
+ ' delay(5000);\n'
|
|
+ ' retries--;\n'
|
|
+ ' if (retries == 0) {\n'
|
|
+ ' while (1);\n'
|
|
+ ' }\n'
|
|
+ ' }\n'
|
|
+ ' Serial.println("MQTT Connected!");\n'
|
|
+ '}\n';
|
|
generator.definitions_['var_declare_' + funcName] = code;
|
|
return funcName + '();\n';
|
|
}
|
|
|
|
export const MQTT_connect = function () {
|
|
var funcName = 'MQTT_connect';
|
|
// var code = 'void' + ' ' + funcName + '() {\n'
|
|
// + ' int8_t ret;\n'
|
|
// + ' if (mqtt.connected()) {\n'
|
|
// + ' return;\n'
|
|
// + ' }\n'
|
|
// + ' Serial.print("Connecting to MQTT... ");\n'
|
|
// + ' uint8_t retries = 3;\n'
|
|
// + ' while ((ret = mqtt.connect()) != 0) {\n'
|
|
// + ' Serial.println(mqtt.connectErrorString(ret));\n'
|
|
// + ' Serial.println("Retrying MQTT connection in 5 seconds...");\n'
|
|
// + ' mqtt.disconnect();\n'
|
|
// + ' delay(5000);\n'
|
|
// + ' retries--;\n'
|
|
// + ' if (retries == 0) {\n'
|
|
// + ' while (1);\n'
|
|
// + ' }\n'
|
|
// + ' }\n'
|
|
// + ' Serial.println("MQTT Connected!");\n'
|
|
// + '}\n';
|
|
return funcName + '();\n';
|
|
}
|
|
|
|
// 物联网-发送数据到app
|
|
export const MQTT_publish = function (_, generator) {
|
|
var Topic = this.getFieldValue('Topic');
|
|
var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC);
|
|
var Topic_var = "MQTT_Topic_" + Topic;
|
|
generator.definitions_['var_declare_Adafruit_MQTT_Publish' + Topic_var] = 'Adafruit_MQTT_Publish ' + Topic_var + ' = Adafruit_MQTT_Publish(&mqtt, "' + Client_ID + Topic + '");';
|
|
var code = Topic_var + '.publish(' + data + ');\n ';
|
|
return code;
|
|
}
|
|
|
|
export const MQTT_subscribe_value = function (_, generator) {
|
|
var Topic = this.getFieldValue('Topic_0');
|
|
if (Topic)
|
|
Topic = Topic.replace(/"/g, "");
|
|
var Topic_var = "MQTT_Topic_" + Topic;
|
|
var code = '(char *)' + Topic_var + '.lastread';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const MQTT_subscribe = function (_, generator) {
|
|
var n = 0;
|
|
var Topic = this.getFieldValue('Topic_0');
|
|
if (Topic)
|
|
Topic = Topic.replace(/"/g, "");
|
|
var Topic_var = "MQTT_Topic_" + Topic;
|
|
var branch = generator.statementToCode(this, 'DO' + n);
|
|
var code = 'if (subscription ==&' + Topic_var + ') {\n ' + branch.replace(new RegExp(/\n/g), "\n ") + '\n }';
|
|
generator.definitions_['var_declare_Adafruit_MQTT_Subscribe' + Client_ID + '/' + Topic] = 'Adafruit_MQTT_Subscribe ' + Topic_var + ' = Adafruit_MQTT_Subscribe(&mqtt,"' + Client_ID + Topic + '");';
|
|
generator.setups_['setup_mqtt.subscribe' + Topic] = 'mqtt.subscribe(&' + Topic_var + ');';
|
|
for (n = 1; n <= this.elseifCount_; n++) {
|
|
var Topic = this.getFieldValue('Topic_' + n);
|
|
if (Topic)
|
|
Topic = Topic.replace(/"/g, "");
|
|
Topic_var = "MQTT_Topic_" + Topic;
|
|
branch = generator.statementToCode(this, 'DO' + n);
|
|
generator.definitions_['var_declare_Adafruit_MQTT_Subscribe' + Client_ID + Topic] = 'Adafruit_MQTT_Subscribe ' + Topic_var + ' = Adafruit_MQTT_Subscribe(&mqtt,"' + Client_ID + Topic + '");';
|
|
generator.setups_['setup_mqtt.subscribe' + Topic] = 'mqtt.subscribe(&' + Topic_var + ');';
|
|
code += ' else if (subscription == &' + Topic_var + ') {\n ' + branch.replace(new RegExp(/\n/g), "\n ") + '\n }';
|
|
}
|
|
if (this.elseCount_) {
|
|
branch = generator.statementToCode(this, 'ELSE');
|
|
code += ' else {\n ' + branch + '\n }';
|
|
}
|
|
return 'Adafruit_MQTT_Subscribe *subscription;\nwhile ((subscription = mqtt.readSubscription(5000))) {\n ' + code + '\n}\n';
|
|
}
|
|
|
|
export const WIFI_smartConfig = function (_, generator) {
|
|
var MODE = this.getFieldValue('MODE');
|
|
// var board_type = JSFuncs.getPlatform();
|
|
if (MODE == 'SmartConfig') {
|
|
generator.definitions_['include_ESP8266WiFi'] = '#include <ESP8266WiFi.h>';
|
|
generator.definitions_['include_ESP8266WiFiMulti'] = '#include <ESP8266WiFiMulti.h>';
|
|
generator.definitions_['var_declare_ESP8266WiFiMulti'] = ' ESP8266WiFiMulti wifiMulti;';
|
|
generator.setups_['setup_WiFi_Smartconfig'] = 'Serial.println("Wait for Smartconfig");\n'
|
|
+ 'wifiMulti.run();\n'
|
|
+ 'WiFi.setAutoConnect(true);\n'
|
|
+ 'if (WiFi.status() == WL_CONNECTED) {\n'
|
|
+ 'Serial.println("WiFi connected");\n'
|
|
+ 'Serial.println("IP address: ");\n'
|
|
+ 'Serial.println(WiFi.localIP());\n'
|
|
+ ' }\n'
|
|
+ 'else{\n'
|
|
+ ' WiFi.mode(WIFI_STA);\n'
|
|
+ ' WiFi.beginSmartConfig();\n'
|
|
+ ' while(!WiFi.smartConfigDone()){\n'
|
|
+ 'Serial.print(".");\n'
|
|
+ 'delay(500);\n'
|
|
+ '}\n'
|
|
+ 'Serial.println("SmartConfig Success");\n'
|
|
+ 'Serial.printf("SSID:%s", WiFi.SSID().c_str());\n'
|
|
+ 'Serial.printf("PSW:%s", WiFi.psk().c_str());\n'
|
|
+ 'wifiMulti.addAP(WiFi.SSID().c_str(),WiFi.psk().c_str());\n'
|
|
|
|
+ '}\n'
|
|
return "";
|
|
}
|
|
generator.definitions_['include_WiFiManager'] = '#include <WiFiManager.h>';
|
|
generator.definitions_['var_declare_WiFiServer'] = 'WiFiServer server(80);';
|
|
generator.setups_['setup_WiFi_mode'] = 'WiFi.mode(WIFI_STA);';
|
|
generator.setups_['setup_WiFiManager'] = 'WiFiManager wm;';
|
|
generator.setups_['setup_bool_res'] = 'bool res;';
|
|
generator.setups_['setup_wifiManagerautoConnect'] = 'res=wm.autoConnect();';
|
|
return "";
|
|
}
|
|
|
|
export const WIFI_ap_or_sta = function (_, generator) {
|
|
var dropdown_mode = this.getFieldValue('mode');
|
|
var value_SSID = generator.valueToCode(this, 'SSID', generator.ORDER_ATOMIC);
|
|
var value_PSK = generator.valueToCode(this, 'PSK', generator.ORDER_ATOMIC);
|
|
var value_IP1 = generator.valueToCode(this, 'IP1', generator.ORDER_ATOMIC);
|
|
var value_IP2 = generator.valueToCode(this, 'IP2', generator.ORDER_ATOMIC);
|
|
var value_IP = generator.valueToCode(this, 'IP', generator.ORDER_ATOMIC);
|
|
var value_duankou = generator.valueToCode(this, 'duankou', generator.ORDER_ATOMIC);
|
|
value_IP1 = value_IP1.replace(new RegExp(/\./g), ",");
|
|
value_IP2 = value_IP2.replace(new RegExp(/\./g), ",");
|
|
value_IP = value_IP.replace(new RegExp(/\./g), ",");
|
|
var board_type = JSFuncs.getPlatform();
|
|
if (board_type.match(RegExp(/ESP8266/)) != null)
|
|
generator.definitions_['include_ESP8266WiFi'] = '#include <ESP8266WiFi.h>';
|
|
else
|
|
generator.definitions_['include_WiFi'] = '#include <WiFi.h>';
|
|
generator.setups_['setup_serial_Serial'] = 'Serial.begin(9600);';
|
|
if (dropdown_mode == 'STA') {
|
|
generator.definitions_['include_WiFiUdp'] = '#include <WiFiUdp.h>';
|
|
generator.definitions_['define_STASSID'] = '#define STASSID ' + value_SSID + '';
|
|
generator.definitions_['define_STAPSK'] = '#define STAPSK ' + value_PSK + '';
|
|
generator.definitions_['var_declare_ESP8266ip1'] = 'IPAddress ESP8266ip1(' + value_IP1 + ');';
|
|
generator.definitions_['var_declare_ESP8266ip2'] = 'IPAddress ESP8266ip2(' + value_IP2 + ');';
|
|
generator.definitions_['var_declare_ESP8266ip'] = 'IPAddress ESP8266ip(' + value_IP + ');';
|
|
generator.definitions_['var_declare_localPort'] = 'unsigned int localPort = ' + value_duankou + ';';
|
|
generator.definitions_['var_declare_remotePort'] = 'unsigned int remotePort = ' + value_duankou + ';';
|
|
generator.definitions_['var_declare_incomingPacket'] = 'char incomingPacket[537];';
|
|
generator.definitions_['var_declare_A'] = 'char A;';
|
|
generator.definitions_['var_declare_Udp'] = 'WiFiUDP Udp;';
|
|
generator.setups_['setup_wifi_sta'] = 'WiFi.mode(WIFI_STA);\n'
|
|
+ ' WiFi.begin(STASSID, STAPSK);\n'
|
|
+ ' while(WiFi.status() != WL_CONNECTED){\n'
|
|
+ ' Serial.print(".");\n'
|
|
+ ' delay(500);\n'
|
|
+ ' }\n'
|
|
+ ' delay(500);\n'
|
|
+ ' Serial.print("Connected! IP address: ");\n'
|
|
+ ' Serial.println(WiFi.localIP());\n'
|
|
+ ' Serial.printf("UDP server on port ", localPort);\n'
|
|
+ ' Udp.begin(localPort);';
|
|
}
|
|
else {
|
|
generator.definitions_['include_WiFiUDP'] = '#include <WiFiUDP.h>';
|
|
generator.definitions_['var_declare_AP_NameChar'] = 'const char AP_NameChar[] = ' + value_SSID + ';';
|
|
generator.definitions_['var_declare_WiFiAPPSK'] = 'const char WiFiAPPSK[] = ' + value_PSK + ';';
|
|
generator.definitions_['var_declare_ESP8266ip1'] = 'IPAddress ESP8266ip1(' + value_IP1 + ');';
|
|
generator.definitions_['var_declare_ESP8266ip2'] = 'IPAddress ESP8266ip2(' + value_IP2 + ');';
|
|
generator.definitions_['var_declare_ESP8266ip'] = 'IPAddress ESP8266ip(' + value_IP + ');';
|
|
generator.definitions_['var_declare_localPort'] = 'unsigned int localPort = ' + value_duankou + ';';
|
|
generator.definitions_['var_declare_remotePort'] = 'unsigned int remotePort = ' + value_duankou + ';';
|
|
generator.definitions_['var_declare_incomingPacket'] = 'char incomingPacket[537];';
|
|
generator.definitions_['var_declare_A'] = 'char A;';
|
|
generator.definitions_['var_declare_Udp'] = 'WiFiUDP Udp;';
|
|
generator.setups_['setup_wifi_ap'] = 'WiFi.mode(WIFI_AP);\n'
|
|
+ ' WiFi.softAP(AP_NameChar, WiFiAPPSK);\n'
|
|
+ ' Udp.begin(localPort);\n'
|
|
+ ' Serial.println();\n'
|
|
+ ' Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());';
|
|
}
|
|
var code = '';
|
|
return code;
|
|
}
|
|
|
|
export const WIFI_ap_and_sta = function (_, generator) {
|
|
var value_SSID1 = generator.valueToCode(this, 'SSID1', generator.ORDER_ATOMIC);
|
|
var value_SSID2 = generator.valueToCode(this, 'SSID2', generator.ORDER_ATOMIC);
|
|
var value_PSK1 = generator.valueToCode(this, 'PSK1', generator.ORDER_ATOMIC);
|
|
var value_PSK2 = generator.valueToCode(this, 'PSK2', generator.ORDER_ATOMIC);
|
|
var value_IP1 = generator.valueToCode(this, 'IP1', generator.ORDER_ATOMIC);
|
|
var value_IP2 = generator.valueToCode(this, 'IP2', generator.ORDER_ATOMIC);
|
|
var value_IP = generator.valueToCode(this, 'IP', generator.ORDER_ATOMIC);
|
|
var value_duankou = generator.valueToCode(this, 'duankou', generator.ORDER_ATOMIC);
|
|
value_IP1 = value_IP1.replace(new RegExp(/\./g), ",");
|
|
value_IP2 = value_IP2.replace(new RegExp(/\./g), ",");
|
|
value_IP = value_IP.replace(new RegExp(/\./g), ",");
|
|
generator.definitions_['define_STASSID'] = '#define STASSID ' + value_SSID1;
|
|
generator.definitions_['define_STAPSK'] = '#define STAPSK ' + value_PSK1;
|
|
var board_type = JSFuncs.getPlatform();
|
|
if (board_type.match(RegExp(/ESP8266/)) != null)
|
|
generator.definitions_['include_ESP8266WiFi'] = '#include <ESP8266WiFi.h>';
|
|
else
|
|
generator.definitions_['include_WiFi'] = '#include <WiFi.h>';
|
|
generator.definitions_['include_WiFiUDP'] = '#include <WiFiUDP.h>';
|
|
generator.definitions_['var_declare_AP_NameChar'] = 'const char AP_NameChar[] = ' + value_SSID2 + ';';
|
|
generator.definitions_['var_declare_WiFiAPPSK'] = 'const char WiFiAPPSK[] = ' + value_PSK2 + ';';
|
|
generator.definitions_['var_declare_ESP8266ip1'] = 'IPAddress ESP8266ip1(' + value_IP1 + ');';
|
|
generator.definitions_['var_declare_ESP8266ip2'] = 'IPAddress ESP8266ip2(' + value_IP2 + ');';
|
|
generator.definitions_['var_declare_ESP8266ip'] = 'IPAddress ESP8266ip(' + value_IP + ');';
|
|
generator.definitions_['var_declare_localPort'] = 'unsigned int localPort = ' + value_duankou + ';';
|
|
generator.definitions_['var_declare_remotePort'] = 'unsigned int remotePort = ' + value_duankou + ';';
|
|
generator.definitions_['var_declare_incomingPacket'] = 'char incomingPacket[537];';
|
|
generator.definitions_['var_declare_A'] = 'char A;';
|
|
generator.definitions_['var_declare_Udp'] = 'WiFiUDP Udp;';
|
|
generator.setups_['setup_serial_Serial'] = 'Serial.begin(9600);';
|
|
generator.setups_['setup_wifi_ap_and_sta'] = 'WiFi.mode(WIFI_AP_STA);\n'
|
|
+ ' WiFi.softAP(AP_NameChar, WiFiAPPSK);\n'
|
|
+ ' WiFi.begin(STASSID, STAPSK);\n'
|
|
+ ' Udp.begin(localPort);\n'
|
|
+ ' Serial.println();\n'
|
|
+ ' Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());';
|
|
var code = '';
|
|
return code;
|
|
}
|
|
|
|
export const WIFI_incomingPacket = function (_, generator) {
|
|
var value_input_data = generator.valueToCode(this, 'input_data', generator.ORDER_ATOMIC) || 'COM';
|
|
var statements_do = generator.statementToCode(this, 'do');
|
|
statements_do = statements_do.replace(/(^\s*)|(\s*$)/g, "");//去除两端空格
|
|
var code = 'int packetSize = Udp.parsePacket();\n'
|
|
+ 'if (packetSize) {\n'
|
|
+ ' Serial.printf("Received %d bytes from %s, port %d\\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());\n'
|
|
+ ' int len = Udp.read(incomingPacket, 536);\n'
|
|
+ ' if (len > 0) {\n'
|
|
+ ' incomingPacket[len] = 0;\n'
|
|
+ ' Serial.printf("UDP packet contents: %s\\n", incomingPacket);\n'
|
|
+ ' String ' + value_input_data + ' = incomingPacket;\n'
|
|
+ (statements_do != '' ? (' ' + statements_do.replace(new RegExp(/\n/g), "\n ") + '\n') : '')
|
|
+ ' }\n'
|
|
+ '}\n';
|
|
return code;
|
|
}
|
|
|
|
export const WIFI_send_data = function (_, generator) {
|
|
var value_data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC);
|
|
var code = 'Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());\n'
|
|
+ 'Udp.write(' + value_data + ');\n'
|
|
+ 'Udp.endPacket();\n';
|
|
return code;
|
|
}
|
|
|
|
var WeatherCity = {
|
|
"北京": "101010100",
|
|
"海淀": "101010200",
|
|
"朝阳": "101010300",
|
|
"顺义": "101010400",
|
|
"怀柔": "101010500",
|
|
"通州": "101010600",
|
|
"昌平": "101010700",
|
|
"延庆": "101010800",
|
|
"丰台": "101010900",
|
|
"石景山": "101011000",
|
|
"大兴": "101011100",
|
|
"房山": "101011200",
|
|
"密云": "101011300",
|
|
"门头沟": "101011400",
|
|
"平谷": "101011500",
|
|
"八达岭": "101011600",
|
|
"佛爷顶": "101011700",
|
|
"汤河口": "101011800",
|
|
"密云上甸子": "101011900",
|
|
"斋堂": "101012000",
|
|
"霞云岭": "101012100",
|
|
"上海": "101020100",
|
|
"闵行": "101020200",
|
|
"宝山": "101020300",
|
|
"川沙": "101020400",
|
|
"嘉定": "101020500",
|
|
"南汇": "101020600",
|
|
"金山": "101020700",
|
|
"青浦": "101020800",
|
|
"松江": "101020900",
|
|
"奉贤": "101021000",
|
|
"崇明": "101021100",
|
|
"陈家镇": "101021101",
|
|
"引水船": "101021102",
|
|
"徐家汇": "101021200",
|
|
"浦东": "101021300",
|
|
"天津": "101030100",
|
|
"武清": "101030200",
|
|
"宝坻": "101030300",
|
|
"东丽": "101030400",
|
|
"西青": "101030500",
|
|
"北辰": "101030600",
|
|
"宁河": "101030700",
|
|
"汉沽": "101030800",
|
|
"静海": "101030900",
|
|
"津南": "101031000",
|
|
"塘沽": "101031100",
|
|
"大港": "101031200",
|
|
"平台": "101031300",
|
|
"蓟县": "101031400",
|
|
"重庆": "101040100",
|
|
"永川": "101040200",
|
|
"合川": "101040300",
|
|
"南川": "101040400",
|
|
"江津": "101040500",
|
|
"万盛": "101040600",
|
|
"渝北": "101040700",
|
|
"北碚": "101040800",
|
|
"巴南": "101040900",
|
|
"长寿": "101041000",
|
|
"黔江": "101041100",
|
|
"万州天城": "101041200",
|
|
"万州龙宝": "101041300",
|
|
"涪陵": "101041400",
|
|
"开县": "101041500",
|
|
"城口": "101041600",
|
|
"云阳": "101041700",
|
|
"巫溪": "101041800",
|
|
"奉节": "101041900",
|
|
"巫山": "101042000",
|
|
"潼南": "101042100",
|
|
"垫江": "101042200",
|
|
"梁平": "101042300",
|
|
"忠县": "101042400",
|
|
"石柱": "101042500",
|
|
"大足": "101042600",
|
|
"荣昌": "101042700",
|
|
"铜梁": "101042800",
|
|
"璧山": "101042900",
|
|
"丰都": "101043000",
|
|
"武隆": "101043100",
|
|
"彭水": "101043200",
|
|
"綦江": "101043300",
|
|
"酉阳": "101043400",
|
|
"金佛山": "101043500",
|
|
"秀山": "101043600",
|
|
"沙坪坝": "101043700",
|
|
"哈尔滨": "101050101",
|
|
"双城": "101050102",
|
|
"呼兰": "101050103",
|
|
"阿城": "101050104",
|
|
"宾县": "101050105",
|
|
"依兰": "101050106",
|
|
"巴彦": "101050107",
|
|
"通河": "101050108",
|
|
"方正": "101050109",
|
|
"延寿": "101050110",
|
|
"尚志": "101050111",
|
|
"五常": "101050112",
|
|
"木兰": "101050113",
|
|
"齐齐哈尔": "101050201",
|
|
"讷河": "101050202",
|
|
"龙江": "101050203",
|
|
"甘南": "101050204",
|
|
"富裕": "101050205",
|
|
"依安": "101050206",
|
|
"拜泉": "101050207",
|
|
"克山": "101050208",
|
|
"克东": "101050209",
|
|
"泰来": "101050210",
|
|
"牡丹江": "101050301",
|
|
"海林": "101050302",
|
|
"穆棱": "101050303",
|
|
"林口": "101050304",
|
|
"绥芬河": "101050305",
|
|
"宁安": "101050306",
|
|
"东宁": "101050307",
|
|
"佳木斯": "101050401",
|
|
"汤原": "101050402",
|
|
"抚远": "101050403",
|
|
"桦川": "101050404",
|
|
"桦南": "101050405",
|
|
"同江": "101050406",
|
|
"富锦": "101050407",
|
|
"绥化": "101050501",
|
|
"肇东": "101050502",
|
|
"安达": "101050503",
|
|
"海伦": "101050504",
|
|
"明水": "101050505",
|
|
"望奎": "101050506",
|
|
"兰西": "101050507",
|
|
"青冈": "101050508",
|
|
"庆安": "101050509",
|
|
"绥棱": "101050510",
|
|
"黑河": "101050601",
|
|
"嫩江": "101050602",
|
|
"孙吴": "101050603",
|
|
"逊克": "101050604",
|
|
"五大连池": "101050605",
|
|
"北安": "101050606",
|
|
"大兴安岭": "101050701",
|
|
"塔河": "101050702",
|
|
"漠河": "101050703",
|
|
"呼玛": "101050704",
|
|
"呼中": "101050705",
|
|
"新林": "101050706",
|
|
"阿木尔": "101050707",
|
|
"加格达奇": "101050708",
|
|
"伊春": "101050801",
|
|
"乌伊岭": "101050802",
|
|
"五营": "101050803",
|
|
"铁力": "101050804",
|
|
"嘉荫": "101050805",
|
|
"大庆": "101050901",
|
|
"林甸": "101050902",
|
|
"肇州": "101050903",
|
|
"肇源": "101050904",
|
|
"杜蒙": "101050905",
|
|
"七台河": "101051002",
|
|
"勃利": "101051003",
|
|
"鸡西": "101051101",
|
|
"虎林": "101051102",
|
|
"密山": "101051103",
|
|
"鸡东": "101051104",
|
|
"鹤岗": "101051201",
|
|
"绥滨": "101051202",
|
|
"萝北": "101051203",
|
|
"双鸭山": "101051301",
|
|
"集贤": "101051302",
|
|
"宝清": "101051303",
|
|
"饶河": "101051304",
|
|
"长春": "101060101",
|
|
"农安": "101060102",
|
|
"德惠": "101060103",
|
|
"九台": "101060104",
|
|
"榆树": "101060105",
|
|
"双阳": "101060106",
|
|
"吉林": "101060201",
|
|
"舒兰": "101060202",
|
|
"永吉": "101060203",
|
|
"蛟河": "101060204",
|
|
"磐石": "101060205",
|
|
"桦甸": "101060206",
|
|
"烟筒山": "101060207",
|
|
"延吉": "101060301",
|
|
"敦化": "101060302",
|
|
"安图": "101060303",
|
|
"汪清": "101060304",
|
|
"和龙": "101060305",
|
|
"天池": "101060306",
|
|
"龙井": "101060307",
|
|
"珲春": "101060308",
|
|
"图们": "101060309",
|
|
"罗子沟": "101060311",
|
|
"延边": "101060312",
|
|
"四平": "101060401",
|
|
"双辽": "101060402",
|
|
"梨树": "101060403",
|
|
"公主岭": "101060404",
|
|
"伊通": "101060405",
|
|
"孤家子": "101060406",
|
|
"通化": "101060501",
|
|
"梅河口": "101060502",
|
|
"柳河": "101060503",
|
|
"辉南": "101060504",
|
|
"集安": "101060505",
|
|
"通化县": "101060506",
|
|
"白城": "101060601",
|
|
"洮南": "101060602",
|
|
"大安": "101060603",
|
|
"镇赉": "101060604",
|
|
"通榆": "101060605",
|
|
"辽源": "101060701",
|
|
"东丰": "101060702",
|
|
"松原": "101060801",
|
|
"乾安": "101060802",
|
|
"前郭": "101060803",
|
|
"长岭": "101060804",
|
|
"扶余": "101060805",
|
|
"白山": "101060901",
|
|
"靖宇": "101060902",
|
|
"临江": "101060903",
|
|
"东岗": "101060904",
|
|
"长白": "101060905",
|
|
"沈阳": "101070101",
|
|
"苏家屯": "101070102",
|
|
"辽中": "101070103",
|
|
"康平": "101070104",
|
|
"法库": "101070105",
|
|
"新民": "101070106",
|
|
"于洪": "101070107",
|
|
"新城子": "101070108",
|
|
"大连": "101070201",
|
|
"瓦房店": "101070202",
|
|
"金州": "101070203",
|
|
"普兰店": "101070204",
|
|
"旅顺": "101070205",
|
|
"长海": "101070206",
|
|
"庄河": "101070207",
|
|
"皮口": "101070208",
|
|
"海洋岛": "101070209",
|
|
"鞍山": "101070301",
|
|
"台安": "101070302",
|
|
"岫岩": "101070303",
|
|
"海城": "101070304",
|
|
"抚顺": "101070401",
|
|
"清原": "101070403",
|
|
"章党": "101070404",
|
|
"本溪": "101070501",
|
|
"本溪县": "101070502",
|
|
"草河口": "101070503",
|
|
"桓仁": "101070504",
|
|
"丹东": "101070601",
|
|
"凤城": "101070602",
|
|
"宽甸": "101070603",
|
|
"东港": "101070604",
|
|
"东沟": "101070605",
|
|
"锦州": "101070701",
|
|
"凌海": "101070702",
|
|
"北宁": "101070703",
|
|
"义县": "101070704",
|
|
"黑山": "101070705",
|
|
"北镇": "101070706",
|
|
"营口": "101070801",
|
|
"大石桥": "101070802",
|
|
"盖州": "101070803",
|
|
"阜新": "101070901",
|
|
"彰武": "101070902",
|
|
"辽阳": "101071001",
|
|
"辽阳县": "101071002",
|
|
"灯塔": "101071003",
|
|
"铁岭": "101071101",
|
|
"开原": "101071102",
|
|
"昌图": "101071103",
|
|
"西丰": "101071104",
|
|
"建平": "101071202",
|
|
"凌源": "101071203",
|
|
"喀左": "101071204",
|
|
"北票": "101071205",
|
|
"羊山": "101071206",
|
|
"建平县": "101071207",
|
|
"盘锦": "101071301",
|
|
"大洼": "101071302",
|
|
"盘山": "101071303",
|
|
"葫芦岛": "101071401",
|
|
"建昌": "101071402",
|
|
"绥中": "101071403",
|
|
"兴城": "101071404",
|
|
"呼和浩特": "101080101",
|
|
"土默特左旗": "101080102",
|
|
"托克托": "101080103",
|
|
"和林格尔": "101080104",
|
|
"清水河": "101080105",
|
|
"呼和浩特市郊区": "101080106",
|
|
"武川": "101080107",
|
|
"包头": "101080201",
|
|
"白云鄂博": "101080202",
|
|
"满都拉": "101080203",
|
|
"土默特右旗": "101080204",
|
|
"固阳": "101080205",
|
|
"达尔罕茂明安联合旗": "101080206",
|
|
"石拐": "101080207",
|
|
"乌海": "101080301",
|
|
"集宁": "101080401",
|
|
"卓资": "101080402",
|
|
"化德": "101080403",
|
|
"商都": "101080404",
|
|
"希拉穆仁": "101080405",
|
|
"兴和": "101080406",
|
|
"凉城": "101080407",
|
|
"察哈尔右翼前旗": "101080408",
|
|
"察哈尔右翼中旗": "101080409",
|
|
"察哈尔右翼后旗": "101080410",
|
|
"四子王旗": "101080411",
|
|
"丰镇": "101080412",
|
|
"通辽": "101080501",
|
|
"舍伯吐": "101080502",
|
|
"科尔沁左翼中旗": "101080503",
|
|
"科尔沁左翼后旗": "101080504",
|
|
"青龙山": "101080505",
|
|
"开鲁": "101080506",
|
|
"库伦旗": "101080507",
|
|
"奈曼旗": "101080508",
|
|
"扎鲁特旗": "101080509",
|
|
"高力板": "101080510",
|
|
"巴雅尔吐胡硕": "101080511",
|
|
"通辽钱家店": "101080512",
|
|
"赤峰": "101080601",
|
|
"赤峰郊区站": "101080602",
|
|
"阿鲁科尔沁旗": "101080603",
|
|
"浩尔吐": "101080604",
|
|
"巴林左旗": "101080605",
|
|
"巴林右旗": "101080606",
|
|
"林西": "101080607",
|
|
"克什克腾旗": "101080608",
|
|
"翁牛特旗": "101080609",
|
|
"岗子": "101080610",
|
|
"喀喇沁旗": "101080611",
|
|
"八里罕": "101080612",
|
|
"宁城": "101080613",
|
|
"敖汉旗": "101080614",
|
|
"宝过图": "101080615",
|
|
"鄂尔多斯": "101080701",
|
|
"达拉特旗": "101080703",
|
|
"准格尔旗": "101080704",
|
|
"鄂托克前旗": "101080705",
|
|
"河南": "101080706",
|
|
"伊克乌素": "101080707",
|
|
"鄂托克旗": "101080708",
|
|
"杭锦旗": "101080709",
|
|
"乌审旗": "101080710",
|
|
"伊金霍洛旗": "101080711",
|
|
"乌审召": "101080712",
|
|
"东胜": "101080713",
|
|
"临河": "101080801",
|
|
"五原": "101080802",
|
|
"磴口": "101080803",
|
|
"乌拉特前旗": "101080804",
|
|
"大佘太": "101080805",
|
|
"乌拉特中旗": "101080806",
|
|
"乌拉特后旗": "101080807",
|
|
"海力素": "101080808",
|
|
"那仁宝力格": "101080809",
|
|
"杭锦后旗": "101080810",
|
|
"巴盟农试站": "101080811",
|
|
"锡林浩特": "101080901",
|
|
"朝克乌拉": "101080902",
|
|
"二连浩特": "101080903",
|
|
"阿巴嘎旗": "101080904",
|
|
"伊和郭勒": "101080905",
|
|
"苏尼特左旗": "101080906",
|
|
"苏尼特右旗": "101080907",
|
|
"朱日和": "101080908",
|
|
"东乌珠穆沁旗": "101080909",
|
|
"西乌珠穆沁旗": "101080910",
|
|
"太仆寺旗": "101080911",
|
|
"镶黄旗": "101080912",
|
|
"正镶白旗": "101080913",
|
|
"正兰旗": "101080914",
|
|
"多伦": "101080915",
|
|
"博克图": "101080916",
|
|
"乌拉盖": "101080917",
|
|
"白日乌拉": "101080918",
|
|
"那日图": "101080919",
|
|
"呼伦贝尔": "101081000",
|
|
"海拉尔": "101081001",
|
|
"小二沟": "101081002",
|
|
"阿荣旗": "101081003",
|
|
"莫力达瓦旗": "101081004",
|
|
"鄂伦春旗": "101081005",
|
|
"鄂温克旗": "101081006",
|
|
"陈巴尔虎旗": "101081007",
|
|
"新巴尔虎左旗": "101081008",
|
|
"新巴尔虎右旗": "101081009",
|
|
"满洲里": "101081010",
|
|
"牙克石": "101081011",
|
|
"扎兰屯": "101081012",
|
|
"额尔古纳": "101081014",
|
|
"根河": "101081015",
|
|
"图里河": "101081016",
|
|
"乌兰浩特": "101081101",
|
|
"阿尔山": "101081102",
|
|
"科尔沁右翼中旗": "101081103",
|
|
"胡尔勒": "101081104",
|
|
"扎赉特旗": "101081105",
|
|
"索伦": "101081106",
|
|
"突泉": "101081107",
|
|
"霍林郭勒": "101081108",
|
|
"阿拉善左旗": "101081201",
|
|
"阿拉善右旗": "101081202",
|
|
"额济纳旗": "101081203",
|
|
"拐子湖": "101081204",
|
|
"吉兰太": "101081205",
|
|
"锡林高勒": "101081206",
|
|
"头道湖": "101081207",
|
|
"中泉子": "101081208",
|
|
"巴彦诺尔贡": "101081209",
|
|
"雅布赖": "101081210",
|
|
"乌斯太": "101081211",
|
|
"孪井滩": "101081212",
|
|
"石家庄": "101090101",
|
|
"井陉": "101090102",
|
|
"正定": "101090103",
|
|
"栾城": "101090104",
|
|
"行唐": "101090105",
|
|
"灵寿": "101090106",
|
|
"高邑": "101090107",
|
|
"深泽": "101090108",
|
|
"赞皇": "101090109",
|
|
"无极": "101090110",
|
|
"平山": "101090111",
|
|
"元氏": "101090112",
|
|
"赵县": "101090113",
|
|
"辛集": "101090114",
|
|
"藁城": "101090115",
|
|
"晋洲": "101090116",
|
|
"新乐": "101090117",
|
|
"保定": "101090201",
|
|
"满城": "101090202",
|
|
"阜平": "101090203",
|
|
"徐水": "101090204",
|
|
"唐县": "101090205",
|
|
"高阳": "101090206",
|
|
"容城": "101090207",
|
|
"紫荆关": "101090208",
|
|
"涞源": "101090209",
|
|
"望都": "101090210",
|
|
"安新": "101090211",
|
|
"易县": "101090212",
|
|
"涞水": "101090213",
|
|
"曲阳": "101090214",
|
|
"蠡县": "101090215",
|
|
"顺平": "101090216",
|
|
"雄县": "101090217",
|
|
"涿州": "101090218",
|
|
"定州": "101090219",
|
|
"安国": "101090220",
|
|
"高碑店": "101090221",
|
|
"张家口": "101090301",
|
|
"宣化": "101090302",
|
|
"张北": "101090303",
|
|
"康保": "101090304",
|
|
"沽源": "101090305",
|
|
"尚义": "101090306",
|
|
"蔚县": "101090307",
|
|
"阳原": "101090308",
|
|
"怀安": "101090309",
|
|
"万全": "101090310",
|
|
"怀来": "101090311",
|
|
"涿鹿": "101090312",
|
|
"赤城": "101090313",
|
|
"崇礼": "101090314",
|
|
"承德": "101090402",
|
|
"承德县": "101090403",
|
|
"兴隆": "101090404",
|
|
"平泉": "101090405",
|
|
"滦平": "101090406",
|
|
"隆化": "101090407",
|
|
"丰宁": "101090408",
|
|
"宽城": "101090409",
|
|
"围场": "101090410",
|
|
"塞罕坎": "101090411",
|
|
"唐山": "101090501",
|
|
"丰南": "101090502",
|
|
"丰润": "101090503",
|
|
"滦县": "101090504",
|
|
"滦南": "101090505",
|
|
"乐亭": "101090506",
|
|
"迁西": "101090507",
|
|
"玉田": "101090508",
|
|
"唐海": "101090509",
|
|
"遵化": "101090510",
|
|
"迁安": "101090511",
|
|
"廊坊": "101090601",
|
|
"固安": "101090602",
|
|
"永清": "101090603",
|
|
"香河": "101090604",
|
|
"大城": "101090605",
|
|
"文安": "101090606",
|
|
"大厂": "101090607",
|
|
"霸州": "101090608",
|
|
"三河": "101090609",
|
|
"沧州": "101090701",
|
|
"青县": "101090702",
|
|
"东光": "101090703",
|
|
"海兴": "101090704",
|
|
"盐山": "101090705",
|
|
"肃宁": "101090706",
|
|
"南皮": "101090707",
|
|
"吴桥": "101090708",
|
|
"献县": "101090709",
|
|
"孟村": "101090710",
|
|
"泊头": "101090711",
|
|
"任丘": "101090712",
|
|
"黄骅": "101090713",
|
|
"河间": "101090714",
|
|
"曹妃甸": "101090715",
|
|
"衡水": "101090801",
|
|
"枣强": "101090802",
|
|
"武邑": "101090803",
|
|
"武强": "101090804",
|
|
"饶阳": "101090805",
|
|
"安平": "101090806",
|
|
"故城": "101090807",
|
|
"景县": "101090808",
|
|
"阜城": "101090809",
|
|
"冀州": "101090810",
|
|
"深州": "101090811",
|
|
"邢台": "101090901",
|
|
"临城": "101090902",
|
|
"邢台县浆水": "101090903",
|
|
"内邱": "101090904",
|
|
"柏乡": "101090905",
|
|
"隆尧": "101090906",
|
|
"南和": "101090907",
|
|
"宁晋": "101090908",
|
|
"巨鹿": "101090909",
|
|
"新河": "101090910",
|
|
"广宗": "101090911",
|
|
"平乡": "101090912",
|
|
"威县": "101090913",
|
|
"清河": "101090914",
|
|
"临西": "101090915",
|
|
"南宫": "101090916",
|
|
"沙河": "101090917",
|
|
"任县": "101090918",
|
|
"邯郸": "101091001",
|
|
"峰峰": "101091002",
|
|
"临漳": "101091003",
|
|
"成安": "101091004",
|
|
"大名": "101091005",
|
|
"涉县": "101091006",
|
|
"磁县": "101091007",
|
|
"肥乡": "101091008",
|
|
"永年": "101091009",
|
|
"邱县": "101091010",
|
|
"鸡泽": "101091011",
|
|
"广平": "101091012",
|
|
"馆陶": "101091013",
|
|
"魏县": "101091014",
|
|
"曲周": "101091015",
|
|
"武安": "101091016",
|
|
"秦皇岛": "101091101",
|
|
"青龙": "101091102",
|
|
"昌黎": "101091103",
|
|
"抚宁": "101091104",
|
|
"卢龙": "101091105",
|
|
"北戴河": "101091106",
|
|
"太原": "101100101",
|
|
"清徐": "101100102",
|
|
"阳曲": "101100103",
|
|
"娄烦": "101100104",
|
|
"太原古交区": "101100105",
|
|
"太原北郊": "101100106",
|
|
"太原南郊": "101100107",
|
|
"大同": "101100201",
|
|
"阳高": "101100202",
|
|
"大同县": "101100203",
|
|
"天镇": "101100204",
|
|
"广灵": "101100205",
|
|
"灵邱": "101100206",
|
|
"浑源": "101100207",
|
|
"左云": "101100208",
|
|
"阳泉": "101100301",
|
|
"盂县": "101100302",
|
|
"平定": "101100303",
|
|
"晋中": "101100401",
|
|
"榆次": "101100402",
|
|
"榆社": "101100403",
|
|
"左权": "101100404",
|
|
"和顺": "101100405",
|
|
"昔阳": "101100406",
|
|
"寿阳": "101100407",
|
|
"太谷": "101100408",
|
|
"祁县": "101100409",
|
|
"平遥": "101100410",
|
|
"灵石": "101100411",
|
|
"介休": "101100412",
|
|
"长治": "101100501",
|
|
"黎城": "101100502",
|
|
"屯留": "101100503",
|
|
"潞城": "101100504",
|
|
"襄垣": "101100505",
|
|
"平顺": "101100506",
|
|
"武乡": "101100507",
|
|
"沁县": "101100508",
|
|
"长子": "101100509",
|
|
"沁源": "101100510",
|
|
"壶关": "101100511",
|
|
"晋城": "101100601",
|
|
"沁水": "101100602",
|
|
"阳城": "101100603",
|
|
"陵川": "101100604",
|
|
"高平": "101100605",
|
|
"临汾": "101100701",
|
|
"曲沃": "101100702",
|
|
"永和": "101100703",
|
|
"隰县": "101100704",
|
|
"大宁": "101100705",
|
|
"吉县": "101100706",
|
|
"襄汾": "101100707",
|
|
"蒲县": "101100708",
|
|
"汾西": "101100709",
|
|
"洪洞": "101100710",
|
|
"霍州": "101100711",
|
|
"乡宁": "101100712",
|
|
"翼城": "101100713",
|
|
"侯马": "101100714",
|
|
"浮山": "101100715",
|
|
"安泽": "101100716",
|
|
"古县": "101100717",
|
|
"运城": "101100801",
|
|
"临猗": "101100802",
|
|
"稷山": "101100803",
|
|
"万荣": "101100804",
|
|
"河津": "101100805",
|
|
"新绛": "101100806",
|
|
"绛县": "101100807",
|
|
"闻喜": "101100808",
|
|
"垣曲": "101100809",
|
|
"永济": "101100810",
|
|
"芮城": "101100811",
|
|
"夏县": "101100812",
|
|
"平陆": "101100813",
|
|
"朔州": "101100901",
|
|
"平鲁": "101100902",
|
|
"山阴": "101100903",
|
|
"右玉": "101100904",
|
|
"应县": "101100905",
|
|
"怀仁": "101100906",
|
|
"忻州": "101101001",
|
|
"定襄": "101101002",
|
|
"五台县豆村": "101101003",
|
|
"河曲": "101101004",
|
|
"偏关": "101101005",
|
|
"神池": "101101006",
|
|
"宁武": "101101007",
|
|
"代县": "101101008",
|
|
"繁峙": "101101009",
|
|
"五台山": "101101010",
|
|
"保德": "101101011",
|
|
"静乐": "101101012",
|
|
"岢岚": "101101013",
|
|
"五寨": "101101014",
|
|
"原平": "101101015",
|
|
"吕梁": "101101100",
|
|
"离石": "101101101",
|
|
"临县": "101101102",
|
|
"兴县": "101101103",
|
|
"岚县": "101101104",
|
|
"柳林": "101101105",
|
|
"石楼": "101101106",
|
|
"方山": "101101107",
|
|
"交口": "101101108",
|
|
"中阳": "101101109",
|
|
"孝义": "101101110",
|
|
"汾阳": "101101111",
|
|
"文水": "101101112",
|
|
"交城": "101101113",
|
|
"西安": "101110101",
|
|
"长安": "101110102",
|
|
"临潼": "101110103",
|
|
"蓝田": "101110104",
|
|
"周至": "101110105",
|
|
"户县": "101110106",
|
|
"高陵": "101110107",
|
|
"杨凌": "101110108",
|
|
"咸阳": "101110200",
|
|
"三原": "101110201",
|
|
"礼泉": "101110202",
|
|
"永寿": "101110203",
|
|
"淳化": "101110204",
|
|
"泾阳": "101110205",
|
|
"武功": "101110206",
|
|
"乾县": "101110207",
|
|
"彬县": "101110208",
|
|
"长武": "101110209",
|
|
"旬邑": "101110210",
|
|
"兴平": "101110211",
|
|
"延安": "101110300",
|
|
"延长": "101110301",
|
|
"延川": "101110302",
|
|
"子长": "101110303",
|
|
"宜川": "101110304",
|
|
"富县": "101110305",
|
|
"志丹": "101110306",
|
|
"安塞": "101110307",
|
|
"甘泉": "101110308",
|
|
"洛川": "101110309",
|
|
"黄陵": "101110310",
|
|
"黄龙": "101110311",
|
|
"吴起": "101110312",
|
|
"榆林": "101110401",
|
|
"府谷": "101110402",
|
|
"神木": "101110403",
|
|
"佳县": "101110404",
|
|
"定边": "101110405",
|
|
"靖边": "101110406",
|
|
"横山": "101110407",
|
|
"米脂": "101110408",
|
|
"子洲": "101110409",
|
|
"绥德": "101110410",
|
|
"吴堡": "101110411",
|
|
"清涧": "101110412",
|
|
"渭南": "101110501",
|
|
"华县": "101110502",
|
|
"潼关": "101110503",
|
|
"大荔": "101110504",
|
|
"白水": "101110505",
|
|
"富平": "101110506",
|
|
"蒲城": "101110507",
|
|
"澄城": "101110508",
|
|
"合阳": "101110509",
|
|
"韩城": "101110510",
|
|
"华阴": "101110511",
|
|
"华山": "101110512",
|
|
"商洛": "101110601",
|
|
"洛南": "101110602",
|
|
"柞水": "101110603",
|
|
"镇安": "101110605",
|
|
"丹凤": "101110606",
|
|
"商南": "101110607",
|
|
"山阳": "101110608",
|
|
"安康": "101110701",
|
|
"紫阳": "101110702",
|
|
"石泉": "101110703",
|
|
"汉阴": "101110704",
|
|
"旬阳": "101110705",
|
|
"岚皋": "101110706",
|
|
"平利": "101110707",
|
|
"白河": "101110708",
|
|
"镇坪": "101110709",
|
|
"宁陕": "101110710",
|
|
"汉中": "101110801",
|
|
"略阳": "101110802",
|
|
"勉县": "101110803",
|
|
"留坝": "101110804",
|
|
"洋县": "101110805",
|
|
"城固": "101110806",
|
|
"西乡": "101110807",
|
|
"佛坪": "101110808",
|
|
"宁强": "101110809",
|
|
"南郑": "101110810",
|
|
"镇巴": "101110811",
|
|
"宝鸡": "101110901",
|
|
"宝鸡县": "101110902",
|
|
"千阳": "101110903",
|
|
"麟游": "101110904",
|
|
"岐山": "101110905",
|
|
"凤翔": "101110906",
|
|
"扶风": "101110907",
|
|
"眉县": "101110908",
|
|
"太白": "101110909",
|
|
"凤县": "101110910",
|
|
"陇县": "101110911",
|
|
"铜川": "101111001",
|
|
"耀县": "101111002",
|
|
"宜君": "101111003",
|
|
"济南": "101120101",
|
|
"长清": "101120102",
|
|
"商河": "101120103",
|
|
"章丘": "101120104",
|
|
"平阴": "101120105",
|
|
"济阳": "101120106",
|
|
"青岛": "101120201",
|
|
"崂山": "101120202",
|
|
"潮连岛": "101120203",
|
|
"即墨": "101120204",
|
|
"胶州": "101120205",
|
|
"胶南": "101120206",
|
|
"莱西": "101120207",
|
|
"平度": "101120208",
|
|
"淄博": "101120301",
|
|
"淄川": "101120302",
|
|
"博山": "101120303",
|
|
"高青": "101120304",
|
|
"周村": "101120305",
|
|
"沂源": "101120306",
|
|
"桓台": "101120307",
|
|
"临淄": "101120308",
|
|
"德州": "101120401",
|
|
"武城": "101120402",
|
|
"临邑": "101120403",
|
|
"陵县": "101120404",
|
|
"齐河": "101120405",
|
|
"乐陵": "101120406",
|
|
"庆云": "101120407",
|
|
"平原": "101120408",
|
|
"宁津": "101120409",
|
|
"夏津": "101120410",
|
|
"禹城": "101120411",
|
|
"烟台": "101120501",
|
|
"莱州": "101120502",
|
|
"长岛": "101120503",
|
|
"蓬莱": "101120504",
|
|
"龙口": "101120505",
|
|
"招远": "101120506",
|
|
"栖霞": "101120507",
|
|
"福山": "101120508",
|
|
"牟平": "101120509",
|
|
"莱阳": "101120510",
|
|
"海阳": "101120511",
|
|
"千里岩": "101120512",
|
|
"潍坊": "101120601",
|
|
"青州": "101120602",
|
|
"寿光": "101120603",
|
|
"临朐": "101120604",
|
|
"昌乐": "101120605",
|
|
"昌邑": "101120606",
|
|
"安丘": "101120607",
|
|
"高密": "101120608",
|
|
"诸城": "101120609",
|
|
"济宁": "101120701",
|
|
"嘉祥": "101120702",
|
|
"微山": "101120703",
|
|
"鱼台": "101120704",
|
|
"兖州": "101120705",
|
|
"金乡": "101120706",
|
|
"汶上": "101120707",
|
|
"泗水": "101120708",
|
|
"梁山": "101120709",
|
|
"曲阜": "101120710",
|
|
"邹城": "101120711",
|
|
"泰安": "101120801",
|
|
"新泰": "101120802",
|
|
"泰山": "101120803",
|
|
"肥城": "101120804",
|
|
"东平": "101120805",
|
|
"宁阳": "101120806",
|
|
"临沂": "101120901",
|
|
"莒南": "101120902",
|
|
"沂南": "101120903",
|
|
"苍山": "101120904",
|
|
"临沭": "101120905",
|
|
"郯城": "101120906",
|
|
"蒙阴": "101120907",
|
|
"平邑": "101120908",
|
|
"费县": "101120909",
|
|
"沂水": "101120910",
|
|
"马站": "101120911",
|
|
"菏泽": "101121001",
|
|
"鄄城": "101121002",
|
|
"郓城": "101121003",
|
|
"东明": "101121004",
|
|
"定陶": "101121005",
|
|
"巨野": "101121006",
|
|
"曹县": "101121007",
|
|
"成武": "101121008",
|
|
"单县": "101121009",
|
|
"滨州": "101121101",
|
|
"博兴": "101121102",
|
|
"无棣": "101121103",
|
|
"阳信": "101121104",
|
|
"惠民": "101121105",
|
|
"沾化": "101121106",
|
|
"邹平": "101121107",
|
|
"东营": "101121201",
|
|
"河口": "101121202",
|
|
"垦利": "101121203",
|
|
"利津": "101121204",
|
|
"广饶": "101121205",
|
|
"威海": "101121301",
|
|
"文登": "101121302",
|
|
"荣成": "101121303",
|
|
"乳山": "101121304",
|
|
"成山头": "101121305",
|
|
"石岛": "101121306",
|
|
"枣庄": "101121401",
|
|
"薛城": "101121402",
|
|
"峄城": "101121403",
|
|
"台儿庄": "101121404",
|
|
"滕州": "101121405",
|
|
"日照": "101121501",
|
|
"五莲": "101121502",
|
|
"莒县": "101121503",
|
|
"莱芜": "101121601",
|
|
"聊城": "101121701",
|
|
"冠县": "101121702",
|
|
"阳谷": "101121703",
|
|
"高唐": "101121704",
|
|
"茌平": "101121705",
|
|
"东阿": "101121706",
|
|
"临清": "101121707",
|
|
"朝城": "101121708",
|
|
"莘县": "101121709",
|
|
"乌鲁木齐": "101130101",
|
|
"蔡家湖": "101130102",
|
|
"小渠子": "101130103",
|
|
"巴仑台": "101130104",
|
|
"达坂城": "101130105",
|
|
"十三间房气象站": "101130106",
|
|
"天山大西沟": "101130107",
|
|
"乌鲁木齐牧试站": "101130108",
|
|
"白杨沟": "101130110",
|
|
"克拉玛依": "101130201",
|
|
"石河子": "101130301",
|
|
"炮台": "101130302",
|
|
"莫索湾": "101130303",
|
|
"乌兰乌苏": "101130304",
|
|
"昌吉": "101130401",
|
|
"呼图壁": "101130402",
|
|
"米泉": "101130403",
|
|
"阜康": "101130404",
|
|
"吉木萨尔": "101130405",
|
|
"奇台": "101130406",
|
|
"玛纳斯": "101130407",
|
|
"木垒": "101130408",
|
|
"北塔山": "101130409",
|
|
"吐鲁番": "101130501",
|
|
"托克逊": "101130502",
|
|
"吐鲁番东坎": "101130503",
|
|
"鄯善": "101130504",
|
|
"红柳河": "101130505",
|
|
"库尔勒": "101130601",
|
|
"轮台": "101130602",
|
|
"尉犁": "101130603",
|
|
"若羌": "101130604",
|
|
"且末": "101130605",
|
|
"和静": "101130606",
|
|
"焉耆": "101130607",
|
|
"和硕": "101130608",
|
|
"库米什": "101130609",
|
|
"巴音布鲁克": "101130610",
|
|
"铁干里克": "101130611",
|
|
"博湖": "101130612",
|
|
"塔中": "101130613",
|
|
"阿拉尔": "101130701",
|
|
"阿克苏": "101130801",
|
|
"乌什": "101130802",
|
|
"温宿": "101130803",
|
|
"拜城": "101130804",
|
|
"新和": "101130805",
|
|
"沙雅": "101130806",
|
|
"库车": "101130807",
|
|
"柯坪": "101130808",
|
|
"阿瓦提": "101130809",
|
|
"喀什": "101130901",
|
|
"英吉沙": "101130902",
|
|
"塔什库尔干": "101130903",
|
|
"麦盖提": "101130904",
|
|
"莎车": "101130905",
|
|
"叶城": "101130906",
|
|
"泽普": "101130907",
|
|
"巴楚": "101130908",
|
|
"岳普湖": "101130909",
|
|
"伽师": "101130910",
|
|
"伊宁": "101131001",
|
|
"察布查尔": "101131002",
|
|
"尼勒克": "101131003",
|
|
"伊宁县": "101131004",
|
|
"巩留": "101131005",
|
|
"新源": "101131006",
|
|
"昭苏": "101131007",
|
|
"特克斯": "101131008",
|
|
"霍城": "101131009",
|
|
"霍尔果斯": "101131010",
|
|
"塔城": "101131101",
|
|
"裕民": "101131102",
|
|
"额敏": "101131103",
|
|
"和布克赛尔": "101131104",
|
|
"托里": "101131105",
|
|
"乌苏": "101131106",
|
|
"沙湾": "101131107",
|
|
"和丰": "101131108",
|
|
"哈密": "101131201",
|
|
"沁城": "101131202",
|
|
"巴里坤": "101131203",
|
|
"伊吾": "101131204",
|
|
"淖毛湖": "101131205",
|
|
"和田": "101131301",
|
|
"皮山": "101131302",
|
|
"策勒": "101131303",
|
|
"墨玉": "101131304",
|
|
"洛浦": "101131305",
|
|
"民丰": "101131306",
|
|
"于田": "101131307",
|
|
"阿勒泰": "101131401",
|
|
"哈巴河": "101131402",
|
|
"一八五团": "101131403",
|
|
"黑山头": "101131404",
|
|
"吉木乃": "101131405",
|
|
"布尔津": "101131406",
|
|
"福海": "101131407",
|
|
"富蕴": "101131408",
|
|
"青河": "101131409",
|
|
"安德河": "101131410",
|
|
"阿图什": "101131501",
|
|
"乌恰": "101131502",
|
|
"阿克陶": "101131503",
|
|
"阿合奇": "101131504",
|
|
"吐尔尕特": "101131505",
|
|
"博乐": "101131601",
|
|
"温泉": "101131602",
|
|
"精河": "101131603",
|
|
"阿拉山口": "101131606",
|
|
"拉萨": "101140101",
|
|
"当雄": "101140102",
|
|
"尼木": "101140103",
|
|
"墨竹贡卡": "101140104",
|
|
"日喀则": "101140201",
|
|
"拉孜": "101140202",
|
|
"南木林": "101140203",
|
|
"聂拉木": "101140204",
|
|
"定日": "101140205",
|
|
"江孜": "101140206",
|
|
"帕里": "101140207",
|
|
"山南": "101140301",
|
|
"贡嘎": "101140302",
|
|
"琼结": "101140303",
|
|
"加查": "101140304",
|
|
"浪卡子": "101140305",
|
|
"错那": "101140306",
|
|
"隆子": "101140307",
|
|
"泽当": "101140308",
|
|
"林芝": "101140401",
|
|
"波密": "101140402",
|
|
"米林": "101140403",
|
|
"察隅": "101140404",
|
|
"昌都": "101140501",
|
|
"丁青": "101140502",
|
|
"类乌齐": "101140503",
|
|
"洛隆": "101140504",
|
|
"左贡": "101140505",
|
|
"芒康": "101140506",
|
|
"八宿": "101140507",
|
|
"那曲": "101140601",
|
|
"嘉黎": "101140603",
|
|
"班戈": "101140604",
|
|
"安多": "101140605",
|
|
"索县": "101140606",
|
|
"比如": "101140607",
|
|
"阿里": "101140701",
|
|
"改则": "101140702",
|
|
"申扎": "101140703",
|
|
"狮泉河": "101140704",
|
|
"普兰": "101140705",
|
|
"西宁": "101150101",
|
|
"大通": "101150102",
|
|
"湟源": "101150103",
|
|
"湟中": "101150104",
|
|
"铁卜加": "101150105",
|
|
"铁卜加寺": "101150106",
|
|
"中心站": "101150107",
|
|
"海东": "101150201",
|
|
"乐都": "101150202",
|
|
"民和": "101150203",
|
|
"互助": "101150204",
|
|
"化隆": "101150205",
|
|
"循化": "101150206",
|
|
"冷湖": "101150207",
|
|
"平安": "101150208",
|
|
"黄南": "101150301",
|
|
"尖扎": "101150302",
|
|
"泽库": "101150303",
|
|
"海南": "101150401",
|
|
"江西沟": "101150402",
|
|
"贵德": "101150404",
|
|
"河卡": "101150405",
|
|
"兴海": "101150406",
|
|
"贵南": "101150407",
|
|
"同德": "101150408",
|
|
"共和": "101150409",
|
|
"果洛": "101150501",
|
|
"班玛": "101150502",
|
|
"甘德": "101150503",
|
|
"达日": "101150504",
|
|
"久治": "101150505",
|
|
"玛多": "101150506",
|
|
"玛沁": "101150508",
|
|
"玉树": "101150601",
|
|
"托托河": "101150602",
|
|
"治多": "101150603",
|
|
"杂多": "101150604",
|
|
"囊谦": "101150605",
|
|
"曲麻莱": "101150606",
|
|
"海西": "101150701",
|
|
"格尔木": "101150702",
|
|
"察尔汉": "101150703",
|
|
"野牛沟": "101150704",
|
|
"五道梁": "101150705",
|
|
"小灶火": "101150706",
|
|
"天峻": "101150708",
|
|
"乌兰": "101150709",
|
|
"都兰": "101150710",
|
|
"诺木洪": "101150711",
|
|
"茫崖": "101150712",
|
|
"大柴旦": "101150713",
|
|
"茶卡": "101150714",
|
|
"香日德": "101150715",
|
|
"德令哈": "101150716",
|
|
"海北": "101150801",
|
|
"门源": "101150802",
|
|
"祁连": "101150803",
|
|
"海晏": "101150804",
|
|
"托勒": "101150805",
|
|
"刚察": "101150806",
|
|
"兰州": "101160101",
|
|
"皋兰": "101160102",
|
|
"永登": "101160103",
|
|
"榆中": "101160104",
|
|
"定西": "101160201",
|
|
"通渭": "101160202",
|
|
"陇西": "101160203",
|
|
"渭源": "101160204",
|
|
"临洮": "101160205",
|
|
"漳县": "101160206",
|
|
"岷县": "101160207",
|
|
"安定": "101160208",
|
|
"平凉": "101160301",
|
|
"泾川": "101160302",
|
|
"灵台": "101160303",
|
|
"崇信": "101160304",
|
|
"华亭": "101160305",
|
|
"庄浪": "101160306",
|
|
"静宁": "101160307",
|
|
"崆峒": "101160308",
|
|
"庆阳": "101160401",
|
|
"西峰": "101160402",
|
|
"环县": "101160403",
|
|
"华池": "101160404",
|
|
"合水": "101160405",
|
|
"正宁": "101160406",
|
|
"宁县": "101160407",
|
|
"镇原": "101160408",
|
|
"庆城": "101160409",
|
|
"武威": "101160501",
|
|
"民勤": "101160502",
|
|
"古浪": "101160503",
|
|
"乌鞘岭": "101160504",
|
|
"天祝": "101160505",
|
|
"金昌": "101160601",
|
|
"永昌": "101160602",
|
|
"张掖": "101160701",
|
|
"肃南": "101160702",
|
|
"民乐": "101160703",
|
|
"临泽": "101160704",
|
|
"高台": "101160705",
|
|
"山丹": "101160706",
|
|
"酒泉": "101160801",
|
|
"鼎新": "101160802",
|
|
"金塔": "101160803",
|
|
"马鬃山": "101160804",
|
|
"瓜州": "101160805",
|
|
"肃北": "101160806",
|
|
"玉门镇": "101160807",
|
|
"敦煌": "101160808",
|
|
"天水": "101160901",
|
|
"北道区": "101160902",
|
|
"清水": "101160903",
|
|
"秦安": "101160904",
|
|
"甘谷": "101160905",
|
|
"武山": "101160906",
|
|
"张家川": "101160907",
|
|
"麦积": "101160908",
|
|
"武都": "101161001",
|
|
"成县": "101161002",
|
|
"文县": "101161003",
|
|
"宕昌": "101161004",
|
|
"康县": "101161005",
|
|
"西和": "101161006",
|
|
"礼县": "101161007",
|
|
"徽县": "101161008",
|
|
"两当": "101161009",
|
|
"临夏": "101161101",
|
|
"康乐": "101161102",
|
|
"永靖": "101161103",
|
|
"广河": "101161104",
|
|
"和政": "101161105",
|
|
"东乡": "101161106",
|
|
"合作": "101161201",
|
|
"临潭": "101161202",
|
|
"卓尼": "101161203",
|
|
"舟曲": "101161204",
|
|
"迭部": "101161205",
|
|
"玛曲": "101161206",
|
|
"碌曲": "101161207",
|
|
"夏河": "101161208",
|
|
"白银": "101161301",
|
|
"靖远": "101161302",
|
|
"会宁": "101161303",
|
|
"华家岭": "101161304",
|
|
"景泰": "101161305",
|
|
"银川": "101170101",
|
|
"永宁": "101170102",
|
|
"灵武": "101170103",
|
|
"贺兰": "101170104",
|
|
"石嘴山": "101170201",
|
|
"惠农": "101170202",
|
|
"平罗": "101170203",
|
|
"陶乐": "101170204",
|
|
"石炭井": "101170205",
|
|
"大武口": "101170206",
|
|
"吴忠": "101170301",
|
|
"同心": "101170302",
|
|
"盐池": "101170303",
|
|
"韦州": "101170304",
|
|
"麻黄山": "101170305",
|
|
"青铜峡": "101170306",
|
|
"固原": "101170401",
|
|
"西吉": "101170402",
|
|
"隆德": "101170403",
|
|
"泾源": "101170404",
|
|
"六盘山": "101170405",
|
|
"彭阳": "101170406",
|
|
"中卫": "101170501",
|
|
"中宁": "101170502",
|
|
"兴仁堡": "101170503",
|
|
"海原": "101170504",
|
|
"郑州": "101180101",
|
|
"巩义": "101180102",
|
|
"荥阳": "101180103",
|
|
"登封": "101180104",
|
|
"新密": "101180105",
|
|
"新郑": "101180106",
|
|
"中牟": "101180107",
|
|
"郑州农试站": "101180108",
|
|
"安阳": "101180201",
|
|
"汤阴": "101180202",
|
|
"滑县": "101180203",
|
|
"内黄": "101180204",
|
|
"林州": "101180205",
|
|
"新乡": "101180301",
|
|
"获嘉": "101180302",
|
|
"原阳": "101180303",
|
|
"辉县": "101180304",
|
|
"卫辉": "101180305",
|
|
"延津": "101180306",
|
|
"封丘": "101180307",
|
|
"长垣": "101180308",
|
|
"许昌": "101180401",
|
|
"鄢陵": "101180402",
|
|
"襄城": "101180403",
|
|
"长葛": "101180404",
|
|
"禹州": "101180405",
|
|
"平顶山": "101180501",
|
|
"郏县": "101180502",
|
|
"宝丰": "101180503",
|
|
"汝州": "101180504",
|
|
"叶县": "101180505",
|
|
"舞钢": "101180506",
|
|
"鲁山": "101180507",
|
|
"信阳": "101180601",
|
|
"息县": "101180602",
|
|
"罗山": "101180603",
|
|
"光山": "101180604",
|
|
"新县": "101180605",
|
|
"淮滨": "101180606",
|
|
"潢川": "101180607",
|
|
"固始": "101180608",
|
|
"商城": "101180609",
|
|
"鸡公山": "101180610",
|
|
"信阳地区农试站": "101180611",
|
|
"南阳": "101180701",
|
|
"南召": "101180702",
|
|
"方城": "101180703",
|
|
"社旗": "101180704",
|
|
"西峡": "101180705",
|
|
"内乡": "101180706",
|
|
"镇平": "101180707",
|
|
"淅川": "101180708",
|
|
"新野": "101180709",
|
|
"唐河": "101180710",
|
|
"邓州": "101180711",
|
|
"桐柏": "101180712",
|
|
"开封": "101180801",
|
|
"杞县": "101180802",
|
|
"尉氏": "101180803",
|
|
"通许": "101180804",
|
|
"兰考": "101180805",
|
|
"洛阳": "101180901",
|
|
"新安": "101180902",
|
|
"孟津": "101180903",
|
|
"宜阳": "101180904",
|
|
"洛宁": "101180905",
|
|
"伊川": "101180906",
|
|
"嵩县": "101180907",
|
|
"偃师": "101180908",
|
|
"栾川": "101180909",
|
|
"汝阳": "101180910",
|
|
"商丘": "101181001",
|
|
"睢阳区": "101181002",
|
|
"睢县": "101181003",
|
|
"民权": "101181004",
|
|
"虞城": "101181005",
|
|
"柘城": "101181006",
|
|
"宁陵": "101181007",
|
|
"夏邑": "101181008",
|
|
"永城": "101181009",
|
|
"焦作": "101181101",
|
|
"修武": "101181102",
|
|
"武陟": "101181103",
|
|
"沁阳": "101181104",
|
|
"博爱": "101181106",
|
|
"温县": "101181107",
|
|
"孟州": "101181108",
|
|
"鹤壁": "101181201",
|
|
"浚县": "101181202",
|
|
"淇县": "101181203",
|
|
"濮阳": "101181301",
|
|
"台前": "101181302",
|
|
"南乐": "101181303",
|
|
"清丰": "101181304",
|
|
"范县": "101181305",
|
|
"周口": "101181401",
|
|
"扶沟": "101181402",
|
|
"太康": "101181403",
|
|
"淮阳": "101181404",
|
|
"西华": "101181405",
|
|
"商水": "101181406",
|
|
"项城": "101181407",
|
|
"郸城": "101181408",
|
|
"鹿邑": "101181409",
|
|
"沈丘": "101181410",
|
|
"黄泛区": "101181411",
|
|
"漯河": "101181501",
|
|
"临颍": "101181502",
|
|
"舞阳": "101181503",
|
|
"驻马店": "101181601",
|
|
"西平": "101181602",
|
|
"遂平": "101181603",
|
|
"上蔡": "101181604",
|
|
"汝南": "101181605",
|
|
"泌阳": "101181606",
|
|
"平舆": "101181607",
|
|
"新蔡": "101181608",
|
|
"确山": "101181609",
|
|
"正阳": "101181610",
|
|
"三门峡": "101181701",
|
|
"灵宝": "101181702",
|
|
"渑池": "101181703",
|
|
"卢氏": "101181704",
|
|
"济源": "101181801",
|
|
"南京": "101190101",
|
|
"溧水": "101190102",
|
|
"高淳": "101190103",
|
|
"江宁": "101190104",
|
|
"六合": "101190105",
|
|
"江浦": "101190106",
|
|
"浦口": "101190107",
|
|
"无锡": "101190201",
|
|
"江阴": "101190202",
|
|
"宜兴": "101190203",
|
|
"镇江": "101190301",
|
|
"丹阳": "101190302",
|
|
"扬中": "101190303",
|
|
"句容": "101190304",
|
|
"丹徒": "101190305",
|
|
"苏州": "101190401",
|
|
"常熟": "101190402",
|
|
"张家港": "101190403",
|
|
"昆山": "101190404",
|
|
"吴县东山": "101190405",
|
|
"吴县": "101190406",
|
|
"吴江": "101190407",
|
|
"太仓": "101190408",
|
|
"南通": "101190501",
|
|
"海安": "101190502",
|
|
"如皋": "101190503",
|
|
"如东": "101190504",
|
|
"吕泗": "101190505",
|
|
"吕泗渔场": "101190506",
|
|
"启东": "101190507",
|
|
"海门": "101190508",
|
|
"扬州": "101190601",
|
|
"宝应": "101190602",
|
|
"仪征": "101190603",
|
|
"高邮": "101190604",
|
|
"江都": "101190605",
|
|
"邗江": "101190606",
|
|
"盐城": "101190701",
|
|
"响水": "101190702",
|
|
"滨海": "101190703",
|
|
"阜宁": "101190704",
|
|
"射阳": "101190705",
|
|
"建湖": "101190706",
|
|
"东台": "101190707",
|
|
"大丰": "101190708",
|
|
"盐都": "101190709",
|
|
"徐州": "101190801",
|
|
"徐州农试站": "101190802",
|
|
"丰县": "101190803",
|
|
"沛县": "101190804",
|
|
"邳州": "101190805",
|
|
"睢宁": "101190806",
|
|
"新沂": "101190807",
|
|
"淮安": "101190901",
|
|
"金湖": "101190902",
|
|
"盱眙": "101190903",
|
|
"洪泽": "101190904",
|
|
"涟水": "101190905",
|
|
"淮阴县": "101190906",
|
|
"淮阴": "101190907",
|
|
"楚州": "101190908",
|
|
"连云港": "101191001",
|
|
"东海": "101191002",
|
|
"赣榆": "101191003",
|
|
"灌云": "101191004",
|
|
"灌南": "101191005",
|
|
"西连岛": "101191006",
|
|
"燕尾港": "101191007",
|
|
"常州": "101191101",
|
|
"溧阳": "101191102",
|
|
"金坛": "101191103",
|
|
"泰州": "101191201",
|
|
"兴化": "101191202",
|
|
"泰兴": "101191203",
|
|
"姜堰": "101191204",
|
|
"靖江": "101191205",
|
|
"宿迁": "101191301",
|
|
"沭阳": "101191302",
|
|
"泗阳": "101191303",
|
|
"泗洪": "101191304",
|
|
"武汉": "101200101",
|
|
"蔡甸": "101200102",
|
|
"黄陂": "101200103",
|
|
"新洲": "101200104",
|
|
"江夏": "101200105",
|
|
"襄樊": "101200201",
|
|
"襄阳": "101200202",
|
|
"保康": "101200203",
|
|
"南漳": "101200204",
|
|
"宜城": "101200205",
|
|
"老河口": "101200206",
|
|
"谷城": "101200207",
|
|
"枣阳": "101200208",
|
|
"鄂州": "101200301",
|
|
"孝感": "101200401",
|
|
"安陆": "101200402",
|
|
"云梦": "101200403",
|
|
"大悟": "101200404",
|
|
"应城": "101200405",
|
|
"汉川": "101200406",
|
|
"黄冈": "101200501",
|
|
"红安": "101200502",
|
|
"麻城": "101200503",
|
|
"罗田": "101200504",
|
|
"英山": "101200505",
|
|
"浠水": "101200506",
|
|
"蕲春": "101200507",
|
|
"黄梅": "101200508",
|
|
"武穴": "101200509",
|
|
"黄石": "101200601",
|
|
"大冶": "101200602",
|
|
"阳新": "101200603",
|
|
"咸宁": "101200701",
|
|
"赤壁": "101200702",
|
|
"嘉鱼": "101200703",
|
|
"崇阳": "101200704",
|
|
"通城": "101200705",
|
|
"通山": "101200706",
|
|
"荆州": "101200801",
|
|
"江陵": "101200802",
|
|
"公安": "101200803",
|
|
"石首": "101200804",
|
|
"监利": "101200805",
|
|
"洪湖": "101200806",
|
|
"松滋": "101200807",
|
|
"宜昌": "101200901",
|
|
"远安": "101200902",
|
|
"秭归": "101200903",
|
|
"兴山": "101200904",
|
|
"宜昌县": "101200905",
|
|
"五峰": "101200906",
|
|
"当阳": "101200907",
|
|
"长阳": "101200908",
|
|
"宜都": "101200909",
|
|
"枝江": "101200910",
|
|
"三峡": "101200911",
|
|
"夷陵": "101200912",
|
|
"恩施": "101201001",
|
|
"利川": "101201002",
|
|
"建始": "101201003",
|
|
"咸丰": "101201004",
|
|
"宣恩": "101201005",
|
|
"鹤峰": "101201006",
|
|
"来凤": "101201007",
|
|
"巴东": "101201008",
|
|
"绿葱坡": "101201009",
|
|
"十堰": "101201101",
|
|
"竹溪": "101201102",
|
|
"郧西": "101201103",
|
|
"郧县": "101201104",
|
|
"竹山": "101201105",
|
|
"房县": "101201106",
|
|
"丹江口": "101201107",
|
|
"神农架": "101201201",
|
|
"随州": "101201301",
|
|
"广水": "101201302",
|
|
"荆门": "101201401",
|
|
"钟祥": "101201402",
|
|
"京山": "101201403",
|
|
"天门": "101201501",
|
|
"仙桃": "101201601",
|
|
"潜江": "101201701",
|
|
"杭州": "101210101",
|
|
"萧山": "101210102",
|
|
"桐庐": "101210103",
|
|
"淳安": "101210104",
|
|
"建德": "101210105",
|
|
"余杭": "101210106",
|
|
"临安": "101210107",
|
|
"富阳": "101210108",
|
|
"湖州": "101210201",
|
|
"长兴": "101210202",
|
|
"安吉": "101210203",
|
|
"德清": "101210204",
|
|
"嘉兴": "101210301",
|
|
"嘉善": "101210302",
|
|
"海宁": "101210303",
|
|
"桐乡": "101210304",
|
|
"平湖": "101210305",
|
|
"海盐": "101210306",
|
|
"宁波": "101210401",
|
|
"慈溪": "101210403",
|
|
"余姚": "101210404",
|
|
"奉化": "101210405",
|
|
"象山": "101210406",
|
|
"石浦": "101210407",
|
|
"宁海": "101210408",
|
|
"鄞县": "101210409",
|
|
"北仑": "101210410",
|
|
"鄞州": "101210411",
|
|
"镇海": "101210412",
|
|
"绍兴": "101210501",
|
|
"诸暨": "101210502",
|
|
"上虞": "101210503",
|
|
"新昌": "101210504",
|
|
"嵊州": "101210505",
|
|
"台州": "101210601",
|
|
"括苍山": "101210602",
|
|
"玉环": "101210603",
|
|
"三门": "101210604",
|
|
"天台": "101210605",
|
|
"仙居": "101210606",
|
|
"温岭": "101210607",
|
|
"大陈": "101210608",
|
|
"洪家": "101210609",
|
|
"温州": "101210701",
|
|
"泰顺": "101210702",
|
|
"文成": "101210703",
|
|
"平阳": "101210704",
|
|
"瑞安": "101210705",
|
|
"洞头": "101210706",
|
|
"乐清": "101210707",
|
|
"永嘉": "101210708",
|
|
"苍南": "101210709",
|
|
"丽水": "101210801",
|
|
"遂昌": "101210802",
|
|
"龙泉": "101210803",
|
|
"缙云": "101210804",
|
|
"青田": "101210805",
|
|
"云和": "101210806",
|
|
"庆元": "101210807",
|
|
"金华": "101210901",
|
|
"浦江": "101210902",
|
|
"兰溪": "101210903",
|
|
"义乌": "101210904",
|
|
"东阳": "101210905",
|
|
"武义": "101210906",
|
|
"永康": "101210907",
|
|
"磐安": "101210908",
|
|
"衢州": "101211001",
|
|
"常山": "101211002",
|
|
"开化": "101211003",
|
|
"龙游": "101211004",
|
|
"江山": "101211005",
|
|
"舟山": "101211101",
|
|
"嵊泗": "101211102",
|
|
"嵊山": "101211103",
|
|
"岱山": "101211104",
|
|
"普陀": "101211105",
|
|
"定海": "101211106",
|
|
"合肥": "101220101",
|
|
"长丰": "101220102",
|
|
"肥东": "101220103",
|
|
"肥西": "101220104",
|
|
"蚌埠": "101220201",
|
|
"怀远": "101220202",
|
|
"固镇": "101220203",
|
|
"五河": "101220204",
|
|
"芜湖": "101220301",
|
|
"繁昌": "101220302",
|
|
"芜湖县": "101220303",
|
|
"南陵": "101220304",
|
|
"淮南": "101220401",
|
|
"凤台": "101220402",
|
|
"马鞍山": "101220501",
|
|
"当涂": "101220502",
|
|
"安庆": "101220601",
|
|
"枞阳": "101220602",
|
|
"太湖": "101220603",
|
|
"潜山": "101220604",
|
|
"怀宁": "101220605",
|
|
"宿松": "101220606",
|
|
"望江": "101220607",
|
|
"岳西": "101220608",
|
|
"桐城": "101220609",
|
|
"宿州": "101220701",
|
|
"砀山": "101220702",
|
|
"灵璧": "101220703",
|
|
"泗县": "101220704",
|
|
"萧县": "101220705",
|
|
"阜阳": "101220801",
|
|
"阜南": "101220802",
|
|
"颍上": "101220803",
|
|
"临泉": "101220804",
|
|
"界首": "101220805",
|
|
"太和": "101220806",
|
|
"亳州": "101220901",
|
|
"涡阳": "101220902",
|
|
"利辛": "101220903",
|
|
"蒙城": "101220904",
|
|
"黄山站": "101221001",
|
|
"黄山区": "101221002",
|
|
"屯溪": "101221003",
|
|
"祁门": "101221004",
|
|
"黟县": "101221005",
|
|
"歙县": "101221006",
|
|
"休宁": "101221007",
|
|
"黄山市": "101221008",
|
|
"滁州": "101221101",
|
|
"凤阳": "101221102",
|
|
"明光": "101221103",
|
|
"定远": "101221104",
|
|
"全椒": "101221105",
|
|
"来安": "101221106",
|
|
"天长": "101221107",
|
|
"淮北": "101221201",
|
|
"濉溪": "101221202",
|
|
"铜陵": "101221301",
|
|
"宣城": "101221401",
|
|
"泾县": "101221402",
|
|
"旌德": "101221403",
|
|
"宁国": "101221404",
|
|
"绩溪": "101221405",
|
|
"广德": "101221406",
|
|
"郎溪": "101221407",
|
|
"六安": "101221501",
|
|
"霍邱": "101221502",
|
|
"寿县": "101221503",
|
|
"南溪": "101221504",
|
|
"金寨": "101221505",
|
|
"霍山": "101221506",
|
|
"舒城": "101221507",
|
|
"巢湖": "101221601",
|
|
"庐江": "101221602",
|
|
"无为": "101221603",
|
|
"含山": "101221604",
|
|
"和县": "101221605",
|
|
"池州": "101221701",
|
|
"东至": "101221702",
|
|
"青阳": "101221703",
|
|
"九华山": "101221704",
|
|
"石台": "101221705",
|
|
"福州": "101230101",
|
|
"闽清": "101230102",
|
|
"闽侯": "101230103",
|
|
"罗源": "101230104",
|
|
"连江": "101230105",
|
|
"马祖": "101230106",
|
|
"永泰": "101230107",
|
|
"平潭": "101230108",
|
|
"福州郊区": "101230109",
|
|
"长乐": "101230110",
|
|
"福清": "101230111",
|
|
"平潭海峡大桥": "101230112",
|
|
"厦门": "101230201",
|
|
"同安": "101230202",
|
|
"宁德": "101230301",
|
|
"古田": "101230302",
|
|
"霞浦": "101230303",
|
|
"寿宁": "101230304",
|
|
"周宁": "101230305",
|
|
"福安": "101230306",
|
|
"柘荣": "101230307",
|
|
"福鼎": "101230308",
|
|
"屏南": "101230309",
|
|
"莆田": "101230401",
|
|
"仙游": "101230402",
|
|
"秀屿港": "101230403",
|
|
"泉州": "101230501",
|
|
"安溪": "101230502",
|
|
"九仙山": "101230503",
|
|
"永春": "101230504",
|
|
"德化": "101230505",
|
|
"南安": "101230506",
|
|
"崇武": "101230507",
|
|
"晋江": "101230509",
|
|
"漳州": "101230601",
|
|
"长泰": "101230602",
|
|
"南靖": "101230603",
|
|
"平和": "101230604",
|
|
"龙海": "101230605",
|
|
"漳浦": "101230606",
|
|
"诏安": "101230607",
|
|
"东山": "101230608",
|
|
"云霄": "101230609",
|
|
"华安": "101230610",
|
|
"龙岩": "101230701",
|
|
"长汀": "101230702",
|
|
"连城": "101230703",
|
|
"武平": "101230704",
|
|
"上杭": "101230705",
|
|
"永定": "101230706",
|
|
"漳平": "101230707",
|
|
"三明": "101230801",
|
|
"宁化": "101230802",
|
|
"清流": "101230803",
|
|
"泰宁": "101230804",
|
|
"将乐": "101230805",
|
|
"建宁": "101230806",
|
|
"明溪": "101230807",
|
|
"沙县": "101230808",
|
|
"尤溪": "101230809",
|
|
"永安": "101230810",
|
|
"大田": "101230811",
|
|
"南平": "101230901",
|
|
"顺昌": "101230902",
|
|
"光泽": "101230903",
|
|
"邵武": "101230904",
|
|
"武夷山": "101230905",
|
|
"浦城": "101230906",
|
|
"建阳": "101230907",
|
|
"松溪": "101230908",
|
|
"政和": "101230909",
|
|
"建瓯": "101230910",
|
|
"南昌": "101240101",
|
|
"新建": "101240102",
|
|
"南昌县": "101240103",
|
|
"安义": "101240104",
|
|
"进贤": "101240105",
|
|
"莲塘": "101240106",
|
|
"九江": "101240201",
|
|
"瑞昌": "101240202",
|
|
"庐山": "101240203",
|
|
"武宁": "101240204",
|
|
"德安": "101240205",
|
|
"永修": "101240206",
|
|
"湖口": "101240207",
|
|
"彭泽": "101240208",
|
|
"星子": "101240209",
|
|
"都昌": "101240210",
|
|
"棠荫": "101240211",
|
|
"修水": "101240212",
|
|
"上饶": "101240301",
|
|
"鄱阳": "101240302",
|
|
"婺源": "101240303",
|
|
"康山": "101240304",
|
|
"余干": "101240305",
|
|
"万年": "101240306",
|
|
"德兴": "101240307",
|
|
"上饶县": "101240308",
|
|
"弋阳": "101240309",
|
|
"横峰": "101240310",
|
|
"铅山": "101240311",
|
|
"玉山": "101240312",
|
|
"广丰": "101240313",
|
|
"波阳": "101240314",
|
|
"抚州": "101240401",
|
|
"广昌": "101240402",
|
|
"乐安": "101240403",
|
|
"崇仁": "101240404",
|
|
"金溪": "101240405",
|
|
"资溪": "101240406",
|
|
"宜黄": "101240407",
|
|
"南城": "101240408",
|
|
"南丰": "101240409",
|
|
"黎川": "101240410",
|
|
"宜春": "101240501",
|
|
"铜鼓": "101240502",
|
|
"宜丰": "101240503",
|
|
"万载": "101240504",
|
|
"上高": "101240505",
|
|
"靖安": "101240506",
|
|
"奉新": "101240507",
|
|
"高安": "101240508",
|
|
"樟树": "101240509",
|
|
"丰城": "101240510",
|
|
"吉安": "101240601",
|
|
"吉安县": "101240602",
|
|
"吉水": "101240603",
|
|
"新干": "101240604",
|
|
"峡江": "101240605",
|
|
"永丰": "101240606",
|
|
"永新": "101240607",
|
|
"井冈山": "101240608",
|
|
"万安": "101240609",
|
|
"遂川": "101240610",
|
|
"泰和": "101240611",
|
|
"安福": "101240612",
|
|
"宁冈": "101240613",
|
|
"赣州": "101240701",
|
|
"崇义": "101240702",
|
|
"上犹": "101240703",
|
|
"南康": "101240704",
|
|
"大余": "101240705",
|
|
"信丰": "101240706",
|
|
"宁都": "101240707",
|
|
"石城": "101240708",
|
|
"瑞金": "101240709",
|
|
"于都": "101240710",
|
|
"会昌": "101240711",
|
|
"安远": "101240712",
|
|
"全南": "101240713",
|
|
"龙南": "101240714",
|
|
"定南": "101240715",
|
|
"寻乌": "101240716",
|
|
"兴国": "101240717",
|
|
"景德镇": "101240801",
|
|
"乐平": "101240802",
|
|
"萍乡": "101240901",
|
|
"莲花": "101240902",
|
|
"新余": "101241001",
|
|
"分宜": "101241002",
|
|
"鹰潭": "101241101",
|
|
"余江": "101241102",
|
|
"贵溪": "101241103",
|
|
"长沙": "101250101",
|
|
"宁乡": "101250102",
|
|
"浏阳": "101250103",
|
|
"马坡岭": "101250104",
|
|
"湘潭": "101250201",
|
|
"韶山": "101250202",
|
|
"湘乡": "101250203",
|
|
"株洲": "101250301",
|
|
"攸县": "101250302",
|
|
"醴陵": "101250303",
|
|
"株洲县": "101250304",
|
|
"茶陵": "101250305",
|
|
"炎陵": "101250306",
|
|
"衡阳": "101250401",
|
|
"衡山": "101250402",
|
|
"衡东": "101250403",
|
|
"祁东": "101250404",
|
|
"衡阳县": "101250405",
|
|
"常宁": "101250406",
|
|
"衡南": "101250407",
|
|
"耒阳": "101250408",
|
|
"南岳": "101250409",
|
|
"郴州": "101250501",
|
|
"桂阳": "101250502",
|
|
"嘉禾": "101250503",
|
|
"宜章": "101250504",
|
|
"临武": "101250505",
|
|
"桥口": "101250506",
|
|
"资兴": "101250507",
|
|
"汝城": "101250508",
|
|
"安仁": "101250509",
|
|
"永兴": "101250510",
|
|
"桂东": "101250511",
|
|
"常德": "101250601",
|
|
"安乡": "101250602",
|
|
"桃源": "101250603",
|
|
"汉寿": "101250604",
|
|
"澧县": "101250605",
|
|
"临澧": "101250606",
|
|
"石门": "101250607",
|
|
"益阳": "101250700",
|
|
"赫山区": "101250701",
|
|
"南县": "101250702",
|
|
"桃江": "101250703",
|
|
"安化": "101250704",
|
|
"沅江": "101250705",
|
|
"娄底": "101250801",
|
|
"双峰": "101250802",
|
|
"冷水江": "101250803",
|
|
"冷水滩": "101250804",
|
|
"新化": "101250805",
|
|
"涟源": "101250806",
|
|
"邵阳": "101250901",
|
|
"隆回": "101250902",
|
|
"洞口": "101250903",
|
|
"新邵": "101250904",
|
|
"邵东": "101250905",
|
|
"绥宁": "101250906",
|
|
"新宁": "101250907",
|
|
"武冈": "101250908",
|
|
"城步": "101250909",
|
|
"邵阳县": "101250910",
|
|
"岳阳": "101251001",
|
|
"华容": "101251002",
|
|
"湘阴": "101251003",
|
|
"汨罗": "101251004",
|
|
"平江": "101251005",
|
|
"临湘": "101251006",
|
|
"张家界": "101251101",
|
|
"桑植": "101251102",
|
|
"慈利": "101251103",
|
|
"怀化": "101251201",
|
|
"鹤城区": "101251202",
|
|
"沅陵": "101251203",
|
|
"辰溪": "101251204",
|
|
"靖州": "101251205",
|
|
"会同": "101251206",
|
|
"通道": "101251207",
|
|
"麻阳": "101251208",
|
|
"新晃": "101251209",
|
|
"芷江": "101251210",
|
|
"溆浦": "101251211",
|
|
"黔阳": "101251301",
|
|
"洪江": "101251302",
|
|
"永州": "101251401",
|
|
"祁阳": "101251402",
|
|
"东安": "101251403",
|
|
"双牌": "101251404",
|
|
"道县": "101251405",
|
|
"宁远": "101251406",
|
|
"江永": "101251407",
|
|
"蓝山": "101251408",
|
|
"新田": "101251409",
|
|
"江华": "101251410",
|
|
"吉首": "101251501",
|
|
"保靖": "101251502",
|
|
"永顺": "101251503",
|
|
"古丈": "101251504",
|
|
"凤凰": "101251505",
|
|
"泸溪": "101251506",
|
|
"龙山": "101251507",
|
|
"花垣": "101251508",
|
|
"贵阳": "101260101",
|
|
"白云": "101260102",
|
|
"花溪": "101260103",
|
|
"乌当": "101260104",
|
|
"息烽": "101260105",
|
|
"开阳": "101260106",
|
|
"修文": "101260107",
|
|
"清镇": "101260108",
|
|
"遵义": "101260201",
|
|
"遵义县": "101260202",
|
|
"仁怀": "101260203",
|
|
"绥阳": "101260204",
|
|
"湄潭": "101260205",
|
|
"凤冈": "101260206",
|
|
"桐梓": "101260207",
|
|
"赤水": "101260208",
|
|
"习水": "101260209",
|
|
"道真": "101260210",
|
|
"正安": "101260211",
|
|
"务川": "101260212",
|
|
"余庆": "101260213",
|
|
"汇川": "101260214",
|
|
"安顺": "101260301",
|
|
"普定": "101260302",
|
|
"镇宁": "101260303",
|
|
"平坝": "101260304",
|
|
"紫云": "101260305",
|
|
"关岭": "101260306",
|
|
"都匀": "101260401",
|
|
"贵定": "101260402",
|
|
"瓮安": "101260403",
|
|
"长顺": "101260404",
|
|
"福泉": "101260405",
|
|
"惠水": "101260406",
|
|
"龙里": "101260407",
|
|
"罗甸": "101260408",
|
|
"平塘": "101260409",
|
|
"独山": "101260410",
|
|
"三都": "101260411",
|
|
"荔波": "101260412",
|
|
"凯里": "101260501",
|
|
"岑巩": "101260502",
|
|
"施秉": "101260503",
|
|
"镇远": "101260504",
|
|
"黄平": "101260505",
|
|
"黄平旧洲": "101260506",
|
|
"麻江": "101260507",
|
|
"丹寨": "101260508",
|
|
"三穗": "101260509",
|
|
"台江": "101260510",
|
|
"剑河": "101260511",
|
|
"雷山": "101260512",
|
|
"黎平": "101260513",
|
|
"天柱": "101260514",
|
|
"锦屏": "101260515",
|
|
"榕江": "101260516",
|
|
"从江": "101260517",
|
|
"炉山": "101260518",
|
|
"铜仁": "101260601",
|
|
"江口": "101260602",
|
|
"玉屏": "101260603",
|
|
"万山": "101260604",
|
|
"思南": "101260605",
|
|
"塘头": "101260606",
|
|
"印江": "101260607",
|
|
"石阡": "101260608",
|
|
"沿河": "101260609",
|
|
"德江": "101260610",
|
|
"松桃": "101260611",
|
|
"毕节": "101260701",
|
|
"赫章": "101260702",
|
|
"金沙": "101260703",
|
|
"威宁": "101260704",
|
|
"大方": "101260705",
|
|
"纳雍": "101260706",
|
|
"织金": "101260707",
|
|
"六盘水": "101260801",
|
|
"六枝": "101260802",
|
|
"水城": "101260803",
|
|
"盘县": "101260804",
|
|
"黔西": "101260901",
|
|
"晴隆": "101260902",
|
|
"兴仁": "101260903",
|
|
"贞丰": "101260904",
|
|
"望谟": "101260905",
|
|
"兴义": "101260906",
|
|
"安龙": "101260907",
|
|
"册亨": "101260908",
|
|
"普安": "101260909",
|
|
"成都": "101270101",
|
|
"龙泉驿": "101270102",
|
|
"新都": "101270103",
|
|
"温江": "101270104",
|
|
"金堂": "101270105",
|
|
"双流": "101270106",
|
|
"郫县": "101270107",
|
|
"大邑": "101270108",
|
|
"蒲江": "101270109",
|
|
"新津": "101270110",
|
|
"都江堰": "101270111",
|
|
"彭州": "101270112",
|
|
"邛崃": "101270113",
|
|
"崇州": "101270114",
|
|
"崇庆": "101270115",
|
|
"彭县": "101270116",
|
|
"攀枝花": "101270201",
|
|
"仁和": "101270202",
|
|
"米易": "101270203",
|
|
"盐边": "101270204",
|
|
"自贡": "101270301",
|
|
"富顺": "101270302",
|
|
"荣县": "101270303",
|
|
"绵阳": "101270401",
|
|
"三台": "101270402",
|
|
"盐亭": "101270403",
|
|
"安县": "101270404",
|
|
"梓潼": "101270405",
|
|
"北川": "101270406",
|
|
"平武": "101270407",
|
|
"江油": "101270408",
|
|
"南充": "101270501",
|
|
"南部": "101270502",
|
|
"营山": "101270503",
|
|
"蓬安": "101270504",
|
|
"仪陇": "101270505",
|
|
"西充": "101270506",
|
|
"阆中": "101270507",
|
|
"达州": "101270601",
|
|
"宣汉": "101270602",
|
|
"开江": "101270603",
|
|
"大竹": "101270604",
|
|
"渠县": "101270605",
|
|
"万源": "101270606",
|
|
"达川": "101270607",
|
|
"遂宁": "101270701",
|
|
"蓬溪": "101270702",
|
|
"射洪": "101270703",
|
|
"广安": "101270801",
|
|
"岳池": "101270802",
|
|
"武胜": "101270803",
|
|
"邻水": "101270804",
|
|
"华蓥山": "101270805",
|
|
"巴中": "101270901",
|
|
"通江": "101270902",
|
|
"南江": "101270903",
|
|
"平昌": "101270904",
|
|
"泸州": "101271001",
|
|
"泸县": "101271003",
|
|
"合江": "101271004",
|
|
"叙永": "101271005",
|
|
"古蔺": "101271006",
|
|
"纳溪": "101271007",
|
|
"宜宾": "101271101",
|
|
"宜宾农试站": "101271102",
|
|
"宜宾县": "101271103",
|
|
"江安": "101271105",
|
|
"长宁": "101271106",
|
|
"高县": "101271107",
|
|
"珙县": "101271108",
|
|
"筠连": "101271109",
|
|
"兴文": "101271110",
|
|
"屏山": "101271111",
|
|
"内江": "101271201",
|
|
"东兴": "101271202",
|
|
"威远": "101271203",
|
|
"资中": "101271204",
|
|
"隆昌": "101271205",
|
|
"资阳": "101271301",
|
|
"安岳": "101271302",
|
|
"乐至": "101271303",
|
|
"简阳": "101271304",
|
|
"乐山": "101271401",
|
|
"犍为": "101271402",
|
|
"井研": "101271403",
|
|
"夹江": "101271404",
|
|
"沐川": "101271405",
|
|
"峨边": "101271406",
|
|
"马边": "101271407",
|
|
"峨眉": "101271408",
|
|
"峨眉山": "101271409",
|
|
"眉山": "101271501",
|
|
"仁寿": "101271502",
|
|
"彭山": "101271503",
|
|
"洪雅": "101271504",
|
|
"丹棱": "101271505",
|
|
"青神": "101271506",
|
|
"凉山": "101271601",
|
|
"木里": "101271603",
|
|
"盐源": "101271604",
|
|
"德昌": "101271605",
|
|
"会理": "101271606",
|
|
"会东": "101271607",
|
|
"宁南": "101271608",
|
|
"普格": "101271609",
|
|
"西昌": "101271610",
|
|
"金阳": "101271611",
|
|
"昭觉": "101271612",
|
|
"喜德": "101271613",
|
|
"冕宁": "101271614",
|
|
"越西": "101271615",
|
|
"甘洛": "101271616",
|
|
"雷波": "101271617",
|
|
"美姑": "101271618",
|
|
"布拖": "101271619",
|
|
"雅安": "101271701",
|
|
"名山": "101271702",
|
|
"荣经": "101271703",
|
|
"汉源": "101271704",
|
|
"石棉": "101271705",
|
|
"天全": "101271706",
|
|
"芦山": "101271707",
|
|
"宝兴": "101271708",
|
|
"甘孜": "101271801",
|
|
"康定": "101271802",
|
|
"泸定": "101271803",
|
|
"丹巴": "101271804",
|
|
"九龙": "101271805",
|
|
"雅江": "101271806",
|
|
"道孚": "101271807",
|
|
"炉霍": "101271808",
|
|
"新龙": "101271809",
|
|
"德格": "101271810",
|
|
"白玉": "101271811",
|
|
"石渠": "101271812",
|
|
"色达": "101271813",
|
|
"理塘": "101271814",
|
|
"巴塘": "101271815",
|
|
"乡城": "101271816",
|
|
"稻城": "101271817",
|
|
"得荣": "101271818",
|
|
"阿坝": "101271901",
|
|
"汶川": "101271902",
|
|
"理县": "101271903",
|
|
"茂县": "101271904",
|
|
"松潘": "101271905",
|
|
"九寨沟": "101271906",
|
|
"金川": "101271907",
|
|
"小金": "101271908",
|
|
"黑水": "101271909",
|
|
"马尔康": "101271910",
|
|
"壤塘": "101271911",
|
|
"若尔盖": "101271912",
|
|
"红原": "101271913",
|
|
"南坪": "101271914",
|
|
"德阳": "101272001",
|
|
"中江": "101272002",
|
|
"广汉": "101272003",
|
|
"什邡": "101272004",
|
|
"绵竹": "101272005",
|
|
"罗江": "101272006",
|
|
"广元": "101272101",
|
|
"旺苍": "101272102",
|
|
"青川": "101272103",
|
|
"剑阁": "101272104",
|
|
"苍溪": "101272105",
|
|
"广州": "101280101",
|
|
"番禺": "101280102",
|
|
"从化": "101280103",
|
|
"增城": "101280104",
|
|
"花都": "101280105",
|
|
"天河": "101280106",
|
|
"韶关": "101280201",
|
|
"乳源": "101280202",
|
|
"始兴": "101280203",
|
|
"翁源": "101280204",
|
|
"乐昌": "101280205",
|
|
"仁化": "101280206",
|
|
"南雄": "101280207",
|
|
"新丰": "101280208",
|
|
"曲江": "101280209",
|
|
"惠州": "101280301",
|
|
"博罗": "101280302",
|
|
"惠阳": "101280303",
|
|
"惠东": "101280304",
|
|
"龙门": "101280305",
|
|
"梅州": "101280401",
|
|
"兴宁": "101280402",
|
|
"蕉岭": "101280403",
|
|
"大埔": "101280404",
|
|
"丰顺": "101280406",
|
|
"平远": "101280407",
|
|
"五华": "101280408",
|
|
"梅县": "101280409",
|
|
"汕头": "101280501",
|
|
"潮阳": "101280502",
|
|
"澄海": "101280503",
|
|
"南澳": "101280504",
|
|
"云澳": "101280505",
|
|
"南澎岛": "101280506",
|
|
"深圳": "101280601",
|
|
"珠海": "101280701",
|
|
"斗门": "101280702",
|
|
"黄茅洲": "101280703",
|
|
"佛山": "101280800",
|
|
"顺德": "101280801",
|
|
"三水": "101280802",
|
|
"南海": "101280803",
|
|
"肇庆": "101280901",
|
|
"广宁": "101280902",
|
|
"四会": "101280903",
|
|
"德庆": "101280905",
|
|
"怀集": "101280906",
|
|
"封开": "101280907",
|
|
"高要": "101280908",
|
|
"湛江": "101281001",
|
|
"吴川": "101281002",
|
|
"雷州": "101281003",
|
|
"徐闻": "101281004",
|
|
"廉江": "101281005",
|
|
"硇洲": "101281006",
|
|
"遂溪": "101281007",
|
|
"江门": "101281101",
|
|
"开平": "101281103",
|
|
"新会": "101281104",
|
|
"恩平": "101281105",
|
|
"台山": "101281106",
|
|
"上川岛": "101281107",
|
|
"鹤山": "101281108",
|
|
"河源": "101281201",
|
|
"紫金": "101281202",
|
|
"连平": "101281203",
|
|
"和平": "101281204",
|
|
"龙川": "101281205",
|
|
"清远": "101281301",
|
|
"连南": "101281302",
|
|
"连州": "101281303",
|
|
"连山": "101281304",
|
|
"阳山": "101281305",
|
|
"佛冈": "101281306",
|
|
"英德": "101281307",
|
|
"云浮": "101281401",
|
|
"罗定": "101281402",
|
|
"新兴": "101281403",
|
|
"郁南": "101281404",
|
|
"潮州": "101281501",
|
|
"饶平": "101281502",
|
|
"东莞": "101281601",
|
|
"中山": "101281701",
|
|
"阳江": "101281801",
|
|
"阳春": "101281802",
|
|
"揭阳": "101281901",
|
|
"揭西": "101281902",
|
|
"普宁": "101281903",
|
|
"惠来": "101281904",
|
|
"茂名": "101282001",
|
|
"高州": "101282002",
|
|
"化州": "101282003",
|
|
"电白": "101282004",
|
|
"信宜": "101282005",
|
|
"汕尾": "101282101",
|
|
"海丰": "101282102",
|
|
"陆丰": "101282103",
|
|
"遮浪": "101282104",
|
|
"东沙岛": "101282105",
|
|
"昆明": "101290101",
|
|
"昆明农试站": "101290102",
|
|
"东川": "101290103",
|
|
"寻甸": "101290104",
|
|
"晋宁": "101290105",
|
|
"宜良": "101290106",
|
|
"石林": "101290107",
|
|
"呈贡": "101290108",
|
|
"富民": "101290109",
|
|
"嵩明": "101290110",
|
|
"禄劝": "101290111",
|
|
"安宁": "101290112",
|
|
"太华山": "101290113",
|
|
"大理": "101290201",
|
|
"云龙": "101290202",
|
|
"漾鼻": "101290203",
|
|
"永平": "101290204",
|
|
"宾川": "101290205",
|
|
"弥渡": "101290206",
|
|
"祥云": "101290207",
|
|
"魏山": "101290208",
|
|
"剑川": "101290209",
|
|
"洱源": "101290210",
|
|
"鹤庆": "101290211",
|
|
"南涧": "101290212",
|
|
"红河": "101290301",
|
|
"石屏": "101290302",
|
|
"建水": "101290303",
|
|
"弥勒": "101290304",
|
|
"元阳": "101290305",
|
|
"绿春": "101290306",
|
|
"开远": "101290307",
|
|
"个旧": "101290308",
|
|
"蒙自": "101290309",
|
|
"屏边": "101290310",
|
|
"泸西": "101290311",
|
|
"金平": "101290312",
|
|
"曲靖": "101290401",
|
|
"沾益": "101290402",
|
|
"陆良": "101290403",
|
|
"富源": "101290404",
|
|
"马龙": "101290405",
|
|
"师宗": "101290406",
|
|
"罗平": "101290407",
|
|
"会泽": "101290408",
|
|
"宣威": "101290409",
|
|
"保山": "101290501",
|
|
"富宁": "101290502",
|
|
"龙陵": "101290503",
|
|
"施甸": "101290504",
|
|
"昌宁": "101290505",
|
|
"腾冲": "101290506",
|
|
"文山": "101290601",
|
|
"西畴": "101290602",
|
|
"马关": "101290603",
|
|
"麻栗坡": "101290604",
|
|
"砚山": "101290605",
|
|
"邱北": "101290606",
|
|
"广南": "101290607",
|
|
"玉溪": "101290701",
|
|
"澄江": "101290702",
|
|
"江川": "101290703",
|
|
"通海": "101290704",
|
|
"华宁": "101290705",
|
|
"新平": "101290706",
|
|
"易门": "101290707",
|
|
"峨山": "101290708",
|
|
"元江": "101290709",
|
|
"楚雄": "101290801",
|
|
"大姚": "101290802",
|
|
"元谋": "101290803",
|
|
"姚安": "101290804",
|
|
"牟定": "101290805",
|
|
"南华": "101290806",
|
|
"武定": "101290807",
|
|
"禄丰": "101290808",
|
|
"双柏": "101290809",
|
|
"永仁": "101290810",
|
|
"普洱": "101290901",
|
|
"景谷": "101290902",
|
|
"景东": "101290903",
|
|
"澜沧": "101290904",
|
|
"墨江": "101290906",
|
|
"江城": "101290907",
|
|
"孟连": "101290908",
|
|
"西盟": "101290909",
|
|
"镇源": "101290910",
|
|
"镇沅": "101290911",
|
|
"宁洱": "101290912",
|
|
"昭通": "101291001",
|
|
"鲁甸": "101291002",
|
|
"彝良": "101291003",
|
|
"镇雄": "101291004",
|
|
"威信": "101291005",
|
|
"巧家": "101291006",
|
|
"绥江": "101291007",
|
|
"永善": "101291008",
|
|
"盐津": "101291009",
|
|
"大关": "101291010",
|
|
"临沧": "101291101",
|
|
"沧源": "101291102",
|
|
"耿马": "101291103",
|
|
"双江": "101291104",
|
|
"凤庆": "101291105",
|
|
"永德": "101291106",
|
|
"云县": "101291107",
|
|
"镇康": "101291108",
|
|
"怒江": "101291201",
|
|
"福贡": "101291203",
|
|
"兰坪": "101291204",
|
|
"泸水": "101291205",
|
|
"六库": "101291206",
|
|
"贡山": "101291207",
|
|
"香格里拉": "101291301",
|
|
"德钦": "101291302",
|
|
"维西": "101291303",
|
|
"中甸": "101291304",
|
|
"丽江": "101291401",
|
|
"永胜": "101291402",
|
|
"华坪": "101291403",
|
|
"宁蒗": "101291404",
|
|
"德宏": "101291501",
|
|
"潞江坝": "101291502",
|
|
"陇川": "101291503",
|
|
"盈江": "101291504",
|
|
"畹町镇": "101291505",
|
|
"瑞丽": "101291506",
|
|
"梁河": "101291507",
|
|
"潞西": "101291508",
|
|
"景洪": "101291601",
|
|
"大勐龙": "101291602",
|
|
"勐海": "101291603",
|
|
"景洪电站": "101291604",
|
|
"勐腊": "101291605",
|
|
"南宁": "101300101",
|
|
"南宁城区": "101300102",
|
|
"邕宁": "101300103",
|
|
"横县": "101300104",
|
|
"隆安": "101300105",
|
|
"马山": "101300106",
|
|
"上林": "101300107",
|
|
"武鸣": "101300108",
|
|
"宾阳": "101300109",
|
|
"硕龙": "101300110",
|
|
"崇左": "101300201",
|
|
"天等": "101300202",
|
|
"龙州": "101300203",
|
|
"凭祥": "101300204",
|
|
"大新": "101300205",
|
|
"扶绥": "101300206",
|
|
"宁明": "101300207",
|
|
"海渊": "101300208",
|
|
"柳州": "101300301",
|
|
"柳城": "101300302",
|
|
"沙塘": "101300303",
|
|
"鹿寨": "101300304",
|
|
"柳江": "101300305",
|
|
"融安": "101300306",
|
|
"融水": "101300307",
|
|
"三江": "101300308",
|
|
"来宾": "101300401",
|
|
"忻城": "101300402",
|
|
"金秀": "101300403",
|
|
"象州": "101300404",
|
|
"武宣": "101300405",
|
|
"桂林": "101300501",
|
|
"桂林农试站": "101300502",
|
|
"龙胜": "101300503",
|
|
"永福": "101300504",
|
|
"临桂": "101300505",
|
|
"兴安": "101300506",
|
|
"灵川": "101300507",
|
|
"全州": "101300508",
|
|
"灌阳": "101300509",
|
|
"阳朔": "101300510",
|
|
"恭城": "101300511",
|
|
"平乐": "101300512",
|
|
"荔浦": "101300513",
|
|
"资源": "101300514",
|
|
"梧州": "101300601",
|
|
"藤县": "101300602",
|
|
"太平": "101300603",
|
|
"苍梧": "101300604",
|
|
"蒙山": "101300605",
|
|
"岑溪": "101300606",
|
|
"贺州": "101300701",
|
|
"昭平": "101300702",
|
|
"富川": "101300703",
|
|
"钟山": "101300704",
|
|
"信都": "101300705",
|
|
"贵港": "101300801",
|
|
"桂平": "101300802",
|
|
"平南": "101300803",
|
|
"玉林": "101300901",
|
|
"博白": "101300902",
|
|
"北流": "101300903",
|
|
"容县": "101300904",
|
|
"陆川": "101300905",
|
|
"百色": "101301001",
|
|
"那坡": "101301002",
|
|
"田阳": "101301003",
|
|
"德保": "101301004",
|
|
"靖西": "101301005",
|
|
"田东": "101301006",
|
|
"平果": "101301007",
|
|
"隆林": "101301008",
|
|
"西林": "101301009",
|
|
"乐业": "101301010",
|
|
"凌云": "101301011",
|
|
"田林": "101301012",
|
|
"钦州": "101301101",
|
|
"浦北": "101301102",
|
|
"灵山": "101301103",
|
|
"河池": "101301201",
|
|
"天峨": "101301202",
|
|
"东兰": "101301203",
|
|
"巴马": "101301204",
|
|
"环江": "101301205",
|
|
"罗城": "101301206",
|
|
"宜州": "101301207",
|
|
"凤山": "101301208",
|
|
"南丹": "101301209",
|
|
"都安": "101301210",
|
|
"北海": "101301301",
|
|
"合浦": "101301302",
|
|
"涠洲岛": "101301303",
|
|
"防城港": "101301401",
|
|
"上思": "101301402",
|
|
"板栏": "101301404",
|
|
"防城": "101301405",
|
|
"海口": "101310101",
|
|
"琼山": "101310102",
|
|
"三亚": "101310201",
|
|
"东方": "101310202",
|
|
"临高": "101310203",
|
|
"澄迈": "101310204",
|
|
"儋州": "101310205",
|
|
"昌江": "101310206",
|
|
"白沙": "101310207",
|
|
"琼中": "101310208",
|
|
"定安": "101310209",
|
|
"屯昌": "101310210",
|
|
"琼海": "101310211",
|
|
"文昌": "101310212",
|
|
"清兰": "101310213",
|
|
"保亭": "101310214",
|
|
"万宁": "101310215",
|
|
"陵水": "101310216",
|
|
"西沙": "101310217",
|
|
"珊瑚岛": "101310218",
|
|
"永署礁": "101310219",
|
|
"南沙岛": "101310220",
|
|
"乐东": "101310221",
|
|
"五指山": "101310222",
|
|
"通什": "101310223",
|
|
"香港": "101320101",
|
|
"新界": "101320103",
|
|
"中环": "101320104",
|
|
"铜锣湾": "101320105",
|
|
"澳门": "101330101",
|
|
"台北县": "101340101",
|
|
"台北市": "101340102",
|
|
"高雄": "101340201",
|
|
"大武": "101340203",
|
|
"恒春": "101340204",
|
|
"兰屿": "101340205",
|
|
"台南": "101340301",
|
|
"台中": "101340401",
|
|
"桃园": "101340501",
|
|
"新竹县": "101340601",
|
|
"新竹市": "101340602",
|
|
"公馆": "101340603",
|
|
"宜兰": "101340701",
|
|
"马公": "101340801",
|
|
"东吉屿": "101340802",
|
|
"嘉义": "101340901",
|
|
"阿里山": "101340902",
|
|
"新港": "101340904"
|
|
};
|
|
|
|
// 天气GET
|
|
export const WeatherGet = function (_, generator) {
|
|
var data = this.getFieldValue('data');
|
|
var CityCode = WeatherCity[data];
|
|
generator.definitions_['include_Weather_Forcast'] = '#include <Weather_Forcast.h>';
|
|
generator.definitions_['var_declare_Weather_Forcast'] = 'Weather_Forcast Weather;';
|
|
if (CityCode) {
|
|
this.setFieldValue('ok', "check");
|
|
} else {
|
|
CityCode = 'error';
|
|
this.setFieldValue('error', "check");
|
|
}
|
|
|
|
var code = "Weather.RefreshData(\"" + CityCode + "\")";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
//获取当天天气
|
|
export const WeatherGetToday = function (_, generator) {
|
|
var type = this.getFieldValue('type');
|
|
var code = "Weather.getToday(" + type + ")";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
//获取预报天气
|
|
export const WeatherGetForecast = function (_, generator) {
|
|
var type = this.getFieldValue('type');
|
|
var date = generator.valueToCode(this, 'date', generator.ORDER_ATOMIC);
|
|
var code = "Weather.get" + type + "(" + date + ")";
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const mixio_mqtt_subscribe = function (_, generator) {
|
|
var server = generator.valueToCode(this, 'server', generator.ORDER_ATOMIC);
|
|
var port = generator.valueToCode(this, 'port', generator.ORDER_ATOMIC);
|
|
var mqtt_username = generator.valueToCode(this, 'mqtt_username', generator.ORDER_ATOMIC);
|
|
var mqtt_password = generator.valueToCode(this, 'mqtt_password', generator.ORDER_ATOMIC);
|
|
var project = generator.valueToCode(this, 'project', generator.ORDER_ATOMIC);
|
|
port = port.replace(/"/g, "")
|
|
generator.definitions_['include_PubSubClient'] = '#include <PubSubClient.h>\n';
|
|
generator.definitions_['var_declare_PubSubClient'] = 'const char *mqtt_broker = ' + server + ';\n'
|
|
+ 'const char *mqtt_username = ' + mqtt_username + ';\n'
|
|
+ 'const char *mqtt_password = ' + mqtt_password + ';\n'
|
|
+ 'const int mqtt_port = ' + port + ';\n'
|
|
+ 'String mqtt_topic = "";\n'
|
|
+ 'String mqtt_data = "";\n'
|
|
+ 'boolean mqtt_status = false;\n'
|
|
+ 'String project = ' + project + ';\n\n'
|
|
|
|
+ 'WiFiClient espClient;\n'
|
|
+ 'PubSubClient client(espClient);\n'
|
|
|
|
+ 'void callback(char *topic, byte *payload, unsigned int length) {\n'
|
|
+ ' String data = "";\n'
|
|
+ ' for (int i = 0; i < length; i++) {\n'
|
|
+ ' data = String(data) + String((char) payload[i]);\n'
|
|
+ ' }\n'
|
|
+ ' mqtt_topic = String(topic);\n'
|
|
+ ' mqtt_data = data;\n'
|
|
+ ' mqtt_status = true;\n'
|
|
+ '}\n';
|
|
generator.setups_['setups_PubSubClient'] = 'client.setServer(mqtt_broker, mqtt_port);\n'
|
|
+ 'client.setCallback(callback);\n'
|
|
+ 'while (!client.connected()) {\n'
|
|
+ ' String client_id = "esp-client-";\n'
|
|
+ ' client_id += String(WiFi.macAddress());\n'
|
|
+ ' Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n'
|
|
+ ' if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n'
|
|
+ ' Serial.println("Public emqx mqtt broker connected");\n'
|
|
+ ' client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n'
|
|
+ ' } else {\n'
|
|
+ ' Serial.print("failed with state ");\n'
|
|
+ ' Serial.print(client.state());\n'
|
|
+ ' delay(2000);\n'
|
|
+ ' }\n'
|
|
+ '}\n';
|
|
var code = 'client.loop();\n';
|
|
return code;
|
|
}
|
|
|
|
export const mixio_mqtt_subscribe_key = function (_, generator) {
|
|
var key = this.getFieldValue('key');
|
|
var server = this.getFieldValue('server');
|
|
generator.definitions_['include_PubSubClient'] = '#include <PubSubClient.h>\n';
|
|
generator.definitions_['var_declare_PubSubClient'] = 'const char *mqtt_broker = "' + server + '";\n'
|
|
+ 'const char *mqtt_username = "MixIO_public";\n'
|
|
+ 'const char *mqtt_password = "MixIO_public";\n'
|
|
+ 'const int mqtt_port = 1883;\n'
|
|
+ 'String mqtt_topic = "";\n'
|
|
+ 'String mqtt_data = "";\n'
|
|
+ 'boolean mqtt_status = false;\n'
|
|
+ 'String project = "' + key + '";\n\n'
|
|
|
|
+ 'WiFiClient espClient;\n'
|
|
+ 'PubSubClient client(espClient);\n'
|
|
|
|
+ 'void callback(char *topic, byte *payload, unsigned int length) {\n'
|
|
+ ' String data = "";\n'
|
|
+ ' for (int i = 0; i < length; i++) {\n'
|
|
+ ' data = String(data) + String((char) payload[i]);\n'
|
|
+ ' }\n'
|
|
+ ' mqtt_topic = String(topic);\n'
|
|
+ ' mqtt_data = data;\n'
|
|
+ ' mqtt_status = true;\n'
|
|
+ '}\n';
|
|
generator.setups_['setups_PubSubClient'] = 'client.setServer(mqtt_broker, mqtt_port);\n'
|
|
+ 'client.setCallback(callback);\n'
|
|
+ 'while (!client.connected()) {\n'
|
|
+ ' String client_id = "esp-client-";\n'
|
|
+ ' client_id += String(WiFi.macAddress());\n'
|
|
+ ' Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n'
|
|
+ ' if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n'
|
|
+ ' Serial.println("Public emqx mqtt broker connected");\n'
|
|
+ ' client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n'
|
|
+ ' } else {\n'
|
|
+ ' Serial.print("failed with state ");\n'
|
|
+ ' Serial.print(client.state());\n'
|
|
+ ' delay(2000);\n'
|
|
+ ' }\n'
|
|
+ '}\n';
|
|
var code = 'client.loop();\n';
|
|
return code;
|
|
}
|
|
|
|
export const mixio_mqtt_publish = function (_, generator) {
|
|
var data = generator.valueToCode(this, 'data', generator.ORDER_ATOMIC);
|
|
var topic = generator.valueToCode(this, 'topic', generator.ORDER_ATOMIC);
|
|
var mode = this.getFieldValue('mode');
|
|
if (mode == 1) {
|
|
var code = 'client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String(' + topic + ')).c_str(),String(' + data + ').c_str());\n';
|
|
}
|
|
if (mode == 2) {
|
|
var code = 'client.publish(String("MixIO/"+ String(project) +"/default/"+ String(' + topic + ')).c_str(),String(' + data + ').c_str());\n';
|
|
}
|
|
return code;
|
|
}
|
|
|
|
export const mixio_mqtt_received_the_news = function (_, generator) {
|
|
var mode = this.getFieldValue('mode');
|
|
var topic = generator.valueToCode(this, 'topic', generator.ORDER_ATOMIC);
|
|
var branch = generator.statementToCode(this, 'function');
|
|
branch = branch.replace(/(^\s*)|(\s*$)/g, "");
|
|
if (mode == 1) {
|
|
generator.setups_['setups_topic_' + topic + ''] = 'client.subscribe(String(String(mqtt_username) +"/"+ String(project) +"/"+ String(' + topic + ')).c_str());'
|
|
var code = 'if (mqtt_status) {\n'
|
|
+ ' if (String(mqtt_topic).equals(String(String(mqtt_username) +"/"+ String(project) +"/"+ String(' + topic + ')))) {\n'
|
|
+ ' ' + branch + '\n'
|
|
+ ' mqtt_status = false;\n'
|
|
+ ' }\n'
|
|
+ '}\n'
|
|
}
|
|
if (mode == 2) {
|
|
generator.setups_['setups_topic_' + topic + ''] = 'client.subscribe(String("MixIO/"+ String(project) +"/default/"+ String(' + topic + ')).c_str());'
|
|
var code = 'if (mqtt_status) {\n'
|
|
+ ' if (String(mqtt_topic).equals(String("MixIO/"+ String(project) +"/default/"+ String(' + topic + ')).c_str())) {\n'
|
|
+ ' ' + branch + '\n'
|
|
+ ' mqtt_status = false;\n'
|
|
+ ' }\n'
|
|
+ '}\n'
|
|
}
|
|
return code;
|
|
}
|
|
|
|
export const asyncelegantota = function (_, generator) {
|
|
var board_type = JSFuncs.getPlatform();
|
|
if (board_type.match(RegExp(/ESP8266/))) {
|
|
generator.definitions_['include_ESPAsyncTCP'] = '#include <ESPAsyncTCP.h>';
|
|
} else {
|
|
generator.definitions_['include_AsyncTCP'] = '#include <AsyncTCP.h>';
|
|
}
|
|
generator.definitions_['include_ESPAsyncWebServer'] = '#include <ESPAsyncWebServer.h>';
|
|
generator.definitions_['include_AsyncElegantOTA'] = '#include <AsyncElegantOTA.h>\n';
|
|
generator.definitions_['var_AsyncWebServer'] = 'AsyncWebServer server(80);\n';
|
|
generator.setups_['setups_AsyncWebServer'] = 'AsyncElegantOTA.begin(&server);\n'
|
|
+ 'server.begin();\n';
|
|
var code = '';
|
|
return code;
|
|
} |