美文网首页
移远QuecPython(基于EC600s)开发物联网应用(八)

移远QuecPython(基于EC600s)开发物联网应用(八)

作者: 熊爸天下_56c7 | 来源:发表于2021-05-15 22:37 被阅读0次

    本篇开始, 我们将接触到QuecPython第三方库.
    目前的第三方库有如下一些:



    为什么没有OneNet???🙃🙃🙃
    我重点关注的有: request, umqtt ntptime system log

    一. request - HTTP

    request请求 HTTP客户端的相关功能函数

    import request
    

    1. get请求

    request.get(url, data, headers,decode,sizeof,ssl_params)
    
    举例:
    import request
    response = request.get('http://httpbin.org/get') 
    print(response.json()) 
    

    2. POST请求

    request.post(url, data, headers,decode,sizeof)
    
    举例:
    import request
    import ujson
    data = {"key1": "value1", "key2": "value2", "key3": "value3"}
    response = request.post('http://httpbin.org/post',data=ujson.dumps(data)) 
    print(response.json()) 
    

    3. put请求

    request.put(url, data, headers,decode,sizeof)
    

    4. HEAD请求

    request.head(url, data, headers,decode,sizeof)
    

    5. 关于Response类

    Response类有如下内容:

    属性 描述
    response.content 返回响应内容的生成器对象
    response.text 返回文本方式响应内容的生成器对象
    方法 描述
    response.json() 返回响应的json编码内容并转为dict类型

    举例: get 百度首页

    要注意: 我们获取的content 和 text 是生成器对象, 需要迭代读取

    import request
    response = request.get('http://www.baidu.com') 
    for i in response.text:
      print(i)
    

    二. log - 日志

    import log
    

    系统日志记录,分级别日志工具

    1. 设置日志输出级别

    log.basicConfig(level)
    

    设置日志输出级别, 设置日志输出级别, 默认为log.INFO,系统只会输出 level 数值大于或等于该 level 的的日志结果。

    设置日志输出的好处是:

    • 我们开发时可以把级别设低, 生产时把日志设高,
    • 输出日志可以输出到某个固定的LOG文件中
    import log
    log.basicConfig(level=log.INFO)
    

    2. 获取logger对象

    log.getLogger(name)
    

    获取logger对象,如果不指定name则返回root对象,多次使用相同的name调用getLogger方法返回同一个logger对象。

    3. 输出debug级别的日志

    log.debug(msg)
    

    4. 输出info级别的日志

    log.info(msg)
    

    5. 输出warning级别的日志

    log.warning(msg)
    

    6. 输出error级别的日志

    log.error(msg)
    

    7. 输出critical级别的日志

    log.critical(msg)
    

    三. ntptime - NTP对时

    import ntptime
    

    该模块用于时间同步

    1. 返回当前的ntp服务器

    ntptime.host
    

    返回当前的ntp服务器,默认为"ntp.aliyun.com"。

    2. 设置ntp服务器

    ntptime.sethost(host)
    

    3. 同步ntp时间

    ntptime.settime()
    

    4. 举例: NTP对时

    这个模块只有设置时间和采集时间的功能, 采集好的时间要使用utime或者RTC模块来读取
    此外, 还要注意 : 读取的时间是标准时间, 不是东八区时间, 注意加8小时

    import ntptime
    import utime
    ntptime.settime()
    time_turple = utime.localtime()
    time_stamp = utime.mktime(time_turple) + 3600*8
    time_turple_at_e8 = utime.localtime(time_stamp)
    print('当前时间:%d年%d月%d日%d时%d分%d秒,时间戳:%d'
          %(time_turple_at_e8[0],time_turple_at_e8[1],time_turple_at_e8[2],
          time_turple_at_e8[3],time_turple_at_e8[4],time_turple_at_e8[5],time_stamp))
    

    四. system - 环境配置

    用于配置系统环境的参数以及功能, 目前只有一个功能😂

    1. 交互保护设置

     system.replSetEnable(flag)
    

    交互保护设置,设置开启交互保护后所有外部指令以及代码都无法执行,为不可逆操作,请确认后开启,默认不开启。
    开启后, 交互模式就没了, 除非重刷固件

    相关文章

      网友评论

          本文标题:移远QuecPython(基于EC600s)开发物联网应用(八)

          本文链接:https://www.haomeiwen.com/subject/jmkxjltx.html