游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

小作品基于STM32的天气预报系统

  以前在学校时候做的一个小作品,分享给大家。1、作品介绍
  首先,看一下作品的演示视频:
  视频加载中。。。
  温馨提示:因为是进行人机对话演示,所以应打开音量观看哈。
  这是本人之前的一个小作品,一个智能的天气预报系统。显示屏上显示各种天气指标及实时显示时间日期等。可以使用触摸屏输入城市名称搜索天气,也可以使用语音搜索天气。1。1系统功能
  作品包含的的功能有:
  (1)实时天气显示,温湿度显示,日历显示;
  (2)收音机功能;
  (3)人机对话功能。
  系统框图如下:
  1。2系统GUI界面
  (1)主界面
  你没有看错,就是99,就是星期八。但这不是系统出错,而是本人故意设置的初始值,每当开机收到天气数据之后就可以看出有明显的变化。
  (2)菜单界面
  (3)wifi设置界面
  点击文本框会进入键盘界面,输入WiFi信息之后返回,再点击Add按钮即可发送WiFi名称与密码给控制器,控制器控制WiFi模块连接WiFi热点。
  (4)收音机界面
  通过点击下方频率点跳到相应频率,再通过左右按钮调节频率至所需频率。2、作品实现2。1天气数据获取及解析2。1。1天气数据从哪来?
  天气数据可以从一些专门做天气预报的网站获取,如心知天气、和风天气等。本人选择的是心知天气
  https:www。seniverse。com
  网站首页如下:
  我们是通过其API密钥才能获取得到其天气数据,而只有注册的用户才拥有API密钥,所以必须得注册,可以点击右上角进行注册。2。1。2天气数据是什么格式?
  登录心知天气网站之后,点击菜单导航中的数据常规数据即可查看API文档。在API文档页面的左侧可看到一些可查看的条目,如:
  可点击天气实况查看其相关说明,可以看到其天气数据格式如下图所示:
  这就是JSON格式的数据,不了解JSON的朋友可查看往期文章:例说嵌入式实用知识之JSON数据
  2。1。3如何解析得到有用的数据?
  从上图中的JSON格式天气数据包中我们可以看出:我们需要用到的数据就是冒号后面的字符串数据,这些数据是我们需要获取并显示到屏幕上的数据。
  那么,我们该怎么从这一堆JSON格式数据中解析出冒号后面的字符串呢?并且,这个系统是基于单片机的天气预报系统。而单片机使用C语言进行编程开发的,所以我们得使用C语言对这些JSON天气数据包进行解析。
  其实,有一个专门解析JSON数据包的第三方C语言库。我们可以使用这个库进行解析,这个CJSON库的下载链接为:
  链接:https:pan。baidu。coms1DQynsdlNyIvsVXmf4W5b8Q提取码:ww4z
  只要把cJSON。c与cJSON。放到工程主程序所在目录,然后在主程序中包含头文件JSON。即可引入该库。如:
  下面给出一个实例:
  测试代码:程序功能:解析JSON天气数据包now。json(天气实况)微信公众号:嵌入式大杂烩1、数据来源:心知天气(api。seniverse。com)2、获取方法:GEThttps:api。seniverse。comv3weathernow。json?key2owqvhhd2dd9o9f9locationbeijinglanguagezhHansunitc3、返回的数据范例见文件test。txtincludestdio。hincludestring。hincludestdlib。hincludecJSON。h函数声明intcJSONWeatherParse(charJSON);FunctionName:main主函数Parameter:NULLReturnValue:0FunctionExplain:intmain(intargc,charargv){FILEfp;chardata;intlen;inti;if((fpfopen(now。txt,rb))NULL){printf(Openerror!);return1;}fseek(fp,0,SEEKEND);文件指针指向文件末尾lenftell(fp);求文件长度fseek(fp,0,SEEKSET);文件指针指向文件开头data(char)malloc(len1);fread(data,len,1,fp);fclose(fp);printf(readfilescomplete,lend。,now。txt,len);cJSONWeatherParse(data);解析天气数据free(data);system(pause);return0;}FunctionName:cJSONWeatherParse,解析天气数据Parameter:JSON:天气数据包results:保存解析后得到的有用的数据ReturnValue:0:成功其他:错误FunctionExplain:intcJSONWeatherParse(charJSON){cJSONjson,arrayItem,object,subobject,item;jsoncJSONParse(JSON);if(jsonNULL){printf(Errorbefore:〔s〕,cJSONGetErrorPtr());return1;}else{if((arrayItemcJSONGetObjectItem(json,results))!NULL);匹配字符串results,获取数组内容{intsizecJSONGetArraySize(arrayItem);获取数组中对象个数printf(cJSONGetArraySize:sized,size);if((objectcJSONGetArrayItem(arrayItem,0))!NULL)获取父对象内容{if((subobjectcJSONGetObjectItem(object,location))!NULL){printf(location);if((itemcJSONGetObjectItem(subobject,id))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,name))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,country))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,timezone))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,timezoneoffset))!NULL){printf(s:s,itemstring,itemvaluestring);}}if((subobjectcJSONGetObjectItem(object,now))!NULL){printf(now);if((itemcJSONGetObjectItem(subobject,text))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,code))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,temperature))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,feelslike))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,pressure))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,humidity))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,visibility))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,winddirection))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,windspeed))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,windscale))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,clouds))!NULL){printf(s:s,itemstring,itemvaluestring);}if((itemcJSONGetObjectItem(subobject,dewpoint))!NULL){printf(s:s,itemstring,itemvaluestring);}}if((subobjectcJSONGetObjectItem(object,lastupdate))!NULL){printf(lastupdate);printf(s:s,subobjectstring,subobjectvaluestring);}}}}cJSONDelete(json);return0;}
  这个测试程序会去读取我们工程目录下的now。txt件,所以事先我们需要把JSON格式的天气预报数据复制到该文件中:
  把now。txt里面的数据读出并保存到data指向的动态内存中。然后再把data中的数据传入我们事先编写好的解析天气数据的函数intcJSONWeatherParse(charJSON)中进行解析,最后把解析之后的数据给到该函数的返回值即可。
  解析函数里主要用到以下函数:1、cJSONParse函数cJSONcJSONParse(constcharvalue);
  该函数用来解析JSON数据包,并按照cJSON结构体的结构序列化整个数据包。
  2、cJSONGetObjectItem函数cJSONGetObjectItem(cJSONobject,constcharstring);
  该函数可从cJSON结构体中查找某个子节点名称(键名称),如果查找成功可把该子节点序列化到cJSON结构体中。
  3、cJSONGetArraySize函数cJSONGetArraySize(constcJSONarray);
  该函数可获取数组中元素个数。
  4、cJSONGetArrayItem函数cJSONGetArrayItem(constcJSONarray,intindex);
  该函数可获取数组中的内容。
  5、cJSONDelete函数cJSONDelete(cJSONc);
  该函数用来释放cJSONParse函数内部申请的堆内存。
  我们的解析函数主要运用多次cJSONGetObjectItem来匹配各对象成员,然后取出各个键值对的值valuestring。
  该程序的运行结果如下:
  可见,解析完全正确!解析结果中冒号后面的数据就是我们可以选择使用的数据。这是解析当天的天气实况数据,解析未来几天的天气数据包或是其它天气数据包的方法都是类似的。2。2显示部分2。2。1几类常用的显示屏
  液晶显示屏的接口较为常见的有3种类型:RGB接口,MCU总线接口,串口HMI。
  (1)RGB接口
  RGB接口必须用在带有RGB驱动的ARM芯片上,一般的ARM9芯片有少许支持RGB的,ARM9以上的芯片多数支持RGB。但是此类接口的驱动是最复杂的,对硬件要求也是最高的。
  (2)MCU总线接口
  MCU总线接口驱动比RGB简单一些,对硬件也基本没有任何要求,简单的MCU就可以驱动。但是界面的显示驱动工作量很大。
  总线型接口的屏只提供点阵的操作。图片,字符等任何显示内容都是通过取模数据,在屏幕上相应的位置把点阵一个一个的打出来。在此基础上再来实现人机界面的逻辑。工作量很大。
  (3)串口HMI
  串口HMI是一种新的显示方案。首先它跟MCU总线屏一样对硬件没有任何要求,其次。它没有速度瓶颈,因为界面的显示是设备内部自己实现的,用户MCU只是发送指令,并不需要底层驱动。
  再次,针对显示的人机界面的布局和大多数的逻辑(比如界面背景,按钮效果,文本显示等)。全部都不需要用户的MCU参与,使用设备提供的上位软件,在电脑上点几下鼠标就完成了。制作好资源文件以后下载到屏幕即可自动运行,剩下的就是USART交互了。2。2。2本系统的显示方案
  本系统选择的是串口HMI这一显示方案。因为这种方案确实是可以在短时间内设计出比较漂亮的GUI界面。GUI界面设计软件如下图:
  这是串口屏商家给的配套的GUI设计软件,该软件的下载链接:
  链接:https:pan。baidu。coms1uYFhF412WVkk0FuqeOAGCg提取码:e70r
  我们可以从左侧的工具箱里往工作区里拖拽需要用到的控件,常用的控件有文本控件、文字控件、按钮控件等。可在右侧的属性窗口设置控件的属性。可以通过选择不同的字库来设置不同的字体样式。
  控件、页面的切换或则触发可能会产生相应的事件,可以通过代码来控制。其中,页面、控件的背景是可以上传本地的图片的,所以可以事先通过PS或则其他作图软件设计出精美的背景图片,然后再把控件都设置为透明色,最终地显示效果就可以达到很好的效果。
  总之,可以很方便很容易设计出精美的GUI界面。同时,这个GUI设计软件还具有模拟真实的屏幕的功能,可以很方便地与用户MCU进行联调。仿真界面如图所示:
  进入模拟器界面,可在下方选择数据的输入方式为用户MCU输入,然后设置相应的串口号和波特率即可。还可以实时查看用户MCU传给模拟器的数据。2。3与天气服务器通信
  每个问题的解决往往都不能一步到位,要把这个问题的所有关键点找出来,着手去解决这些关键点,最终问题自然会得到解决。
  同样的,虽然我们最终是用单片机控制WiFi模块来获取天气数据的,但是我们首先应该确保在没有单片机的情况下能获取得到天气数据,确保能和天气服务器正常通信。只有这样,在使用单片机获取数据遇到问题时才知道出错的范围在哪,便于我们进行调试。下面,分享windows下与天气服务器通信的测试方法:2。3。1所需的工具
  网络调试助手。本人使用的是SocketTool,SocketTool是一款小巧实用且功能强大的TCPUDP网络通讯调试工具,可以帮助你检查网络应用软件及硬件的通讯情况,可以创建Socket服务器,如创建UDP组播地址及端口、创建UDPClient客户端、创建TCPClient、创建TCPServer。
  该工具下载链接为:
  链接:https:pan。baidu。coms1fgarl8xNb6nEAl3Ly0NQ3w提取码:np5v2。3。2测试方法
  (1)首先,使用SocketTool工具建立一个TCPClient,对方IP设为:116。62。81。138(这是心知天气服务器的IP地址),对方端口设为80。如:
  怎么才能知道一个网站的IP呢?在cmd窗口下输入ping域名即可得该域名对应的IP,如我们ping百度:
  ping是Windows、Unix和Linux系统下的一个命令,利用ping命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障,该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。
  (2)发送HTTP请求,向心知天气服务器请求天气数据。HTTP有几种请求方法,我们这里使用的是GET请求:
  GET请求:从指定的资源请求数据。
  具体的请求方法示例为:GEThttps:api。seniverse。comv3weathernow。json?key2owqvhhd2dd9o9f9locationbeijinglanguagezhHansunitc
  其中,GET后面的URL地址可以上心知天气查看,如:
  URL中的几个参数是可以设置的:
  key:你的API密钥location:所查询的地点language:语言unit:单位
  在SocketTool工具中发送GET请求(首先先得点击连接按钮进行连接),发送格式如下:
  需要注意的问题就是每个GET请求之后都需要空两行,这两个换行也是GET请求的一部分,所以在编写单片机代码时需要注意的是要在这个请求字符串后添加rr,表示换两行。
  服务器返回的天气数据为:
  看看服务器返回的数据,发现中文都是乱码。原因是获取得的天气数据是utf8格式,必须转换为GBK格式中文才能正常显示。此处,我们只是测试与服务器是否能正常交互,测试结果显示有数据返回,说明通过以上的GET请求时可以获取到数据的。
  在应用到单片机上时,还需要考虑的问题就是怎么把utf8格式转换为GBK格式的问题,转换后中文才能正常显示在显示屏上。2。4语音对话功能
  本系统人机对话功能采用了两个硬件模块:(1)语音识别模块:采用LD3320语音识别芯片;(2)语音合成模块:采用SYN6288语音合成芯片。2。4。1语音识别
  本系统语音识别模块采用的语音芯片是LD3320。该芯片已经集成了语音识别的处理器,不需要外接其他的辅助芯片如Flash、RAM等,直接嵌入在现有的产品中就可以实现语音识别的功能。
  语音识别的过程为:(1)先预存要识别的关键词,如:搜索天气defineSTR00xiaotian小天defineSTR01sousuofuzhoutianqi搜索福州天气defineSTR02sousuoshanghaitianqi搜索上海天气defineSTR03sousuoshenzhentianqi搜索深圳天气defineSTR04sousuobeijingtianqi搜索北京天气defineSTR05sousuoguangzhoutianqi搜索广州天气defineSTR06sousuonanningtianqi搜索南宁天气defineSTR07sousuoxiamentianqi搜索厦门天气defineSTR08sousuoquanzhoutianqi搜索泉州天气defineSTR09sousuoputiantianqi搜索莆田天气defineSTR10sousuonanpingtianqi搜索南平天气
  可以预存50条关键词(关键句),本人已经把关键词写死在程序里了,这显然就不能灵活的面对各种场景。其实可以通过代码编写一个学习功能,即识别之前首先进行学习一些即将要识别的关键词,然后在进行识别演示,这样就可以应对比较多的场景。
  但是,这样还是不够智能,毕竟只能识别已经预存的关键词(关键句),要是没有预存就没办法识别了。所以真正的语音识别应该是在软件算法上下功夫,关于语音识别已然成为热门的一大研究专题,这就属于人工智能的范畴吧。希望以后可以有机会接触这一块,如有接触再做学习分享
  (2)开始识别,如:staticvoidTaskASR(void){switch(nAsrStatus){caseLDASRRUNING:caseLDASRERROR:break;caseLDASRNONE:nAsrStatusLDASRRUNING;if(RunASR()0)启动一次ASR识别流程:ASR初始化,ASR添加关键词语,启动ASR运算{nAsrStatusLDASRERROR;}break;caseLDASRFOUNDOK:nAsrResLDGetResult();一次ASR识别流程结束,去取ASR识别结果ASRSuccessHandle(nAsrRes);nAsrStatusLDASRNONE;break;caseLDASRFOUNDZERO:default:nAsrStatusLDASRNONE;break;}}
  nAsrStatus是用来表示语音识别的状态,不是LD3320芯片内部的状态寄存器。nAsrStatus有几种情况。我们比较关注的是LDASRFOUNDOK状态。LDASRFOUNDOK状态为识别成功,识别成功后将调用ASRSuccessHandle函数进行识别后的操作。
  (3)识别成功则执行相应操作,如voidASRSuccessHandle(uint8asrcode){printf(r识别码:d,asrcode);if(0asrcode){printf(我在,需要我的帮助吗?);TTSPlay(0,〔t3〕〔2〕我在,〔2〕需要〔2〕我的〔3〕帮助吗);RunFlagTRUE;}elseif(RunFlag){RunFlagFALSE;识别码010为搜索天气识别码if(asrcode0asrcode10){switch(asrcode){caseCODE01:printf(福州命令识别成功r);TTSPlay(0,〔t3〕〔2〕小天正在为您搜索福州天气);memcpy(gcity,fujianfuzhou,sizeof(gplace));break;caseCODE02:printf(上海命令识别成功r);TTSPlay(0,〔t3〕〔2〕小天正在为您搜索上海天气);memcpy(gcity,shanghai,sizeof(gplace));break;caseCODE03:printf(深圳命令识别成功r);TTSPlay(0,〔t3〕〔2〕小天正在为您搜索深圳天气);memcpy(gcity,shenzhen,sizeof(gplace));break;caseCODE04:printf(北京命令识别成功r);TTSPlay(0,〔t3〕〔2〕小天正在为您搜索北京天气);memcpy(gcity,beijing,sizeof(gplace));break;caseCODE05:printf(广州命令识别成功r);TTSPlay(0,〔t3〕〔2〕小天正在为您搜索广州天气);memcpy(gcity,guangzhou,sizeof(gplace));break;caseCODE06:printf(南宁命令识别成功r);TTSPlay(0,〔t3〕〔2〕小天正在为您搜索南宁天气);memcpy(gcity,nanning,sizeof(gplace));break;caseCODE07:printf(厦门命令识别成功r);TTSPlay(0,〔t3〕〔2〕小天正在为您搜索厦门天气);memcpy(gcity,xiamen,sizeof(gplace));break;caseCODE08:printf(泉州命令识别成功r);TTSPlay(0,〔t3〕〔2〕小天正在为您搜索泉州天气);memcpy(gcity,quanzhou,sizeof(gplace));break;caseCODE09:printf(莆田命令识别成功r);TTSPlay(0,〔t3〕〔2〕小天正在为您搜索莆田天气);memcpy(gcity,putian,sizeof(gplace));break;caseCODE10:printf(南平命令识别成功r);TTSPlay(0,〔t3〕〔2〕小天正在为您搜索南平天气);memcpy(gcity,nanping,sizeof(gplace));break;}memset(weatherdata,0,sizeof(weatherdata));GETNowWeather();GETDailyWeather();GetWeatherTimerTIMER1HOUR;DisplayWeather(weatherdata);DisplayWeatherIcon(weatherdata);}else{switch(asrcode){caseCODE11:printf(语音播报天气命令识别成功r);printf(s,gWeatherText);TTSPlay(0,(uint8t)gWeatherText);break;caseCODE12:printf(今天的气温是多少命令识别成功r);break;default:TTSPlay(0,语音识别失败,请对准麦克风说话!);break;}}}}2。4。2语音合成
  本系统的语音合成模块采用SYN6288语音合成芯片,支持文本直接转化为语音。其与单片机的通信方式为串口通信。向该模块发送以下格式的数据包:
  5字节帧头文本1字节校验,文本字节数小于等于200字节
  即可合成语音。代码如:微信公众号:嵌入式大杂烩voidTTSPlay(uint8tMusic,uint8tText){需要发送的文本uint8tDataPacket〔50〕;uint8tTextLen;uint8tecc0;定义校验字节uint8ti0;TextLenstrlen((constchar)Text);需要发送文本的长度帧固定配置信息DataPacket〔0〕0xFD;构造帧头FDDataPacket〔1〕0x00;构造数据区长度的高字节DataPacket〔2〕TextLen3;构造数据区长度的低字节DataPacket〔3〕0x01;构造命令字:合成播放命令DataPacket〔4〕0x01Music4;构造命令参数:背景音乐设定校验码计算for(i0;i5;i)依次发送构造好的5个帧头字节{eccecc(DataPacket〔i〕);对发送的字节进行异或校验}for(i0;iTextLen;i)依次发送待合成的文本数据{eccecc(Text〔i〕);对发送的字节进行异或校验}发送帧信息memcpy(DataPacket〔5〕,Text,TextLen);DataPacket〔5TextLen〕ecc;UART4SendStr((char)DataPacket,5TextLen1);}
  调用方式如:TTSPlay(0,〔t3〕〔2〕小天正在为您搜索福州天气);3、最后
  以上就是关于该作品比较重要的一些内容的分享,由于篇幅太长其他功能不做介绍,有兴趣的朋友可以查看源码。源码链接:
  https:github。comzhengnianlistm32weather
  往期好文:
  socket应用基于C语言的TCP天气客户端的实现
  手头上无LCD却又急着开发UI?LCD模拟器了解一下
  STM32串口IAP分享
  我整理了一个嵌入式资料库,大家有什么好资料分享?可以给我留言,我把它加进去,资源共享,一起来完善这个资料库!
  (资料库链接:
  https:gitee。comzhengnianliEmbedSummary)

长安欧尚X7PLUS,搭配第三代智能可变气门技术,新车值得购为什么合资品牌的SUV,销量慢慢变小,国产SUV逐渐崛起呢?以前不少合资品牌的SUV,年销量都可以突破百万辆,现在年销售30万辆就是不错的成绩了,反观国产品牌的SUV,长城、吉……老司机的车技OPPOEncoFree2真无线主动降噪大家结伴自驾游的时候,是愿意坐开得最快的那辆车,还是最稳的那辆?答案显而易见,出去玩儿嘛,图个心旷神怡,图个安全从容,图个车上想睡就能睡不至于被晃吐。这种时候开车稳当的老……夏天,就穿一双舒服透气的芯迈天丝裸足休闲鞋吧转眼间6月就到了,天气也变得越来越热,对于我这种不喜欢穿凉拖的人来说,有一双透气舒服的便鞋就很舒适了。芯迈是我挺喜欢的鞋垫品牌,最近也出了了好几款鞋子,其中一双芯迈天丝裸……咪咕发布元宇宙MIGU演进路线图,将通过5GMSC,打造体育VR陀螺11月3日讯,11月2日下午,以云上精彩,共创数智生活为主题的2021中国移动全球合作伙伴大会产品创新融合发布会在广州召开。中国移动咪咕公司总经理刘昕以搭乘5G信息高铁……工业4。0促进国内机器视觉发展,触控显示设备将迎来什么?工业自动化的发展,让许多生产环节发生质的变化。其中,机器视觉作为人工智能在制造业中应用广泛的技术之一,其利用计算机模拟人的视觉检测功能,通过机器自动监控来实现产品检测、测量和控……一部剧狂赚9亿美元!鱿鱼搅动世界,成就奈飞韩流再次袭来,但来的是个混血儿。作者周戎高远山编辑蔡真来源野马财经奈飞的新韩剧《鱿鱼游戏》,以1。11亿点播(观看时长超2分钟)用户数量,成为奈飞历史上……5G自动驾驶出租车,敢不敢去坐坐?近日,无线深海君看到一则新闻:武汉有42辆自动驾驶出租车已上路,市民可免费预约乘坐!最近几年,自动驾驶早已从往昔喧嚣的狂热,化作寂静的蛰伏与蓄力,这么快就又爆发了?……520心理特辑一生勾引了132位女性的意大利情圣卡萨诺瓦网友咿咿提问:男朋友追我的时候我问他是不是只是因为我单身所以追我,他说周围单身妹子很多但是他和她们最多只是朋友,没有追过哪个。但是最近同事和我说他其实在我上班之前追……摩飞恒温烧水壶测评懒人烧水的福音日常生活中最不引人注意的喝水动作,有很多可以优化的方向,比如即热、保温等等。小的时候的印象是用铝壶放在煤球炉子上烧水,水开后铝壶会报警。相信现在还有很多家庭在使用这种水壶烧水,……全国各地电影院特价票预售火爆包邮区影迷最热情据媒体报道,3月20日电影院复工首日全国总票房仅为1。38万,至今总票房不足8万,但随着疫情状况整体好转,影迷去电影院看电影的热情高涨。3月26日,支付宝发布城市生活周电……瘫痪女孩杀人案迪迪布朗夏尔谋杀案(美国)今天的内容是关于一个奇特的美国谋杀案的,为什么做这个内容,不知道,毕竟毒镜明天做什么内容连我都不知道,来吧三刻拍案惊奇。2015年6月14日晚上,Facebook名人迪迪……微信突然又更新,这功能我们等了8年大家好,祝老铁们周末快乐。大叔本想微信约妹妹去游玩,微信又弹小红点,又更新版本啦,又更新,更新个锤子喔!内存都不够用了,更新比换衣服的还快!微信内测又更新了!……
oppo手机怎么选?在线下购买手机很多人首当其冲OPPO手机但是oppo手机那么多个系列你真的会选吗?本期视频小编给大家讲讲OPPO手机怎么选以及他的4个系列F……鸿蒙OS2。0更新了吗?更新方法更新包大小使用体验等都来了在6月2日的华为鸿蒙操作系统及华为全场景新品发布会上,万众瞩目已久的HarmonyOS2。0系统正式发布,在实际操作当中,官方也兑现了此前的预热,在发布会后,不少华为手机用户就……为什么每次发朋友圈有一个人就可以马上点赞,什么时间发都会点赞第一个点赞很正常。没有啥大惊小怪的。这应该是在乎朋友圈里每个朋友的意向吧!有这样的朋友也算得上够竞业的一个朋友值得点赞的!这一定是个非常关注你的人。无时无刻不在关注……新疆新能源发电应用AI技术风电功率预测准确率达96来源:经济日报新闻客户端2月14日,记者从国网新疆电力有限公司获悉,新疆应用人工智能(AI)等10余种算法进行新能源功率预测,可以随时掌握未来一段时间新能源出力和电量情况,进一……世纪华通元宇宙游戏LiveTopia用户超1亿全球前三今年4月28日,A股游戏龙头世纪华通在全球最大的元宇宙社区Roblox平台,推出元宇宙游戏《LiveTopia》,游戏上线不到5个月时间,月活跃用户超过4000万,在Roblo……如何看待魅族公告终止三零系统,这将对行业有什么影响?如何看待魅族公告终止三零系统,这将对行业有什么影响?只能说一件事:能力越大,责任越大,对于小企业更多是要在乎的是先活下来,穷则独善其身;然而在手机广告关闭方面,前段直接三……刚说过集团高度重视,又被爆商业承兑汇票拒付,恒大怎么了?高度重视是表态发言。兑付商票需要真金白银,恒大现在陷入了流动性危机,没钱了,想兑付的话,三个办法,一是金融机构再借钱,但在三条红线的禁令下,这一条基本堵死了,大家不抽贷就不错了……python海龟绘图画冰墩墩importturtleastt。speed(0)速度t。bgcolor(orange)背景颜色左手t。up()t。goto(89,56)t……10年不换手机号码的老用户,中国移动会给出特殊待遇吗?新号38和58套餐可以无限流量,我十五年老号必须88元!特殊待遇就是不停挖坑,让你升级各种套餐!欠费一样停机!无其他!我的手机号就是移动号码,从2001年就用,直到现在2……农村人买二手苹果手机会被人家笑话吗?感谢您的阅读!我不知道为什么大家会问出这样的问题?实际上,苹果手机本身就不是一个多了不起的事情,它只是一种日常工具,每个人都可以考虑购买。我们够买的时候,实际上更多……从现在的发展趋势来看未来新能源汽车处于一个怎样的地位?新能源属于探索性阶段,到底是用电池,还氢能源,还是核能都还没有显现绝对的优势,以后会走哪个方向还不确定。但智能化自动化汽车,一定是未来的方向。新能源汽车与环境挂勾,哪得看……你肯定想学习的顶级Python项目(附代码)作者:AnirudhRao翻译:张睿毅校对:王婷本文约4600字,建议阅读20分钟。本文介绍了三种不同的阶段去开发Python项目,旨在提供适合各种难度……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网