PLAYER MINI 是一个提供串口的语音模块,完美的集成了 MP3、WAV、WMA 的硬解码.同时 软件支持 TF 卡驱动,支持 FAT16、FAT32 文件系统.通过简单的串口指令即可完成播放指定的音 乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠是此款产">
DFROBOT目录1.
概述31.
1简介3DF20;BACKGROUND-COLOR:#4ae2f7">PLAYERMINI是一个提供串口的语音模块,完美的集成了MP3、WAV、WMA的硬解码.
同时软件支持TF卡驱动,支持FAT16、FAT32文件系统.
通过简单的串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠是此款产品的最大特点.
31.
2功能31.
3应用31.
2管脚说明42串口模式52.
1通讯格式52.
2通讯指令52.
3模块返回的数据72.
3.
1模块上电返回的数据.
72.
3.
2曲目播放完毕返回的数据72.
3.
3模块应答返回的数据.
82.
3.
4模块错误返回的数据.
82.
3.
5设备插入拔出消息.
92.
4串口指令详解92.
4.
1指定歌曲播放指令.
92.
4.
2指定音量播放指令.
102.
4.
3指定播放设备102.
4.
4指定文件夹播放.
102.
4.
5指定MP3文件夹中的曲目播放.
112.
4.
6插播ADVERT文件夹下的广告.
122.
4.
7单个文件夹支持1000首曲目122.
4.
8全部循环播放指令.
122.
4.
9单曲循环播放指令.
132.
4.
10播放状态查询指令.
132.
4.
11播放停止指令.
132.
4.
12指定文件夹循环播放.
132.
4.
13随机播放设备文件.
142.
4.
14对当前的曲目设置为循环播放142.
4.
15开启和关闭DAC143按键模式14DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明4.
参考电路164.
1串行接口.
164.
2其它接线方式17DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明1.
概述1.
1简介DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMini是一个提供串口的语音模块,完美的集成了MP3、WAV、WMA的硬解码.
同时软件支持TF卡驱动,支持FAT16、FAT32文件系统.
通过简单的串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠是此款产品的最大特点.
1.
2功能1、支持采样率(KHz):8/11.
025/12/16/22.
05/24/32/44.
1/482、24位DAC输出,动态范围支持90dB,信噪比支持85dB3、完全支持FAT16、FAT32文件系统,最大支持32G的TF卡,支持32G的U盘、64M字节的NORFLASH4、多种控制模式可选.
IO控制模式、串口模式、AD按键控制模式5、广播语插播功能,可以暂停正在播放的背景音乐.
广告播放完毕回到背景音乐继续播放6、音频数据按文件夹排序,最多支持100个文件夹,每隔文件夹可以分配255首曲目7、30级音量可调,6级EQ可调1.
3应用1、车载导航语音播报2、公路运输稽查、收费站语音提示3、火车站、汽车站安全检查语音提示4、电力、通信、金融营业厅语音提示5、车辆进、出通道验证语音提示6、公安边防检查通道语音提示7、多路语音告警或设备操作引导语音8、电动观光车安全行驶语音告示9、机电设备故障自动报警10、消防语音报警提示11、自动广播设备,定时播报DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明1.
2管脚说明图2.
1模块引脚示意图引脚序号引脚名称功能描述备注1VCC模块电源输入3.
3V-5V,建议用5V,不可超过5.
2V2RXUART串行数据输入3TXUART串行数据输出4DAC_R音频输出右声道驱动耳机、功放5DAC_L音频输出左声道驱动耳机、功放6SPK2接小喇叭+驱动小于3W喇叭7GND地电源地8SPK1接小喇叭-驱动小于3W喇叭9IO1触发口默认上一曲(长按音量减)10GND地电源地11IO2触发口默认下一曲(长按音量加)12ADKEY1AD口1当触发时是第一首(长按循环第一首)13ADKEY2AD口2当触发时是第五首(长按循环第五首)14USB+USB+DP接U盘或插电脑的USB口15USB-USB-DM接U盘或插电脑的USB口16Busy播放指示有音频输出低,无音频输出高DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明2串口模式2.
1通讯格式支持异步串口通讯模式,通过串口接受上位机发送的命令通讯标准:9600bps数据位:1校验位:none流控制:none格式:$SVERLenCMDFeedbackpara1para2checksum$O$S起始位0x7E每条命令反馈均以$开头,即0x7EVER版本版本信息[目前默认为0xff]Lenlen后字节个数校验和不计算在内CMD命令字表示具体的操作,比如播放/暂停等等Feedback命令反馈是否需要反馈信息,1反馈,0不反馈para1参数1查询的数据高字节(比如歌曲序号)para2参数2查询的数据低字节checksum校验和[占两个字节]累加和校验[不计起始位$]$O结束位结束位0xEF举个例子,如果我们指定播放NORFLASH,就需要发送:7EFF0609000004FFDDEF,数据长度为6,这6个字节分别是[FF0609000004].
不计算起始、结束、和校验.
再然后对得到的结果进行取反.
2.
2通讯指令1)、直接发送的指令,不需要返回参数CMD命令(指令)对应的功能参数(16位)0x01下一曲0x02上一曲0x03指定曲目(NUM)1-29990x04音量+0x05音量-0x06指定音量0-30DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明0x07指定EQ0/1/2/3/4/5Normal/Pop/Rock/Jazz/Classic/Bass0x08单曲循环指定曲目播放0-29990x09指定播放设备1/2/3/4/5U盘/SD/AUX/SLEEP/FLASH0x0A进入睡眠--低功耗0x0B保留0x0C模块复位0x0D播放0x0E暂停0x0F指定文件夹播放1-10(需要自己设定)0x10扩音设置(无)[DH=1:开扩音][DL:设置增益0-31]0x11全部循环播放[1:循环播放][0:停止循环播放]0x12指定MP3文件夹曲目0--99990x13插播广告0--99990x14支持15个文件夹详见下面的详细说明0x15停止插播,播放背景0x16停止播放2)、查询系统的参数CMD命令详解(查询)对应的功能参数(16位)0x3CSTAY0x3DSTAY0x3ESTAY0x3F发送初始化参数0-0x0F(低四位每位代表一种设备)0x40返回错误,请求重发0x41应答0x42查询当前状态0x43查询当前音量0x44查询当前EQ0x45查询当前播放模式该版本保留此功能0x46查询当前软件版本该版本保留此功能0x47查询UDISK的总文件数0x48查询TF卡的总文件数0x49查询FLASH的总文件数DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明0x4A保留0x4B查询UDISK的当前曲目0x4C查询TF卡的当前曲目0x4D查询FLASH的当前曲目2.
3模块返回的数据模块在关键地方均会有数据返回.
供用户掌控模块的工作状态模块上电初始化成功的数据模块播放完当前曲目的数据模块成功接收到指令返回的ACK(应答)模块接收一帧数据出错[包括数据没收完整、校验出错两种情况]模块在繁忙时,有数据过来,模块会返回忙的指令U盘、TF卡插入拔出,均有数据返回2.
3.
1模块上电返回的数据(1)、模块上电,需要一定的时间初始化,这个时间是需要根据U盘、TF卡、flash等设备的文件多少决定的,一般情况在1.
5~3S这个时间.
如果超过这个时间模块的初始化数据还没有发送出来,说明模块初始化出错,请复位模块的电源,另外检测硬件的连接(2)、模块初始化数据包括在线设备,譬如发送7EFF063F000001xxxxEFDL=0x01说明上电过程中,只有U盘在线.
其它的数据请参照下表,各设备之间是或的关系U盘--在线7EFF063F000001xxxxEF各设备之间是或的关系TF--在线7EFF063F000002xxxxEFPC--在线7EFF063F000004xxxxEFFLASH--在线7EFF063F000008xxxxEFU盘、TF--在线7EFF063F000003xxxxEF(3)、MCU必须等待模块初始化指令发出之后才能发送相应的控制指令,否则发送的指令模块将不予处理.
同时还会影响模块的正常初始化.
2.
3.
2曲目播放完毕返回的数据U盘播放完第1曲7EFF063C000001xxxxEFU盘播放第1曲完毕U盘播放完第2曲7EFF063C000002xxxxEFU盘播放第2曲完毕TF卡播放完第1曲7EFF063D000001xxxxEFTF卡播放第1曲完毕TF卡播放完第2曲7EFF063D000002xxxxEFTF卡播放第2曲完毕DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明FLASH播放完第1曲7EFF063E000001xxxxEFFLASH播放第1曲完毕FLASH播放完第2曲7EFF063E000002xxxxEFFLASH播放第2曲完毕1、针对很多的触发型的播放需求,我们模块更正为播放一曲之后自动进入停止状态.
如果用户需要此类应用.
只需要指定曲目播放即可.
这样,曲目播放完毕会自动停止,等待指令2、另外我们专门开辟一个IO作为解码和停止的状态指示.
请参见第6脚,GPIO1(1)、播放状态输出低电平[很多功放有静音脚,可以通过此IO直接进行控制](2)、播放暂停状态,输出高电平.
模块睡眠状态.
也是高电平3、针对连续播放应用,可以这样实现.
假如U盘播放第一首歌完毕之后,会返回7EFF063C000001xxxxEF3C----表示的是U盘命令0001----表示播放完毕的曲目.
此时再发送播放下一曲的指令,即可顺序循环播放4、模块通电之后,初始化正常,模块会自动进入设备播放状态.
并且停止解码,等待用户发送播放的相关指令5、另外用户在指定设备之后,需要等待200ms的时间,再发送指定的曲目,因为一旦指定曲目之后,系统会对指定的设备进行文件系统的初始化,如果立刻发送指定的曲目命令,会导致模块接收不到.
2.
3.
3模块应答返回的数据FLASH播放完第1曲7EFF063E000001xxxxEFFLASH播放第1曲完毕(1)、为了加强数据通信之间的稳定性,我们增加了应答处理,ACKB字节就是设置是否需要回复应答.
这样做的好处是保证每次通信都有握手信号,收到应答就表示MCU发送的数据,模块已经成功收到,马上处理.
(2)、对于一般的应用,客户可以自由选择,不加这个应答处理也是可以的.
2.
3.
4模块错误返回的数据返回忙7EFF0640000001xxxxEF模块在文件系统初始化时当前处于睡眠模式7EFF0640000002xxxxEF睡眠模式只支持指定设备串口接收错误7EFF0640000003xxxxEF串口一帧数据没接收完毕校验出错7EFF0640000004xxxxEF和校验出错指定文件超出范围7EFF0640000005xxxxEF文件的指定超过设定的范围未找到指定的文件7EFF0640000006xxxxEF指定为文件没有被找到插播指令错误7EFF0640000007xxxxEF当前状态不接受插播(1)、为了加强数据通信之间的稳定性,我们增加了数据错误处理机制.
模块收到不符合格式的数据,均会有信息反馈出来(2)、在环境比较恶劣的情况下,强烈建议客户处理此命令.
如果应用环境一般,可以不用处理.
(3)、模块返回忙,基本上是模块上电初始化的时候才会返回,因为模块需要初始化文件系统DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明(4)、模块上电之后,进入的是设备状态,设备的顺序是U盘--TF卡--FLASH.
如果U盘和TF卡均不在线的话,会自动进入FLASH状态.
如果所有设备都不在线,模块会进入睡眠状态2.
3.
5设备插入拔出消息U盘插入7EFF063A000001xxxxEFTF插入7EFF063A000002xxxxEFPC插入7EFF063A000004xxxxEFU盘拔出7EFF063B000001xxxxEFTF拔出7EFF063B000002xxxxEFPC拔出7EFF063B000004xxxxEF(1)、为了加强模块的灵活性,我们特别增加了,设备插入、拔出的指令反馈.
方便用户知道模块的工作状态.
(2)、设备插入的时候,我们默认进入到设备等待状态,如果用户插入的是带灯的U盘,可以看到U盘灯闪烁.
也可以接收到设备插入的串口消息.
2.
4串口指令详解以下我们对关键的地方进行详细的说明:指定曲目播放[针对按照存储的物理顺序播放]指定播放的音量指定播放的设备指定文件夹播放[这里有多种方式,参见下面的详细说明]全部循环播放指令2.
4.
1指定歌曲播放指令我们给出的指令是支持指定曲目播放的,歌曲的选择范围为0~2999.
其实是可以支持更多的,因为涉及到文件系统的原因,支持过多的歌曲,会导致系统操作缓慢,一般的应用也不需要支持这么多的文件.
(1)、例如选择第一首歌播放,串口的发送部分7E100603000001FFE6EF7E---起始命令FF---版本信息06---数据长度(不包含校验)03---代表命令字节00---是否需要应答[0x01:需要应答,0x00:不需要返回应答]00---曲目的高字节[DH]DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明01---曲目的低字节[DL],这里代表的是第一首歌播放FF---校验的高字节E6---校验的低字节EF---结束命令(2)、对于选曲,如果选择第100首,首先将100转化为16进制,默认为双字节,就为0x0064.
DH=0x00;DL=0x64(3)、如果选择第1000首进行播放,首先将1000转化为16进制,默认为双字节,就为0x03E8DH=0x03;DL=0xE8(4)、其它的操作依次类推即可,因为在嵌入式领域采用16进制是最为方便的一种操作.
2.
4.
2指定音量播放指令(1)、我们系统上电默认的音量为30级,如果要设置音量的话,直接发送相应的指令即可(2)、例如指定音量为15级,串口发送的指令:7EFF060600000FFFD5EF(3)、DH=0x00;DL=0x0F,15转化为16进制为0x000F.
可以参照播放曲目部分的说明2.
4.
3指定播放设备(1)、我们的模块默认是支持4种类型的播放设备,只有设备在线才能指定设备去播放设备是否在线,我们软件会自动检测,无需用户关心.
(2)、看下表,选择合适的指令发送(3)、指定设备之后.
模块会自动进入停止解码状态,等待用户指定曲目播放.
从接收到指定设备到模块内部完成初始化文件系统.
大概需要200ms.
请等待200ms之后再发送指定曲目的指令.
指定播放设备-U盘7EFF0609000001xxxxEFxxxx:代表校验指定播放设备-SD盘7EFF0609000002xxxxEF指定播放设备-AUX7EFF0609000003xxxxEF指定播放设备-FLASH7EFF0609000004xxxxEF指定播放设备-PC7EFF0609000005xxxxEF指[读卡、声卡]模式指定播放设备-SLEEP7EFF0609000006xxxxEF2.
4.
4指定文件夹播放指定文件夹01里面的001xxx.
mp37EFF060F000101xxxxEF指定文件夹11里面的100xxx.
mp37EFF060F000B64xxxxEF指定文件夹99里面的255xxx.
mp37EFF060F0063FFxxxxEF(1)、指定文件夹播放是我们制定的扩展功能,默认文件夹的命名方式为"01","11"这样的方式因为我DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明们的模块不支持汉字名称的文件夹名称识别,为了系统的稳定性和歌曲切换的速度,每个文件夹下默认最大支持255首歌,最多支持99个文件夹的分类,如果客户有特殊要求,需要按照英文名称来分类,我们也是可以实现的,但是名称只能是"GUSHI"、"ERGE"等英文名称组成.
但是mp3文件是需要增加前缀的,可以在"不得不爱.
mp3"基础上改成"002不得不爱.
mp3".
(2)、例如指定"01"文件夹的100xxx.
MP3文件,串口发送的指令为:7EFF060F000164xxxxEFDH:代表的是文件夹的名字,默认支持99个文件,即01--99的命名DL:代表的是曲目,默认最多255首歌,即0x01~0xFF(3)、为了模块的标准性,必须同时指定文件夹和文件名,来锁定一个文件.
单独指定文件夹或者单独指定文件名也是可以的,但是这样文件的管理会变差.
指定文件夹和指定曲目是支持MP3、WAV(4)、下面两个截图说明文件夹和文件名的指定[分左右两个图]2.
4.
5指定MP3文件夹中的曲目播放指定MP3文件夹7EFF0612000001FEE8EF"MP3"文件夹,曲目为"0001"7EFF0612000002FEE7EF"MP3"文件夹,曲目为"0002"7EFF06120000FFFDEAEF"MP3"文件夹,曲目为"0255"7EFF06120007CFFE13EF"MP3"文件夹,曲目为"1999"7EFF0612000BB8FE26EF"MP3"文件夹,曲目为"3000"(1)、在指定文件夹和文件名的基础上,我们扩展单个文件夹的功能,文件夹的命名必须为"MP3"(2)、最多支持65536首曲目,但是鉴于文件系统的操作速度,可能会随着文件的增大,曲目切换的速度会相应的减慢.
(3)、指定的文件命名如下:DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明2.
4.
6插播ADVERT文件夹下的广告插播广告7EFF0613000001FEE7EF"ADVERT"文件夹,曲目为"0001"7EFF0613000002FEE6EF"ADVERT"文件夹,曲目为"0002"7EFF06130000FFFDE9EF"ADVERT"文件夹,曲目为"0255"7EFF06130007CFFE12EF"ADVERT"文件夹,曲目为"1999"7EFF0613000BB8FE25EF"ADVERT"文件夹,曲目为"3000"(1)、我们支持选曲播放过程中插播其它的曲目进行播放,这样就可以满足需要在背景音乐播放的过程中插播一下广告的需求.
(2)、发送0x13指令之后,系统会存储当前正在播放的曲目的IDV3信息,然后播放指定的插播曲目.
等到插播的曲目播放完毕之后,系统会回到保存的那个播放断点处继续播放的.
直至播放完毕.
(3)、设置的格式是,在设备中建立一个"ADVERT"名字的文件夹,在里面存储需要插播的曲目即可,曲目设置为"0xxx+曲目名.
MP3/WAV"(4)、另外系统如果当前处于暂停或者停止状态,发送插播指令,均得不到响应,并且会有错误信息返回.
如果在插播的过程中,可以继续插播其它曲目,但是播放完毕之后,还是回到第一次存储的IDV3信息处.
2.
4.
7单个文件夹支持1000首曲目支持1000首7EFF06140010FFFDD8EF指定为"01"的文件夹,曲目为"0255"7EFF06140017CFFE01EF指定为"01"的文件夹,曲目为"1999"7EFF061400C001FE26EF指定为"12"的文件夹,曲目为"0001"7EFF061400C0FFFD28EF指定为"12"的文件夹,曲目为"0255"7EFF061400C7CFFD51EF指定为"12"的文件夹,曲目为"1999"针对很多客户要求10个文件夹,每个文件夹能管理1000首曲目的要求,我们特别增加此条指令供用户调用,详细的说明如下:(1)、串口的命令字节为0x14(2)、参数为两个字节,假如指定为"12"的文件夹,曲目为"1999"串口的数据:7EFF061400C7CFFD51EF其中0xC7和0xCF为参数,组合起来就是0xC7CF.
总共为16位其中高4位代表文件夹的命名,这里的C表示的是12其中低12位表示文件名的命名,这里7CF代表是1999,也就是文件前缀为"1999"的曲目2.
4.
8全部循环播放指令(1)、针对一些需要循环播放根目录下面曲目的要求,我们加多这一条控制指令0x11.
循环播放开始7EFF0611000001xxxxEF循环播放所有曲目循环播放停止7EFF0611000000xxxxEF停止循环播放曲目(2)、在循环播放的过程中,可以正常的操作播放/暂停,上一曲、下一曲、音量调节,包括EQ等等DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明(3)、循环播放开始之后,模块会不停的播放设备里面的曲目,按照存储的物理顺序.
播完一遍之后会继续再播放一边,直到接收到播放完成,或者暂停等等指令2.
4.
9单曲循环播放指令循环播放开始7EFF0608000001xxxxEF循环播放第一曲循环播放停止7EFF0608000002xxxxEF循环播放第二曲(1)、针对一些需要单曲循环播放的要求,我们改进这一条控制指令0x08.
(2)、在循环播放的过程中,可以正常的操作播放/暂停,上一曲、下一曲、音量调节,包括EQ等等并且状态仍然是循环播放.
可以通过指定单曲触发播放或者进入睡眠来关闭循环播放状.
2.
4.
10播放状态查询指令正在播放7EFF0642000001xxxxEF正在播放暂停播放7EFF0642000002xxxxEF播放过程中被暂停停止播放7EFF0642000000xxxxEF播放完毕当前在睡眠状态7EFF0642000008xxxxEF无设备在线或者被指定睡眠(1)、模块在解码过程中会有四种状态对用户开放.
用户可以通过指令查询获取模块的当前状态(2)、播放暂停是指,正在播放一首曲目,人为的发送指令暂停播放,播放停止是指,一首曲目播放完毕,模块就处于播放停止的状态2.
4.
11播放停止指令停止播放广告7EFF0615000000FEE6EF停止当广告,回到背景音乐继续播停止播放7EFF0616000000FEE5EF停止软件解码(1)、在模块的播放过程中,我们有两种停止方式,一种是停止当前的插播广告,回到当前断点处继续播放背景音乐.
另一种是停止所有的播放,包括背景音乐(2)、假如当前在播放插播广告,这时发送停止指令0x16,芯片会停止所有播放任务2.
4.
12指定文件夹循环播放指定文件夹循环播放7EFF0617000002FEE2EF指定02文件夹循环播放7EFF0617000001FEE3EF指定01文件夹循环播放(1)、文件夹的命名方式必须是"01"---"99".
不可以超过99(2)、指定文件夹之后,就会在指定的文件夹内部循环播放,不会停止,除非发送停止指令等等DF20;BACKGROUND-COLOR:#4ae2f7">PlayerMinimp3模块使用说明2.
4.
13随机播放设备文件随机播放7EFF0617000002FEE2EF所有文件随机循环播放(1)、此指令时随机播放设备里面存储的语音文件,是按照物理顺序随机播放,不分设备里面是否带有文件夹.
并且播放的第一个语音文件必须是设备里面的第一个语音文件2.
4.
14对当前的曲目设置为循环播放指定文件循环播放7EFF0619000000FEE2EF单曲循环播放开启7EFF0619000001FEE1EF单曲循环播放关闭(1)、在播放的过程中发送此指令,会循环播放当前的曲目.
如果当前是处理暂停或者停止状态,则芯片不会响应此指令(2)、如果要关闭单曲循环播放,发送关闭的指令即可,这样会把当前的曲目播放完毕之后,就停止.
RAKsmart 虽然是美国主机商,但是商家的主要客户群还是在我们国内,于是我们可以看到每次的国内节日促销活动期间商家也会发布促销。包括这次年中大促活动,RAKsmart商家也有发布为期两个月的年终活动,其中有商家擅长的独立服务器和便宜VPS主机。服务器包括站群服务器、特价服务器、高达10G带宽不限制流量的美国服务器。商家优惠活动,可以看到对应商品的优惠,同时也可以使用 优惠码 RAKBL9 同时...
香港最便宜的vps要多少钱?最便宜的香港vps能用吗?香港vps无需备案,整体性能好,而且租用价格便宜,使用灵活,因为备受站长喜爱。无论是个人还是企业建站,都比较倾向于选择香港VPS。最便宜的香港vps能用吗?正因为有着诸多租用优势,香港VPS在业内颇受欢迎,租用需求量也在日益攀升。那么,对于新手用户来说,香港最便宜的vps租用有四大要点是务必要注意的,还有易探云香港vps租用最便宜的月付仅18元...
每年的7月的最后一个周五是全球性质的“系统管理员日”,据说是为了感谢系统管理员的辛苦工作....friendhosting决定从现在开始一直到9月8日对其全球9个数据中心的VPS进行4.5折(优惠55%)大促销。所有VPS基于KVM虚拟,给100M带宽,不限制流量,允许自定义上传ISO...官方网站:https://friendhosting.net比特币、信用卡、PayPal、支付宝、微信、we...