一.功能展示

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相关推荐

  1. B站粉丝数显示器代码解析学习

    代码来源B站@会飞的阿卡林https://www.bilibili.com/video/BV14W41167tY 学习使用ESP8266的WIFI无线连接,在这里可以了解到SPI协议在Arduino中 ...

  2. android底部导航栏带消息数的框架,GitHub - BarkSheep/Android-NavMenuLayout: 一个底部导航栏, 实现了显示未读消息数, 显示红点等效果的封装...

    Android-NavMenu-master 一个底部导航栏, 实现了显示未读消息数, 显示红点等效果的封装. 添加依赖 1. 在项目根目录的 build.gradle 中添加 allprojects ...

  3. python爬取b站粉丝数_【python爬虫】每天统计一遍up主粉丝数!

    每天统计一遍up主粉丝数! 第一步,爬取up主的粉丝信息 为了方便,这里我把它写成了一个函数 1.首先导入需要的包 requests是必不可少的! import requests as req 想要记 ...

  4. 基于 esp32 + lvgl8.0 的小电视

    一个有趣的作品,转给需要的小伙伴.详情可阅读: https://gitee.com/wangpeng25/the-little-bili-tv 输入图片说明 支持功能 微信配网(完成) 时间显示(完成 ...

  5. 基于STM32的ESP8266天气时钟(2)--------MCU获取天气数据

    前言:上一章节我们通过串口调试助手,成功获取到天气数据,这一节我们将通过MCU的串口发送.接收功能,实现MCU获取天气数据. 传送门:基于STM32F103的网络天气时钟(1)---------通过串 ...

  6. python b站 关注_[我叫以赏]Python获取B站UP主粉丝数

    前言 不少人对B站粉丝数有着强烈的"控制感",特别是B站用户"老番茄"的粉丝数要达到1000万了,不少人想要见到突破1000w粉的那一瞬间,虽然有很多网站提供了 ...

  7. python b站 礼物_[我叫以赏]Python获取B站UP主粉丝数

    前言 不少人对B站粉丝数有着强烈的"控制感",特别是B站用户"老番茄"的粉丝数要达到1000万了,不少人想要见到突破1000w粉的那一瞬间,虽然有很多网站提供了 ...

  8. 【MicroPython ESP32】1.8“tft ST7735带中文驱动显示示例

    [MicroPython ESP32]1.8"tft ST7735带中文驱动显示示例 本实例基于Thonny平台开发 效果演示 驱动屏幕和开发板 驱动屏幕采用的是合宙1.8"tft ...

  9. esp32摄像显示时间_科普系列 || 第一弹~基于ESP32的WiFi连接

    点击蓝字关注 东南大学电子科协公众号- 号外号外!     还因为宅在家中无所事事吗,科协现在为了同学们帮助学习单片机和后面准备竞赛,电子科协决定推出一个系列文章,帮助大家了解常用的一些总线和一些通讯 ...

最新文章

  1. rfc6455 WebSockets
  2. 如何做一个好的互联网老板(二)
  3. 【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )
  4. Guice系列之用户指南(十)
  5. 其中一个页签慢_VBA实战技巧15:创建索引页
  6. 数据结构-排序-分配类排序-知识点总结归纳3
  7. 使用电脑无线网卡分享网络命令
  8. JDBC04 PreparedStatement
  9. Linux——tmux和vim常用命令总结(必会)
  10. 【QT】QCustomPlot图表控件
  11. 手写instanceof
  12. (一)事务与并发控制
  13. 【流放之路-召唤愤怒狂灵攻略】
  14. 在网页中插入视频代码大全
  15. Spring的AOP的基于AspectJ注解开发——Spring的JDBC的模板的使用——Spring的事务管理
  16. 人工智能如何用在智能家居行业?
  17. stm32 pwm频率与周期计算
  18. 麒麟软件开始菜单消失v10-sp1
  19. 【开源电机驱动】锁定反相驱动
  20. LT9211产品概述

热门文章

  1. HTML生成word文档
  2. 显示器接口:VGA、HDMI、DVI 、DisplayPort
  3. 2021年高考全国理科数学I卷数学压轴题的证明
  4. linux资源查看命令详解大全[top|vmstat|free]
  5. JS---Cookies完整介紹 申精!
  6. 服务器托管如何选择合适的idc服务器托管商
  7. 可裂解组织蛋白酶的ADC偶联物-靶向抗体偶联技术
  8. SpringBoot JPA 批量插入实现,使用原生sql解决SaveAll插入慢的问题
  9. CCFL的完整形式是什么?
  10. windows部署hadoop环境