当前位置:首页 > 技术 > Python > 正文内容

micropython连接到wifi上面

Watrt6年前 (2019-12-31)Python27910
import network,time,ujson,urequests,ntptime
from machine import RTC
nic=network.WLAN(network.STA_IF)
nic.active(True)
#nic.connect('ZCWH','00004157')
nic.connect('028sd.com','88884444')
nic.connect('028sd.com','88884444')
connecti=10
while not(nic.isconnected() or connecti==0):
  print("正在连接",connecti)
  time.sleep(1)
  connecti-=1
if(nic.isconnected()):
  print("连接成功")
  gettext=urequests.get('http://apikey.net')
  #print(gettext.text[1:])
  parsed = ujson.loads(gettext.text[1:])
  #处理IP地址和时间
  IPadd=parsed['data']['IP_Address']
  nowtime=parsed['data']['Current-Time']
  rtc = RTC()
  rtcdate=list(map(int, str.split(str.split(nowtime,' ')[0],'-'))) 
  rtctime=list(map(int, str.split(str.split(nowtime,' ')[1],':'))) 
  print(IPadd)
  print(nowtime)
  print(rtcdate+[5]+rtctime+[0])
  rtc.datetime((rtcdate+[5]+rtctime+[0])) # set a specific date and time
  print(rtc.datetime())
  exec(open('./oled.py').read(),globals())
else:
  print("连接超时..")

我写的比较多一些。就是连接到wifi后从网络读取时间写到rtc里面然后在切换到oled上面显示出来 。


打赏 支付宝打赏 微信打赏

相关文章

python编写的简单http请求和应答

python编写的简单http请求和应答

响应(服务端)import machine import socket pins = [machine.Pin(i, machine.Pin.IN) for i in (0, 2, 4, 5, 12, 13, 14, 15)] adc = machine.ADC(0) html = &quo...

micropython 使用oled显示前面设置的时间。

micropython 使用oled显示前面设置的时间。

from machine import I2C, Pin import ssd1306,time    #这里引用的是官方的ssd1306库。可以在github上下载下来放入库中。 i2c = I2C(-1, Pin(14), Pin(2)) display = ssd1306.SSD1306_I2C(128, 64, i...

Python使用struct处理二进制(pack和unpack用法)

Python使用struct处理二进制(pack和unpack用法)

有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体. struct模块中最重要的三个函数是pack(), unpack(), calcsize()pack(fmt, v1, v2, ...)     按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流) un...

asyncio --- 异步 I/O http服务代码

asyncio --- 异步 I/O http服务代码

import asyncioasync def service(reader,writer):    data = await reader.read(1024) #同步读取数据    data =data.decode().replace('\r','<br/>')    print(writer.get_extra_info('peername'))   &nbs...

micropython 1.17编译出现FAILED: esp-idf/mbedtls/x509_crt_bundle

micropython 1.17编译出现FAILED: esp-idf/mbedtls/x509_crt_bundle

micropython 1.17编译出现FAILED: esp-idf/mbedtls/x509_crt_bundle 错误解决方法。出现错误的原因是ssl中的证书过期了。解决办法:1:(Top) > Component config > mbedTLS > Certificate Bundle->Enable trusted root certificate bundle   禁用2:修改配置文件 :sdkconfig.base  中添加入...

python使用requests库下载文件

python使用requests库下载文件

import os import requests def downfile(url): try: url=url.split("@")[0].split("?")[0] urlfile=url.split("/")[-1] print(urlfile) except Exception as e: print("地址不正确...

Python内置函数

Python内置函数

以下是 Python 中的全部内置函数,并列出了它们的作用和参数说明。请注意,以下列出的内置函数是基于 Python 3.9 版本。abs(): 返回一个数的绝对值。参数:abs(x)all(): 如果可迭代对象中的所有元素都为 True,则返回 True。参数:all(iterable)any(): 如果可迭代对象中的任何元素为 True,则返回 True。参数:any(iterable)ascii(): 返回一个包含 ASCII 转义字符的字符串表示。参数:ascii(object)bin(...

使用 tqdm 库在控制台中实现进度条

使用 tqdm 库在控制台中实现进度条

简单用法:from tqdm import tqdm  for i in tqdm(range(2)):   pass100%|███████████████████| 2/2 [00:00<00:00, 1998.72it/s]  从上面可以看到生成一个长度为2的列表传入tqdm中,在for中迭代,此时输出了进度条,这里tqdm全部使用了默认参数,默认进度条样式就是如上所示;通常默认进度条所输出...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。