基于ESP32(Micropython)的天气显示+B站粉丝数显示-v4
一.功能展示
1.天气显示
第一行:更新时间
第二行:实际温度,体感温度
第三行:风速,风向,降水量
第四行:实时天气状况描述,湿度
2.B站粉丝显示
第一行:B站up主“帅农鸟哥”粉丝数及其变化量
第二行:B站up主“刘墉干净又卫生”粉丝数及其变化量
二.代码实现
import uzlib as zlib
import network
import time
import os
import urequests
import ujsonfrom machine import Pin, I2C
import ssd1306
from font import Fonti2c = I2C(scl=Pin(22), sda=Pin(21), freq=400000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
f=Font(oled)# ssid = '0217'
# passwd ='18100000066'ssid = ['0217','vivo X60']
passwd =['18100000066','123456']FTEXT = 1
FHCRC = 2
FEXTRA = 4
FNAME = 8
FCOMMENT = 16def decompress(data): #解压数据assert data[0] == 0x1f and data[1] == 0x8bassert data[2] == 8flg = data[3]assert flg & 0xe0 == 0i = 10if flg & FEXTRA:i += data[11] << 8 + data[10] + 2if flg & FNAME:while data[i]:i += 1i += 1if flg & FCOMMENT:while data[i]:i += 1i += 1if flg & FHCRC:i += 2return zlib.decompress(memoryview(data)[i:], -15)wlan=0
def connectWiFi(ssid, passwd): #连接WIFIj=0global wlanwlan=network.WLAN(network.STA_IF)wlan.active(True)wlan.disconnect()wlan.connect(ssid, passwd)while(wlan.ifconfig()[0]=='0.0.0.0'):time.sleep(1)j=j+1if(j>4):return Falseprint("connected")f.text("READY",20,15,32)f.show()return Truedef cycle(): #主循环try: #防止程序卡死i=0f.text("ing..",20,15,32)f.show()while(connectWiFi(ssid[i], passwd[i]) != True):i+=1t1=0t2=0while True:res=urequests.get('https://devapi.qweather.com/v7/weather/now?location=101230207&key=8d5df776510c4a6fbf71656f5fbf8c21&lang=en') #爬数据data=decompress(res.content).decode() #解析数据j1=ujson.loads(data)oled.fill(0) #显示到OLEDf.text("update:"+j1['updateTime'][11:16]+'--'+j1['now']['obsTime'][8:10],0,0)f.text("T:"+j1['now']['temp']+"'C fT:"+j1['now']['feelsLike']+"'C",0,15)f.text(j1['now']['windSpeed']+"kmh-"+j1['now']['windScale']+j1['now']['windDir'],0,30)f.text(j1['now']['precip']+"mm",78,30)f.text("H:"+j1['now']['humidity'],95,45)f.text(j1['now']['text'],0,45)f.show()time.sleep(6)oled.fill(0)oled.hline(0,32,128,1)req=urequests.get('https://api.bilibili.com/x/relation/stat?vmid=1838326986&jsonp=jsonp').textj1=ujson.loads(req)t=j1['data']['follower']x=t-t1if t1 !=0:f.text(str(x),85,0,32)t1=tf.text('SLNG:',0,0)f.text(str(j1['data']['follower']),0,15)req=urequests.get('https://api.bilibili.com/x/relation/stat?vmid=533459953&jsonp=jsonp').textj1=ujson.loads(req)t=j1['data']['follower']x=t-t2if t2 !=0:f.text(str(x),85,33,32)t2=tf.text('LYGJYWS:',0,35)f.text(str(j1['data']['follower']),0,48)f.show()time.sleep(1)except:f.text("BREAK",20,15,32)f.show()cycle()cycle()
三.作品展示
基于ESP32的天气显示+B站粉丝显示
基于ESP32(Micropython)的天气显示+B站粉丝数显示-v4相关推荐
- B站粉丝数显示器代码解析学习
代码来源B站@会飞的阿卡林https://www.bilibili.com/video/BV14W41167tY 学习使用ESP8266的WIFI无线连接,在这里可以了解到SPI协议在Arduino中 ...
- android底部导航栏带消息数的框架,GitHub - BarkSheep/Android-NavMenuLayout: 一个底部导航栏, 实现了显示未读消息数, 显示红点等效果的封装...
Android-NavMenu-master 一个底部导航栏, 实现了显示未读消息数, 显示红点等效果的封装. 添加依赖 1. 在项目根目录的 build.gradle 中添加 allprojects ...
- python爬取b站粉丝数_【python爬虫】每天统计一遍up主粉丝数!
每天统计一遍up主粉丝数! 第一步,爬取up主的粉丝信息 为了方便,这里我把它写成了一个函数 1.首先导入需要的包 requests是必不可少的! import requests as req 想要记 ...
- 基于 esp32 + lvgl8.0 的小电视
一个有趣的作品,转给需要的小伙伴.详情可阅读: https://gitee.com/wangpeng25/the-little-bili-tv 输入图片说明 支持功能 微信配网(完成) 时间显示(完成 ...
- 基于STM32的ESP8266天气时钟(2)--------MCU获取天气数据
前言:上一章节我们通过串口调试助手,成功获取到天气数据,这一节我们将通过MCU的串口发送.接收功能,实现MCU获取天气数据. 传送门:基于STM32F103的网络天气时钟(1)---------通过串 ...
- python b站 关注_[我叫以赏]Python获取B站UP主粉丝数
前言 不少人对B站粉丝数有着强烈的"控制感",特别是B站用户"老番茄"的粉丝数要达到1000万了,不少人想要见到突破1000w粉的那一瞬间,虽然有很多网站提供了 ...
- python b站 礼物_[我叫以赏]Python获取B站UP主粉丝数
前言 不少人对B站粉丝数有着强烈的"控制感",特别是B站用户"老番茄"的粉丝数要达到1000万了,不少人想要见到突破1000w粉的那一瞬间,虽然有很多网站提供了 ...
- 【MicroPython ESP32】1.8“tft ST7735带中文驱动显示示例
[MicroPython ESP32]1.8"tft ST7735带中文驱动显示示例 本实例基于Thonny平台开发 效果演示 驱动屏幕和开发板 驱动屏幕采用的是合宙1.8"tft ...
- esp32摄像显示时间_科普系列 || 第一弹~基于ESP32的WiFi连接
点击蓝字关注 东南大学电子科协公众号- 号外号外! 还因为宅在家中无所事事吗,科协现在为了同学们帮助学习单片机和后面准备竞赛,电子科协决定推出一个系列文章,帮助大家了解常用的一些总线和一些通讯 ...
最新文章
- rfc6455 WebSockets
- 如何做一个好的互联网老板(二)
- 【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )
- Guice系列之用户指南(十)
- 其中一个页签慢_VBA实战技巧15:创建索引页
- 数据结构-排序-分配类排序-知识点总结归纳3
- 使用电脑无线网卡分享网络命令
- JDBC04 PreparedStatement
- Linux——tmux和vim常用命令总结(必会)
- 【QT】QCustomPlot图表控件
- 手写instanceof
- (一)事务与并发控制
- 【流放之路-召唤愤怒狂灵攻略】
- 在网页中插入视频代码大全
- Spring的AOP的基于AspectJ注解开发——Spring的JDBC的模板的使用——Spring的事务管理
- 人工智能如何用在智能家居行业?
- stm32 pwm频率与周期计算
- 麒麟软件开始菜单消失v10-sp1
- 【开源电机驱动】锁定反相驱动
- LT9211产品概述