当前位置: 首页>>代码示例>>Python>>正文


Python Sender.send_ack方法代码示例

本文整理汇总了Python中sender.Sender.send_ack方法的典型用法代码示例。如果您正苦于以下问题:Python Sender.send_ack方法的具体用法?Python Sender.send_ack怎么用?Python Sender.send_ack使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sender.Sender的用法示例。


在下文中一共展示了Sender.send_ack方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from sender import Sender [as 别名]
# 或者: from sender.Sender import send_ack [as 别名]
class Handler:
    def __init__(self):
        self.sensores = Sensores()
        self.sender = Sender()
        # self.database = DataBase()
        self.mqtt = Mqtt()
        self.Config = ConfigParser.ConfigParser()

    def manejar_10(self, datos):
        # try:
        time = datos["data"].split("/")[2]
        cfgfile = open("gateway.ini", "w")
        self.Config.add_section("Router-Params")
        self.Config.set("Router-Params", "mac", datos["data"].split("/")[0])
        self.Config.set("Router-Params", "source", datos["data"].split("/")[1])
        self.Config.set("Router-Params", "refresco", datos["data"].split("/")[3])
        self.Config.write(cfgfile)
        cfgfile.close()

    def manejar_20(self, datos):
        numero_sensores = 0
        pointer = 0
        lista_sensores = []
        numero_sensores = int(datos["data"][pointer].encode("hex"))
        pointer += 1
        j = 0
        while j < numero_sensores:
            (pointer, sensores_valores) = self.sensores.descomponer(datos["data"], pointer)
            sensores_valores["sensor"] = self.sensores.get_sensor(sensores_valores["sensor"])
            lista_sensores.append(sensores_valores)
            j = j + 1

        resultado = self.database.comprobar_mota("00" + datos["source_addr"].encode("hex"))

        if resultado == None:
            resultado = self.database.get_highest()
            if resultado[0] == None:
                source = 1
            else:
                source = resultado[0] + 1
            self.database.insertar_mota(datos, source, numero_sensores, datetime.datetime.now())
            self.database.insertar_sensores(source, lista_sensores)
        else:
            source = resultado[0]
            self.database.update_mota(datetime.datetime.now(), source, 0)

        source = str(source)

        if len(source) == 1:
            source = "000" + source
        elif len(source) == 2:
            source = "00" + source
        elif len(source) == 3:
            source = "0" + source

        self.sender.send_10(source, datos["source_addr"])

        ##
        print lista_sensores
        ##

    def manejar_30(self, datos):
        numero_sensores = 0
        pointer = 0
        lista_medidas = []
        numero_sensores = int(datos["data"][pointer].encode("hex"), 16)
        num_seq = int(datos["frag_num"].encode("hex"), 16)
        pointer += 1
        guardar = False

        resultado = self.database.comprobar_mota("00" + datos["source_addr"].encode("hex"))
        # mensaje consecutivo
        if (num_seq == resultado[1] + 1) or ((num_seq == 1) and (resultado[1] == 255)):
            guardar = True
            self.sender.send_ack(datos["source_addr"], datos["frag_num"], 1)
            # mensaje no consecutivo
        elif num_seq > resultado[1] + 1:
            print ("Se han perdido mensajes... Habra que recuperarlos.")
            guardar = True
            self.sender.send_ack(datos["source_addr"], datos["frag_num"], 2)
            self.database.insertar_retrasos(datos["source_id"].encode("hex"), resultado[1], num_seq)
            # mensaje repetido
        else:
            self.sender.send_ack(datos["source_addr"], datos["frag_num"], 3)

        if guardar:
            j = 0
            while j < 3:
                hora = datos["data"][pointer : pointer + 4]
                pointer += 4
                hora = int(hora.encode("hex"), 16)
                i = 0
                while i < (numero_sensores / 3) - 1:
                    (pointer, sensores_valores) = self.sensores.descomponer(datos["data"], pointer)
                    sensores_valores.update({"hora": hora})
                    lista_medidas.append(sensores_valores)
                    i += 1
                j += 1

                ## Transformar medidas ##
#.........这里部分代码省略.........
开发者ID:amigueti,项目名称:raspberry-wsn,代码行数:103,代码来源:handler.py


注:本文中的sender.Sender.send_ack方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。