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


Python ZigBee.remote_at方法代码示例

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


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

示例1: main

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
def main():
    args = setup_argparser()

    #setup serial port
    ser = serial.Serial(args.port, 9600)
    xbee = ZigBee(ser, escaped=True)

    exit_code = 0

    #send force sample command IS
    xbee.remote_at(dest_addr_long=to_hex(args.device), command='IS', frame_id=cmd_id)
    try:
        response = xbee.wait_read_frame()

        #ack received
        if response['status'] == '\x00' and response['frame_id'] == cmd_id:
            try:
                print response['parameter'][0][response_lookup[args.gpio]]

            #desired value not included in response
            except KeyError:
                print "No sample for {0} received. The PIN may not be properly configured. For ADC select Mode 2 (analog input)".format(args.gpio)
                exit_code = -1

        #error message received
        else:
            print "Command was not successful: ", status_help[response['status']]
            exit_code = ord(response['status'])

    except KeyboardInterrupt:
        print "cancel script"

    #clean up
    ser.close()
    exit(exit_code)
开发者ID:WBSS,项目名称:RPi-remote-LED,代码行数:37,代码来源:XBEE-remote-get.py

示例2: xbee_tp

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
def xbee_tp(xbeeRemAddr):
    """
    XBee TP command implementation. Input: xbeeRemAddr. Ex: xbee_is('0013A200406B5174')
    """
    comPortList = getActiveComPort()
    if comPortList:
        comPort = comPortList[0].get('name')
        timeOut = int(comPortList[0].get('timeout'))
        baudRate = int(comPortList[0].get('baudrate'))
        count = 0

    try:
        ser = serial.Serial(comPort, baudRate, timeout=timeOut) 
        xbee = ZigBee(ser,escaped=True)
        
        xbee.remote_at(dest_addr_long=xbeeRemAddr,command="TP",frame_id="C")
        response = xbee.wait_read_frame()
        return response
    
    except serial.SerialException as ex:
        text = "Exception is: " + ex.__str__()
        return 0
    else:
        xbee.halt()
        ser.close() 
开发者ID:verdered,项目名称:waterStrider,代码行数:27,代码来源:sprinklercomm.py

示例3: hiddenXbeePin

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
def hiddenXbeePin(xbeeRemAddr, xbeePin, xbeePinState):
    "Manipulate XBee pins. Input: xbeeRemAddr, xbeePin, xbeePinState. Ex: xbee_pin('0013A200406B5174'.decode('hex'),'D0','ON')"

    comPortList = getActiveComPort()
    if comPortList:
        comPort = comPortList[0].get('name')
        timeOut = int(comPortList[0].get('timeout'))
        baudRate = int(comPortList[0].get('baudrate'))
        count = 0
        
    try:
        ser = serial.Serial(comPort, baudRate, timeout=timeOut) 
        xbee = ZigBee(ser,escaped=True)
        
        if xbeePinState == 'ON':
            xbeePinStateHex = '\x05'

        if xbeePinState == 'OFF':
            xbeePinStateHex = '\x04'
            
        try:
            xbee.remote_at(dest_addr_long=xbeeRemAddr,command=xbeePin,parameter=xbeePinStateHex)
        finally:
            return 1
    
    except serial.SerialException as ex:
        text = "Exception is: " + ex.__str__()
        return 0
    else:
        xbee.halt()
        ser.close()
开发者ID:verdered,项目名称:waterStrider,代码行数:33,代码来源:sprinklercomm.py

示例4: main

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
def main():
    args = setup_argparser()

    #setup serial port
    ser = serial.Serial(args.port, 9600)
    xbee = ZigBee(ser, escaped=True)

    exit_code = 0
    p = on if args.state == 1 else off

    if args.ack:
        #send command and request an acknowledge
        xbee.remote_at(dest_addr_long=to_hex(args.device), command=pin_to_command[args.gpio], parameter=p, frame_id=cmd_id)
        try:
            response = xbee.wait_read_frame()

            #sucessfully transmitted command
            if response['status'] == '\x00' and response['frame_id'] == cmd_id:
                print "command successfull"

            else:
                print "Command was not successful: ", status_help[response['status']]
                exit_code = ord(response['status'])

        except KeyboardInterrupt:
            print "cancel script"
    else:
        #send command without requesting ack
        xbee.remote_at(dest_addr_long=to_hex(args.device), command=pin_to_command[args.gpio], parameter=p)

    #clean up
    ser.close()
    exit(exit_code)
开发者ID:WBSS,项目名称:RPi-remote-LED,代码行数:35,代码来源:XBEE-remote-set.py

示例5: test

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
def test():
	#print "Output: %s value: %s" % (numOutput, value)
	ser = serial.Serial(PORT, BAUD_RATE)

	# ZB XBee here. If you have Series 1 XBee, try XBee(ser) instead
	xbee = ZigBee(ser)

	#MAC, number written on the back of the XBee module
	# CO1 = my coordinator
	# EP1 = my endpoint with 2 outputs. D12(UP) y D11(DOWN)
	device = {
		'CO1': '\x00\x13\xA2\x00\x40\xA0\xD4\xA3',
		'EP1': '\x00\x13\xa2\x00\x40\x99\x2e\x62'
	}
	#64 bit address

	xbee.remote_at(dest_addr_long = device['EP1'], command = 'P1', parameter = '\x05')
	sleep(1)
	xbee.remote_at(dest_addr_long = device['EP1'], command = 'P1', parameter = '\x04')
	sleep(1)
	xbee.remote_at(dest_addr_long = device['EP1'], command = 'P2', parameter = '\x05')
	sleep(1)
	xbee.remote_at(dest_addr_long = device['EP1'], command = 'P2', parameter = '\x04')
	sleep(1)
	ser.close()
开发者ID:oscargomezf,项目名称:xbeeo2,代码行数:27,代码来源:xbeeo2.py

示例6: start

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
    def start(self):
        #------------------------------------------------------------------------------- 
        # Open serial port
        ser = serial.Serial('/dev/ttyAMA0', 9600)

        # Create API object
        xbee = ZigBee(ser,callback = self.print_data ,escaped=True)

        # Continuously read and print packets
        print "Starting"
        #print '\n *****************************'
        #print xbee.api_commands
        #print '\n *****************************'
        #print xbee.api_responses
        #print '\n *****************************'

        MY = self.HexToByte('0B41')
        ADR = self.HexToByte('0013A2004092D86A')

        once = 1
        while True:
            try: 
                
                #xbee.tx(dest_addr=pan,dest_addr_long=Destination, data='Hello World')
                #xbee.remote_at(dest_addr=MY,dest_addr_long=ADR, command='MY',parameter=None)
                #time.sleep(5) \x
                #xbee.send("remote_at",frame_id='A', command='MY')
                
                #
                #xbee.tx(dest_addr='\xbf\x0c',dest_addr_long='\x00\x13\xa2\x00\x40\x92\xd8\x6a', data='Hello World')
                    if once == 1:
                        print 'Discovering Nodes'
                        #xbee.at(frame_id='A', command='MY')
                        #xbee.at(frame_id='A', command='ID')
                        xbee.at(frame_id='D', command='ND')
                    
                    #xbee.remote_at(dest_addr='\xbf\x0c',command='IR',parameter='\xff')
                    #xbee.remote_at(dest_addr='\xbf\x0c',command='V+',parameter='\xff')
                    #xbee.remote_at(dest_addr='\xbf\x0c',command='MY',parameter=None)
                    
                        once = 0
                        time.sleep(5)
                        print 'Sending RAT'
                        #xbee.tx(dest_addr=MY2,dest_addr_long=ADR2, data='Hello World')
                        xbee.remote_at(dest_addr=MY,dest_addr_long=ADR,command='IS')
                        #time.sleep(1)
                        xbee.remote_at(dest_addr=MY,dest_addr_long=ADR,command='IR',parameter='\xFF')
                        #time.sleep(1)
                        xbee.remote_at(dest_addr=MY,dest_addr_long=ADR,command='IR',parameter='\x00')
                        print 'Done'
                    time.sleep(3)
            except KeyboardInterrupt:
                break

        xbee.halt()        
        ser.close()
开发者ID:bsparacino,项目名称:badax-xbee,代码行数:58,代码来源:Rec.py

示例7: byte

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
        print r['command']
    
    if r and 'status' in r and r['status'] != byte(0x00):
        pprint(r)

# target a particular device
dest = struct.pack('>Q',0x0013a2004031f790)
# broadcast
#dest = struct.pack('>Q',0x00000000FFFF)


# Some description of the sensor here
# http://www.digi.com/wiki/developer/index.php/XBee_Sensors

# enable analog input for light, temperature, and humidity
xb.remote_at(command='D1', parameter=byte(0x02), dest_addr_long=dest)
wait()

xb.remote_at(command='D2', parameter=byte(0x02), dest_addr_long=dest)
wait()

xb.remote_at(command='D3', parameter=byte(0x02), dest_addr_long=dest)
wait()

# wiki says to enable digital input on the battery monitoring pin
xb.remote_at(command='P1', parameter=byte(0x03), dest_addr_long=dest)
wait()


# set up sleep
开发者ID:markdewing,项目名称:temperature-monitor,代码行数:32,代码来源:setup_sensor.py

示例8: ZigBeeOutput

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
class ZigBeeOutput( Base, object ):
    '''
    ZigBeeOutput is responsible for formating a ZigBee message and sending it to a remote XBee.
    '''
    setPinHigh = b'\x05'
    setPinLow = b'\x04'
    serial = None
    zigbee = None
    previous_datetime = datetime.utcnow()
    in_test_mode = False

    deviceToCommand = {'DIO-0': b'D0',
                    'DIO-1': b'D1',
                    'DIO-2': b'D2',
                    'DIO-3': b'D3',
                    'DIO-4': b'D4',
                    'DIO-5': b'D5',
                    'DIO-6': b'D6',
                    'DIO-7': b'D7'}

    selectHighOrLow = {False: setPinLow, True: setPinHigh}
    communication_module = {'posix': BeagleboneBlackXbeeCommunications,
                            'nt': WindowsXbeeCommunications}

    def __init__( self, in_test_mode=False ):
        '''
        '''
        super( ZigBeeOutput, self ).__init__()
        self.in_test_mode = in_test_mode

    def startCorrectZigbee( self, os_name=os.name ):
        if not self.in_test_mode:
            if ( os_name in self.communication_module ):
                self.comm = self.communication_module[os_name]()
                self.serial = self.comm.setup()
                self.zigbee = ZigBee( self.serial )
            else:
                raise UnsupportedSystemError( "System {} not supported".format( os_name ) )

    @property
    def logger_name( self ):
        ''' Set the logger level. '''
        return Constants.LogKeys.outputsZigBee


    def sendCommand( self, **packet ):

        try:
            device = packet[Constants.DataPacket.device]
            port = packet[Constants.DataPacket.port]
            value = packet[Constants.DataPacket.value]
            id = packet[Constants.DataPacket.ID]
            dest_addr_long = struct.pack( '!Q', int( device, 16 ) )
            command = self.deviceToCommand[port.upper()]
            frame_id = struct.pack( '!B', id )
            parameter = self.selectHighOrLow[value]
            current_datetime = datetime.utcnow()
            delta = current_datetime - self.previous_datetime
            if not self.in_test_mode:
                self.zigbee.remote_at( dest_addr_long=dest_addr_long,
                                       frame_id=frame_id,
                                       command=command,
                                       parameter=parameter )
                self.logger.debug( '{} dest_addr = {:x} command = {} parameter {:x} frame_id {}'.
                              format( str( delta ).split( '.' )[0],
                                      struct.unpack( '!Q', dest_addr_long )[0], command,
                                      struct.unpack( 'B', parameter )[0],
                                      struct.unpack( 'B', frame_id )[0] ) )
            self.previous_datetime = current_datetime
        except KeyError:
            self.logger.exception( 'KeyError exception: packet = {}'.format( packet ) )
            raise
开发者ID:gary-pickens,项目名称:HouseMonitor,代码行数:74,代码来源:zigbeeoutput.py

示例9: monitorCasa

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
def monitorCasa():
    print("Iniciando....")
    logging.info('Starting')
    print("conectando pushbullet")

    po_client = Client(pb_key, api_token = pb_api_key)
    previo_no_tv='0'


    #resetear alarma
    globales['alarma'] = False
    globales['alarma_trip'] = False
    globales['alarma_enviada'] = False
    globales['auto_ac'] = False
    globales['activo'] = True
    actualizar_global('auto_ac',0, con2)
    actualizar_global('activo',1.0, con2)
    actualizar_global('auto_luces',1.0, con2)
    actualizar_global('alarma',0, con2)
    actualizar_global('chapa',0, con2)

    chapa_por_cerrar = False

    print("Probando sonos...")
    estado_sonos = tocar('iniciar.mp3')

    print("Apagando luces...")
    for key in luces:
        apagarGrupo(luces[key])
        estado_luces[key] = False
        print "Luces activas, apagadas " + key

    


    #limpiar comandos pendientes
    print("Conectando con bd de comandos...")
    concom = lite.connect('/Volumes/mmshared/bdatos/comandos.db')

    with concom:
        c = concom.cursor()
        c.execute('DELETE FROM pendientes') 
    concom.close()
    #iniciar conteos
    tiempo_comandos= time.time()
    tiempo_sonos = time.time()
    time_loop = time.time() 
    log_time = time.time()
    dweepy_time = time.time()
    dweepy_time_2 = time.time()
    felipe_phone_time = time.time()
    check_lights_time = time.time()
    tiempos_registro = {}
    estado_hue={}
    mom_registrar = {}
    tiempo_encendido={}
    for lugar in lugares:
        tiempos_registro[lugar] = 0
        mom_registrar[lugar] = 0
        movimiento_st[lugar] = 0.0
        estado_luces[lugar] = False
        tiempo_encendido[lugar] = 0

    tiempo_pressure = time.time()
    
    for key in tiempos_registro:
        tiempos_registro[key] = time.time()
    for key in mom_registrar:
        mom_registrar[key] = time.time()
    for key in tiempo_encendido:
        tiempo_encendido[key] = 0
    


    # xbees iniciar conección
    print("Activar xbee coordinator...")
    try:
        serialConnection = serial.Serial( SERIAL_PORT, 9600,timeout=0.15)
        xbee = ZigBee(serialConnection)
        print "Conexión xbee serial...OK"
    except:
        logging.warning('Error serial/xbee')
        print "Error serial/xbee"
    # luces cocina apagadas
    xbee.remote_at(dest_addr_long= '\x00\x13\xa2\[email protected]\xbe\xf8\x62',command='D2',parameter='\x04')
    # zumbador apagado
    xbee.remote_at(dest_addr_long= '\x00\x13\xa2\[email protected]\xbe\xf8\x62',command='D1',parameter='\x04')
    tstamp = time.time()

    anterior = time.time()
    #################### ciclo de monitoreo #########################
    print ("Iniciar ciclo principal...")
    contar_mysql=0
    while True:
        #tstamp del ciclo
        #print tstamp - time.time()

        tstamp = time.time()
        dt = datetime.datetime.fromtimestamp(tstamp, tz=tzone)
         # apagar si no se ha detectado movimiento en un rato
#.........这里部分代码省略.........
开发者ID:felipegonzalez,项目名称:servidor_casa,代码行数:103,代码来源:servidor_casa_mm_2.py

示例10: Humidity

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
datawriter.writerow( ('# Timestamp','Temperature(F)', 'Relative Humidity (%)', 'light (arbitrary)') )

voltage_file = open('voltage.dat','w', 0)
print >>voltage_file, '# Timestamp, Battery Voltage'

while 1:
    r = xb.wait_read_frame()
    #pprint(r)
    if r['id'] == 'rx_io_data_long_addr':
        timestamp = datetime.now()
        delta = timestamp - prev_timestamp
        if delta.total_seconds() > min_sample_duration:
            handle_adc_data(r, timestamp, datawriter)
            data_file.flush()
            #print 'delta = ',delta.total_seconds()
            prev_timestamp = timestamp
            dump_power_level()

        voltage_delta = timestamp - prev_voltage_timestamp
        if voltage_delta.total_seconds() > voltage_duration:
            # quick sent a check on the battery voltage
            xb.remote_at(command='%V', frame_id=b'\x01')
            r = xb.wait_read_frame()
            if r['id'] == 'remote_at_response':
                data = struct.unpack('> H',r['parameter'])[0]
                voltage = data/1024.0
                print >>voltage_file, timestamp,', ', voltage
                voltage_file.flush()
                prev_voltage_timestamp = timestamp

开发者ID:markdewing,项目名称:temperature-monitor,代码行数:31,代码来源:receiver.py

示例11: range

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
    module['io'] = []
    module['D'] = [mod['D{}'.format(i)] for i in range(8)]
    for i in range(8):
        if mod['D{}'.format(i)] == 2:
            module['io'].append(0) # adc
        elif mod['D{}'.format(i)] in range(3,6):
            module['io'].append(False) # dio
        else:
            module['io'].append(None) # not used
    redis.hmset('xbee:{}'.format(idx), module)
    redis.hset('xbee:lookup:address', module['address'], idx)
    redis.hset('xbee:lookup:name', module['name'], idx)
    address = mod['address']
    # setting xbees
    addr = ''
    counts = 0
    for i in range(8):
        addr += chr(int('0x'+address[2*i:2*(i+1)],16))
    for p in port:
        xbee.remote_at(frame_id='I', dest_addr_long=addr, command=p, parameter=chr(mod[p]))
        time.sleep(0.001)
        response = xbee.wait_read_frame()
        if response['status'] != '\x00':
            counts += 1
            print u'Warning: {} {} setting failed!'.format(module['name'],p)

if counts == 0:
    print 'All ZigBee modules initialized successfully!'
else:
    print '{} port(s) setting failed! Please check your configuration file'.format(counts)
开发者ID:dengshuan,项目名称:sunist,代码行数:32,代码来源:initialize.py

示例12: int_to_str

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
            now = datetime.datetime.now()

            for item in queue:      

                # log the action taken
                if item[1] == 0:
                    print "%s: switching to high" % now
                    resp = "/ack_on"
                else:
                    print "%s: switching to low" % now
                    resp = "/ack_off"

                if not gpio_mode:
                    # addr2 = '\x00\x13\xa2\x00\x40\x3b\xc5\x3a'
                    addr = int_to_str(item[0])
                    xbee.remote_at(dest_addr_long=addr, command=pin_mappings[2], parameter='\x05')
                    time.sleep(0.2) 
                    xbee.remote_at(dest_addr_long=addr, command=pin_mappings[item[1]], parameter='\x05')
                    time.sleep(0.5)        
                    xbee.remote_at(dest_addr_long=addr, command=pin_mappings[item[1]], parameter='\x04')
                    time.sleep(0.2)                
                    xbee.remote_at(dest_addr_long=addr, command=pin_mappings[2], parameter='\x04')
                    time.sleep(0.2) 
                else:
                    if item[1] == 0:
                        ret = os.system("echo 1 > " + gpio)
                    else:
                        ret = os.system("echo 0 > " + gpio)

                    if ret:
                        print "Error setting the GPIO line"
开发者ID:astaff,项目名称:smart-hutor,代码行数:33,代码来源:agent.py

示例13: D4

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
 def D4(self, zb: ZigBee, cmd, param):
     zb.remote_at(
         dest_addr=byteUTF8(self._serial.addr),
         command=b'D4',
         parameter=byteUTF8(param))
     pass
开发者ID:Leesuk-Kim,项目名称:MALM,代码行数:8,代码来源:model.py

示例14: NI

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
 def NI(self, zb: ZigBee, cmd, param):
     zb.remote_at(
         dest_addr=byteUTF8(self._serial.addr),
         command=b'NI')
     pass
开发者ID:Leesuk-Kim,项目名称:MALM,代码行数:7,代码来源:model.py

示例15: ZigBee

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import remote_at [as 别名]
#!/usr/bin/env python

from xbee import ZigBee
import serial
import sys

xbee = ZigBee(serial.Serial(sys.argv[1], 9600))

xbee.remote_at(command='ND', dest_addr_long=b'\x00\x00\x00\x00\x00\x00\xFF\xFF', options=b'\x08', frame_id='A')

print xbee.wait_read_frame()
开发者ID:tdfischer,项目名称:skylighting,代码行数:13,代码来源:test.py


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