工程建设网站怎么提交,望野博物馆要门票吗,网站快速建设,计算机选什么专业最好GEC6818开发板JPG图像显示 | 开发板实现录音一.GEC6818开发板JPG图像显示1.jpg图片特性2.如何解压缩jpg图片1.对jpegsrc.v8c.tar.gz进行arm移植2.进入~/jpeg-8c对jpeg库进行配置3.编译4.安装#xff0c;将动态库存放到 /home/gec/armJPegLib5.清空编译记录6.自己查看下 /home/…
GEC6818开发板JPG图像显示 | 开发板实现录音一.GEC6818开发板JPG图像显示1.jpg图片特性2.如何解压缩jpg图片1.对jpegsrc.v8c.tar.gz进行arm移植2.进入~/jpeg-8c对jpeg库进行配置3.编译4.安装将动态库存放到 /home/gec/armJPegLib5.清空编译记录6.自己查看下 /home/gec/armJPegLib目录下是否有4个目录7.将图片和程序下载到开发板运行即可二.开发板设置ip三.tftp使用四.运行程序显示图片的时候遇到以下问题五.禁用开发板开机自动执行原QT程序六.科大讯飞离线语音识别包Linux_aitalk_exp1227_1398d7c6运行demo程序六.开发板实现录音1.将alsa.tar.gz下载到开发板并解压到根目录2.设置alsa库环境变量3.生效该脚本文件4.查看环境变量有没有alsa库5.指定ALSA库的配置文件6.在开发板创建脚本 vi installAlsaNote.sh 按i按键添加以下内容,然后按:wq退出7.修改脚本权限8.运行脚本,注意每次掉电后需要重新运行9.录音10.播放音频源码asr_offline_sample.cmyhead.hMakefile一.GEC6818开发板JPG图像显示 
1.jpg图片特性 体积小使用到数据结构里面的霍夫曼树(哈夫曼树)对数据进行压缩 2.如何解压缩jpg图片 
1.对jpegsrc.v8c.tar.gz进行arm移植 
移植方式如下 1.将jpegsrc.v8c.tar.gz解压缩到ubuntu ~ 
tar -zxvf jpegsrc.v8c.tar.gz -C ~ // -C 指定解压缩的位置2.进入~/jpeg-8c对jpeg库进行配置 
./configure --hostarm-linux --prefix/home/gec/armJPegLib
--hostarm-linux  指定编译的环境arm平台
--prefix/home/gec/armJPegLib  指定动态库存放的路径3.编译 
make4.安装将动态库存放到 /home/gec/armJPegLib 
make install5.清空编译记录 
make clean6.自己查看下 /home/gec/armJPegLib目录下是否有4个目录 
bin  include  lib  share   7.将图片和程序下载到开发板运行即可 
二.开发板设置ip 
// 临时静态设置ip设置,每次都需要设置
ifconfig eth0 192.168.24.xxx(自己分配的ip)
// 永久ip设置vi /etc/profile设置ipifconfig eth0 192.168.24.xxx(自己分配的ip)参数如下ifconfig lo 127.0.0.1 up   ifconfig eth0 up           ifconfig eth0 192.168.24.xxx 保存退出重启开发板        // 自动获取ip(慎重使用)udhcpc三.tftp使用 
1.从飞秋下载tftp工具解压打开tftp32.exe 2.点击浏览选择需要下载的文件所对应的目录 3.在开发板CRT软件执行一下命令进行下载程序 
tftp 192.168.1.xxx -g -r main需要下载的程序解释: 192.168.1.xxx : 电脑主机ip注意不是开发板的ip-g -r  从电脑下载内容到开发板-p -l  将文件从开发板上传到电脑四.运行程序显示图片的时候遇到以下问题 
/main: error while loading shared libraries: libjpeg.so.8: cannot open shared object file: No such file or directory  将 libjpeg.so.8下载到开发板的/lib 
tftp 192.168.1.xxx -g -r libjpeg.so.8
cp libjpeg.so.8 /lib五.禁用开发板开机自动执行原QT程序 
vi /etc/profile
将以下两行程序注释
#cd /IOT
#./iot 
保存退出重启开发板 reboot六.科大讯飞离线语音识别包Linux_aitalk_exp1227_1398d7c6运行demo程序 1.进入Linux_aitalk_exp1227_1398d7c6/asr_offline_sample/asr_offline_sample 2.sudo cp Linux_aitalk_exp1227_1398d7c6/libs/x64/libmsc.so /lib   只需要拷贝一遍即可3.编译程序 ./64_bitmake.sh4.编译后生成的可执行程序存放在 Linux_aitalk_exp1227_1398d7c6/bin 5.进入 Linux_aitalk_exp1227_1398d7c6/bin执行asr_offline_sample程序 ./asr_offline_sample报错 ./asr_offline_sample: error while loading shared libraries: libmsc.so: cannot open shared object file: No such file or directory 注意将 
sudo cp Linux_aitalk_exp1227_1398d7c6/libs/x64/libmsc.so /lib 然后重新执行程序即可 
六.开发板实现录音 
/alsa/bin  -- arecord 录音
/alsa/bin  -- aplay   播放alsa库移植 
1.将alsa.tar.gz下载到开发板并解压到根目录 
tftp 192.168.24.xxx -g -r alsa.tar.gz2.设置alsa库环境变量 
/etc/init.d/rcS 与 /etc/profile
#最大的区别就是添加完环境变量以后不需要重启开发板只需要执行
source /etc/init.d/rcS  # 即可
vi /etc/init.d/rcS 
#添加以下内容
export LD_LIBRARY_PATH/alsa/lib:$LD_LIBRARY_PATH                          
export PATH$PATH:/alsa/bin	3.生效该脚本文件 
source /etc/init.d/rcS 4.查看环境变量有没有alsa库 
env5.指定ALSA库的配置文件 
将/alsa/share/alsa/拷贝到/usr/share/方法如下
cp /alsa/share/alsa/ /usr/share/ -r
将/alsa拷贝到/home/gec/,方法如下
cp /alsa /home/gec/ -rf     --- 如果/home/gec不存在则需要创建6.在开发板创建脚本 vi installAlsaNote.sh 按i按键添加以下内容,然后按:wq退出 
mkdir /dev/snd
cd /dev/sndmknod dsp c 14 3	
mknod audio c 14 4
mknod mixer c 14 0
mknod controlC0 c 116 0
mknod seq c 116 1
mknod pcmC0D0c c 116 24
mknod pcmC0D0p c 116 16
mknod pcmC0D1c c 116 25
mknod pcmC0D1p c 116 17
mknod timer c 116 33	7.修改脚本权限 
chmod 777 installAlsaNote.sh8.运行脚本,注意每次掉电后需要重新运行 
./installAlsaNote.sh		9.录音 
注意录音的时候不需要接耳机因为开发板自带有麦克风麦克风的位置在耳机口后面 
arecord -d3 -c1 -r16000 -twav -fS16_LE abc.wav-d, --duration#        interrupt after # seconds   --- 录音的秒数
-c, --channels#        channels                    --- 音轨
-r, --rate#            sample rate                 --- 采样频率
-t, --file-type TYPE    file type (voc, wav, raw or au)  --- 封装的格式
-f, --formatFORMAT     sample format (case insensitive) --- 量化位数
abc.wav  是生成的录音文件10.播放音频 
aplay abc.wav
abc.wav  是生成的录音文件源码 
asr_offline_sample.c 
#include stdlib.h
#include stdio.h
#include string.h
#include errno.h
#include unistd.h
#include sys/socket.h
#include netinet/in.h
#include netinet/ip.h /* superset of previous */
#include sys/socket.h
#include netinet/in.h
#include arpa/inet.h   
#include sys/types.h
#include sys/stat.h
#include fcntl.h#include ../../include/qisr.h
#include ../../include/msp_cmn.h
#include ../../include/msp_errors.h#define SAMPLE_RATE_16K     (16000)
#define SAMPLE_RATE_8K      (8000)
#define MAX_GRAMMARID_LEN   (32)
#define MAX_PARAMS_LEN      (1024)const char * ASR_RES_PATH         fo|res/asr/common.jet; //离线语法识别资源路径
const char * GRM_BUILD_PATH       res/asr/GrmBuilld; //构建离线语法识别网络生成数据保存路径
const char * GRM_FILE             call.bnf; //构建离线识别语法网络所用的语法文件
const char * LEX_NAME             contact; //更新离线识别语法的contact槽语法文件为此示例中使用的call.bnftypedef struct _UserData {int     build_fini; //标识语法构建是否完成int     update_fini; //标识更新词典是否完成int     errcode; //记录语法构建或更新词典回调错误码char    grammar_id[MAX_GRAMMARID_LEN]; //保存语法构建返回的语法ID
}UserData;const char *get_audio_file(void); //选择进行离线语法识别的语音文件
int build_grammar(UserData *udata); //构建离线识别语法网络
int update_lexicon(UserData *udata); //更新离线识别语法词典
int run_asr(UserData *udata); //进行离线语法识别const char* get_audio_file(void)
{char key  0;while(key ! 27) //按Esc则退出{printf(请选择音频文件\n);printf(1.打电话给丁伟\n);printf(2.打电话给黄辣椒\n);printf(3.打电话给奥巴马\n);key  getchar();getchar();switch(key){case 1:printf(\n1.打电话给丁伟\n);return wav/ddhgdw.pcm;case 2:printf(\n2.打电话给黄辣椒\n);return wav/ddhghlj.pcm;case 3:printf(\n3.打电话给奥巴马\n);return wav/ddhgabm.pcm;default:continue;}}exit(0);return NULL;
}int build_grm_cb(int ecode, const char *info, void *udata)
{UserData *grm_data  (UserData *)udata;if (NULL ! grm_data) {grm_data-build_fini  1;grm_data-errcode  ecode;}if (MSP_SUCCESS  ecode  NULL ! info) {printf(构建语法成功 语法ID:%s\n, info);if (NULL ! grm_data)snprintf(grm_data-grammar_id, MAX_GRAMMARID_LEN - 1, info);}elseprintf(构建语法失败%d\n, ecode);return 0;
}int build_grammar(UserData *udata)
{FILE *grm_file                            NULL;char *grm_content                         NULL;unsigned int grm_cnt_len                  0;char grm_build_params[MAX_PARAMS_LEN]     {NULL};int ret                                   0;grm_file  fopen(GRM_FILE, rb);	if(NULL  grm_file) {printf(打开\%s\文件失败[%s]\n, GRM_FILE, strerror(errno));return -1; }fseek(grm_file, 0, SEEK_END);grm_cnt_len  ftell(grm_file);fseek(grm_file, 0, SEEK_SET);grm_content  (char *)malloc(grm_cnt_len  1);if (NULL  grm_content){printf(内存分配失败!\n);fclose(grm_file);grm_file  NULL;return -1;}fread((void*)grm_content, 1, grm_cnt_len, grm_file);grm_content[grm_cnt_len]  \0;fclose(grm_file);grm_file  NULL;snprintf(grm_build_params, MAX_PARAMS_LEN - 1, engine_type  local, \asr_res_path  %s, sample_rate  %d, \grm_build_path  %s, ,ASR_RES_PATH,SAMPLE_RATE_16K,GRM_BUILD_PATH);ret  QISRBuildGrammar(bnf, grm_content, grm_cnt_len, grm_build_params, build_grm_cb, udata);free(grm_content);grm_content  NULL;return ret;
}int update_lex_cb(int ecode, const char *info, void *udata)
{UserData *lex_data  (UserData *)udata;if (NULL ! lex_data) {lex_data-update_fini  1;lex_data-errcode  ecode;}if (MSP_SUCCESS  ecode)printf(更新词典成功\n);elseprintf(更新词典失败%d\n, ecode);return 0;
}int update_lexicon(UserData *udata)
{const char *lex_content                    丁伟\n黄辣椒;unsigned int lex_cnt_len                   strlen(lex_content);char update_lex_params[MAX_PARAMS_LEN]     {NULL}; snprintf(update_lex_params, MAX_PARAMS_LEN - 1, engine_type  local, text_encoding  UTF-8, \asr_res_path  %s, sample_rate  %d, \grm_build_path  %s, grammar_list  %s, ,ASR_RES_PATH,SAMPLE_RATE_16K,GRM_BUILD_PATH,udata-grammar_id);return QISRUpdateLexicon(LEX_NAME, lex_content, lex_cnt_len, update_lex_params, update_lex_cb, udata);
}int  tcp_socket0; 
int  new_socket0;void  init_network()
{//1.初始化网络tcp_socket  socket(AF_INET, SOCK_STREAM, 0);//2.绑定服务器  //设置链接的服务器地址信息 struct sockaddr_in  addr;  addr.sin_family    AF_INET; //IPV4 协议  addr.sin_port      htons(50000); //端口addr.sin_addr.s_addr  inet_addr(192.168.24.35); //服务器的IP 地址//解决端口复用int on1;setsockopt(tcp_socket,SOL_SOCKET,SO_REUSEADDR,on,sizeof(on));on1;setsockopt(tcp_socket,SOL_SOCKET,SO_REUSEPORT,on,sizeof(on));//2.绑定服务器地址信息int retbind(tcp_socket,(struct sockaddr *)addr,sizeof(addr));if(ret  0){perror();return 0;}else{printf(绑定成功\n);}//3.设置服务器为监听模式 retlisten(tcp_socket,5);if(ret  0){perror();return 0;}else{printf(设置监听成功\n);}//4.接收客户端的链接请求 printf(等待服务器链接进来\n);new_socketaccept(tcp_socket,NULL,NULL);if(new_socket  0){perror();return  0;}else{printf(链接成功\n);}}//设计一个从网络获取文件接口 
char *get_network_file()
{//进行文件的接收  //1.新建文件  int  new_fdopen(wav/cmd.pcm,O_RDWR|O_CREAT|O_TRUNC,0777);int all_size0; while(1){//读取网络数据写入到本地文件中 char buf[4096]{0}; int size  read(new_socket,buf,4096);  	write(new_fd,buf,size); all_size size;  if(all_size  96000){printf(接收文件完毕开始识别\n);break;}}//关闭所有打开后的文件 close(new_fd);return  wav/cmd.pcm;
}int run_asr(UserData *udata)
{char asr_params[MAX_PARAMS_LEN]     {NULL};const char *rec_rslt                NULL;const char *session_id              NULL;const char *asr_audiof              NULL;FILE *f_pcm                         NULL;char *pcm_data                      NULL;long pcm_count                      0;long pcm_size                       0;int last_audio                      0;int aud_stat                        MSP_AUDIO_SAMPLE_CONTINUE;int ep_status                       MSP_EP_LOOKING_FOR_SPEECH;int rec_status                      MSP_REC_STATUS_INCOMPLETE;int rss_status                      MSP_REC_STATUS_INCOMPLETE;int errcode                         -1;//获取识别的音频文件  //asr_audiof  get_audio_file();   //主要修改这里让他去识别我们自己的音频文件asr_audiof  get_network_file(); //从网络中获取文件f_pcm  fopen(asr_audiof, rb);if (NULL  f_pcm) {printf(打开\%s\失败[%s]\n, f_pcm, strerror(errno));goto run_error;}//获取音频文件的大小分配堆空间fseek(f_pcm, 0, SEEK_END);pcm_size  ftell(f_pcm);fseek(f_pcm, 0, SEEK_SET);pcm_data  (char *)malloc(pcm_size);if (NULL  pcm_data)goto run_error;//把所有的音频数据读取到堆空间中 fread((void *)pcm_data, pcm_size, 1, f_pcm);fclose(f_pcm);f_pcm  NULL;//离线语法识别参数设置snprintf(asr_params, MAX_PARAMS_LEN - 1, engine_type  local, \asr_res_path  %s, sample_rate  %d, \grm_build_path  %s, local_grammar  %s, \result_type  json, result_encoding  UTF-8, ,ASR_RES_PATH,SAMPLE_RATE_16K,GRM_BUILD_PATH,udata-grammar_id);session_id  QISRSessionBegin(NULL, asr_params, errcode);if (NULL  session_id)goto run_error;printf(开始识别...\n);while (1) {unsigned int len  6400;if (pcm_size  12800) {len  pcm_size;last_audio  1;}aud_stat  MSP_AUDIO_SAMPLE_CONTINUE;if (0  pcm_count)aud_stat  MSP_AUDIO_SAMPLE_FIRST;if (len  0)break;printf();fflush(stdout);errcode  QISRAudioWrite(session_id, (const void *)pcm_data[pcm_count], len, aud_stat, ep_status, rec_status);if (MSP_SUCCESS ! errcode)goto run_error;pcm_count  (long)len;pcm_size - (long)len;//检测到音频结束if (MSP_EP_AFTER_SPEECH  ep_status)break;usleep(150 * 1000); //模拟人说话时间间隙}//主动点击音频结束QISRAudioWrite(session_id, (const void *)NULL, 0, MSP_AUDIO_SAMPLE_LAST, ep_status, rec_status);free(pcm_data);pcm_data  NULL;//获取识别结果while (MSP_REC_STATUS_COMPLETE ! rss_status  MSP_SUCCESS  errcode) {rec_rslt  QISRGetResult(session_id, rss_status, 0, errcode);usleep(150 * 1000);}printf(\n识别结束\n);printf(\n);if (NULL ! rec_rslt){printf(%s\n, rec_rslt);//把结果回发给客户端  write(new_socket,rec_rslt,strlen(rec_rslt));}elseprintf(没有识别结果\n);printf(\n);goto run_exit;run_error:if (NULL ! pcm_data) {free(pcm_data);pcm_data  NULL;}if (NULL ! f_pcm) {fclose(f_pcm);f_pcm  NULL;}
run_exit:QISRSessionEnd(session_id, NULL);return errcode;
}int main(int argc, char* argv[])
{const char *login_config     appid  4a6e6f76; //登录参数UserData asr_data; int ret                      0 ;char c;//初始化网络 init_network();ret  MSPLogin(NULL, NULL, login_config); //第一个参数为用户名第二个参数为密码传NULL即可第三个参数是登录参数if (MSP_SUCCESS ! ret) {printf(登录失败%d\n, ret);goto exit;}memset(asr_data, 0, sizeof(UserData));printf(构建离线识别语法网络...\n);ret  build_grammar(asr_data);  //第一次使用某语法进行识别需要先构建语法网络获取语法ID之后使用此语法进行识别无需再次构建if (MSP_SUCCESS ! ret) {printf(构建语法调用失败\n);goto exit;}while (1 ! asr_data.build_fini)usleep(300 * 1000);if (MSP_SUCCESS ! asr_data.errcode)goto exit;printf(离线识别语法网络构建完成开始识别...\n);	while(1)  //不断进行识别 {ret  run_asr(asr_data);if (MSP_SUCCESS ! ret) {printf(离线语法识别出错: %d \n, ret);goto exit;}}exit:MSPLogout();return 0;
} 
myhead.h 
#ifndef _MYHEAD_H
#define _MYHEAD_H#include stdio.h
#include string.h
#include strings.h
//#include uniststat.h
//#include fcntld.h#include fcntl.h
#include stdio.h   	//printf scanf
#include fcntl.h		//open write read lseek close  	 
#include unistd.h
#include sys/types.h
#include sys/stat.h
#include sys/mman.h
#include stdlib.h
#include linux/input.h
#include jpeglib.h#define LCD_WIDTH  800
#define LCD_HEIGHT 	480
#define FB_SIZE		(LCD_WIDTH * LCD_HEIGHT * 4)
#define EN_LCD_SHOW_JPG		1
// 获取触摸屏坐标
int ts(int *ts_x,int *ts_y);
// 显示jpg图片
int lcd_draw_jpg(unsigned int x,unsigned int y,const char *pjpg_path,char *pjpg_buf,unsigned int jpg_buf_size,unsigned int jpg_half);
#endifMakefile 
#common makefile headerDIR_INC  ../../include
DIR_BIN  ../../bin
DIR_LIB  ../../libsTARGET	 asr_offline_sample
BIN_TARGET  $(DIR_BIN)/$(TARGET)CROSS_COMPILE  
CFLAGS  -g -Wall -I$(DIR_INC)ifdef LINUX64
LDFLAGS : -L$(DIR_LIB)/x64
else
LDFLAGS : -L$(DIR_LIB)/x86 
endif
LDFLAGS  -lmsc -lrt -ldl -lpthread  -lstdcOBJECTS : $(patsubst %.c,%.o,$(wildcard *.c))$(BIN_TARGET) : $(OBJECTS)$(CROSS_COMPILE)gcc $(CFLAGS) $^ -o $ $(LDFLAGS)%.o : %.c$(CROSS_COMPILE)gcc -c $(CFLAGS) $ -o $
clean:rm -f *.o $(BIN_TARGET).PHONY:clean#common makefile foot 文章转载自: http://www.morning.fxzgw.com.gov.cn.fxzgw.com http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn http://www.morning.hfytgp.cn.gov.cn.hfytgp.cn http://www.morning.lxjcr.cn.gov.cn.lxjcr.cn http://www.morning.xysdy.cn.gov.cn.xysdy.cn http://www.morning.kdjtt.cn.gov.cn.kdjtt.cn http://www.morning.pngph.cn.gov.cn.pngph.cn http://www.morning.bfycr.cn.gov.cn.bfycr.cn http://www.morning.nsmyj.cn.gov.cn.nsmyj.cn http://www.morning.qrcxh.cn.gov.cn.qrcxh.cn http://www.morning.rdfq.cn.gov.cn.rdfq.cn http://www.morning.yxlpj.cn.gov.cn.yxlpj.cn http://www.morning.zqzhd.cn.gov.cn.zqzhd.cn http://www.morning.kwcnf.cn.gov.cn.kwcnf.cn http://www.morning.bbgn.cn.gov.cn.bbgn.cn http://www.morning.qpsft.cn.gov.cn.qpsft.cn http://www.morning.gnjtg.cn.gov.cn.gnjtg.cn http://www.morning.lydtr.cn.gov.cn.lydtr.cn http://www.morning.lwnwl.cn.gov.cn.lwnwl.cn http://www.morning.ftntr.cn.gov.cn.ftntr.cn http://www.morning.bpmtx.cn.gov.cn.bpmtx.cn http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn http://www.morning.oioini.com.gov.cn.oioini.com http://www.morning.sdkaiyu.com.gov.cn.sdkaiyu.com http://www.morning.ndhxn.cn.gov.cn.ndhxn.cn http://www.morning.bpmfg.cn.gov.cn.bpmfg.cn http://www.morning.fchkc.cn.gov.cn.fchkc.cn http://www.morning.xtyyg.cn.gov.cn.xtyyg.cn http://www.morning.cwknc.cn.gov.cn.cwknc.cn http://www.morning.pwqyd.cn.gov.cn.pwqyd.cn http://www.morning.kltmt.cn.gov.cn.kltmt.cn http://www.morning.pngfx.cn.gov.cn.pngfx.cn http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn http://www.morning.skwwj.cn.gov.cn.skwwj.cn http://www.morning.tsnwf.cn.gov.cn.tsnwf.cn http://www.morning.junyaod.com.gov.cn.junyaod.com http://www.morning.knzmb.cn.gov.cn.knzmb.cn http://www.morning.bcdqf.cn.gov.cn.bcdqf.cn http://www.morning.dyzbt.cn.gov.cn.dyzbt.cn http://www.morning.bmnm.cn.gov.cn.bmnm.cn http://www.morning.jzgxp.cn.gov.cn.jzgxp.cn http://www.morning.jxtbr.cn.gov.cn.jxtbr.cn http://www.morning.kpwdt.cn.gov.cn.kpwdt.cn http://www.morning.jhswp.cn.gov.cn.jhswp.cn http://www.morning.bgdk.cn.gov.cn.bgdk.cn http://www.morning.nqmwk.cn.gov.cn.nqmwk.cn http://www.morning.shangwenchao4.cn.gov.cn.shangwenchao4.cn http://www.morning.psxcr.cn.gov.cn.psxcr.cn http://www.morning.gxfzrb.com.gov.cn.gxfzrb.com http://www.morning.tfrlj.cn.gov.cn.tfrlj.cn http://www.morning.dfkby.cn.gov.cn.dfkby.cn http://www.morning.pfjbn.cn.gov.cn.pfjbn.cn http://www.morning.fnjrh.cn.gov.cn.fnjrh.cn http://www.morning.wspjn.cn.gov.cn.wspjn.cn http://www.morning.lrjtx.cn.gov.cn.lrjtx.cn http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn http://www.morning.sypby.cn.gov.cn.sypby.cn http://www.morning.zwyuan.com.gov.cn.zwyuan.com http://www.morning.ymqfx.cn.gov.cn.ymqfx.cn http://www.morning.bprsd.cn.gov.cn.bprsd.cn http://www.morning.phtqr.cn.gov.cn.phtqr.cn http://www.morning.nzqqd.cn.gov.cn.nzqqd.cn http://www.morning.kchwr.cn.gov.cn.kchwr.cn http://www.morning.ydzly.cn.gov.cn.ydzly.cn http://www.morning.xnrgb.cn.gov.cn.xnrgb.cn http://www.morning.frfpx.cn.gov.cn.frfpx.cn http://www.morning.dljujia.com.gov.cn.dljujia.com http://www.morning.grjh.cn.gov.cn.grjh.cn http://www.morning.chzqy.cn.gov.cn.chzqy.cn http://www.morning.nlnmy.cn.gov.cn.nlnmy.cn http://www.morning.hgscb.cn.gov.cn.hgscb.cn http://www.morning.nmhpq.cn.gov.cn.nmhpq.cn http://www.morning.tpnch.cn.gov.cn.tpnch.cn http://www.morning.ryxgk.cn.gov.cn.ryxgk.cn http://www.morning.fbfnk.cn.gov.cn.fbfnk.cn http://www.morning.nlcw.cn.gov.cn.nlcw.cn http://www.morning.tkrwm.cn.gov.cn.tkrwm.cn http://www.morning.ljxxl.cn.gov.cn.ljxxl.cn http://www.morning.ptqbt.cn.gov.cn.ptqbt.cn http://www.morning.ndmbz.cn.gov.cn.ndmbz.cn