METHODS AND APPARATUSES FOR SIMULATANEOUSLY EXCHANGING MESSAGES BETWEEN A LOW-ENERGY RADIO DEVICE AND MULTIPLE CENTRAL DEVICES

Information

  • Patent Application
  • 20170094696
  • Publication Number
    20170094696
  • Date Filed
    September 30, 2016
    8 years ago
  • Date Published
    March 30, 2017
    7 years ago
  • Inventors
    • TRUONG; Taddy
    • NGUYEN; Huy
  • Original Assignees
Abstract
A method includes scanning predetermined radio frequencies, via a transceiver communicatively coupled to a processor operating in a first mode. The method also includes receiving, via the transceiver, in response to operating in the first mode, a broadcast packet broadcasted by a first communication device of a set of communication devices. The method also includes establishing a communication channel with the first communication device. The method also includes operating the processor simultaneously in the first mode and the second mode by operating the processor in the second mode with respect to the first communication device and operating the processor in the first mode with respect to other devices of the set of communication devices.
Description
BACKGROUND

Bluetooth Low Energy (BLE) is a wireless technology developed by the Bluetooth Special Interest Group (SIG) for short-range communication to be used in a low-energy radio device. In contrast with previous Bluetooth versions, BLE has been designed as a low-power solution for control and monitoring applications. BLE is a distinctive feature of the Bluetooth version 4.0 and includes other specifications.


Currently available low-energy radio devices are optimized for low cost and low power consumption and the typical low-energy radio technology, such as BLE technology included in these devices has several key limitations preventing many use-case scenarios. For example, some low-energy radio devices are generally permitted to support a unidirectional communication (i.e., either only for transmission or only for receiving) during an active connection. In other words, traditional low-energy radio devices do not support master-slave role changes (role-swapping) while being connected to a communication device during an active connection. In such cases, when a peripheral or slave device is connected to a master device, it is not possible for the slave device to connect to other master devices. Furthermore, when a low-energy radio device has no available user interface to select a communication device from a list of available peer-devices, the low-energy radio device is limited to be the broadcaster pre-designated by an observer device in order to establish a connection. Once the connection is established, such a peripheral device generally cannot receive messages from other communication devices while being connected to the first communication device.


SUMMARY

Embodiments of the present disclosure include systems, devices, and methods for exchanging messages between a low-energy radio device, such as a BLE device and multiple communication devices, such as Smartphones, smart watches, tablets, laptops, other computing devices, and/or the like.


In some embodiments, a low-energy radio device includes a transceiver and a processor communicatively coupled to the transceiver. The processor is configured to operate in a first mode and a second mode by operating in the first mode by scanning for, via the transceiver, predetermined radio frequencies, and receiving, in response to operating in the first mode, a broadcast packet broadcasted by a first communication device of a set of communication devices. The processor is further configured to operate in the first mode and the second mode by establishing a communication channel with the first communication device. The processor is further configured to operate simultaneously in the first mode and the second mode by operating in the second mode with respect to the first communication device and operating in the first mode with respect to other devices of the set of communication devices.


In some embodiments, a method includes scanning predetermined radio frequencies, via a transceiver communicatively coupled to a processor operating in a first mode. The method also includes receiving, via the transceiver, in response to operating in the first mode, a broadcast packet broadcasted by a first communication device of a set of communication devices. The method also includes establishing a communication channel with the first communication device. The method also includes operating the processor simultaneously in the first mode and the second mode by operating the processor in the second mode with respect to the first communication device and operating the processor in the first mode with respect to other devices of the set of communication devices.


In some embodiments, a system includes a set of communication devices that in turn includes a first communication device and a second communication device. The system also includes a low-energy radio device. The low-energy radio device including a transceiver, a transmitter, and a processor communicatively coupled to the transceiver and the transmitter. The processor is configured to operate in a first mode and a second mode by operating in the first mode by scanning for, via the transceiver, predetermined radio frequencies, receiving, in response to operating in the first mode, a first broadcast packet broadcasted by the first communication device and establishing a first communication channel with the first communication device, and by operating in the second mode with respect to the first communication device and operating in the first mode with respect to the second communication device. The processor is further configured to operate in a first mode and a second mode by receiving, in response to operating the processor in the first mode with respect to the second communication, a second broadcast packet broadcasted by a second communication device of the set of communication devices. The processor is further configured to operate in a first mode and a second mode by establishing a second communication channel with the second communication device and operating the processor simultaneously in the first mode and the second mode by operating the processor in the second mode with respect to the first communication device and the second communication device and operating the processor in the first mode with respect to remainder devices of the set of communication device.





BRIEF DESCRIPTION OF THE DRAWINGS

The skilled artisan will understand that the drawings primarily are for illustrative purposes and are not intended to limit the scope of the inventive subject matter described herein. The drawings are not necessarily to scale; in some instances, various aspects of embodiments of the disclosure presented herein may be shown exaggerated or enlarged in the drawings to facilitate an understanding of different features. In the drawings, like reference characters generally refer to like features (e.g., functionally similar and/or structurally similar elements).



FIG. 1 is a schematic block diagram showing a system between multiple communication devices and a low-energy radio device, according to an embodiment.



FIG. 2A shows additional detail of the communication device 100 of FIG. 1, according to an embodiment.



FIG. 2B shows additional detail of the low-energy radio device of FIG. 1, according to an embodiment.



FIG. 3A illustrates a use case scenario, and shows a first communication device in a broadcast role that is broadcasting data/packets receivable by a low-energy radio device for thereafter establishing a first connection.



FIG. 3B illustrates the use case scenario in FIG. 3A, and shows a second communication device in a broadcast role that is broadcasting data/packets receivable by the low-energy radio device for thereafter establishing a second connection.



FIG. 4 illustrates a method that can be executed by a communication device to establish a connection with a low-energy radio device, according to an embodiment.



FIG. 5 illustrates another method that can be executed by a low-energy radio device to process data received from multiple communication devices, according to an embodiment.



FIG. 6 shows a method for connection a low-energy radio device to multiple communication devices, according to an embodiment.





The features and advantages of the embodiments disclosed herein will become more apparent from the detailed description set forth below when taken in conjunction with the drawings.


DETAILED DESCRIPTION

Aspects disclosed herein are directed to provide low-energy radio devices (also sometime referred to simply as “radio devices”) capable of supporting multiple roles in a networked/mesh environment, such as, for example, observer (i.e., in an observer mode) and peripheral (i.e., in a peripheral mode) roles. As such, the low energy radio devices can execute commands received through broadcast packets from one or more communication devices while scanning for predetermining radio frequencies for broadcast packets broadcasted by other communication devices.


The term “low-energy” as used herein to describe a device refers to the ability of that device to establish and/or employ at least one communication protocol that when powered and/or consuming charge equivalent to that generated by a single cell battery, such as from a coin cell battery for example. For example, in some embodiments, the battery/power source can generate from about 20 mAh to about 300 mAh, and/or has a peak current that is less than about 30 mA. In some embodiments, the communication protocol is selected from the group consisting of Bluetooth low-energy (BLE), ANT™, ANT+™, ZigBee®, ZigBee RF4CE (Radio Frequency for Consumer Electronics), Nike+®, IrDA® from the Infrared Data Association, and/or the like. In some embodiments, the communication protocol is BLE.


The term “radio” as used herein to describe a device refers to the ability of that device to establish and/or employ at least one wireless communication protocol in the radio frequency range from about 3 kHz to about 300 GHz, including all value and sub ranges in between. In some embodiments, a radio device as described herein establishes and/or employs at least one wireless communication protocol at about 2.4 GHz.


Aspects disclosed herein are further directed to systems, devices, and methods for simultaneously exchanging messages between a low-energy radio device and multiple central devices (also sometimes referred to as “communication devices”). It should be appreciated that various concepts introduced above and discussed in greater detail below may be implemented in any of numerous ways, as the disclosed concepts are not limited to any particular manner of implementation. By way of non-limiting example, in some embodiments, the central devices are Smartphones, smart watches, tablets and/or any other computing devices. In such embodiments, the smart phones may have an application or other software that is configured to support the role of broadcaster for establishing a connection with a low-energy radio device. The low-energy radio device is configured to support, in parallel, the roles of an observer and a peripheral. As such, the low-energy radio device can simultaneously handle one or more active connections operating as a peripheral while periodically scanning radio frequencies to identify and connect to other communication devices. Some implementations may be specific to a particular type of low-energy radio device, such as a smart illumination device, a wearable device and/or other smart-home hardware. Examples of specific implementations applications are provided primarily for illustrative purposes.


In some embodiments, the radio device and/or any communication device as disclosed herein is configurable for operating in one or more of four roles (also sometimes referred to as “modes” or “profiles”) with respect to another device as described herein: (1) broadcaster role; (2) observer role; (3) peripheral role; and (4) central/master role. Explained hereon with reference to the radio device for simplicity, in some embodiments, the radio device includes a transmitter, and is configured to operate in the broadcaster role with respect to another device by broadcasting packets, such as data packets, to other devices. In some embodiments, the radio device includes a receiver, and is configured to operate in the observer role by listening, scanning, and/or otherwise monitoring one or more radio frequencies for packets broadcast by other devices. In some embodiments, the radio device includes both a receiver and a transmitter, and is configured to operate in the broadcaster role or the observer role, or in the peripheral role by both receiving and transmitting packets. In some embodiments, the transmitter and the receiver are included in a transceiver, which includes both transmission and receiving capabilities. The term “transceiver” as used herein can refer to a receiver and a transmitter that are structurally and/or functionally independent, or structurally and/or functionally interlinked. In some embodiments, a radio device in a peripheral role supports broadcasting “advertisements” and/or other promotional data as packets, and can connect to other devices to exchange packets via a peer-to-peer connection. In some embodiments, the radio device includes a receiver and a transmitter, and/or a transceiver, and is configured to operate in the central/master role that can include, among other things, listening/monitoring one or more radio frequencies for packets broadcast by other devices, initiating connections/communication channels with other devices, and serving as a master device in a connection/communication with other devices.



FIG. 1 is a schematic block diagram showing a system 10 that includes a set of communication devices 100a-100n and a low-energy radio device 300. In some embodiments, the communication devices 100a-100n and the low-energy radio device 300 are connected via any suitable network including, but not limited to, a wired network (an Ethernet, local area network (LAN), etc.), a wireless network (e.g., a wireless local area network (WLAN), a Wi-Fi network, a BLE-enabled network, etc.), or a combination of wired and wireless networks (e.g., the Internet, etc.). In some embodiments, one or more of the connections/communication channels between the communication device(s) 100a-100n and the radio device 300, illustrated herein as communication channels 120a-120n, can be based on BLE. In some embodiments, the network and/or the connectivity between the communication devices 100a-100n and the radio device 300 can include any suitable topology such as, but is not limited to, a broadcast topology, a mesh topology, a star topology, a scanning topology, and a point-to-point topology. Any of the connections and/or communication channels 120a-120n here can be continuous once formed (i.e., maintained for a duration of interaction), or formed on-demand.


Each of the communication devices 100a-100n can be any suitable computing device including, but not limited to, a Smartphone, a smart watch, a tablet, a laptop, a desktop, a server, and/or the like. In some embodiments, at least one of the communication devices 100a-100n can include at least a processor and a memory.


As noted herein, in some embodiments, any of the communication devices 100a-100n can be configured to operate in a broadcaster role, an observer role, a peripheral role, and/or a master role with respect to the other communication devices and/or with respect to the radio device 300. For example, the communication device 100a (also sometimes referred to as a “first communication device”) can operate in a master role with respect to the radio device 300, and in a peripheral role with respect to the communication device 100b (also sometimes referred to as a “second communication device”). In some embodiments, the radio device 300 can be configured to operate in a broadcaster role, an observer role, a peripheral role, and/or a master role with respect to any of the communication devices 100a-100n. In some embodiments, the low-energy radio device 300 can be configured for simultaneous operation, and/or simultaneous support, of more than one role such as, for example, an observer role (e.g., with respect to the communication device 100a) and a peripheral role (e.g., with respect to the communication device 100a). Described with respect to the communication device 100a as a non-limiting representative of the communication devices 100a-100n, in some embodiments, the communication device 100a can be configured to operate in a central role with respect to the low-energy radio device 300, which in turn can be configured to operate in a peripheral role with respect to the communication device 100a. Simultaneously, the low-energy radio device 300 can be configured to operate in an observer role with respect to the other communication devices, and scan one or more predetermined radio frequencies for packets from the other communication devices. Said another way, through such an observer role, the low-energy radio device 300 can receive broadcast packets from other communication devices, such as communication devices 100b and/or 100n.


In some embodiments, the system 10 includes at least the first communication device 100a, the second communication device 100b and the low-energy radio device 300. The low-energy radio device 300, discussed in greater detail for FIG. 2B, further includes a transceiver and a processor communicatively coupled to the transceiver. The processor is configured to operate in a first mode and a second mode by operating in the first mode by scanning for, via the transceiver, predetermined radio frequencies. The processor is further configured to receive, in response to operating in the first mode, a first broadcast packet broadcasted by the first communication device 100a. The processor is further configured to establish a first communication channel (e.g., communication channel 120a) with the first communication device 100a, such as, for example, a BLE-based connection.


The processor is further configured to operate simultaneously in the first mode and the second mode by operating in the second mode with respect to the first communication device 100a and operating in the first mode with respect to the second communication device 100b. The processor is further configured to operate in a first mode and a second mode by receiving, in response to operating the processor in the first mode with respect to the second communication, a second broadcast packet broadcasted by a second communication device 100b of the set of communication devices. The processor is further configured to operate in a first mode and a second mode by establishing a second communication channel (e.g., communication channel 120b) with the second communication device 100b and operating the processor simultaneously in the first mode and the second mode by operating the processor in the second mode with respect to the first communication device 100a and the second communication device 100b and operating the processor in the first mode with respect to remainder devices of the set of communication devices (e.g., with respect to the communication device 100n).


In some embodiments, the first mode/role of the low-energy radio device 300 is an observer mode. In some embodiments, the second mode in the low-energy radio device 300 is a peripheral mode. In some embodiments, the low-energy radio device of the system includes a light-emitter communicably coupled to the processor, such as a light emitting diode (LED) lamp or bulb, for example. In some embodiments, the processor is further configured for executing one or more instructions received from the first communication device 100a via the first communication channel 120a while the processor is operating in the second mode and executing one or more instructions received from the second communication device 100b via the second communication channel 120b while the processor is operating in the second mode.


In some embodiments, the first broadcast packet includes a first group identification number and a first passcode, and the processor of the low-energy radio device 300 is configured to establish the first communication channel 120a based on the first group identification number and the first passcode. In some embodiments, the second broadcast packet including a second group identification number and a second passcode, and the processor of the low-energy radio device 300 is configured to establish the second communication channel 120b based on the second group identification number and the second passcode. In some embodiments, the first communication channel 120a is encrypted based on the first group identification number and a first passcode, and the second communication channel 120b is encrypted based on the second group identification number and a second passcode. In some embodiments, the low-energy radio device 300 further includes a light-emitter communicably coupled to the processor, the processor further configured for executing an instruction received from the first communication device while the processor is operating in the second mode, the instruction associated with control of operation of the light-emitter.



FIG. 2A illustrates detail of the communication device 100a of FIG. 1, which can be representative of any of the other communication devices 100b-100n.


In some implementation the communication device 100a shown in FIG. 2A includes a user interface/display 102 and/or graphical user interface (GUI) to display and receive information from a user. The user interface 102 can receive commands from a processor 108 physically coupled to a memory 104 with a set of executable instructions 106 which enables the communication device to connect and control operation of a low-energy radio device such as, for example, the low-energy radio device 300. Additionally, the communication device 100 includes a communication interface 110 to receive and transmit data to one or more devices, for example, exchanging data via a low-energy radio.



FIG. 2B illustrates detail of the low-energy radio device 300 of FIG. 1. In some embodiments, the low-energy radio device 300 includes a processor 305 configured for executing executable instructions 311 stored in the memory 309 and commands received from other devices. The executable instructions 311 include, but are not limited to, instructions to maintain a white list composed of GroupIDs (described later), and/or other identifiers; instructions to support a peripheral mode with respect to another device; instructions to support an observer mode with respect to another device; and instructions to drive the low-energy transceiver 303, such as a BLE radio, and the actuator 307. In some embodiments, the transceiver 303 can include a transmitter and/or a receiver independent of each other or interlinked, such as, for example, in combined circuitry. In some embodiments, the power source 301 can include components for a complete DC/DC converter solution. The actuator 307 can control, for example, a panel with light-emitting diodes (LEDs), such as one or more light-emitters (e.g., such as the light emitter 310), a smart bulb, a valve, a motor, a switch, a servo, and/or the like.


In some embodiments, the low-energy radio device 300 includes the transceiver 303 and a processor 305 communicatively coupled to the transceiver 303. In some embodiments, the processor 305 is configured to operate in a first mode and a second mode by operating in the first mode by scanning for, via the transceiver 303, predetermined radio frequencies. The processor 305 is also configured for receiving, in response to operating in the first mode, a broadcast packet broadcasted by a first communication device (e.g., the communication device 100a) of a set of communication devices (e.g., the communication devices 100a-100n) and establishing a communication channel (e.g., the communication channel 120a) with the first communication device. Additionally, the processor is configured for operating simultaneously in the first mode and the second mode by operating in the second mode with respect to the first communication device and operating in the first mode with respect to other devices of the set of communication devices.


In some embodiments, the first mode of the low-energy radio device 300 is the observer mode. In some embodiments, the second mode of the low-energy radio device is the peripheral mode. In some embodiments, the broadcast packet is a first broadcast packet and the communication channel is a first communication channel, and the processor 305 is further configured for receiving, in response to operating in the first mode with respect to other devices, a second broadcast packet broadcasted by a second communication device (e.g., the communication device 100b) of the set of communication devices. The processor 305 is further configured for establishing a second communication channel (e.g., the communication channel 120b) with the second communication device and operating simultaneously in the first mode and the second mode by operating in the second mode with respect to the first communication device and the second communication device. Additionally, the processor is configured for operating in the first mode with respect to remainder devices of the set of communication devices (e.g., any communication device other than the communication device 100a and the communication device 100b, such as the communication device 100n).


In some embodiments, the processor 305 is further configured to execute one or more instructions received from the second communication device via the second communication channel. In some embodiments, the processor 305 is further configured to execute one or more instructions received from the first communication device via the communication channel. In some embodiments, the low-energy radio device 300 includes one or more components that can be controlled by execution of the instruction(s) by the processor 305. Such components can include, but are not limited to, a light-emitter such as a bulb, a household electrical device/appliance such as a fan or a refrigerator, a household electronic device/appliance such as a smart speaker or a smart thermostat (e.g., Nest), and/or like. As a non-limiting example, and as illustrated in FIG. 2B, the low-energy radio device 300 can include a light emitter 310 who's operation can be controlled based on the instructions such as for example, to turn the light emitter 310 on and/or off on demand/periodically, to change a color of light emitted by the light emitter 310, and/or the like.


In some embodiments, the broadcast packet includes a group identification number and a passcode, and the processor 305 is further configured to establish a communication channel based on the group identification number and the passcode. In some embodiments, the communication channel is encrypted based on the group identification number and the passcode. In some embodiments, the low-energy radio device further includes the light-emitter 310 and the processor 305 is further configured to execute an instruction received from the first communication device, the instruction associated with control of operation of the light-emitter 310.



FIGS. 3A and 3B show example communication schemes in which a first communication device 200a (e.g., similar to the communication device 100a) and a second communication device 200b (e.g., similar to the communication device 100b), each operating in a broadcast role, broadcasts data packets to be found by a low-energy radio device 400 (e.g., similar to the radio device 300), and thereafter establish connections such as the communication channels 220a, 220b, respectively. In FIG. 3A, the first communication device 200a and the second communication device 200b are disposed within the observance range of the low-energy radio device 400. The communication device 200a can support a broadcaster role to send broadcast data packets continuously and/or periodically to any device enabled to receive the packets, such as the communication device 200b, the radio device 400, and/or the like. Simultaneously (or in some embodiments, substantially simultaneously or near simultaneously), the low-energy radio device 400 can support an observer role to repeatedly scan preset radio frequencies to receive any packets currently being broadcast by other devices.


In some embodiments, the broadcast packet contains data that describes the broadcaster and its capabilities, and customized information which enables the low-energy radio device 400 to support a peripheral and observer role in parallel. The supported peripheral role enables the low-energy radio device 400 to send data packets periodically and accept incoming data packets, some of which can include an indication of a connection to be made. In some embodiments, once in an active connection, the peripheral role dictates to follow timing of exchange data based on an indication thereof from a communication device of the active connection operating in a central role. In some embodiments, the low-energy radio device 400 supports, in parallel to the peripheral role, an observer role enabling it to receive any data packet currently being broadcasted.


For example, the low-energy radio device 400 can be in an observer role 400A (as illustrated in FIG. 3A), scanning predetermined radio frequencies for advertising packets while the communication device 200a is operating in broadcasting role 201A as shown in FIG. 3A. At some point during time T1, the low-energy radio device 400 detects the broadcasting data sent by the communication device 200a and sends a packet to the communication device 200a to accept an incoming connection. The communication device 200a can display the name or identifier of the low-energy radio device 400 as shown in 201B such that a user can decide to accept the incoming connection or reject it. In some embodiments, when a user decides to accept the incoming connection, a prompt screen 201C can be displayed on the communication device 200a requesting a user to enter a group identification (GroupID) number 205 (e.g., network ID, login ID or the like) and a passcode 207 (or password or key). The GroupID 205 and passcode 207 can be utilized to encrypt data packets sent between the communication device 200a and the low-energy radio device 400. In addition, the low-energy radio device 400 can store the GroupID 205 in a white list to validate, and accept incoming packets from the communication device 200a.


In some embodiments, the low-energy radio device 400 receives a data packet with the GroupID 205 and the passcode 207 and thereafter, a connection is established between the communication device 200a and low-energy radio 400. The established connection permits the exchange of data packets between the communication device 200a and the low-energy radio device 400 on an ad-hoc basis, wherein either the device 200a or 400 can start a communication at any time, irregular and/or aperiodic intervals of time. A connection can be permanent, including the periodical and/or occasional exchange of data packets between the devices 200a and 400. Moreover, the established connection is private, that is, the data is sent to and received by only the two peers involved in the connection, and no other devices.



FIG. 3B is a continuation of the example introduced in FIG. 3A. In some embodiments, a second communication device 200b can operate in broadcasting role 201E to send broadcast data packets periodically to any device enabled to receive the packets. Simultaneously, the low-energy radio device 400 can keep supporting an observer role to repeatedly scan preset radio frequencies to receive any advertising packets currently being broadcasted.


At some point during time T2, the low-energy radio device 400 detects the broadcasting data sent by the communication device 200b and sends a packet to the communication device 200b to accept an incoming connection. The communication device 200b can display the name or identifier of the low-energy radio device 400 as shown in 201F such that a user can decide to accept the incoming connection or reject it.


Note that in this instance (FIG. 3B), the low-energy radio device 400 is simultaneously supporting an observer role a peripheral role 400B. The supported peripheral role enables the low-energy radio device 400 to receive commands from the communication device which, during T2 is operating in central or master role as shown in 101D. The supported observer role enables the low-energy radio device 400 to establish connections with other devices, for example, the communication device 200n. If a connection is accepted, for example by entering a GroupID and passcode through the communication device 200b, the low-energy radio device 400 can exchange data in parallel with the devices 200a and 200b.


In some implementation the low-energy radio device 400, can further perform optimization over different factors including but not limited to scanning window (i.e., maximize the scanning window and scanning interval, with a goal to achieve nearly 100% scanning when out of connection mode and maximize the scanning window during connection mode); optimal scanning time interval; optimal advertising channels; and placement of connection over channels, for example, X number of channels for peripheral and central data exchange including frequency hopping. Other optimization criteria can include preventing conflicts which may cause a hardware reset, and minimizing the time of command execution to maximize the time allotted to scan for new messages.


In some embodiments, an advertising packet contains 31-byte payload. An example of the payload fields is provided in Table 1 below.






















Local
Local


UUID



Flag
Len
Name ID
Name data
Len
UUID
data







Number
3
1
1
8
1
1
16


of bytes









Value
xxx
0x09
0x09
xx . . .
0x11
0x07
xxxx . . .









In some embodiments, the data in Local Name includes eight bytes of not encrypted data wherein each byte can range from a value of 1 to 127. A byte within the Local Name data is utilized to specify a GroupID.


In some further embodiments, the universal unique identifier UUID can be encrypted, for example through an Advanced Encryption Standard (AES) or Rijndael with a key length of 128 bits and 2-byte counter for anti-sniffer further explained with respect to FIG. 5.



FIG. 4 is an example flowchart 450 executed by a communication device to establish a connection with a low-energy radio device. In some embodiments, a communication device, for example communication device 100a, can run processor executable instructions to support a broadcaster role 401. Thereafter, the communication device can send broadcast data packets periodically to any device enabled to receive the packets 403. The conditional stamen 405 determines if the communication device received an incoming connection packet. If an incoming connection packet was received, then the communication device can send a GroupID and passcode to accept the connection with an observer, for example, a low-energy radio device 400 as shown in FIGS. 3A-3B. In some embodiments, if there is no incoming connection packet, then the communication device waits for a predetermined interval of time 407 before sending the broadcast data 403 again.



FIG. 5 is an example logic flowchart 500 executed by a low-energy radio device to process data received from multiple communication devices. In some embodiments, a low-energy radio device, for example, low-energy radio device 300 shown in FIGS. 3A-3B can support a peripheral role. In such a case, the low-energy radio device can receive a message or advertising packets from a master device 501. The received data packets can be filtered 503 in a preprocessing stage to discard unwanted packets. Thereafter, the conditional statement 505 evaluates if the incoming packet is a duplicated packet. A duplicated packet can be identified, for example, by querying a memory in the low-energy radio device for recently received packets. If the low-energy radio device determines that the packet is a duplicate packet, then any duplicate is removed 507 so the packet is processed only once and the flow continues at the conditional statement 509. If the low-energy radio device determines that the packet is not a duplicate, then the flow goes to the conditional stamen 509.


In some embodiments, the conditional statement 509 evaluates if the received packet was sent by a communication device with a valid GroupID. For example, by examining a white list containing GroupIDs for permissible devices. If there is no corresponding entry for the GroupID included in the received data packet, then the flow goes to step 501. If the GroupID included in the received data packet is listed in the white list, then the low-energy radio device performs a passcode and checksum process 511. The conditional statement 513 evaluates if there are any data errors in the received packet. For example, if the results from the checksum process are available in memory, this may be an indicator of data error, therefore the packet is ignored and the flow continues at step 501. If it is determined on 513 that there is no errors, then the decrypt the UUID field of the packet is decrypted, for example through AES-128 and the decrypted command is executed by the low-energy radio device.


Referring now to FIG. 6, a method 600 for connecting a low-energy radio device, such as, for example, the radio device 300 to one or more of the communication devices 100a-100n. The method 600 includes scanning predetermined radio frequencies at step 602, via a transceiver communicatively coupled to a processor operating in a first mode. At step 604, the method includes receiving via the transceiver, in response to operating in the first mode, a broadcast packet broadcasted by a first communication device of a set of communication devices. The method includes at step 606, establishing a communication channel with the first communication device and at step 608, operating the processor simultaneously in the first mode and the second mode by operating the processor in the second mode with respect to the first communication device and operating the processor in the first mode with respect to other devices of the set of communication devices. In some embodiments, the first mode in the method is an observer mode as described herein. In some embodiments, the second mode in the method is a peripheral mode.


In some embodiments, the broadcast packet is a first broadcast packet and the communication channel is a first communication channel, the method 600 further includes receiving, in response to operating the processor in the first mode with respect to other devices, a second broadcast packet broadcasted by a second communication device of the set of communication devices. Additionally, the method includes establishing a second communication channel with the second communication device and operating the processor simultaneously in the first mode and the second mode by operating the processor in the second mode with respect to the first communication device and the second communication device and operating the processor in the first mode with respect to remainder devices of the set of communication devices.


In some embodiments, the method includes executing one or more instructions received from the first communication device via the first communication channel while the processor is operating in the second mode. In some embodiments, the method includes executing one or more instructions received from the second communication device via the second communication channel while the processor is operating in the second mode.


In some embodiments, the broadcast packet includes a group identification number and a passcode, and the establishing the communication channel includes establishing the communication channel based on the group identification number and the passcode.


In some embodiments, the method includes processor associated with a light-emitter, the method further comprising executing an instruction received from the first communication device while the processor is operating in the second mode, the instruction associated with control of operation of the light-emitter.


While various inventive embodiments have been described and illustrated herein, those of ordinary skill in the art will readily envision a variety of other means and/or structures for performing the function and/or obtaining the results and/or one or more of the advantages described herein, and each of such variations and/or modifications is deemed to be within the scope of the inventive embodiments described herein. For example, while some actions, processes and/or functions are described as occurring simultaneously, it is to be understood that, according to some embodiments, one or more of those actions, processes and/or functions may occur substantially simultaneously or near simultaneously without departing from the scope of the disclosure. More generally, those skilled in the art will readily appreciate that all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and/or configurations will depend upon the specific application or applications for which the inventive teachings is/are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific inventive embodiments described herein. It is, therefore, to be understood that the foregoing embodiments are presented by way of example only and that, within the scope of the appended claims and equivalents thereto; inventive embodiments may be practiced otherwise than as specifically described and claimed. Inventive embodiments of the present disclosure are directed to each individual feature, system, article, material, kit, and/or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and/or methods, if such features, systems, articles, materials, kits, and/or methods are not mutually inconsistent, is included within the inventive scope of the present disclosure. Further embodiments may be patentable over prior art by specifically lacking one or more features/functionality (i.e., claims directed to such embodiments may include negative limitations to distinguish such claims from prior art).


The above-described embodiments of the present disclosure can be implemented in any of numerous ways. For example, some embodiments may be implemented using hardware, software or a combination thereof. When any aspect of an embodiment is implemented at least in part in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.


In this respect, various embodiments disclosed herein may be embodied at least in part as a computer readable storage medium (or multiple computer readable storage media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium or non-transitory medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the technology discussed above. The computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present technology as discussed above.


The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present technology as discussed above. Additionally, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that when executed perform methods of the present technology need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present technology.


Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.


Also, the technology described herein may be embodied as a method, of which at least one example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.


All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and/or ordinary meanings of the defined terms.


The indefinite articles “a” and “an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean “at least one.”


The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.


As used herein in the specification and in the claims, “or” should be understood to have the same meaning as “and/or” as defined above. For example, when separating items in a list, “or” or “and/or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of” or “exactly one of,” or, when used in the claims, “consisting of” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e. “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of” “only one of,” or “exactly one of” “Consisting essentially of,” when used in the claims, shall have its ordinary meaning as used in the field of patent law.


As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently “at least one of A and/or B”) can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.


In the claims, as well as in the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of” shall be closed or semi-closed transitional phrases, respectively, as set forth in the United States Patent Office Manual of Patent Examining Procedures, Section 2111.03.

Claims
  • 1. A low-energy radio device, comprising: a transceiver; anda processor communicatively coupled to the transceiver, the processor configured to operate in a first mode and a second mode by: operating in the first mode by scanning for, via the transceiver, predetermined radio frequencies;receiving, in response to operating in the first mode, a broadcast packet broadcasted by a first communication device of a set of communication devices; andestablishing a communication channel with the first communication device; andoperating simultaneously in the first mode and the second mode by operating in the second mode with respect to the first communication device and operating in the first mode with respect to other devices of the set of communication devices.
  • 2. The low-energy radio device of claim 1, wherein the first mode is an observer mode.
  • 3. The low-energy radio device of claim 1, wherein the second mode is a peripheral mode.
  • 4. The low-energy radio device of claim 1, wherein the broadcast packet is a first broadcast packet and the communication channel is a first communication channel, the processor further configured for: receiving, in response to operating in the first mode with respect to other devices, a second broadcast packet broadcasted by a second communication device of the set of communication devices;establishing a second communication channel with the second communication device; andoperating simultaneously in the first mode and the second mode by: operating in the second mode with respect to the first communication device and the second communication device; andoperating in the first mode with respect to remainder devices of the set of communication devices.
  • 5. The low-energy radio device of claim 4, wherein the processor is further configured to execute one or more instructions received from the second communication device via the second communication channel.
  • 6. The low-energy radio device of claim 1, wherein the processor is further configured to execute one or more instructions received from the first communication device via the communication channel.
  • 7. The low-energy radio device of claim 1, wherein the broadcast packet includes a group identification number and a passcode, and wherein the processor is further configured to establish a communication channel based on the group identification number and the passcode.
  • 8. The low-energy radio device of claim 7, wherein the communication channel is encrypted based on the group identification number and the passcode.
  • 9. The low-energy radio device of claim 1, further comprising a light-emitter, wherein the processor is further configured to execute an instruction received from the first communication device, and wherein the instruction is associated with control of operation of the light-emitter.
  • 10. A method, comprising: scanning predetermined radio frequencies via a transceiver communicatively coupled to a processor operating in a first mode;receiving via the transceiver, in response to operating in the first mode, a broadcast packet broadcasted by a first communication device of a set of communication devices;establishing a communication channel with the first communication device; andoperating the processor simultaneously in the first mode and a second mode by operating the processor in the second mode with respect to the first communication device and operating the processor in the first mode with respect to other devices of the set of communication devices.
  • 11. The method of claim 10, wherein the first mode is an observer mode.
  • 12. The method of claim 10, wherein the second mode is a peripheral mode.
  • 13. The method of claim 10, wherein the broadcast packet is a first broadcast packet and the communication channel is a first communication channel, the method further comprising: receiving, in response to operating the processor in the first mode with respect to other devices, a second broadcast packet broadcasted by a second communication device of the set of communication devices;establishing a second communication channel with the second communication device; andoperating the processor simultaneously in the first mode and the second mode by: operating the processor in the second mode with respect to the first communication device and the second communication device; andoperating the processor in the first mode with respect to remainder devices of the set of communication devices.
  • 14. The method of claim 13, further comprising: executing one or more instructions received from the first communication device via the first communication channel while the processor is operating in the second mode; andexecuting one or more instructions received from the second communication device via the second communication channel while the processor is operating in the second mode.
  • 15. The method of claim 10, wherein the broadcast packet includes a group identification number and a passcode, and wherein the establishing the communication channel further includes establishing the communication channel based on the group identification number and the passcode.
  • 16. The method of claim 10, wherein the processor is associated with a light-emitter, the method further comprising executing an instruction received from the first communication device while the processor is operating in the second mode, wherein the instruction is associated with control of operation of the light-emitter.
  • 17. A system, comprising: a set of communication devices including a first communication device and a second communication device; anda low-energy radio device, the low-energy radio device including a transceiver, and a processor communicatively coupled to the transceiver, the processor configured to operate in a first mode and a second mode by: operating in the first mode by scanning for, via the transceiver, predetermined radio frequencies;receiving, in response to operating in the first mode, a first broadcast packet broadcasted by the first communication device; andestablishing a first communication channel with the first communication device; andoperating simultaneously in the first mode and the second mode by operating in the second mode with respect to the first communication device and operating in the first mode with respect to the second communication device;receiving, in response to operating the processor in the first mode with respect to the second communication, a second broadcast packet broadcasted by a second communication device of the set of communication devices;establishing a second communication channel with the second communication device; andoperating the processor simultaneously in the first mode and the second mode by: operating the processor in the second mode with respect to the first communication device and the second communication device; andoperating the processor in the first mode with respect to remainder devices of the set of communication devices.
  • 18. The system of claim 17, wherein the first mode is an observer mode.
  • 19. The system of claim 17, wherein the second mode is a peripheral mode.
  • 20. The system of claim 17, wherein the low-energy radio device further includes a light-emitter communicably coupled to the processor.
  • 21. The system of claim 17, the processor further configured for: executing one or more instructions received from the first communication device via the first communication channel while the processor is operating in the second mode; andexecuting one or more instructions received from the second communication device via the second communication channel while the processor is operating in the second mode.
  • 22. The system of claim 17, wherein the first broadcast packet includes a first group identification number and a first passcode, and wherein the processor is configured to establish the first communication channel based on the first group identification number and the first passcode.
  • 23. The low-energy radio device of claim 22, wherein the second broadcast packet including a second group identification number and a second passcode, and wherein the processor is configured to establish the second communication channel based on the second group identification number and the second passcode.
  • 24. The low-energy radio device of claim 23, wherein the first communication channel is encrypted based on the first group identification number and a first passcode, and wherein the second communication channel is encrypted based on the second group identification number and a second passcode.
  • 25. The method of claim 17, wherein the low-energy radio device further includes a light-emitter communicably coupled to the processor, wherein the processor is further configured for executing an instruction received from the first communication device while the processor is operating in the second mode, and wherein the instruction is associated with control of operation of the light-emitter.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to and the benefit of U.S. Provisional Application No. 62/235,526, entitled “METHODS AND APPARATUSES FOR SIMULATANEOUSLY EXCHANGING MESSAGES BETWEEN A LOW-ENERGY RADIO DEVICE AND MULTIPLE CENTRAL DEVICES,” filed Sep. 30, 2015, the disclosure of which is incorporated herein by reference in its entirety. This application is also related to U.S. Provisional Application No. 62/235,467 entitled “SYSTEMS, DEVICES AND METHODS OF USING A CONDUCTIVE CASING FOR A BATTERY CONTACT”, filed on Sep. 30, 2015; to U.S. Provisional Application No. 62/235,469 entitled “SYSTEMS, DEVICES, AND METHODS OF MULTIPLEXED USE OF A CONDUCTIVE CASING”, filed on Sep. 30, 2015; and to U.S. Provisional Application No. 62/235,472 entitled “SYSTEMS, DEVICES AND METHODS OF DETECTION OF USER INPUT”, filed on Sep. 30, 2015

Provisional Applications (1)
Number Date Country
62235526 Sep 2015 US