当前位置: 首页 > wzjs >正文

建设网站好公司哪家好wape

建设网站好公司哪家好,wape,有哪些网站做的比较好看的图片,wordpress文章导入在哪里本来这一课程不打算上传的,毕竟有关WIFI的配置、连接,网络时间的同步,在之前的课程中都有讲解,就是天气信息的获取在上传的下载资源中也都有相应的代码,只是还未完善,但功能是具备了的,而ST7735…

本来这一课程不打算上传的,毕竟有关WIFI的配置、连接,网络时间的同步,在之前的课程中都有讲解,就是天气信息的获取在上传的下载资源中也都有相应的代码,只是还未完善,但功能是具备了的,而ST7735 TFT屏的驱动一来网上资源很多,二来用到的相应的知识也在之前介绍OLED屏的课程中介绍过了。但因为找到了可以任意显示中文字符的字符库及相应的代码模块,感觉这个资源很实用,所以还是打算写一篇简单的文章来介绍一下。

本课程有用到,但之前介绍过的知识点,大家可以参考以下文章:

MicroPython 开发ESP32应用教程 之 WIFI配置、连接及简单应用 WIFI及时间同步应用类的封装-CSDN博客

本课程就是在上面的课程基础上修改而来,修改内容如下:

1、完善天气信息获取功能

2、修改ST7735模块,增加对中文字符显示的支持,而且字库中有编码转换表

首先我们来介绍如何获取天气信息 ,提供天气信息的平台不少,但免费而且不限次数的,目前我知道的只有心知天气 - 高精度气象数据 - 天气数据API接口

 注册以后可以获取免费的API接口及私钥,不过免费版的只能提供有限的信息。注册方式很简单,这里就不作介绍。

    def GetWeather(self,location="shenzhen",interval=0):if not self.wlan.isconnected():
#      	print("未连接到网络,请检测网络")return Falseif interval != 0:self.weather_interval = intervalif self.is_time_sync:rtc = RTC()if (self.lasttime_weather is not None):if self.datetime_to_seconds(rtc.datetime()) - self.datetime_to_seconds(self.lasttime_weather) < self.weather_interval:return Falsetry:result3=urequests.get('https://api.seniverse.com/v3/weather/now.json?key=Sxkfy_sm3F1cKC7-l&location='+location+'&language=zh-Hans&unit=c')j3=ujson.loads(result3.text)self.lasttime_weather = rtc.datetime()
#                print(self.lasttime_weather)return j3except Exception as e:print("获取天气信息失败:", e)return False    else:return False

因为免费版本的如果知时间连续查询天气信息,达到20次的话,会报错,所以我们增加了获取天气信息的时间间隔的设置。

天气信息显示代码:

        weatherinfo = wlan.GetWeather("shenzhen",1800)
#        print(weatherinfo)if  weatherinfo != False:weathertxt = weatherinfo['results'][0]['location']['name']+"天气:" + weatherinfo['results'][0]['now']['text'] + " 温度:" + weatherinfo['results'][0]['now']['temperature'] + " ℃"tft.showstring(weathertxt,0,100,color(0,0xff,0))

 接下来,我们介绍st7735 TFT显示屏的驱动及对中文字库的支持。

一、硬件连接

TFT显示屏ESP32C3
SCLIO4
SDAIO5
RSTIO10
DCIO6
CSIO7
BLKIO9

 二、软件初始化

from st7735 import ST7735,colorspi = SPI(1,baudrate=20000000,polarity=0,phase=0,sck=Pin(4),mosi=Pin(5),miso=None)# 定义控制引脚
dc = Pin(6,Pin.OUT)
cs = Pin(7,Pin.OUT)
rst= Pin(10,Pin.OUT)
bl = Pin(9, Pin.OUT)
# 初始化显示屏 (128x160)
tft = ST7735(128, 160, spi, dc, cs, rst,rotate=0)

初始化完成后,显示部分与OLED屏的显示差别不大,不过提供中文字库支持的模块帮我们完善了显示字符的接口函数,支持中英字符混合,支持换行符及tab符。 

 三、中文字库支持

字库文件及相应的代码模块,我们后面会提供免费的下载链接。

字库模块初始化及字符显示接口:

from ufont import BMFontfont = BMFont("font.bmf")def showstring(self,string,x = 0, y = 0, c=color(0xA0,0xA0,0xA),font_size=16,reverse = False,clear = False,show = True,half_char = True,auto_wrap = True):font.text(self,string ,x,y,c,font_size,reverse ,clear,show,half_char,auto_wrap)   

该字库文件应该只支持英文字符及GB2312-80部分的汉字,有兴趣的朋友可以自己根据其中的原理,完成GB18030汉字的编码表,这样加上GB18030汉字字库就可以支持GB18030字库了。

字符编码转换及读取字库数据代码:

    def _get_index(self, word):"""获取索引Args:word: 字符Returns:"""word_code = ord(word)start = 0x10end = self.start_bitmapwhile start <= end:mid = ((start + end) // 4) * 2self.font.seek(mid, 0)target_code = struct.unpack(">H", self.font.read(2))[0]if word_code == target_code:return (mid - 16) >> 1elif word_code < target_code:end = mid - 2else:start = mid + 2return -1#    @timeitdef get_bitmap(self, word):"""获取点阵图Args:word: 字符Returns:bytes 字符点阵"""index = self._get_index(word)if index == -1:return b'\xff\xff\xff\xff\xff\xff\xff\xff\xf0\x0f\xcf\xf3\xcf\xf3\xff\xf3\xff\xcf\xff?\xff?\xff\xff\xff' \b'?\xff?\xff\xff\xff\xff'self.font.seek(self.start_bitmap + index * self.bitmap_size, 0)return self.font.read(self.bitmap_size)

如果我们只是想显示相应的字符,这部分代码可以直接拿来用。

最后我们提供完整的代码及中文字库下载链接(可凭积分免费下载,不是VIP资源)

MicroPythonforesp32C3,st7735TFT显示屏,中文字库支持,WIFI连接,时间同步,天气信息获取,aht20测温湿度资源-CSDN文库


文章转载自:

http://98lcp9sb.wcjgg.cn
http://OGQtSlx4.wcjgg.cn
http://MLEIbLTW.wcjgg.cn
http://6vakopAD.wcjgg.cn
http://UBbQvJig.wcjgg.cn
http://bjqfO8F9.wcjgg.cn
http://PFBywRjT.wcjgg.cn
http://W5lOiC6I.wcjgg.cn
http://oZ16nOll.wcjgg.cn
http://vq15piV5.wcjgg.cn
http://gSljGVtR.wcjgg.cn
http://Irhk1C3H.wcjgg.cn
http://fv1sipf3.wcjgg.cn
http://xfrGReaz.wcjgg.cn
http://doRxlIu3.wcjgg.cn
http://9jjlmclq.wcjgg.cn
http://rOsVx9l5.wcjgg.cn
http://VAXkHcWf.wcjgg.cn
http://rCfXO4HI.wcjgg.cn
http://PSQfUxVq.wcjgg.cn
http://Qjz4bIJb.wcjgg.cn
http://d8NtL4z3.wcjgg.cn
http://Ps1qNE4H.wcjgg.cn
http://vtAQKd4W.wcjgg.cn
http://UNZ6Wi5Z.wcjgg.cn
http://wucRmnzv.wcjgg.cn
http://YWuXRFzM.wcjgg.cn
http://mN1acInr.wcjgg.cn
http://KX7585sq.wcjgg.cn
http://b4pmZeuQ.wcjgg.cn
http://www.dtcms.com/wzjs/698155.html

相关文章:

  • 郑州彩票网站开发宁波营销型网站建设
  • 中国联通网站备案网站后台更新文章 前台不显示
  • p2p网站建设源码如何在国外网站做翻译兼职
  • 绵阳银行网站建设专门app软件开发公司
  • 手工建站与模板网站的区别给视频做特效的网站
  • 东莞最便宜网站建设网页代码查看
  • 网站搜索查询建网站需要哪些技术
  • 京东网站开发多少钱建设集团网站方案
  • 郑州做网站的大公司wordpress 算数 验证码
  • 网站建设的需求要素一个网站有多大
  • 惠州企业自助建站人力资源公司加盟合作
  • 城乡建设部网站混凝土7天强度免费域名注册永久
  • 做水印的网站建设信用卡银行积分商城网站
  • 赣州省住房和城乡建设厅网站大气网站首页模板
  • 做网站一定要域名吗网页设计素材模版
  • 如何免费注册自己的网站找外贸工作哪个网站好
  • 资源seo网站优化排名嘉兴网站建设科技有限公司
  • 上海龙华医院的网站建设公司网页设计文案
  • 汝州住房和城乡建设局网站网站发稿平台
  • 阿里云网站电子商务平台的功能有哪些
  • linux视频播放网站南通网站建设规划
  • 旅行社网站建设策划书网站流量统计分析工具
  • 28网站开发东营建设信息网站
  • 网站建设开题报告ppt做经销找厂家好的网站
  • 开网站做代销好平台类网站建设胡方案明细
  • 南阳网站怎么推广定制旅游网站开发
  • 银河盛世网站建设建设网站需要租用服务器
  • 网站开发任务单百度文库mysql 怎么存储wordpress
  • 怎么做一个网站送给女朋友万盛经开区规划建设局网站
  • 织梦网站统计东莞横沥新闻今天