Micropython学习交流群 学习QQ群:786510434 提供多种固件下载和学习交流。
Micropython-扇贝物联 QQ群:31324057 扇贝物联是一个让你与智能设备沟通更方便的物联网云平台
Micropython学习交流群 学习QQ群:468985481 学习交流ESP8266、ESP32、ESP8285、wifi模块开发交流、物联网。
Micropython老哥俩的IT农场分享QQ群:929132891 为喜欢科创制作的小白们分享一些自制的计算机软硬件免费公益课程,由两位多年从事IT研发的中年大叔发起。
一、目的
这一节我们接着上一节来学习如何使用合宙的ESP32 S3开发板来学习在SSD1306液晶屏上显示中文汉字。只不过,这一节我们是使用网络API来获取到json格式的字符串,然后解析出来,在SSD1306屏幕上进行显示
二、环境
合宙ESP32 S3开发板 (MicroPython v1.18 on 2022-01-17)+ USB转type-C线 + SSD1306液晶屏I2C 4P接口 + Win10商业版
环境同上一节哈。。。
三、示例
api_learn.py
from machine import Pin,I2C from ssd1306 import SSD1306_I2C from ufont import BMFont from fonts import urequests import ujson import time import network #液晶地址 addr = 0x3c #创建I2C对象 i2c = I2C(0,scl = Pin(12),sda = Pin(11),freq = 400_000) #创建液晶对象 oled = SSD1306_I2C(128,64,i2c,addr) #挂载字库 font = BMFont("fonts/unifont-14-12888-16.v3.bmf") #扫描I2C器件地址并反馈 print("%#x"%i2c.scan()[0]) # 3c # 网络连接函数 def do_connect(): wlan = network.WLAN(network.STA_IF) wlan.active(True) if not wlan.isconnected(): font.text(oled,"connecting to network...",0,0,color=1,font_size=16,reverse=False,reverse=False,clear=True,show=True,auto_wrap=True) wlan.connect('WIFI名字', 'WIFI密码') while not wlan.isconnected(): pass # 在oled上显示"network" font.text(oled,"network",0,0,color=1,font_size=16,reverse=False,reverse=False,clear=True,show=True,auto_wrap=True) # 在oled上显示IP地址 font.text(oled,"{}".format(wlan.ifconfig()[0]),0,16,color=1,font_size=16,reverse=False,reverse=False,clear=False,show=True,auto_wrap=True) # 在oled上显示子网掩码 font.text(oled,"{}".format(wlan.ifconfig()[1]),0,32,color=1,font_size=16,reverse=False,reverse=False,clear=False,show=True,auto_wrap=True) # 在oled上显示DNS font.text(oled,"{}".format(wlan.ifconfig()[2]),0,48,color=1,font_size=16,reverse=False,reverse=False,clear=False,show=True,auto_wrap=True) time.sleep(5) oled.clear() # 清屏 # 获取诗词API函数 def Poet(): #https://api.xygeng.cn/one #https://v.api.aa1.cn/api/api-wenan-gaoxiao/index.php?aa1=json ''' # API-1 try: Text = urequests.get("https://api.xygeng.cn/one") Dic = ujson.loads(Text.text) code = Dic["data"]["content"] font.text(oled,"%s"%(code),0,0,color=1,font_size=16,reverse=False,reverse=False,clear=True,show=True,auto_wrap=True) time.sleep(3) except: font.text(oled,"数据异常!",24,24,color=1,font_size=16,reverse=False,reverse=True,clear=False,show=True,auto_wrap=True) ''' # API-2 try: Text = urequests.get("https://v1.jinrishici.com/all.json") Dic = ujson.loads(Text.text) code = Dic["content"] font.text(oled,"%s"%(code),0,0,color=1,font_size=16,reverse=False,reverse=False,clear=True,show=True,auto_wrap=True) time.sleep(5) except: font.text(oled,"数据异常!",24,24,color=1,font_size=16,reverse=False,reverse=True,clear=False,show=True,auto_wrap=True) def main(): do_connect() #font.text(oled,"welcome jack!欢迎杰克!",0,0,color=1,font_size=16,reverse=False,reverse=False,clear=False,show=True,auto_wrap=True) while True: Poet() if __name__ == "__main__": main()
main.py
from api_learn import do_connect,Poet def main(): do_connect() while True: Poet() if __name__ == "__main__": main()
————————————————
版权声明:本文为CSDN博主「魔都飘雪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhusongziye/article/details/129824104
Copyright © 2014 ESP56.com All Rights Reserved
执行时间: 0.011534929275513 seconds