New initial version
This commit is contained in:
Executable
+60
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- encoding: utf-8 -*-
|
||||
|
||||
"""
|
||||
Example on getting the information about the EnOcean controller.
|
||||
The sending is happening between the application and the EnOcean controller,
|
||||
no wireless communication is taking place here.
|
||||
|
||||
The command used here is specified as 1.10.5 Code 03: CO_RD_VERSION
|
||||
in the ESP3 document.
|
||||
"""
|
||||
|
||||
from enocean.consolelogger import init_logging
|
||||
from enocean.communicators.serialcommunicator import SerialCommunicator
|
||||
from enocean.protocol.packet import Packet
|
||||
from enocean.protocol.constants import PACKET
|
||||
from enocean import utils
|
||||
import traceback
|
||||
import sys
|
||||
|
||||
try:
|
||||
import queue
|
||||
except ImportError:
|
||||
import Queue as queue
|
||||
|
||||
init_logging()
|
||||
"""
|
||||
'/dev/ttyUSB0' might change depending on where your device is.
|
||||
To prevent running the app as root, change the access permissions:
|
||||
'sudo chmod 777 /dev/ttyUSB0'
|
||||
"""
|
||||
communicator = SerialCommunicator(port=u'/dev/ttyUSB0', callback=None)
|
||||
packet = Packet(PACKET.COMMON_COMMAND, [0x03])
|
||||
|
||||
communicator.daemon = True
|
||||
communicator.start()
|
||||
communicator.send(packet)
|
||||
|
||||
while communicator.is_alive():
|
||||
try:
|
||||
receivedPacket = communicator.receive.get(block=True, timeout=1)
|
||||
if receivedPacket.packet_type == PACKET.RESPONSE:
|
||||
print('Return Code: %s' % utils.to_hex_string(receivedPacket.data[0]))
|
||||
print('APP version: %s' % utils.to_hex_string(receivedPacket.data[1:5]))
|
||||
print('API version: %s' % utils.to_hex_string(receivedPacket.data[5:9]))
|
||||
print('Chip ID: %s' % utils.to_hex_string(receivedPacket.data[9:13]))
|
||||
print('Chip Version: %s' % utils.to_hex_string(receivedPacket.data[13:17]))
|
||||
print('App Description Version: %s' % utils.to_hex_string(receivedPacket.data[17:]))
|
||||
print('App Description Version (ASCII): %s' % str(bytearray(receivedPacket.data[17:])))
|
||||
|
||||
except queue.Empty:
|
||||
continue
|
||||
except KeyboardInterrupt:
|
||||
break
|
||||
except Exception:
|
||||
traceback.print_exc(file=sys.stdout)
|
||||
break
|
||||
|
||||
if communicator.is_alive():
|
||||
communicator.stop()
|
||||
Reference in New Issue
Block a user