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


Python ZigBee.send方法代码示例

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


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

示例1: linkxbee

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
def linkxbee(q_down, q_up, e_pause, e_kill, config):
    """
    собиралка телеметрии.
    получает пакет с xbee, тут же бросает в линию данные
    затем не спеша отрисовывает полученные данные

    """
    # подсос значений из конфига
    baudrate = config.getint('Link', 'baudrate')
    port     = config.getint('Link', 'port')

    # 2 стоп-бита стоит установить при наличии глюков с xbee на 115200
    ser = serial.Serial(port, baudrate, stopbits=2)

    xbee = ZigBee(ser, escaped=True)
    device={"GND":'\x00\x13\xA2\x00\x40\x5D\xF9\xEA',
            "PNS":'\x00\x13\xA2\x00\x40\x5D\xF9\xE9'}

    xbee_response = None # пришедший с модема пакет
    msg_up = None # строка, которую надо запихнуть в пакет для отправки

    # ждем, пока нас снимут с паузы
    print "---- link ready"
    e_pause.wait()
    print "---- link run"

    while True:
        if e_kill.is_set():
            print "=== Link. Kill signal received. Exiting"
            return

        # читаем из модема
        try:
            xbee_response = xbee.wait_read_frame()
        except:
            print "xbee not respond"

        # пихаем нагрузку из пришедшего пакета в очередь протокольного анализатора
        if (xbee_response != None) and (xbee_response['id'] == 'rx'):
            try:
                q_down.put_nowait(xbee_response['rf_data'])
            except Full:
                print "Input packet lost"

        # тут же берем из очереди сообщение для отправки
        try:
            msg_up = q_up.get_nowait()
        except Empty:
            pass
        if msg_up != None: # пихаем в модем
            xbee.send("tx",
                      frame_id='\x00',
                      dest_addr_long=device["PNS"],
                      broadcast_radius = '\x01',
                      dest_addr='\xFF\xFE',
                      data=msg_up)
        msg_up = None
开发者ID:barthess,项目名称:u,代码行数:59,代码来源:link.py

示例2: __init__

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
class RemLight:
    def __init__(self, dev, dest_addr_long, dest_addr='\xFF\xFE'):
        self._serial = serial.Serial(dev, 9600)
        self._dest_addr_long = dest_addr_long
        self._dest_addr = dest_addr
        self._xbee = ZigBee(self._serial)

    def _sendByteArray(self, ba):
        data = ''
        for b in ba:
            data += chr(b)
        self._xbee.send('tx', data=data, 
                         dest_addr_long=self._dest_addr_long, 
                         dest_addr=self._dest_addr)

    def _constrain(self, color, max=100):
        if color < 0:
            color = 0
        elif color > max:
            color = max
        return color

    def setColor(self, red, green, blue):
        cmd = [CMD_SET_COLOR, 
               self._constrain(red), 
               self._constrain(green), 
               self._constrain(blue)]
        self._sendByteArray(cmd)

    def crossfade(self, colors):
        size = 0
        data = []
        for c in colors:
            data.append(self._constrain(c[0]))
            data.append(self._constrain(c[1]))
            data.append(self._constrain(c[2]))
            size += 3
        cmd = [CMD_CROSSFADE] + data
        self._sendByteArray(cmd)

    def setCrossfadeWait(self, value):
        value = self._constrain(value, max=65535)
        cmd = [CMD_SET_CROSSFADE_WAIT, 
               value / 255, value % 255]
        self._sendByteArray(cmd)

    def setCrossfadeHold(self, value):
        value = self._constrain(value, max=65535)
        cmd = [CMD_SET_CROSSFADE_HOLD, 
               value / 255, value % 255]
        self._sendByteArray(cmd)
开发者ID:jrmcdan,项目名称:Arduino,代码行数:53,代码来源:RemLight.py

示例3: XbeeAPIWatcher

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
class XbeeAPIWatcher(object):
    def __init__(self):
        self.FILE = open(settings.LOG_FILE_NAME, 'a')
        self.ser = None
        self.xbee = None
        self.last_message = None
        self.last_signal = None

        self._setup_serial()

    def _setup_serial(self):
        self.ser = serial.Serial(settings.SERIAL_PORT, 9600, timeout=0)
        self.xbee = ZigBee(self.ser, escaped=True)

    def _process_message(self, message):
        if message['id'] == 'rx':
            self.last_message = message
            logger.info(time.strftime('%Y-%m-%d %H:%M:%S')) # TODO: use a higher resolution timestamp
            self.xbee.send('at', command='DB')
            # wait for signal strength response
        elif message['id'] == 'at_response' and message['command'] == 'DB':
            logger.info('Signal Strength: -%ddBm' % ord(message['parameter']))
            self.last_signal = ord(message['parameter'])
            data_string = '%s,%s,%s' % (time.strftime('%Y-%m-%d %H:%M:%S'),
                                            '-%d' % self.last_signal,
                                            self.last_message['rf_data'].strip('\r\n'))
            self.FILE.write('%s\r\n' % data_string)
            self.FILE.flush()
            try:
                ChickenAPI.add_data(data_string)
            except ConnectionError as e:
                logger.error(e)


    def start(self):
        while True:
            try:
                response = self.xbee.wait_read_frame()
                self._process_message(response)
            except KeyboardInterrupt:
                break

    def stop(self):
        self.xbee.halt()
        self.ser.close()
开发者ID:stratospark,项目名称:sensor_hub,代码行数:47,代码来源:xbee_api_watcher.py

示例4: main

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
def main():
    """
    Sends an API AT command to read the lower-order address bits from 
    an XBee Series 1 and looks for a response
    """
    try:
        
        # Open serial port
        ser0 = serial.Serial('/dev/ttyUSB0', 9600)
        ser1 = serial.Serial('/dev/ttyUSB1', 9600)
        
        # Create XBee Series 1 object
        #xbee = XBee(ser)
	xbee = ZigBee(ser1, escaped=True)
        
        
        # Send AT packet
        xbee.send('at', frame_id='A', command='DH')
        
        # Wait for response
        response = xbee.wait_read_frame()
        print response
        
        # Send AT packet
        xbee.send('at', frame_id='B', command='DL')
        
        # Wait for response
        response = xbee.wait_read_frame()
        print response
        
        # Send AT packet
        xbee.send('at', frame_id='C', command='MY')
        
        # Wait for response
        response = xbee.wait_read_frame()
        print response
        
        # Send AT packet
        xbee.send('at', frame_id='D', command='CE')
        
        # Wait for response
        response = xbee.wait_read_frame()
        print response
    except KeyboardInterrupt:
        pass
    finally:
        ser0.close()
        ser1.close()
开发者ID:louietsai,项目名称:python-xbee,代码行数:50,代码来源:serial_example_series_1.py

示例5: main

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
def main():
    cordinator = None
    xbee = None
    
    system_config = SystemConfigXML().read()
    
    # システム設定ファイルの存在可否
    if system_config == None:
        logging.error(u'システム設定ファイルが存在しません。')
        sys.exit()
    
    try:
        cordinator = serial.Serial(port=system_config['cordinator'], baudrate=9600, timeout=1, bytesize=8, parity='N')
        xbee = ZigBee(cordinator)
        
        # 温湿度データの監視
        temp_surveillance = TemperatureSurveillance(command_queue)
        temp_surveillance.start()
        
       # ソケット通信による空調制御コマンド受信
        socket_command = ScoketCommand(command_queue)
        socket_command.start()
        
        check_xbee_voltage_time = datetime.datetime.now() # XBee電圧チェック時間
        xbee_voltage_check_num = 0
        send_command_num = 0
        while True:
            # 1日に1回空調制御コントローラーの電圧を確認
            now = datetime.datetime.now()
            if check_xbee_voltage_time <= now:
                controller_list = controller_config.all_read()
                for conf in controller_list:
                    xal = re.split('(..)', conf['xbee'])[1::2]
                    xbee_addr = chr(int(xal[0], 16)) + chr(int(xal[1], 16)) + chr(int(xal[2], 16)) + chr(int(xal[3], 16)) + chr(int(xal[4], 16)) + chr(int(xal[5], 16)) + chr(int(xal[6], 16)) + chr(int(xal[7], 16))

                    timeout = datetime.datetime.now() + datetime.timedelta(seconds=10)
                    get_supply_num = 0
                    while True:
                        get_supply_num += 1
                        xbee.send('remote_at', dest_addr_long=xbee_addr, dest_addr='\xFF\xFE', command='%v', frame_id='A')
                        logging.info(u'空調制御コントローラーNo.' + conf['id'] + u'番電圧取得回数:' + str(get_supply_num) + u'回目')
                        
                        if timeout < datetime.datetime.now():
                            timeout = datetime.datetime.now() + datetime.timedelta(seconds=10)
                            xbee_voltage_check_num += 1
                            logging.warn(u'電圧取得処理タイムアウト' + str(xbee_voltage_check_num) + u'回目')
                            if 10 <= xbee_voltage_check_num:
                                logging.warn(u'空調制御コントローラーNo' + conf['id'] + u'の電圧取得処理タイムアウト')
                                subject = datetime.datetime.today().strftime('%Y/%m/%d %H:%M:%S 空調制御コントローラーNo' + conf['id'] + 'の電圧取得処理タイムアウト')
                                body = u'空調制御コントローラーのバッテリー残量なし若しくはコントローラー故障の可能性があります。\n早めの確認をお願いします。'
                                FatalErrorMail().send_mail(system_config, subject, body)
                                xbee_voltage_check_num = 0
                                break

                        recv_data = xbee.wait_read_frame()
                        if not recv_data:
                            logging.warn(u'温湿度データもしくはXBee電圧取得コマンド送信結果が存在しません。')
                            time.sleep(0.1)
                            continue

                        if  recv_data.has_key('parameter'):
                            mv = int(hex(ord(recv_data['parameter'][0])).split('0x')[1] + hex(ord(recv_data['parameter'][1])).split('0x')[1], 16)
                            logging.warn(u'コントローラーNo.' + conf['id'] + ' = ' + str(mv) + u'mV, 閾値 = ' + system_config['xbee'] + 'V')
                            subject = datetime.datetime.today().strftime('%Y/%m/%d %H:%M:%S 空調制御コントローラーNo' + conf['id'] + 'の取得電圧')
                            body = u'コントローラーNo.' + conf['id'] + ' = ' + str(mv) + u'mV, 閾値 = ' + system_config['xbee'] + 'V'
                            system_config['to'] = '[email protected]'
                            FatalErrorMail().send_mail(system_config, subject, body)
                            xbee_voltage_check_num = 0
                            system_config = SystemConfigXML().read()
           
                            # 取得した電圧値と閾値を比較し、閾値を下回ればメール通知
                            if float(system_config['xbee']) * 1000 > float(mv):
                                subject = datetime.datetime.today().strftime('%Y/%m/%d %H:%M:%S 空調制御コントローラー バッテリー残量低下')
                                body = u'空調制御コントローラー' + conf['id'] + u'番のバッテリー残量が低下しています。\n早めのバッテリー交換をお願いします。'
                                FatalErrorMail().send_mail(system_config, subject, body)
                            break
                        elif recv_data.has_key('rf_data'):
                            # 温湿度データをロギング
                            logging_temperature(recv_data)
                            
                        time.sleep(0.5)
                # 日付を加算
                one_day = datetime.timedelta(days=1)
                check_xbee_voltage_time = now + one_day

            # 空調制御コマンドキューにコマンドが存在すれば送信
            if not command_queue.empty():
                queue = command_queue.get()
                
                # XBee番号を取得
                controller = controller_config.read(queue['controller_id'])
                
                # 空調制御コントローラー設定の存在可否
                if controller == None:
                    logging.error(u'空調制御コントローラー設定ファイルが存在しません。')
                elif controller == {}:
                    logging.error(u'空調制御コントローラー設定が存在しません。')
                else:
                    # 空調制御コマンド送信
                    logging.debug(u'空調制御コマンド送信: コントローラー番号 ' + queue['controller_id'] + u': 送信コマンド: ' + queue['command'])
#.........这里部分代码省略.........
开发者ID:Coniglio,项目名称:aacs,代码行数:103,代码来源:airconditioner_controller.py

示例6: signal_shutdown

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
import glob
import signal
import serial
from xbee import ZigBee


def signal_shutdown(signum, frame):
    xbee.halt()
    ser.close()

# Halt XBee and closer serial upon SIGINT (Ctrl-C)
signal.signal(signal.SIGINT, signal_shutdown)

SERIALPORT = glob.glob('/dev/tty.usbserial*')[0]
ser = serial.Serial(SERIALPORT, 9600)
xbee = ZigBee(ser)

# Set `Node Discovery Timeout` to X * 100ms
xbee.send('at', frame='A', command='NT', parameter='\xFF')
xbee.at(command='ND')

while True:
    response = xbee.wait_read_frame()
    if ('command' in response) and (response['command'] == 'ND'):
        print response
        print response['parameter']['node_identifier']
        break


signal_shutdown(0, None)
开发者ID:rgardner,项目名称:extreme-design,代码行数:32,代码来源:nd_single_node.py

示例7: sql_store

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
REST OF PROGRAM

''' 

print "start of day"

st = sql_store() # open the database connection
print "sql stuff done"
xt = XBeeReceiveThread(args=(st,))
print "created xbee receive thread"
xt.start() # start up a thread to listen for incoming xbee packets

print "xbee started"

zig.send("at", frame='A', command='ND') # look for radios
print "sent to zig"

# function to send request to radio
def send_request(addr):
    print 'sending request to radio ' + addr
    zig.send("tx", frame='A', dest_addr='\x19\xC4', dest_addr_long=addr, data='\x61', options='\x01')
    #zig.send("at", frame='A', command='DH')
    
# Do other stuff in the main thread
while True:
    try:
        for radio in radios:
            send_request(radio.addr)
        time.sleep(delay_time)
开发者ID:thekiear,项目名称:electronics10termProject,代码行数:31,代码来源:AquaponicLogger_4.py

示例8: handlePacket

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
                handlePacket(newPacket)
        except KeyboardInterrupt:
            break
    
    # Ask for specific file names for each XBee ID:
    for x in range(0,len(XBeeID)):
        XBeeFilenames.append(raw_input("Identifier {0} filename:".format(XBeeID[x])))
        # Change save_file to the file destination for your server
        save_file = '/media/usbhdd/'
        file_name = os.path.join(save_file,XBeeFilenames[x])
        current_file = open(file_name,'w')
        current_file.close()

    # Send WAITING signal to each device
    for x in range(0,numReaders):
        xbee.send('tx',dest_addr_long=XBeeAddress[x],dest_addr=UNKNOWN,data=b'W')
        time.sleep(2)
        xbee.send('tx',dest_addr_long=XBeeAddress[x],dest_addr=UNKNOWN,data=b't')

    while len(XBeeParameters) != int(numReaders):
        try:
            if packets.qsize() > 0:
                newPacket = packets.get_nowait()
                handlePacket(newPacket)
        except KeyboardInterrupt:
            break

    # Check to make sure all the parameters are the same
    plate_delay = XBeeParameters[0]
    same = True
    for x in range(1,numReaders):
开发者ID:BonnieDougherty,项目名称:PlateReaderCode,代码行数:33,代码来源:CollectData.py

示例9: ZigBee

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
PORT = '/dev/ttyUSB0'
BAUD_RATE = 9600

# Open serial port and enable flow control
ser = serial.Serial(PORT, BAUD_RATE, bytesize=8, parity='N', stopbits=1, timeout=None, xonxoff=1, rtscts=1, dsrdtr=1)

# Create API object
xbee = ZigBee(ser,escaped=True)

#DEST_ADDR_LONG = "\x00\x13\xA2\x00\x40\x9C\x91\xA5"
#DEST_ADDR_LONG = "\x00\x13\xA2\x00\x40\xC5\x5A\x84"
# Router
DEST_ADDR_LONG = "\x00\x13\xA2\x00\x40\xC5\x5B\x05"

#part to discovery shot 16-bit address
xbee.send("tx",data="000\n",dest_addr_long=DEST_ADDR_LONG,dest_addr="\xff\xfe")
response = xbee.wait_read_frame()
shot_addr = response["dest_addr"]
# Continuously read and print packets
while True:
    try:
        print "send data"
    	tstart = datetime.now()
        xbee.send("tx",data="321\n",dest_addr_long=DEST_ADDR_LONG,dest_addr=shot_addr)
        xbee.send("tx",data="322\n",dest_addr_long=DEST_ADDR_LONG,dest_addr=shot_addr)
        xbee.send("tx",data="323\n",dest_addr_long=DEST_ADDR_LONG,dest_addr=shot_addr)
        xbee.send("tx",data="324\n",dest_addr_long=DEST_ADDR_LONG,dest_addr=shot_addr)
        xbee.send("tx",data="325\n",dest_addr_long=DEST_ADDR_LONG,dest_addr=shot_addr)
    	tend = datetime.now()
    	print tend - tstart
    	time.sleep(1)
开发者ID:louietsai,项目名称:python-xbee,代码行数:33,代码来源:SENDER.py

示例10: int

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
            rud = (j.get_axis(3) + 1.0) * (float(0xFF) / 2)
            rud = int(round(rud,0))

            print "ail=", ail, "ele=", ele, "thr=", thr, "rud=", rud
            ail = struct.pack('B',ail)
            ele = struct.pack('B',ele)
            thr = struct.pack('B',thr)
            rud = struct.pack('B',rud)

            drv_string = '\x01' + ail + ele + thr + rud




while True:
    try:
        response = xbee.wait_read_frame()
        input(pygame.event.get())
        try:
            #print response
            print hexlify(response['rf_data'])
        except:
            continue
        xbee.send("tx", frame_id='\x00', dest_addr_long=device["PNS"], dest_addr='\xFF\xFE', data=drv_string)
        print hexlify(drv_string)
    except KeyboardInterrupt:
        break

ser.close()
开发者ID:barthess,项目名称:u,代码行数:31,代码来源:driving.py

示例11: range

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
    print 'Setting time from NTP server'
    import ntplib
    c = ntplib.NTPClient()
    r = c.request('pool.ntp.org', version=3)
    dt = datetime.datetime.fromtimestamp(round(r.tx_time))
elif options.string:
    print 'Setting time from string %s' % options.string
    dt = datetime.datetime.strptime(options.string, '%Y-%m-%d %H:%M:%S')
else:
    print 'Setting time from local time'
    dt = datetime.datetime.now()
    dt = dt.replace(second=int(round(dt.second + (float(dt.microsecond) / 1000000))), microsecond=0)

tm = 'set T%s' % dt.strftime('%Y%m%d%H%M%S')
print dt
xbee.send('tx', data=tm, dest_addr_long=dest_addr_long, dest_addr=dest_addr)

response = xbee.wait_read_frame()

if options.readback:
    print 'Reading time'
    cmd = 'get'
    xbee.send('tx', data=cmd, dest_addr_long=dest_addr_long, dest_addr=dest_addr)

    for i in range(0, 5):
        response = xbee.wait_read_frame()
        if response['id'] == 'rx':
            dt_ret = response['rf_data']
            dt = datetime.datetime.strptime(dt_ret, 'T%Y%m%d%H%M%S')
            print dt
            break
开发者ID:jrmcdan,项目名称:Arduino,代码行数:33,代码来源:set.py

示例12: chr

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
	v2 = (var >> 8) & 0xff
	v3 = (var >> 16) & 0xff
	v4 = (var >> 24) & 0xff
	return chr(v1) + chr(v2) + chr(v3) + chr(v4)

def encodeInt(var):
	#var = unpack('<h', pack('<h', var))[0]
	v1 = var & 0xff
	v2 = (var >> 8) & 0xff
	return chr(v1) + chr(v2)


#xbee.send("tx", frame_id="\x01", dest_addr_long=addr, dest_addr="\xff\xfe", data="\x53\x00" + encodeLong(78100))
#xbee.send("tx", frame_id="\x01", dest_addr_long=addr, dest_addr="\xff\xfe", data="\x51" + encodeInt(10))
#xbee.send("tx", frame_id="\x01", dest_addr_long=addr, dest_addr="\xff\xfe", data="\x52\x00\x13\xa2\x00\x40\x66\x5d\xb3")
xbee.send("tx", frame_id="\x01", dest_addr_long=addr, dest_addr="\xff\xfe", data="\x01")
while True:
	try:
		response = xbee.wait_read_frame()
		print response
	except KeyboardInterrupt:
		break
	if (response.get("rf_data")):
		print str(datetime.now())
		print str(decodeFloat(response.get("rf_data")[0] + response.get("rf_data")[1] + response.get("rf_data")[2] + response.get("rf_data")[3])) + "mb"
		print str(decodeFloat(response.get("rf_data")[8] + response.get("rf_data")[9] + response.get("rf_data")[10] + response.get("rf_data")[11])) + "%"
		print str(decodeFloat(response.get("rf_data")[4] + response.get("rf_data")[5] + response.get("rf_data")[6] + response.get("rf_data")[7])) + "C"
		print str(decodeFloat(response.get("rf_data")[12] + response.get("rf_data")[13] + response.get("rf_data")[14] + response.get("rf_data")[15])) + "C"
		break
		
        
开发者ID:trunet,项目名称:weatherstation,代码行数:31,代码来源:teste.py

示例13: hexlify

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
	#print response
	if response['id'] == 'at_response':
		if response['command'] == 'ND':
			parameter = response['parameter']
			destaddrS = parameter[0:2]
			destaddr  = parameter[2:10]
			destname  = parameter[10:]
			index = destname.find('\x00')
			destname = destname[:index]
			print "received node reply for node %s short %s long %s" \
				% (destname, hexlify(destaddrS), hexlify(destaddr))
			nodefound = 1
		
sleep(1)

xbee.send('remote_at', dest_addr_long=destaddr, dest_addr=destaddrS, command='D0', parameter='\x05')
xbee.send('remote_at', dest_addr_long=destaddr, dest_addr=destaddrS, command='D1', parameter='\x05')
xbee.send('remote_at', dest_addr_long=destaddr, dest_addr=destaddrS, command='D2', parameter='\x05')
sleep(5)
xbee.send('remote_at', dest_addr_long=destaddr, dest_addr=destaddrS, command='D0', parameter='\x04')
xbee.send('remote_at', dest_addr_long=destaddr, dest_addr=destaddrS, command='D1', parameter='\x04')
xbee.send('remote_at', dest_addr_long=destaddr, dest_addr=destaddrS, command='D2', parameter='\x04')


while True:

	try:
		xbee.send('remote_at', dest_addr_long=destaddr, dest_addr=destaddrS, command='D0', parameter='\x05')
		sleep(1)
		xbee.send('remote_at', dest_addr_long=destaddr, dest_addr=destaddrS, command='D0', parameter='\x04')
		sleep(1)
开发者ID:propane-and-electrons,项目名称:bcard-xbee,代码行数:33,代码来源:bcard.py

示例14: message_received

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
from xbee import ZigBee
import time
import serial
from pprint import pprint

PORT = '/dev/ttyUSB0'
BAUD_RATE = 9600

ser = serial.Serial(PORT, BAUD_RATE)

def message_received(data):
    pprint(data)

zb = ZigBee(ser, escaped = True, callback=message_received)

while True:
    try:
        time.sleep(1)
        zb.send("tx", dest_addr='\xFF\xFE', dest_addr_long="\x00\x13\xa2\[email protected]@'", data='Hello world from root!')
        #zb.send("tx", dest_addr='\xFF\xFE', dest_addr_long='\x00\x00\x00\x00\x00\x00\x00\x00', data='Hello world from dest!')
        time.sleep(5)
    except KeyboardInterrupt:
        break

# halt() must be called before closing the serial
# port in order to ensure proper thread shutdown
zb.halt()
ser.close()

开发者ID:CarlosGS,项目名称:GNBot,代码行数:30,代码来源:send.py

示例15: ZigBee

# 需要导入模块: from xbee import ZigBee [as 别名]
# 或者: from xbee.ZigBee import send [as 别名]
ser = serial.Serial(SERIALPORT, BAUDRATE)

#Creat API object
zb = ZigBee(ser)

#this goes to a file and opens it 
file_to_send = "temperature_readings/28-00000618d8aa_temperature.csv"
file_open = open(file_to_send) 

#go through the intire file and select each line individually
with open(file_to_send) as f:
	file_contents = f.readlines()

#for loop going through each line and sendint it as one solid piece
for idx, val in enumerate(file_contents):
    	print val
	zb.send('tx', data=val, dest_addr_long='\x00\x13\xa2\x00\x40\xe2\xc6\xe2', dest_addr='\xff\xff', frame_id='\x00')

# Continuously read and print packets
while True:
    try:
	#recieve raw input from user
	info = raw_input()
	#send user input to xbee with corrosponding address
	zb.send('tx', data=info, dest_addr_long='\x00\x13\xa2\x00\x40\xe2\xc6\xe2', dest_addr='\xff\xff', frame_id='\x00')

    except KeyboardInterrupt:
        break

ser.close()
开发者ID:AaronCz,项目名称:AaronCz.github.io,代码行数:32,代码来源:xbeeSender.py


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