Deployment of Intermediate-Range Devices using a Short-Range Mobile Device Patent Application (2024)

U.S. patent application number 15/725827 was filed with the patent office on 2019-04-11 for deployment of intermediate-range devices using a short-range mobile device.The applicant listed for this patent is Craig Boswell, David R. Hall, John Robinson. Invention is credited to Craig Boswell, David R. Hall, John Robinson.

Application Number20190109724 15/725827
Document ID /
Family ID65993503
Filed Date2019-04-11


View All Diagrams

United States PatentApplication20190109724
Kind CodeA1
Hall; David R. ; etal.April 11, 2019

Deployment of Intermediate-Range Devices using a Short-Range MobileDevice

Abstract

Disclosed herein are wireless devices operable at intermediatewireless at ranges of thousands of meters, utilizing packets thatinclude a preamble and a data payload. Devices may be such thingsas keypads, door latches, occupancy monitors, sprinkler controllersand other devices needing a communications link. Devices include anintermediate-range transceiver and a separate deployment wirelessinterface accessible from a mobile device such as a cellulartelephone or portable tablet. Devices can be registered in adatabase and deployed for use by means of an application running onthe mobile device. A scannable label bearing a code can be affixedto a wireless device providing a means of tracking, identifying andverifying a device through the deployment process. Detailedinformation on various example embodiments of the inventions areprovided in the Detailed Description below, and the inventions aredefined by the appended claims.

Inventors:Hall; David R.; (Provo,UT) ; Boswell; Craig; (Draper, UT) ; Robinson;John; (Spanish Fork, UT)
Applicant:
NameCityStateCountryType

Hall; David R.
Boswell; Craig
Robinson; John

Provo
Draper
Spanish Fork

UT
UT
UT

US
US
US
Family ID:65993503
Appl. No.:15/725827
Filed:October 5, 2017
Current U.S.Class:1/1
Current CPCClass:H04W 4/80 20180201; G06K7/1417 20130101; G08C 2200/00 20130101; G06K 7/10861 20130101; H04W4/20 20130101; G08C 17/02 20130101; H04L 2012/2841 20130101; G08C2201/30 20130101; H04L 12/2807 20130101
InternationalClass:H04L 12/28 20060101H04L012/28; H04W 4/00 20060101 H04W004/00; G08C 17/02 20060101G08C017/02; H04W 4/20 20060101 H04W004/20

Claims

1. A system of deployment for intermediate-range wirelesscommunications devices using a mobile device, said system utilizingshort-range wireless communication to the mobile device, saidsystem comprising: a plurality of intermediate-range wirelessdevices, each of said intermediate-range wireless devicescomprising a transceiver functional for point-to-point wirelesscommunication at intermediate ranges, each of saidintermediate-range wireless devices further comprising a deploymentwireless interface operable at short range, each of saidintermediate-range wireless devices further comprising amicrocontroller and a non-volatile memory storing a unitidentifier, each of said intermediate-range wireless devicesimplementing a control, sensing or communicative function; a mobiledevice comprising processor and a non-volatile memory, said mobiledevice further comprising a user interface whereby an operator canview and input information, said mobile device further comprising awireless interface operable to communicate with said deploymentwireless interface of said intermediate-range wireless devices,said mobile device further comprising a network interfacefunctional to access a server providing access to a databasecontaining intermediate-range wireless device entries, said mobiledevice further having mobile device application software installedto said non-volatile memory of said mobile device; and a serverproviding access to a database containing entries for each of saidplurality of intermediate-range wireless devices, each entryincluding a unit identifier; wherein said mobile device isconfigured to perform a deployment of said intermediate-rangewireless devices including the transference of communicationsparameters to individual intermediate-range wireless devices inaccordance with mating entries contained within the database.

2. The system according to claim 1, wherein said deploymentwireless interface is operable to communicate with said mobiledevice using a Bluetooth protocol.

3. The system according to claim 1, wherein each of saidintermediate-range wireless devices comprises an administrativeport.

4. The system according to claim 1, wherein each of saidintermediate-range wireless devices are functional to implement oneside of a Weigand bridge.

5. The system according to claim 1, wherein one of saidintermediate-range wireless devices is comprised of an applicationboard and a radio board.

6. The system according to claim 1, wherein the mobile applicationsoftware installed to said mobile device is configured to performthe steps of site registration and deployment.

7. The system according to claim 6, wherein the mobile applicationsoftware installed to said mobile device is further configured toperform the step of device registration.

8. A system of deployment for intermediate-range wirelesscommunications devices using a mobile device, said system utilizingshort-range wireless communication to the mobile device, saidsystem utilizing a server provided over the Internet providingaccess to a database containing entries corresponding to theintermediate-range wireless communications devices, said systemcomprising: a plurality of intermediate-range wireless devices,each of said intermediate-range wireless devices comprising atransceiver functional for point-to-point wireless communication atintermediate ranges, each of said intermediate-range wirelessdevices further comprising a deployment wireless interface operableat short range, each of said intermediate-range wireless devicesfurther comprising a microcontroller and a non-volatile memorystoring a unit identifier, each of said intermediate-range wirelessdevices implementing a control, sensing or communicative function,each of said intermediate-range wireless devices having affixedthereto a label containing a label code; and a mobile devicecomprising processor and a non-volatile memory, said mobile devicefurther comprising a user interface whereby an operator can viewand input information, said mobile device further comprising awireless interface operable to communicate with said deploymentwireless interface of said intermediate-range wireless devices,said mobile device further comprising a network interfacefunctional to access a server providing access to the server overthe Internet, said mobile device further having mobile deviceapplication software installed to said non-volatile memory of saidmobile device; wherein said mobile device is configured to performa deployment of said intermediate-range wireless devices includingthe transference of communications parameters to individualintermediate-range wireless devices in accordance with matingentries contained within the database.

9. The system according to claim 8, wherein said deploymentwireless interface is operable to communicate with said mobiledevice using a Bluetooth protocol.

10. The system according to claim 8, wherein the mobile applicationsoftware installed to said mobile device is configured to performthe steps of site registration and deployment.

11. The system according to claim 10, wherein the mobileapplication software installed to said mobile device is furtherconfigured to perform the step of device registration.

12. A wireless device, comprising: a transceiver functional forpoint-to-point wireless communication at intermediate ranges withanother of said devices; a deployment wireless interface operableto communicate with a mobile device at short range; amicrocontroller; a non-volatile memory on which is stored a unitidentifier; and wherein said wireless device implements at leastone of a control, sensing or communicative function; and whereinsaid wireless device is configured to communicate the unitidentifier stored in said non-volatile memory to a mobile devicethrough said deployment wireless interface; and wherein saidwireless device is configured to be deployed from a mobile devicethrough said deployment wireless interface, that deploymentincluding the transference of communications parameters sufficientto enable communication with another mated wireless device.

13. The wireless device of claim 12, wherein said deploymentwireless interface is operable to communicate with a mobile deviceusing a Bluetooth protocol.

14. The wireless device of claim 12, wherein said label bears a QRcode.

15. The wireless device of claim 12, further comprising indicatorlights, wherein said wireless device is configured to display stateinformation during the process of deployment.

16. The wireless device according to claim 12, wherein saidwireless device is functional to implement one side of a Weigandbridge.

17. The wireless device according to claim 12, wherein saidwireless device is comprised of an application board and a radioboard.

18. The wireless device of claim 12, further comprising a labelbearing a scannable label code visible from the exterior of saidwireless device.

19. The wireless device of claim 12, wherein said wireless deviceis configured to operate at a programmed operating frequency, bitrate, spreading factor, address, or frequency hopping sequence asdirected by transferred communications parameters.

20. The wireless device of claim 14, wherein the QR code isassociated with the unit identifier.

Description

BACKGROUND

[0001] In recent history, relatively inexpensive electronic deviceshave become available to ordinary property-owners that wish tomonitor and control various aspects of their properties. A recentconcept called the "Internet of Things" imagines home-relatedelectronic devices that can be reached through the Internet, bywhich an environment can be controlled, e.g. lighting, temperature,digital video recorders, and many other "smart" devices. That kindof device ordinarily requires a connection to a network switch orhub, which connection can be wired or wireless.

[0002] Wireless connections to such smart devices are oftendesired, particularly in existing constructions, avoiding thelaying of wires in existing walls and other structures.Technologies serving this purpose include low-wattage devices thatcommunicate using the 2.4 GHz 802.11b/g "WiFi" protocol, and othermore-recent and similar protocols such as Zigbee and Z-Wave. Theseprotocols generally permit data rates of 100 k bytes per second ormore, allowing for devices that transmit and forward audio andvideo data in substantial real-time. However with high data ratescome a vulnerability to interference from other devices operatingon the same radio bands, and accordingly devices using theseshort-range protocols are generally limited to service within asingle residence or building within a distance of less than 100meters.

[0003] Recent technologies have been developed that permitoperation to an intermediate range, communicating between pointsthat are several miles or more away, for example using the LoRaWANprotocol. In this type of network, interference reduction isachieved by using frequencies in the UHF band and by includingredundancies in communication, using for example multiple sampling,multiple frequency (spread-spectrum) techniques, and/orerror-tolerant protocols. The use of the UHF band avoidsinterference from over-the-horizon sources, while at the same timeavoiding some attenuation-of-signal from water-vapor,precipitation, buildings and other physical obstructions. Theseredundancies and protocols necessarily reduce the data throughputsuch that audio and video data cannot be streamed in good qualityor in real-time.

[0004] An exemplary use of intermediate-range communication is inthe recent deployment of wireless utility meters. Having a utilitymeter that can be read without a person traveling to and visuallylooking at it is a substantial cost savings for a utility. For sucha use a meter communicates two items of information, which are anidentifier for the meter and the meter reading itself; the utilitytakes a pair of such items and generates a bill for a utilitysubscriber. Because utility bills are ordinarily generated once permonth, the amount of data from a single meter is usually on theorder of a few tens of bytes in that period. Thus tens or evenhundreds of thousands of meters can share a singleintermediate-range channel, largely without interference from otherdevices.

[0005] The unsuitability of existing systems at intermediate rangesfor large numbers of devices, for example in theInternet-Of-Things, is an unsolved problem. Turning now to FIG. 2,two proximal short-range networks are conceptually shown, such asthose constructed from devices communicating through the 802.11gprotocol, for example using the Zigbee specification. In theexample two property owners each operate a hub "H" servicingmultiple devices "D", and as shown in the figure the circumferenceof effective communication 10 of each hub is proximal so as tocreate a zone of interference 11. Communication with the devices inthat zone can be affected by communications with a non-subscribinghub, so as to introduce possible packet transmission collisions andinterference. However, because these networks are short-range, thezone of interference 11 is relatively small, and the frequency ofcollisions and interference is likewise negligible. Proximaloperators of such networks can experience impacts, but because ofthe short-range and the short transmission time of packets, theseimpacts are minor and usually acceptable.

[0006] In contrast and as shown in FIG. 3, three intermediate-rangenetworks are located in similar proximity, each with a hub "H" andsubscribing devices "D". Because of the greater distance ofcommunication provided, most devices "D" are located in zones ofinterference 11, and many devices may be located in regions 12where several hubs are located within range. Thus whereintermediate-range networks are to be used, most communicationbetween hubs and devices and also inter-device communicationsshould be expected to take place under conditions of interference,especially when located within a city or other populated area.Utility meter reading and other existing installations using theLoRa or LoRaWAN protocols manage this congestion by being the onlynetwork in the radio locality on a particular frequency, and byinfrequent packet transmission on the order of once per week ormonth such that collisions between devices aren't likely. Utilitymeters are configured and installed by the utility provider, whocan limit the number of end-devices within a locality to ensurenetwork reliability. Because the provider is the only consumer ofthe applicable bandwidth resources, it can effectively controlinterference and manage congestion.

[0007] Unavailable on the consumer market today are hubs andend-devices that can operate at intermediate ranges. Theshort-range "WiFi" 802.11b/g network is now so popular that in mosturban areas there is a router within communicative range no matterwhere a person finds himself; most households using the Internetnow have one, purchased from a retailer. If the range of thoserouters and the devices they service were to be extended to anintermediate range, the result would be a collapse of systemfunctionality from overwhelming interference. Thus, in order tobring intermediate-range devices to the ordinary consumer, furtherdevelopment is needed.

[0008] The existing intermediate-range techniques, however, aren'tconducive for applications where interactivity is need. For achannel sharing thousands of meters, it isn't necessary to resolvecollisions between devices in a matter of milliseconds, becausedata transmissions can be delayed without significant impacts. Inanother example, an irrigation controller will ordinarily keep aset of sprinklers on for minutes at a time, and a delay of multipleseconds or even minutes is tolerable. In contrast, a personactivating a light switch, for example, will not accept activationof lights with perhaps more than a one-second delay. Where a personenters a code on a keypad to enter a building, he expects acontrolled lock to deactivate in real-time. In general, theexisting intermediate-range technologies are fault-susceptible andnot reliable for such interactivity, particularly where multipledevices share a common communications frequency or channel.

[0009] Interactivity issues for battery-powered devices can be evenworse. For these devices, it is generally undesirable to keep areceiver continuously powered, and worse to repeatedly beingawakened from a sleep mode to process and discriminate packetsdestined for other devices. The LoRaWAN Class A and B protocolsaddress this by having end-devices turn off their receivers forlong periods of time, waking up periodically to interact with anetwork gateway. Such a device may remain asleep for seconds,minutes or even hours, and thus cannot be made responsive toincoming queries. Furthermore, these protocols are susceptible tocollisions from co-transmitting devices, which may require backingoff interactions with a hub, and no time of reception can beguaranteed. Thus absent from the field of the invention is a systemthat can provide adequate and reliable service for groups of sensedand controlled remote devices at intermediate ranges.

BRIEF SUMMARY

[0010] Disclosed herein are wireless devices operable atintermediate wireless at ranges of thousands of meters, utilizingpackets that include a preamble and a data payload. Devices may besuch things as keypads, door latches, occupancy monitors, sprinklercontrollers and other devices needing a communications link.Devices include an intermediate-range transceiver and a separatedeployment wireless interface accessible from a mobile device suchas a cellular telephone or portable tablet. Devices can beregistered in a database and deployed for use by means of anapplication running on the mobile device. A scannable label bearinga code can be affixed to a wireless device providing a means oftracking, identifying and verifying a device through the deploymentprocess. Detailed information on various example embodiments of theinventions are provided in the Detailed Description below, and theinventions are defined by the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] FIG. 1 depicts a network topology utilizing multipleend-devices and an interactive hub.

[0012] FIG. 2 depicts potential interference in two proximalshort-range wireless networks.

[0013] FIG. 3 depicts potential interference in three proximalintermediate-range wireless networks.

[0014] FIG. 4 shows an exemplary wireless data packet structurethat includes a preamble and a variable payload.

[0015] FIG. 5 illustrates an exemplary frequency-sequence tableusable in digital spread-spectrum communications between a hub andan end-device.

[0016] FIG. 6 depicts typical power states of an end-device throughthe course of reception of one kind of intermediate-range wirelesspacket.

[0017] FIG. 7 shows an exemplary set of discrete and orthogonalwireless channels for communication between a hub and a set ofend-devices.

[0018] FIG. 8 shows an exemplary circuit architecture suitable foran ordinary end-device.

[0019] FIG. 9 shows an exemplary circuit architecture suitable fora hub having one transmitter and a number of receivers forsimultaneous operation on differing channels.

[0020] FIG. 10 illustrates the operation of a wireless device onone side of a DSS communication link having a microcontroller and atransceiver.

[0021] FIG. 11 depicts a procession of packets including asynchronization directive of successive SIS channel switching.

[0022] FIG. 12 depicts a representative accumulated emissions on afrequency spectrum for a transmitter operating using a single DSSchannel and preamble-based packets.

[0023] FIG. 13 shows traversal of a microcontroller through anexemplary set of states using an spectrum-impact-smoothed channelset.

[0024] FIG. 14 depicts a sequence of packets streamed from a leftdevice to a right device including a first packet with a streamingdirective.

[0025] FIG. 15 depicts a time-slotted schedule of SIS channelsrelative to a point of synchronization in a first packet initiatinga stream.

[0026] FIG. 16 depicts an exemplary state machine of astream-receiving wireless device managing timer interrupts.

[0027] FIG. 17 depicts an exemplary state machine of astream-transmitting wireless device observing a time-slotted SISchannel schedule.

[0028] FIG. 18 depicts an exemplary state machine of astream-receiving wireless device managing packet-completioninterrupts.

[0029] FIG. 19 depicts the initialization of an exemplary statemachine of a stream-receiving wireless device observing atime-slotted SIS channel schedule.

[0030] FIG. 20a depicts components of an exemplaryintermediate-range wireless device having a dedicated wirelessdeployment port.

[0031] FIG. 20b depicts components of an exemplaryintermediate-range wireless device having a dedicated wirelessdeployment port and divided between an application and a wirelessboard.

[0032] FIG. 21 shows a process of deploying two intermediate-rangewireless devices using five stages.

[0033] FIG. 22 depicts an exemplary intermediate-range wirelessdevice that can be configured as one side of a Weigand bridge.

[0034] FIG. 23 depicts the circ*mstances of registering anintermediate-range wireless device using a mobile device.

[0035] FIG. 24a shows the steps of registration in the deploymentof an intermediate-range wireless device having a dedicateddeployment port using a mobile device that accesses a database overa separate network connection.

[0036] FIG. 24b shows the steps in final deployment by an installerof an intermediate-range wireless device having a dedicateddeployment port using a mobile device that accesses a database overa separate network connection.

DETAILED DESCRIPTION

[0037] Shown in FIG. 1 is an exemplary intermediate-range systememploying a hub-type topology. A hub 1 is placed within wirelessrange of end-devices 2a-n, communicating 3 over the airwaves at adistance of up to 10 km or more, depending upon environmentalconditions. In many cases, end-devices 2 are electronic devicesthat accept commands and transmit information to a controlling hub1. Included in hub 1 and each of end-devices 2a-n is a processor,software for performing the functions of the device, and an RFtransceiver. Hub 1 could be an ordinary personal computer with anRF adapter or card installed, or it might simply look like a boxwith an antenna and a port or interface permitting configuring andmonitoring; it is foreseen that a manufacturer would likely supplya hub 1 in a ready-to-use state such that an installer need notopen its case or install any software. In one configuration, hub 1is connectable to a personal computer 4, for example through a USBinterface, computer 4 having installed thereon software functionalto configure and monitor the hub 1. In another configuration, hub 1has a network port whereby communications may be had with network5. These communications may be through any conceivable type orprotocol. In one example a hub 1 sends messages through a TCP/IPsockets-based protocol to a proprietary server existing on thenetwork 5. In another example, hub 1 has software that permits itto be seen as an HTTP server from any device on network 5. Thus insome installations, hub 1 may be connected directly to andaccessible from the Internet, allowing for access from anyInternet-connected device. The antenna of hub 1 will typically beelevated and located in an obstruction-free locality to maximizesignal-strength with end-devices 2.

[0038] End-devices 2 are preferably manufactured in an unconfiguredstate, ready for pairing with a hub 1, each device having a uniqueidentity (UID) to discriminate it from others. Such end-devices 2can be of varying types, providing many kinds of control andsensing functions. In one example, an end-device has an infra-redmotion sensor built in, includes programming to record the time ofthe last motion event, and may also include programming to initiatea notification packet to a hub 1 upon a motion-sensing event. Inanother example, an end-device includes a keypad whereby a personcan enter a code, upon which a message is sent to hub 1 containinga sequence of keypresses. Such an end-device may be paired withanother device which activates and deactivates a door latch, by wayof messaging from hub 1, and the hub contains programming andconfiguration to read the keypad end-device and control the latchend-device as correct codes are entered. In a further example,several end-devices 2 are located throughout a building, sensingthe temperature at various locations. Another end-device 2 controlsa central-air system, providing heating and cooling to the buildingat the direction of hub 1 without human intervention based uponthermostat data forwarded through hub 1. The kinds of end-devices 2that can be employed are virtually limitless, so long as they areelectronic and provide either a control or a sensing function whilestaying within the available data throughput limitations.

[0039] Intermediate-Range Packets and Transferrence Basics.

[0040] Described herein are electronic devices that are functionalat intermediate ranges even in populated or congested areas,providing for simple installation by an ordinary home- orbusiness-owner, as will presently be described and shown. Thesedevices can be made reliable enough to use in failure-intolerantsituations, such as security systems, even where an RF spectrum iscongested. Remote devices can be made to operate on battery power,use low-power transmitters, and in many cases made to operatethrough the sending of a single bit per packet. Equipment can bemade to fit in a hand-held enclosure, e.g. with a smallomnidirectional antenna operating in the UHF frequency band. It issometimes the case that a low-data rate network device will bedesired to be placed in a location where power is available, butwhere neither network cabling nor a WiFi network is available. Thiskind of application is particularly suitable for intermediate-rangeequipment. One kind of intermediate-range technology is known as"LoRa", descriptions of which are publicly available from the LoRaAlliance of San Ramon, Calif., which maintains a website atwww.lora-alliance.org.

[0041] Shown in FIG. 4 is the structure of a simple data packetwhich may be used in communication between a hub and an end-device,a sub-type of which is used in the LoRa protocol. The structure hasthree parts, which are a preamble 20, a data payload 22, and anoptional address 21. Payload 22 is generic and can contain manykinds of data as desired, depending upon the functions provided byan end-device. Payload 22 will often contain a command or aresponse, for example a command to open a latch or a response thata power switch is presently in an "on" state. Address 21discriminates between devices operating on the same communicationschannel, and may not be needed where a single hub and end-devicepair are the sole devices operating on that channel. (A descriptionof what defines a channel appears below.) Preamble 20 is present toprovide synchronization for a radio-frequency receiver, at a hub oran end-device, at a programmed frequency such that the receivingdevice can decode the contents of the packet. A preamble ispreferably a fixed, identifiable and unnatural pattern that can berecognized by a simple state machine without starting ageneral-purpose processor. The packet structure of FIG. 4 can betransmit using many modulation techniques; LoRa devices usefrequency shift keying for interference immunity, although othermodulations can be used in accordance with the dictates of aparticular operating environment.

[0042] Packets can be transmit over a single carrier frequency, ifdesired, but because of benefits including resistance to noise andreduced impacts on particular parts of a frequency spectrum,spread-spectrum modulation has become popular. In this modulationtechnique, a sequence of frequencies is provided at a transmitterand a receiver; although in traditional encrypting systems thesequence might be generated by a pseudo-random generator with asecret seed and function parameters (which still can be used), fornoise resistance and spreading of Tx power all that is needed is asequence of frequencies uniformly spread over a given availableset. This can be accomplished by the inclusion of a table as shownin FIG. 5, containing a sequence of n frequencies. In the example,each frequency F.sub.x is indexed by a sequence number I.sub.n,such that the current operational frequency can be determined as afunction of time from a point of synchronization, for example theend 23 of the preamble of a packet as in FIG. 4. The arrangement offrequencies in a sequence may be incremental, random, or in anyorder desired, keeping in mind that use of each frequency an equalnumber of times will result in the desired uniformity.

[0043] The transmission of a packet using this modulation techniqueis as shown in FIG. 6, beginning with the preamble at a knowninitial frequency F.sub.0. The preamble is preferably not just asquare wave, but a pattern whereby synchronization point 23 can bepositively determined. The transmitter then sequences through thefrequencies at a known period, mirrored by the receiver. For noiseand interference immunity the sequence period is preferably muchshorter than the time needed for each bit or symbol, but longerperiods can be used to achieve a spreading of power across aspectrum. The sequence period should preferably be much shorterthan the time of preamble transmission, such that preambles areeasy to distinguish.

[0044] The power consumption of a transmitter is necessarily highduring packet transmission, most of the power likely being consumedby the Tx output stage circuitry. A receiver, on the other hand,can implement a power-conserving procedure. Referring again to FIG.6, the processor of a receiving device maintains itself in a stateof sleep 25 while processing and receiving activities aren'tunderway; this can be particularly important for certain kinds ofdevices, especially for end-devices reliant upon battery-power,such as those with solar cells. A receiving device has builtthereinto its receiving circuit an automated preamble recognizer;when recognition occurs a signal is sent to a processor to awakenand enter an active state of packet decoding 26. In the example ofFIG. 6 an address is used, and the receiving processor performsfunctions needed to determine if the address in the packet is forits device. If an address is decoded and the packet is determinedto be destined for another device, the processor can reset and goback to a sleeping state 25. For maximal power savings, therefore,an address is preferred to be toward the front of a packet, whereit will be transited across a channel first before a data body.Where an address is matched, or where an address isn't used, aprocessor enters states of receiving and processing incoming data27 and post-receipt processing 28 as needed. So in order to keepthe processor of a particular device in a non-active state, it isimportant to positively discriminate the receipt of preambles ofpackets directed to the device from the preambles of otherdevices.

[0045] Multi-Channel Intermediate-Range Implementations.

[0046] Existing intermediate-range networks use a common initialDSS frequency and/or channel for communications with devices inthat network. This method has the advantage of making setupextremely simple. By this method, other networks may use otherinitial frequencies or channels, thereby discriminating betweenmembers of their respective networks. As such networks change toinclude interactive devices or grow to large numbers of memberdevices, the possibility of congestion, collisions and interferencebecomes a greater concern.

[0047] Now turning to FIG. 8, a basic circuit is shown typical ofmany present intermediate-range network devices, which can supporteither single- or multiple-channel operation. The main parts ofthis circuit are a microcontroller 30 and an RF transceiver 32connected to an antenna 34 located in a position to provide clearcommunications to other devices. A transceiver 32 may beessentially some analog radio-frequency circuits combined with alogic state machine that permits automatic operation for all orpart of a packet transmission or reception. The use of transceiver32 may leave the microcontroller 30 with additional processingcapacity for such things as reading sensors, managing controlcircuits, etc., which may happen at the same time that packets aretransiting a communications channel. Communication between themicrocontroller and the transceiver is by way of data lines 39 andinterrupt lines 40, by which microcontroller 30 manages thefunctions of transceiver 32 and transfers packet informationreceived and to be sent. Transceiver has a packet buffer 45sufficient to store all or part of a single packet, read- andwrite-accessible through data lines 39. Data lines 39 can be variedaccording to need or capabilities of a transceiver used, whileinterrupt lines 40 signal to the microcontroller events such as thestart or completion of reception of an incoming packet. Weretransceiver 32 to be a Semtech SX127x (introduced below), forexample, data would be transferred by way of a single-bit wideserial bus using address locations to control registers and accessa packet buffer, and data lines 39 would include single lines forin, out, clock and sync. In that example, a packet completioninterrupt would be generated by a transition on the DIO0 line. Whentransceiver 32 is configured for operation on a channel orthogonalto those used by other end-devices, such interrupts would not occurwhen those end-devices communicate and microcontroller 30 would beleft free to sleep or engage in other processing activity.

[0048] Microcontroller 30 also contains a packet buffer 44, whichis typically larger than the transceiver buffer 45. As packets areto be transmitted, the microcontroller transfers them to thetransceiver by way of data lines 39, typically one at a time.Packets received are correspondingly transferred from buffer 45over the data lines and stored for processing in buffer 44. Apartfrom this packet data, setup commands are also sent bymicrocontroller 30 to program the transceiver for proper operationon a channel, once at initialization for single-channel operationand subsequently with or between packets where more than onechannel is used. Where microcontroller 30 has been programmed formulti-channel operation, each packet within buffer 44 may carrywith it a channel on which it is to be sent, or parametersthereof.

[0049] In an implementation using the Semtech SX127x and digitalspread-spectrum, microcontroller 43 also contains a frequency table43, as described above for FIG. 5. For that implementation, thetransceiver 32 has storage only for two frequency settings, whichare the one presently in use and the one to be used when it is timefor a hop to a new frequency. The transceiver generates interruptsto the microcontroller indicating it is ready to receive the newfrequency setting, which is subsequently sent over data lines 39before the frequency hop is to occur. An alternate configurationwould put frequency table 43 entirely on the transceiver 32, butfor this example a simplified transceiver is used that doesnot.

[0050] Where a transceiver 32 and microcontroller 30 pair isincorporated into an end-device, at least one of a sensor 36 or acontroller 38 will be included. Sensor 36 could be virtually anysensor, examples of which are a temperature probe, a keypad, alighting sensor, an entryway closure detector, a motion detector,and a camera. Controller 38 could control a latch, a power switch,a thermostat, a motor speed controller, and many other things.Sensor 36 and controller 38 are connected to microcontroller 30through data lines 41 and 42, which lines may be of any neededconfiguration, analog or digital. Where a transceiver 32 andmicrocontroller 30 pair is incorporated into a hub, sensor 36 andcontroller 38 may be omitted. Instead, a connection to a hostprocessor or network 48 would be included, permitting configurationof and interactions with end-devices at intermediate-range.

[0051] While functioning as an end-device, one microcontroller 30paired with one transceiver 32 are sufficient to operate in anordinary way. Transceiver 32 is capable of being configured for adesired channel and transmitting or receiving packets to and from ahub, though not at the same time. End-devices do not typically havea need to do both concurrently, so this is usually not an issue.However there are advantages to incorporating multiple transceiversin a hub, as will be presently explained.

[0052] FIG. 9 illustrates one configuration that may be used in ahub, providing multiple transceiver functionality. Here amicrocontroller 30 is connected to n transceivers 34a through 34nby way of an interrupt gate 50 and data bus 51. Included withindata bus 51 are sufficient multiplexing circuits to allow themicrocontroller 30 to individually address each transceiver. In theexample where the Semtech SX127x transceivers are used, this may bedone by dropping the NSS pin of the individual transceiver to beattended to. Interrupt gate 50 combines the interrupt signals ofeach of the transceivers such that any interrupt in the groupinterrupts the microcontroller, and code therein can identify theparticular transceiver flagging the interrupt and take appropriateaction. In the drawing gate 50 is an OR logic gate, which sufficeswhen all interrupt lines are low in a normal (non-interrupt) state;gate 50 could be AND logic gate if the reverse were true (linesnormally high with low signal indicating an interrupt), or gate 50could be a combination of logic circuits if needed. Now in practiceit may be there are a sufficient number of interrupt inputs andgeneral I/O pins on microcontroller 30 such that gate 50 and bus 51aren't needed, particularly where the number of transceivers n iskept small, allowing for the microcontroller to communicate usingparallel lines duplicating the setup and methods of FIG. 8.

[0053] The exemplary hub of FIG. 9 has the capability oftransmitting and receiving wirelessly with end-devices at the sametime, through antennas 34a and 34b. Antenna 34b is connected as aninput to each of transceivers 32b through 32n, allowing eachtransceiver to receive on a different channel as programmed fromthe microcontroller 30. Depending upon the type of transceiverused, each transceiver may be isolated through filters andamplifiers (not shown) such that the proper impedance at theoperational frequency range is preserved. Note that such a tying oftransceivers to a common antenna makes them ineffective forconcurrent operations in a transmitting mode; thereforemicrocontroller 30 would be configured to keep them inreceiving-mode only. In contrast antenna 34a and transceiver 32aare configured to transmit and receive, having no sharing ofantenna resources. Consideration should be given to shielding andto the distance between an antenna that may be used fortransmitting and others that may be used for reception, such thatpotential interference is avoided.

[0054] The example shown in FIG. 9 has the capability oftransmitting and receiving at the same time, with n-1 receiversmonitoring one channel each. Transceiver 32a can be transmittingwhile all of 32b-n are ready to receive packets as they may transitn-1 channels. Microcontroller 30 may use the transceiver capable offree transmit operation 32a to perform interactive communicationwith an end-device without channel reprogramming, alternatingbetween sending and receiving over the same channel. Alternatively,when using interactive communication with a particular end-device,microcontroller 30 may command transceiver 32a to switch todifferent channels as needed for transmissions to otherend-devices, allowing one of transceivers 32b-n to receive the nextpacket from the particular end-device. If this is done, it ispreferred that any transceivers configured to receive on the samechannel be turned off, so as to avoid the discarding of packetsproduced at the hub. Assuming interactions with an end-device aresymmetric in length, in theory the setup shown in FIG. 9 willsupport up to two concurrent interactive sessions with twoend-devices while at the same time monitoring n-2 otherlone-channel end-devices for alerting packets sent spontaneously,or more than that number of end-devices where such channels areshared (using the asynchronous mode described below, forexample.)

[0055] In practice, the constraints on the number of transceiversthat can be used will depend upon several factors. One of these isthe speed of data bus 51 against the efficiency of commandingtransceiver setup, and sending and receiving packet data. As mostof the transceivers of the setup of FIG. 9 are used to receive,this limitation would be experienced in two main ways. First, it ispossible to flood the system with incoming spontaneous packets suchthat they cannot be retrieved with sufficient speed across bus 51.The second way comes into play when single receivers 32 are eachused to monitor multiple channels, for example when the number ofmonitored channels exceeds n-1. The reprogramming of a transceiver32 across the bus 51 requires some time, and if that time exceedsthe packet preamble length, packets will fail to be received. Wheremore than two channels are monitored by a single transceiver 32,the dwell time on a channel (to detect whether a packettransmission is in progress by an end-device) may furtherexacerbate this problem.

[0056] Another limitation of the setup of FIG. 9 relates to the useof a single transmitter. For example, interactive communication canbe had with not more than two end-devices where that communicationis symmetric. Thus if an event occurs that requires a simultaneousresponse to multiple end-devices, some of those responses may bedelayed beyond a timeout period. This problem can be mitigatedthrough the addition of more transceiver/antenna pairs, if thoseantennas can be placed at a sufficient distance from the receivingones and if regulations allow. Note that although end-devices canbe constructed with multiple transceivers, as in FIG. 9, it isexpected that one transceiver will be sufficient for all but themost exceptional circ*mstances.

[0057] Wireless Channels, Orthogonality and CommunicationsPrinciples.

[0058] A wireless frequency spectrum can be segmented into definitechannels that reduce interference and avoid unnecessary receiverpower-up events on non-destination devices. Such channels arepreferably "orthogonal" to each other as well, meaning thatcommunication on one channel is very unlikely or practicallyimpossible to interfere with communication on another. In one ofthe simplest channel designation schemes, each channel is assigneda unique and available center frequency per channel, for example aswas done on the now-obsolete analog television spectrum. Aone-to-one relationship is made between transmitters andfrequencies in a radio locality, and all devices are to use onlytheir assigned spectrum and nothing outside. For example, the902-928 MHz ISM band could be divided into 52 500 kHz-widechannels, or 208 125 kHz-wide ones. Given that an intermediatenetwork supporting ordinary consumers might have a range of manykilometers and thousands of end-devices, that is considered aninsufficient number to avoid interference. Therefore furthermethods of discrimination are preferably used.

[0059] Introduced now are certain transceivers made for the LoRaprotocol, commercially available from Semtech Corporation, whichare identified as the SX127x product line. Note that there aretransceivers available from other manufacturers that are equallysuitable; these Semtech ones are used in this description merelyout of convenience as a basis for discussion. The SX127x productsare designed to be coupled to a microcontroller handlingcommunication channel configuration and packet management, and havesettings for a carrier frequency, signal bandwidth and the numberof "chips" per symbol (6 settings), a chip being the smallest datumused in communication. Each combination of those representssubstantially a unique channel orthogonal to others, potentiallypermitting collision-free communication where there is no more thanone transmitting device per channel. Using such combinations, twochannels may share a common carrier frequency or DSS carriersequence, while still maintaining orthogonality. Other settings canbe used to make additional channels having"partially-orthogonality" including an address, a bit rate, a CRCrate, an encoding type (Manchester/whitening/none), and othersaccording to the manufacturer specifications; note however that theuse of partially-orthogonal channels can result inprocessor-awakening events for packets destined for unintendedend-devices, although they can be greatly reduced.

[0060] Upon identification of a useful set of channel combinations,a table can be constructed as shown in FIG. 7, each channel havinga unique combination of settings useful for communication. In thisexample, each channel is assigned a spread-spectrum frequencysequence (FS), a spreading factor (SF), and a bit rate (BR) ofcommunication. In one configuration, available frequency sequencesare spread evenly over channel assignments, such that the preamblefor each channel is sparsely or uniquely used--that is a devicetransmitting a packet on an assigned channel would use the firstfrequency in the sequence while transmitting the preamble, followedby the use of other frequencies in sequence. Other channelcombinations can be varied in accordance with needs present, forexample a frequency sequence could be replaced with an operatingfrequency where spread-spectrum communication was not used.

[0061] Upon determining a set of channel combinations, assignmentscan be made for individual devices. Again some devices are tolerantof long latencies, and no special treatment of these is required.Other devices serve better being on a channel that is free orsubstantially free of conflicts. The assignment of a channel to ahub and an end-device requires a setting at both, and this could bemade by a manufacturer or its representative at the time ofinstallation.

[0062] Frequency Sequence Processions and Spectrum Impact SmoothedChannel Sets.

[0063] Where packets carrying a preamble such as that shown in FIG.6 are used, the impact to the frequency F.sub.0 in the usablespectrum is larger than the impact to other frequencies F.sub.athrough F.sub.0 generally. This effect is caused in large part bythe long time used in transmitting the preamble, during which timethe transmitter must remain on the same frequency F.sub.0 forsynchronization as compared to the other successive frequenciesused. The longer the preamble with respect to the packet, the moreexaggerated is this effect. Additionally, the frequencies at theend of the sequence toward F.sub.0 are used less frequently, due tothe end of packet usually occurring in the middle of the frequencysequence, which may be exaggerated by short packets. As seen overtime, if a frequency sequence is used continuously the impact onthe spectrum of usable frequencies will be as depicted in FIG. 12,with accumulated emissions over time ET focused on the preamblefrequency F.sub.0 and an uneven impact ramping down through thefrequency sequence.

[0064] This focused impact can be avoided through rotation ofchannels, each having a different frequency sequence and a uniqueF.sub.0 used in a preamble relative to the other channels used inthe rotation, hereinafter referred to as a spectrum-impact-smoothed(SIS) channel set. So looking back to FIG. 7, an SIS setmaintaining the same bit rate and spreading factor could befashioned from channels 0, 2, 4 and so forth, and another sequencecould be ordered 1, 3, 5, etc., provided that the channels in eachsequence included an F.sub.0 unique to the others in that sequence.Within the set of sequences, where each frequency used occupieseach sequential position no more than once through the channel set,the smoothing effect can be increased, although that is notnecessary. Using the representation of FIG. 5, if there are n=72frequencies usable in a DSS sequence, each would occupy theI.sub.0/F.sub.a position exactly once through all sequences to makean SIS channel set of 72 channels. Preferably, each frequency wouldalso occupy each I.sub.1/F.sub.b through I.sub.71/F.sub.0 positionexactly once as well to maximize the evening effect in thespectrum.

[0065] Frequency sequences can be generated and stored beforehand,or generated on the fly as needed. In a simple example, 72 adjacentordered frequencies are available for use, and a set of SISchannels are generated by choosing a unique starting preamblefrequency F.sub.0 having the same position in the order as thechannel number, each frequency in the sequence rising though theorder and wrapping around as needed. In another example, an orderis generated randomly, assigning one channel to each preamblefrequency. In yet another example, a simple calculation or apseudo-random number generator uses the channel number and thenumber in sequence to arrive at a frequency as needed. In theexample shown in FIG. 5, the frequency used for the preamble isleft unused for the remainder of a packet transmission, assistingin the equalization of frequency impacts where short packets arethe norm. That is not required; a preamble frequency F.sub.0 can berepeated, particularly where traversal through a sequence is alsorepeated where a packet is long.

[0066] As described above, the synchronization of frequency hoppingthrough a series of frequencies can be done through detection ofthe end of a preamble. Two sides of a communication link will alsoneed to be synchronized with respect to a channel, as traversalproceeds through an SIS set. That synchronization can be to anyevent shared between the sides, such as the traversal of a packetof a particular type or carrying a particular identity. In oneexample, a timeout period is used for synchronization: where apacket hasn't traversed the link for a specified period of time,both sides synchronize on the initial channel of an SIS set. Thismay also provide a fail-safe mechanism for dropped packets,allowing resynchronization in case of error.

[0067] In one implementation, two sides of a communications linkutilizing an SIS set switches channel following every packettraversing the link, without further direction or instruction. Thedevices on both sides of the link follow a set of rules, includingan order of traversal through the SIS channel set used. In onevariation, the channels are used in an incremental order using asimple index variable, proceeding through channel 0, channel 1,channel 2 and so forth with each packet, wrapping around back tozero when all channels have been used. In another variation, theorder of channels used follows a pattern stored in memory in atable or other structure. In yet another variation, a next channelis calculated using a pseudo-random formula using an incrementingindex or the index of the channel currently being used, retainingother communication parameters such as bit rate, spreading factor,etc. In yet another variation, a microcontroller performs acalculation to evaluate the emissions impact on frequencies usedsince the beginning of traversal through the SIS channel set, andthe next channel is selected to have a preamble frequency impactedless than the others since traversal began, thus maximizing theevening effect. A next SIS channel may generally be determinedusing a computation deterministic from information residing in thememory of both devices. In yet another variation, a next SISchannel is determined using a computation deterministic frominformation in a previously exchanged packet. The determination andof a next channel can have wide variation, as well as the timing ofprocession through a channel set, and what is important is thatboth devices in a communications link use cooperative rules anditerate through an SIS channel set in the same order.

[0068] FIG. 10 illustrates in further detail the operation of adevice on one side of a communications link using DSScommunication, the device including a transceiver 82 of a typeincluding the Semtech 127x transceiver in conjunction with amicrocontroller 81. Transceiver 82 includes a register FC for thecurrent frequency being used in transmission, a register FN for thenext frequency to be used, and a packet buffer PB containing thecontents of a packet being transmitted, as well as otherprogrammable registers used in setup and operation. To initiate apacket exchange, the microcontroller 81 identifies a frequencysequence of a channel 83 (which may be that of an SIS channel), andtransfers the first frequency value f.sub.0 and the next frequencyvalue f.sub.a to those registers on the transceiver as shown. Ifthe exchange is a transmission to the device on the other side ofthe link, all or part of the contents of a packet will also betransferred to the packet buffer on the transceiver 82. When theregisters on the transceiver 82 are loaded and communications setuphas been completed, the transceiver is commanded to initiatecommunication.

[0069] For both transmission and reception, as DSS communicationproceeds transceiver 82 frequency hops, moving the value of thenext frequency FN to the current frequency FC. Before the time ofthe succeeding hop, microcontroller 81 is interrupted, and asucceeding frequency value is transferred to FN from the identifiedfrequency sequence 83. Eventually the packet exchange willcomplete, and microcontroller 81 will be interrupted to do whateverpost-processing is needed, including a reading of the transceiver'spacket buffer PB if a packet was received.

[0070] As introduced above, synchronization of a traversal througha set of SIS channels may simply occur for each packet, channelswitches occurring therebetween. Another method of synchronizationis depicted in FIG. 11, wherein a "left" device synchronizes SISchannel switching with a "right" device over a wireless linkthrough information contained in transmitted packets. Proceedingdown the page, both devices are initially synchronized on channel00, the right device in a listening mode prepared to receive apacket. The left device transmits a packet 101 on channel 0. Packet101 includes a preamble, the address of the right device "RR", anda payload portion. Contained within that payload is a directive101a to change to channel 01. Following the exchange of packet 101,the right device transmits an acknowledgment 102 to the left deviceon channel 00, which serves as confirmation that the right devicewill listen for future packets on the new channel as directed.Following the exchange of packet 102, both the left and the rightdevices are synchronized on channel 01.

[0071] The left device may send another packet 103 containing adirective 103a to change to channel 2. This packet is not receivedby the right device, so no acknowledgment is returned and a timeout104 occurs. In such an event, the left device may resend 105 thepacket containing the same directive 103a, until that directive isreceived and acknowledged 106 by the right device. Should anacknowledgment packet not be received by the left device, bothdevices may timeout and revert back to a default channel. Ascontinuing to transmit the same packet would increase the impact onthe preamble frequency of the current channel in use, it ispreferable to limit the number of retries to a predeterminednumber.

[0072] It may be desirable to use the current SIS channel fortransmissions from both devices while communicating, so as toequalize the spectrum impacts of transmissions from both devices atthe same time, although that is not necessary. One device, such asthe right device in the example of FIG. 11, may utilize a separatechannel for acknowledgments or packets generally, or may even usean indepedent SIS channel selection for transmissions to anotherdevice on the other side of a link.

[0073] Depicted in FIG. 13 are the states of a state machinesuitable for implementation in a microcontroller utilizing an SISchannel set, in a configuration shown in FIG. 10. Afterinitialization or during normal operation, the microcontroller maydetermine that it is time 120 to send or receive a packet to orfrom the device at the other side of the communications link. Ifmore than one transceiver is available to use, then one of them maybe selected at this point. In this implementation, the next step isto determine a value next channel, which is to be the succeedingSIS channel used. Where the device receives a channel directive byway of packets, this determination may be omitted.

[0074] The transceiver is then programmed 124 with a currentfrequency FC and a next frequency FN for DSS frequency hopping, tobe done as in FIG. 6, coming from the current channel frequencysequence. This programming may be done through lookup in a table,or by computation, as desired. An index into the frequency sequenceis set 126 to FSI=2, pointing to the third frequency in thesequence.

[0075] The machine then must take some extra actions if the deviceis sending a packet 128. These actions are to build a packet in abuffer 130, in accordance with whatever protocols are used by thepresent and remote devices. If the present device is determiningthe next channel for the remote device, part of this built packetmay contain a directive to move to the next channel determinedearlier. The built packet is then copied to the transceiver 132,the state is set to transmitting 134, and a command is sent to thetransceiver to transmit the packet in its buffer 138. If the deviceis merely receiving packets 128, then the state can be set to that136 and the transceiver commanded to receive 140, having beenproperly configured with all necessary communicationsparameters.

[0076] Following the commanding of the transceiver, a sleepingstate 142 may be entered. Now it is to be understood that thisstate could shutdown the microcontroller entirely until somethingfurther happens, or this state could indicate that the processor isfree to manage other tasks. For example, a device implementing asensing function that reports only when prompted may sleep for longperiods of time, awakening only to manage long timeouts and othermaintenance functions. In another example, a device managingmultiple transceivers such as a hub may leave the state in sleepfor the present transceiver, turning to manage other transceiversor functions as needed. Regardless, for discussion purposes thestate machine may remain in a state of sleep until certain eventshappen.

[0077] While in sleep mode, interrupts 150 will be generated by thetransceiver. When they are, there are several state paths that canbe taken. If the next frequency register FN has been copied to thecurrent frequency register FC, it will be dry 152 and need to bereloaded. If that has occurred, the next frequency in the sequencewill be set 154, and the index incremented 156. If the indexexceeds the number of channels in an SIS sequence, it may be set to0 (the preamble frequency) or 1, avoiding re-use of the preamblefrequency. If the packet has been fully exchanged 158, the mainthread may be awakened 160 to exit the state of sleep. If theinterrupt occurred for some other cause, such as the expiration ofa timer or an alarm event, other processing 162 may occur inresponse. Interrupt processing will end 164, and themicrocontroller may return to a state of sleep or may proceed in anawakened state.

[0078] When awakened, the current channel will be rotated 144 withthe next channel determined earlier, and any post-processing neededmay be done 146. That post-processing may include retrieving anddecoding a packet if one was received by the transceiver, and mayfurther include the setting of a current channel, when directedfrom the device on the other side of a link.

[0079] To avoid timeouts that cause a reversion back to a defaultchannel, periodic packets may be sent at an interval less than thetimeout period, which packets may be simple "ping" packets.

[0080] The teachings regarding SIS channel sets can be applied totwo devices in a simple point-to-point fashion, or to multipledevices in varying interactions such as hubs and end-devices. Wherea hub is used, a frequency sequence index may be kept for multipledevices, such that spectrum impacts can be smoothed with respect toindividual of those devices.

[0081] SIS Channel Sequencing by Scheduled Transitions.

[0082] Where sufficient timing resources are available, theoverhead associated with channel directives and correspondingacknowledgments can be avoided, while still maintaining SIS channelsynchronization over time. Such timing resources are oftenavailable on a microcontroller 30, although they can be locatedelsewhere. One kind of timing resource is an interrupt-generatingtimer, which may be thought of as a count-down clock thatinterrupts the present processing occurring on a microcontrollerfor substantially instantaneous handling. Another timing resourceis a free-running counter, which is a counter automaticallyincremented on the passage of each period of resolution, which maybe thought of as a counter measuring the time of passage sincereset as measured in microseconds or some other period. Modernmicrocontrollers often have this kind of resource available throughregisters located at a pre-specified address, a read operationreading the count-up or count-down time of the resource and a writeoperation sometimes setting a time of alarm or interrupt. The useof these resources vary depending upon the microcontroller used,which may ordinarily be found in provided documentation.

[0083] Now turning to FIG. 14, a left and a right device are incommunicative proximity, each device capable of transmittingpackets to the other. The left device may transmit infrequently tothe right device, however in this example, the left devicesometimes has a need to transmit a stream of packets to the rightdevice at a higher rate, introducing the possibility of a focusedspectrum impact as described above. Where a left device is to use asequence of SIS channels, a packet 200 containing a streamingdirective SD may be transmitted to the right device. Here packetsof an ordinary format are used, here containing a preamble, andaddress of the intended destination device, and other informationsuch as a CRC, etc. Streaming directive SD may simply be a flagcontained in the payload that signals to the right device that anSIS sequence will be used in following packets. Alternatively,streaming directive SD may contain other information, such as theidentity of a sequence to be used, timing information, and otherinformation such as communication parameters. An acknowledgmentpacket 202 may be sent to the left device confirming receipt ofpacket 200, which practice may avoid a left device proceeding witha stream transmission not received due to a dropped packet 200.

[0084] Following either of a packet containing a streamingdirective 200 or acknowledgment 202, the left device may send asequence of packets 206, in a number defined by the protocol andoperation of the particular devices involved. For example, where ablock of data is to be sent immediately, the number of packets 206would generally be sufficient to transmit all of that data, up tothe capacity of the channel within the time needed to pass throughan SIS channel sequence. If the amount of data exceeds thatcapacity, additional groups of packets 200, 202 and 206 may betransmitted as needed. The left device and the right device haveconfigured thereto a point of synchronization 204 whereby bothdevices can determine the times of SIS channel succession withacceptable accuracy relative to the other. In this example, and asmay be used in the Semtech 127x transceivers, the point ofsynchronization 204 is the time of packet completion of the packet200, which may be through the generation of an interrupt to amicrocontroller.

[0085] Now turning to FIG. 15, the succession of SIS channelsoccurs at a regular interval P, beginning at the point ofsynchronization 204. This succession happens regardless of whetherpackets are transited or not, rather both devices observe thesuccession on a timed basis. Each packet is transmitted entirelyusing the SIS channel in effect at the start of that packet. So,for example, the transmission of the packet labeled LS.sub.1 isinitiated during the first channel period P while the SIS sequenceis in channel Ch.sub.1, and even though the packet transmissionextends into the next period, the transceivers of both devicesremain programmed for that channel. After a transiting packet hasbeen completed, the transceivers are permitted to be programmed fora succeeding channel. Although the example of FIG. 15 shows packetsto be a certain size relative to the channel period P, packets canbe shorter or longer in duration, such that it may be that severalpackets are transmitted during a period P, or one packettransmission spans two or more time periods, which will depend uponthe communications parameters used.

[0086] Within channel periods P, the exemplary method presentedherein includes two uncertainty periods 208 and 210, comingimmediately before and after the transition from one SIS channel tothe next in sequence. During these periods, the left device is notallowed to initiate a packet transmission. These periods ofuncertainty are used to avoid errors in communication due to onedevice being configured for one channel while the other device ison a different one. The period 208 is set sufficiently long tocover the time needed for the right device to detect apacket-in-progress, which may be the time needed to transit thenumber of symbols or bits in a preamble sequence with apredetermined accuracy. The period 210 is designed to besufficiently long so as to cover the time needed for either deviceto program a transceiver to a succeeding channel. Both periodsshould allow for additional time as needed for other events, suchas for the processing of interrupts. Additionally, the uncertaintyperiod 208 may vary depending upon the symbol rate used, which maydepend upon a spreading factor used. Alternatively, the period 208may be set for the slowest rate to be used, or the longest usefulduration. Periods 208 and 210 may also be combined into one, andcorresponding modifications made to state machines and methods suchas those described below.

[0087] Further in FIG. 15, the left device has two packets,LS.sub.2 and LS.sub.3 shown in dashed lines, ready for transmittalduring uncertainty periods 208 and 210. The left device may simplywait until the periods have uncertainty have passed, and then bothdevices will be synchronized again in their SIS channel. Because nodata is transmitted during such a waiting period, it is preferablethat the uncertainty periods be confined as short as possible.Furthermore, the duration of uncertainty periods should be set withsome allowance for such things as clock drift and short interruptprocedures at both sides, and may be set in practice against actualhardware in real-world conditions.

[0088] Skipping ahead in the drawings to FIG. 17, a state machineis shown which may be used in a left-sided device to stream data toa right-sided device utilizing an SIS channel sequence. For thesestates it is assumed that one transceiver is available for eachdevice, and for simplicity of explanation the assumption is madethat no other devices are communicated with. Where it is desiredthat a device will communicate with more than one other device, thestates shown may generally be duplicated for each pair.

[0089] Whenever a new packet has been assembled and is ready to betransmitted 230, a query is first made 232 as to whether thetransceiver is busy or open for use. It is possible that atransceiver will be engaged in the reception of a packet fromanother device, which can be difficult to anticipate, and it ispossible that a previous packet is being transmitted, from anearlier transiting or from another cause. When the transceiver isclear, it may be reserved for use or otherwise locked, buffersloaded with the contents of the assembled packet, and the firstfrequencies F.sub.0 and F.sub.1 of the current DSS sequence ofchannel CH loaded 234.

[0090] The method of the machine of FIG. 17 on the left andstream-producing side makes use of a free-running counter and twoboundary values FRB1 and FRB2. Referring back to FIG. 15, FRB1contains the value of the free-running counter upon entry ofuncertainty period 208 in the present period P, and FRB2 containsthe value of the free-running counter upon exit of uncertaintyperiod 210 in the next period P. The precise values of thefree-running counter and these boundary values will depend upon thehardware used, that is the frequency of incrementing, the use ofthe same number of bits in values, etc. The index of the currentSIS channel in sequence is maintained in CH, and for the machineshown simply iterates through the available channels.

[0091] Following a loading of the transceiver 234, a check 236 ismade for presence in uncertainty period 210, which is known by thecondition of the free-running counter being less than FRB2. Themachine remains in this state while this condition is true. It isto be recognized that the busy-waiting shown need not be employed,rather instructions to sleep for short periods, timers, idleinstructions and other means may be used to reduce powerconsumption where desired. From state 236 a test is made 238 forpresence in uncertainty period 208, known by the condition of thefree-running counter being greater than the FRB1 value. When notpresent in that period, the state machine proceeds to initiate atransmission 242 and the machine managing SRS channels on theleft/streaming side may exit 254.

[0092] Where the device remains in the uncertainty period 208, theleft side will need to move to the next SIS channel in sequence andwait out the expiration of uncertainty period 210. This occurs instate 240--here where the SIS channels are traversed sequentiallythe current channel CH is incremented. Having changed channels, theP value is added to the boundary values FRB1 and FRB2 to reflectthe new periods of uncertainty in the future. The specific value ofP is generally the number of counts or increments on thefree-running counter during the period P as shown in FIG. 15.

[0093] Once operations in state 240 are complete, the machine movesto one of two destinations. The left and right devices willeventually run out of SIS channels in the sequence; the value MaxCHis the final channel in that sequence. If the value of the currentchannel CH remains on a valid channel, the state machine returnsback to load the new channel parameters 234 and wait for theexpiration of the period bounded by FRB2 236. Otherwise, the valueof the current channel CH has exceeded MaxCH, and the machinedepicted in FIG. 17 resets to start a new SRS channel sequence.Using an alternative method, the devices may be allowed to use SISchannels more than once in a sequence, by either returning CH to 0or another previous value, or by a reduction function that returnsa channel identifier from a counter or index in sequence. In thosealternatives, an SIS sequence may be terminated by a limit on thenumber of channel switches, a limit on the time in a sequence, oran interval of communication inactivity among other things.

[0094] Where a reset is indicated, the machine of FIG. 17 proceeds244 to load the transceiver with the first frequencies F.sub.0 andF.sub.1 of the first channel, and optionally load the packet bufferand other communications parameters as needed. The packet buffermay be loaded to include a packet with a new sequence directive asin packet 200 in FIG. 14, which may be helpful to signal the rightdevice to initiate new timing. Transmission is then initiated 246.The values of FRB1 and FRB2 are reset to the new uncertainty periodboundaries at P-T.sub.su and R.sub.su, respectively, where T.sub.suis the interval of uncertainly period 208 and R.sub.su of period210 as measured by the free-running counter. As shown, the currentchannel CH is assigned to 1, although additional packets could betransmitted on the initial channel, if desired.

[0095] The machine then sleeps 250, pending the completion of thepacket transmission. The point of synchronization 204 used in themachine of FIG. 17 as shown is the same as that of FIGS. 14 and 15,that is the end of the packet containing a channel directive. Thatbeing the case, the free-running counter is started 252 and thestate sequence ends 254. It is to be understood that if implementedin a microcontroller, other processing tasks may be engaged duringthe time of sleep 250, but it is preferred that the microcontrollerbe immediately responsive to the event of packet transmissioncompletion, so the free-running counter is started substantiallywithout delay. Where a stream is first being initialized, the steps244 through 252 may be sequenced through substantially as shown.Also not shown are states and steps for processing anacknowledgment 202 in FIG. 14, and possibly retransmittal of an LSIpacket 200 and reinitiation of an SIS channel sequence where anacknowledgment is not received.

[0096] The left/streaming device may use a free-running counter asdescribed above. The right/receiving device presented herein usestimer interrupts and is more complex. The right-side deviceincludes a state that indicates whether it is in a state where anSIS channel streaming operation can be initiated, or whether one ispresently in progress. At various times, that initial state may beengaged through the process shown in FIG. 19. An event causes theright side to initialize streaming 256. The transceiver is firstset 257 to the first frequencies F.sub.0 and F.sub.1 on the initialchannel Ch.sub.0. The transceiver is then enabled to receive a newpacket, including programming to generate an interrupt on thecompletion of that new packet. The state variable is then set 258to indicate that a new reception of streamed packets on an SISchannel sequence is ready to initiate.

[0097] Continuing in FIG. 18, an interrupt will eventually occursignaling the completion of a packet 260. This interrupt may or maynot be a synchronization event, 204 as shown in FIGS. 14 and 15.The state variable is immediately examined 262 to identify whethera new SIS streaming sequence is ready to start. If yes, a countdowntimer is started with a period of P, the same P discussed above forthe left/streaming device in terms of timer counts. Theright/receiving device may then clear the interrupt produced by thepacket completion, and the packet decoded 266. If desired, a smallamount of time may be subtracted reflecting the expected processingbetween the completion of the packet and the starting of the timer.It is preferred that this processing be kept to a minimum so as notto introduce errors in the SIS channel synchronization between theleft and the right devices.

[0098] At the time state 268 is entered, a timer will have beenstarted either from the start of the latest packet or the last SISchannel transition (as will become clear shortly), and the packetgenerating the interrupt has been decoded and found to be valid. Atthis time the packet may be checked for a streaming directive. Ifthe packet contains one, the transceiver is initialized 270 withthe first frequencies F.sub.0 and F.sub.1 on the next channelCh.sub.1, the current channel CH is set to the same, and the statevariable is changed from "init" to "sequencing", avoiding therestarting of a timer at state 264. As discussed above, the movefrom channel 0 at this point is simply a design choice and is notnecessary. The received packet may then be processed normally272.

[0099] If at state 268 the received packet does not contain astream directive, the state variable is checked 274 whether theright device is in "init" or "streaming". If the state variable is"init", the right device remains in a readiness state for thestarting of a stream, and does not need a timer. The countdowntimer is stopped 276, which is the same timer that was started atstate 264. The received packet may then be processed normally272.

[0100] If at 274 the state is not "init", then a streamingoperation is in process, and the possibility exists that theprocessing from the packet reception to the present covered theexpiration of an earlier-set timer, perhaps masked by the packetcomplete interrupt. If the timer has not expired, then the regularinterrupt procedure (discussed shortly) will handle the nextexpiration and no further action is needed as to SIS channelmanagement, and the received packet may be processed 272. Where atimer has expired, and the state is "sequencing", a countdown timerneeds to be restarted 282. In one method, the passage through themachine from the interrupt 260 is assumed to be inconsequential,and the timer is set to countdown using the usual value P. Inanother method, compensation is made for delays in the restartingof the timer. If the timer continues to count after expiration,that value can be subtracted from P when it is reset. Where a timerstops upon expiration, a free-running counter can be used to detectthe amount of delay and any amount in compensation to be applied,by subtracting the value of the free-running counter at the time oftimer reset and the present time.

[0101] Having noticed the expiration of the timer, the present SISchannel is incremented 284. If the current channel exceeds MaxCH,the SIS channel sequence has ended. In that event 286, thecountdown timer is stopped, the current channel CH is set to zero,and the state variable is returned to "init". Either way, thetransceiver 278 is set to receive incoming packets on the currentchannel CH, and the content of the incoming packet is processed272.

[0102] FIG. 16 depicts a state machine concerned with managing SISchannel sequencer timer interrupt events. Upon receiving a timerinterrupt 212, the first step 214 is to restart the countdown timerto expire at the period P and to clear the interrupt for furtherpossible processing. If a check 216 against the state variableshows the right device is not presently sequencing, the interruptprocessor waits for the transceiver to clear any busy condition218, and then proceeds 224 to stop the countdown timer, set thecurrent channel CH to 0, the state value returned to "init", setthe transceiver to receive packets on the initial channel, andenable interrupts on packet completion. This path through themachine may be expected not to occur unless timer events aregenerated on some other mechanism other than the SIS channelsequencer. The steps listed in state 224 operate to reset thechannel sequence generally.

[0103] If at check 216 the state is found to be sequencing, thecurrent channel CH is incremented. Next, if the current channel CHhas exceeded the MaxCH value, the sequence has run its course andthe machine resets branches through states 218 and 224 as describedabove. Otherwise, the machine waits 222 for the transceiver toclear any busy condition, and then sets the transceiver 228 toreceive a packet on the current channel CH.

[0104] It is to be understood that the methods using free-runningcounters and timers described above can be applied to either aleft/streaming or a right/receiving device, and that theimplementation observing SIS channel switching based upon regulartimes can be varied from the examples presented herein according tothe knowledge of a person of ordinary skill in the art.

[0105] Deployment of End-Devices Using a Dedicated Short-RangeCommunications Port

[0106] Now shown in FIG. 20a is an exemplary wireless device 60deployable at intermediate ranges, that when combined with anothermay serve in a control or sensing function. Device 60 includes amicrocontroller 61 in combination with non-volatile memory 62 intowhich settings may be stored. This exemplary device 60 includesthree wired interfaces implementing the functions of the device,which ports are a control interface 63, a sensing interface 64, anda communications interface 65. Control interface 63 may include anumber of lines, digital or analog, as needed to control a separatedevice. In one example implementing a control for a door latch or ablower fan, control interface 63 is a single digital line pulled upor down for a relay or a magnetic switch. In another example,control interface 63 outputs an analog voltage to control the speedof a motor or the intensity of a lamp. In another example, controlinterface 63 outputs a variable current controlling the power of aheating element. In a further example, control interface 63includes several lines to control several devices or severaloperational functions of a single or group of devices.

[0107] Sensing interface 64 implements an input to device 60,inputting information that may be processed or transmitted toanother device. In one example, sensing interface 64 is a set ofdigital ports connectable to the lines of a keypad matrix. Inanother example, sensing interface 64 is a voltage inputconnectable to a thermistor circuit. In a further example, sensinginterface 64 is a set of ports each connectable to a differentsensor, those sensors being either identical or of differing kinds.Communication interface 65 may be used to connect device 60 toanother device or service, which may include a sensing or controlfunction there, which interface is ordinarily wired. Note that itis only necessary to include one of these functional interfaces toimplement a remote control or sensing function, and also that theseinterfaces may be duplicated in a single device to implementseveral sensing or control functions as desired. Further, theseinterfaces may be varied from the examples above to suit aparticular application or need.

[0108] Exemplary device 60 also includes three communication ports,implemented as an intermediate-range transceiver 66, a wirelessdeployment port 67, and a wired administrative port 68, all ofwhich may be covered or otherwise hidden in the final product formof the device. The administrative port 68 provides a means ofprogramming and interacting with the microcontroller 61, and ispresent for the manufacturing process of device 60 and otherwisebringing the device into a state whereby it may be deployed by aninstaller. Administrative port 68 ordinarily provides a wired meansof writing firmware to the device 60 and to perform functionaltesting at the time of manufacture, although port 68 can be omittedif microcontroller 61 is programmed in some other way. Transceiver66 implements the intermediate-range wireless communicationdescribed above.

[0109] Deployment port 67 is a wireless communications portseparate from transceiver 66 used for the deployment process, aswill shortly be described. While transceiver 66 communicates at anintermediate-range distance, deployment port 67 operates with ashorter range, which is that needed for an installer to conduct thedeployment procedure. In one example, deployment port 67 isimplemented with a point-to-point Bluetooth transceiver at a rangeof about 10 meters or less. Deployment port may use otherprotocols, including but not limited to Near Field Communication,sonic or even optical communication. As there may be multipledevices being deployed at the same time within intermediate-range,there can be interference and confusion during the deploymentprocess where an intermediate-range transceiver is used. Thereforethe exemplary device uses a deployment port 67 that ordinarilylimits the range of communication between a device used indeployment and a device being deployed to that convenient to thephysical area used by an installer. A device may include otherelements providing desired functions, including for example adisplay, indicators, input switches or a speaker.

[0110] Shown in FIG. 20b is an alternative configuration of adevice employing the same functionality as 60, however this deviceis composed of an application board 60a and a radio board 60r,joined by an interface 70 through interface ports 69a and 69r. Inone embodiment, ports 69a and 69r are comprised of a plug and asocket, which when connected form a unitary body that is theequivalent of device 60. Each board includes a microcontroller 61aand 61r, its own non volatile memory 62a and 62r, andadministrative port 68a and 68r. Interfaces 63-65 appear on theapplication board, and ports 66 and 67 are included in the radioboard. Where a generic protocol is provided for interface 70, anapplication board 60a may be interchanged with one of a differentkind, providing a different control or sensing function incombination with a single radio board 60r. In this way a singlekind of radio board 60r may be manufactured in a line of controland sensing devices, the functionality of each in the linedepending upon which kind of application board 60a matedthereto.

[0111] Now devices exist that implement a sensing or controlfunction at wired or short-range distances; the devices discussedhere generally do so by a wireless link at intermediate-rangedistances. To achieve that, two devices 60 or their counterpartsare deployed in a way that they communicate with each otherwirelessly and send information across that link appropriate to thecontrol and sensing functions that are implemented. FIG. 21displays a typical process of implementing that from manufacturingto use, now described in further detail.

[0112] The first step in the process of implementation is tomanufacture the devices, which may entail attaching or soldering anumber of electronic components onto a printed circuit board. Apart of this process is to place programming into the device topermit it to function appropriately, and also to place a uniqueunit identifier ("UID") into the non-volatile memory of the deviceso that the device may be individually tracked and maintained.Where there is more than one board in the device, such as in theconfiguration of 20b, more than one UID may be used, which mightfor example be an application board UID, a radio board UID, and adevice UID. Ordinarily the device will undergo a functional test toverify the absence of non-correctable problems, and an entry willbe made to record that in a database using one or more of the UIDs.The device may optionally be labeled with its UID or a codecorresponding to its UID, to enable it to be identified throughvisual examination without the use of a probe. The device is thenconsidered to be shippable to another party as a properlyfunctioning product.

[0113] The second step in the process of implementation that may beundertaken is that of registration. This step is generally providedwhere the entity that provides a device is different from theentity that manufactures it, providing for the tracking of devicesand a point of registration and administration for a customer orinstaller. Upon receipt of a device, a provider of that devicecreates a record for it using the device's UID, which may authorizeit for use or sale. Where the manufacturer provides a device to acustomer directly, registration may be performed at the time ofmanufacture and this step may be omitted.

[0114] Continuing in FIG. 21, the third step of implementation isto register a device at the site of installation. This is mostconveniently done at the time a device is physically installedon-site, but may be done earlier if desired. This registration willinclude a record of the other devices a registered device is tocommunicate with using a transceiver 66, which record is preferablymade to a database maintained by the device provider over theInternet. That database may be the same one used in step 2, whichdatabase may be accessed by the provider, the installer and themaintainer of the device as desired. A part of the implementationof a device to installation may be the creation of a record of thepurchase or other use by a customer of a particular device, e.g. arecord stating that a device was acquired for the use of aparticular customer for use in a particular way. For example, if adevice were a keypad to be positioned at an entryway, the recordmight include the UID of the keypad, a notation that it had beenauthorized for use by a purchaser, and a notation that it would becommunicating with a central controller located inside a buildingat a particular place.

[0115] The fourth step of implementation is to deploy the device inan installation. This will generally involve wiring the device inits installed state, that is to a source of power and a control ora sensing mechanism, where that is not included in the deviceitself. Devices operating at intermediate ranges will alsogenerally require the configuring of communications parameters,that is the particular channels, frequencies, bit rates, spreadingfactors, addresses, frequency sequence tables and other items thatpermit communication orthogonal to other devices operating in thesame area, as explained above. Further involved in this step willbe device configuration for operation, such as particular accesscodes, digital certificates, encryption keys, control or sensingparameters and other items needed to enable operation of theparticular devices that are being installed. As a part of thisfourth step, it is preferred that the particular condition of adevice as installed be recorded in a database, such as the databaseused in the second or third steps, providing information to atroubleshooter in the event of a functional issue. Once deploymenthas been made, the device will be ready for use.

[0116] In this exemplary method of implementation, it is preferredthat the first step be performed using the administrative interface68 at the time a device is programmed. The second through fourthsteps may be performed through an administrative interface 68, butit is preferred that the deployment interface 67 is used avoidingthe need for a specialized probe or attachment. It is especiallypreferred that the deployment interface 67 be implemented using awireless connection conforming to the Bluetooth protocol,permitting those steps to be performed using an ordinary mobiledevice including that functionality. Of course whereintermediate-range wireless communications are used, the ordinaryoperation of a device will be conducted through transceiver 66after deployment, leaving interfaces 67 and 68 available asneeded.

[0117] Now turning to FIG. 22, the front face of a cover of anexemplary intermediate-range wireless device 72 is shown, of theform shown in and described for FIG. 20b. This device operates asone side of a Wiegand bridge, that is an intermediate-rangewireless link that bridges a wired connection conforming to theWiegand protocol common in access control equipment, such thatwires are not required to be run the full distance between theWiegand-conforming access control devices. The cover is dividedbetween two halves, a first half 73 housing a radio board 60r and asecond half 74 housing an application board. An antenna 75 isformed into the radio board 73, appearing externally to the cover.Indicator lights 76 are provided which show various aspects ofoperation, here including transmit, receive, strength of signal toa device on the other side of a wireless link, and a power supplyconnection. Terminal blocks 77 are provided to which a wiredconnection can be made to an ordinary Wiegand-conforming devicesuch as a card reader. An identifying label 78 provides a visualUID on the cover, here in the form of a scannable QR code. Lookingback to FIG. 20b, exemplary device 72 implements communication port65 and omits control and sensing ports 63 and 64. In essence, thecabling between two ordinary Wiegand devices may be cut, a pair ofwireless devices 72 being inserted at the cut, and when properlydeployed the wireless devices replace the wired connection betweenthe Wiegand devices.

[0118] Now discussed in further detail, an intermediate-rangewireless device having a separate deployment interface may bedeployed using an ordinary mobile device, for example a cellulartelephone or a tablet, over a Bluetooth connection. This kind ofdeployment may be conducted substantially on a tabletop, as shownin FIG. 23, through a mobile application installed to such a mobiledevice. That mobile application displays instructions and status toa person making a deployment, and transfers information betweendeploying devices and servers and/or databases as will presently bediscussed.

[0119] Now turning to FIG. 24a, the second step in the procedure ofimplementation discussed above is that of registration 310. It isto be recognized that this can be accomplished through the use ofan administrative port 68, but for this implementation this stepwill be accomplished by means of a mobile device 302. Access todatabase 304 from mobile device 302 may be by way of an 802.11b orn "WiFi" point over the Internet, by a cellular carrier data plan,or by another network link as desired. First, a user starts amobile application specially adapted for the registrationprocedure, and at some point before accessing the database 304 hewill log in or otherwise authenticate himself. Database 304 and aserver by which it can be accessed may be configured in numerousways, but in essence it provides the means to retain and returninformation specific to individual devices 300. A connection isinitially made 312 to a device 300 being registered through thedeployment interface 67. The Bluetooth communication standardprovides a convenient deployment interface, because it is includedin most modern mobile devices and is relatively inexpensive toinclude in a device 300. When using that standard, connections areordinarily made through the process of "pairing" as follows. First,the person registering a device 300 will apply power, and activatea switch or other input to place the device into discovery mode. Ascreen or indicator lights may be included with the device toinform the person as to the state of the device. The mobileapplication will search for devices of the kind being deployed, andwill pair with one device 300 found in the radio vicinity. Thispairing will be maintained until the registration is complete, uponwhich the application will release the device into a normaloperational mode. Connections made in site registration, deploymentand otherwise in the course of implementation using the deploymentport may be practically the same. Although the exemplary deploymentinterface is one of Bluetooth, others can be substituted such asNear Field Communication, recognizing that a short-range interfacewill avoid interference from other devices at intermediate rangesfrom a mobile device 302.

[0120] Upon connection 312, a unit identifier (UID) of the device300 will be provided 314 to the mobile application 302, which maybe performed by a request from that application over the deploymentport. The UID may be for the deploying device 300, or for one ormore of its boards or other components. It is best if a UID isunique to each device 300 manufactured. In some embodiments, theUID is associated with a label code or QR code affixed to a labelof each device 300. In one example, the mobile application 302 mayobtain the UID of a device 300 by scanning the QR code affixed tothe label of the device 300 and accessing a database 304. In somecases, this may allow for easy access to the UIDs (for easyregistration, for example) of lots of devices 300. Upon possessionof a UID, mobile device 302 then accesses 316 the database 304,which creates or verifies an entry 318 reflecting deviceregistration activity. That entry 318 may contain an access logincluding the identity of a person performing device registrationand other information. In the exemplary method, a label code "LC"is created or assigned for each UID stored in database 304, afterwhich a report 320 of the database entry is returned to the mobiledevice 302 confirming registration. Also in the exemplary method, alabel image containing the label code is provided to mobile device302 for printing and affixing 322 to the now-registered device. Alabel image may be in any convenient format, including JPEG or PDF.Label 78 in FIG. 22 is one example. In an alternate method, labelswith label codes are pre-printed and the operator of mobile device302 provides the label code of the label he is affixing to thedeploying device 300 with its UID, which is recorded in entry 318.Where that is done, the entering of a label code may be through ascanning operation by mobile device 302.

[0121] Upon the affixing of a label 322 bearing a label code and anentry 318 in the database 304 containing that label code and theUID of a device 300, a way of verification becomes availableagainst tampering. Should label 322 be affixed to another device300, that can be detected by a reference to database 304, whichwould contain an entry with a different combination of codes. It isalso preferable that the UID of a deploying device be concealedfrom a mobile device 302 operator, preserving evidence of tamperingshould it occur. The lack of an entry 318 for a UID or a label codemay indicate that an unauthorized device is attempting to be used,which might happen if a device were stolen, for example. Insucceeding operations using mobile device 302, discussed below, itis generally preferred to check the entry 318 for a label codeagainst the corresponding UID of a device on the making of aninitial connection, and raising a warning or error condition shoulda non-matching pair be encountered.

[0122] At the time of device registration 310, the device to bedeployed 300 may be exercised by hardware and software tests toensure that the device leaves the custody of the reseller orprovider in a normal, operable condition. The result of those testsmay be saved to a record 318 or a related one as desired.

[0123] Now proceeding further in FIG. 24a, site registration 330for a registered device may be undertaken. Whereas deviceregistration 310 might be typically performed at a reseller beforedevice 300 is enclosed in a box or other package, site registration330 will typically be performed at or near the site where thedevice is to be deployed for use. Each of the steps of deviceregistration 310, site registration 330 and deployment 360 (to bediscussed shortly) may be performed on different mobile devices 302or the even the same one as desired, and the application installedto a mobile device 302 need minimally only include that needed toperform the appropriate steps. Thus, a mobile application may bedistributed that permits all of the steps depicted in FIGS. 24a and24b to be performed, or alternatively a separate application may bereleased only to a reseller's staff for device registration 310,and a separate application provided to installers for the steps ofsite registration 330 and deployment 360, or even a separate mobileapplication for all three steps as desired.

[0124] In the exemplary site registration 330 depicted, the firststep is for the operator of the mobile device 302 to log in 332,thus establishing the identity of the operator in the siteregistration to be performed. It is preferred that the operator beknown and confirm his identity, so as to maintain a check againstunauthorized or improper registration. Deployment of devicestypically involves a setup of two or more devices in communicationand interaction with each other. A part of site registrationordinarily includes this setup, as directed by the installers ofthe devices 300. Thus a doorframe keypad device may be set up tointeract with a central controller operating a magnetic door latch,a motion sensor may report to a central logger, a fire sensor to analarm, etc. The steps in the box 334 are performed for each deviceto be deployed.

[0125] The one of those steps is to scan 336 the label 322 into themobile device 302, such that the mobile application can determinethe label code earlier applied. The mobile application connects 338with the device 300 in the way described above through thedeployment port, upon which a UID of the device is returned 340.The UID and label code retrieved and scanned are then submitted tothe database 304, upon which a log entry can be made noting theidentity of the operator against the particular device beingregistered on-site. The identity of the operator may indicate theidentity of the receiving entity, which may provide verificationthat a device reached its appropriate destination. In onealternative, a check is made of the operator's identity against thelabel code or a UID of the device, or both, and if the device isdetermined to be in unauthorized hands, site registration anddeployment is terminated.

[0126] Upon recognizing a device, portions of its configuration maybe set. In the example, this is done through a mating command 344that indicates which other device or devices the device underregistration is to have interaction. This interaction configurationmay include the specific addresses, identities and communicationparameters needed, which may include the specification of channels,frequency hopping tables, spreading factors, etc. as discussedabove. The mating command will ordinarily include a selection ofanother device relative to a first which can be made in severalways. In a first way, the procedure in the box 334 may be performedtwice, and the operator may press an on-screen button indicatingthat the last two devices are to be mated. In a second way, theoperator may be presented with a selection box of registereddevices scanned during the current application session. In a thirdway, the mobile device may request from the database 304 all or asubset of devices 300 registered by the operator or hisorganization, and the operator may select from the list that isreturned. Other methods of specifying the mating of devices may beemployed. A check may be made for compatibility of devices to bemated by the mobile application, a server or at another location atabout this time, or later if desired.

[0127] Note, however, that a device 300 need not be programmed atthis step. Rather, database 304 can be updated to include an entry346 of the identity of two devices, which may conveniently be twolabel codes which may be displayed to an operator or installer. Inan alternative, the entry 318 containing two for more deviceidentifications may be updated to include the identity of othermated devices. At the time of site registration, communicationsparameters may also be set and stored in record 346; an alternativeembodiment of the mobile application provides for a review ofcommunications parameters to verify the appropriateness of thosesettings. When a mating has been performed at the database 304 asrequested 344, a confirmation may be returned to the mobile device302 and displayed.

[0128] The exemplary deployment process suggests that devices to bedeployed 300 can be located to a single table or other location forthe site registration process 330, by the same operator/individualif desired. The final locations of devices being deployed 300 maybe diverse, in different locations of the same building, indifferent buildings or even at distances of kilometers. It may bedesired to have several individuals do the final deployment on agroup of devices, each having their own mobile device. Thedescription here may speak of steps in the deployment process beingperformed by a single mobile device, but that is for simplicity ofexplanation and is not required.

[0129] Now proceeding to FIG. 24b, deployment 360 of a device 300ordinarily begins with the physical installation 362 of the device.It is preferred that devices be made in a power-off safeconfiguration that renders any control mechanisms free of dangerousor unsecured hazards, not only for power-failure events, but alsoto protect the installers and persons at a site. A physicalinstallation ordinarily involves positioning a device in itsoperational position, and wiring power, antennas, and any busses orperipheral devices to be used. The installer may then use hismobile device 302 to log in 364 to the server and its database 304.It is preferred that this login procedure be authenticated, that isthe person being provided with personal means of proving hisidentity. In one example, this is by means of a password. Inanother example, this is by means of identity of the mobile device,which may be a cellular telephone having a specific telephonenumber. In another example, an installer authenticates by means offingerprints or face recognition. In another example, the installerreceives by email or other message temporary login credentialsvalid for a limited period of time. Where automatic confirmation ofpersonal identity is not needed, an installer may be permitted toenter a name, perhaps with a picture of a drivers license or otheridentification.

[0130] Following authentication 364 and in the exemplary deploymentprocedure, the installer performs a set of steps 366 for eachdevice being deployed. First, using the camera built into themobile device 302, the installer captures 368 an image of the label322 on the device 300. The mobile application may then extract thelabel code. The exemplary deployment procedure provides forpictures to be taken of the installation of device 300. As directedby the mobile application, the installer takes images 370 fromvarious perspectives and views of the device 300 as mounted and anycables or other attachments. The mobile application further gatherscirc*mstantial information 372, which may include a geophysicallocation and notes of the installer. Included in the exemplarysteps 366 is the making of a connection 374 between the mobiledevice 302 and the device being installed 300, using the deploymentport, which permits the UID(s) on the device to be read.

[0131] Any or all of the information gathered in operations 368-376may be provided 378 to the database 304, which may be incorporatedinto an entry for the device 318 earlier made. In one alternative,before an update is made to the entry 318, a check is made of thelabel ID and a UID of the device under deployment against theentry, and if the label code does not match that recorded for theUID retrieved 376, deployment is disallowed in the mobileapplication. It may be that a label bearing a code 322 willdeteriorate or fall off over time. In an alternative, a mobileapplication is permitted to proceed, printing a new label with anew code, with a notification to a manufacturer or reseller of theevent so appropriate action can be taken.

[0132] Assuming all is in order, the mobile device receives 380information 346 from the database, including the intermediate-rangecommunications parameters needed for the device being deployed tocommunicate with its mated device(s). That information is passedforward 382 to the deploying device over the deployment interface67. Other information may be passed forward, including but notlimited to authorization codes, security codes, and parametersneeded to enable the deploying device 300 to function, whichinformation may originate in the database 304, from the mobileapplication of the mobile device 302, or elsewhere as desired.

[0133] As part of the deployment process, various tests may becommanded 384. One of these tests is a functional test, the same orsimilar to that performed at manufacturing. Another of these testsis a communications test to verify the intermediate-rangecommunications link with a mated device using the transceiver 66 ofthe device; this test would ordinarily be performed on the lastdevice to be deployed in a mated set, so all devices were properlyconfigured for communication. Test results may be produced by thedevice 300, transmitted 386 to the mobile device 302 through thedeployment interface 67, and optionally a log entry made indatabase 304 containing those results, which may assist inconfirming the proper deployment of the device or introubleshooting activities.

[0134] In an alternative, during the times a mobile device is incommunication with a device 300, a firmware update procedure may beperformed. That procedure is typically performed by requesting fromthe device 300 a version number, a checksum or other identifyingcharacteristic, and if a newer firmware revision is available it isdownloaded to the device 300 from mobile device 302 over thedeployment interface.

[0135] Now although certain systems, products, components,functions and methods have been described above in detail forspecific applications, one of ordinary skill in the art willrecognize that these functions and methods are adaptable to othersystems and products. Likewise, although the described functionshave been described through the use of block and state diagrams,flowcharts, and software and hardware descriptions, one of ordinaryskill in the art will recognize that most of the functionsdescribed herein may be implemented in software or hardware. Statemachines described herein may likewise be implemented completely inlogic, as software executable on a general-purpose or embeddedprocessor, or as a mixture of both. Some of the descriptions hereinrefer to specific protocols and modulation types, which are onlyexemplary; other protocols and types may be substituted as desiredin accordance with the inventive concepts. More specifically, it isto be understood that although the accompanying description makesreference to the LoRa and LoRaWAN protocols and designs, theinventions described herein may be used in other kinds ofintermediate-range networks, RF bands and using other equipment.The exact configurations described herein need not be adhered to,but rather the diagrams and architectures described herein may bevaried according to the skill of one of ordinary skill in the art.Therefore, the inventions disclosed herein are to be fully embracedwithin the scope as defined in the claims. It is furthermoreunderstood that the summary description and the abstract areprovided merely for indexing and searching purposes, and do notlimit the inventions presented herein in any way.

* * * * *

References

Deployment of Intermediate-Range Devices using a Short-Range Mobile Device Patent Application (2024)
Top Articles
Latest Posts
Article information

Author: Geoffrey Lueilwitz

Last Updated:

Views: 6675

Rating: 5 / 5 (60 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Geoffrey Lueilwitz

Birthday: 1997-03-23

Address: 74183 Thomas Course, Port Micheal, OK 55446-1529

Phone: +13408645881558

Job: Global Representative

Hobby: Sailing, Vehicle restoration, Rowing, Ghost hunting, Scrapbooking, Rugby, Board sports

Introduction: My name is Geoffrey Lueilwitz, I am a zealous, encouraging, sparkling, enchanting, graceful, faithful, nice person who loves writing and wants to share my knowledge and understanding with you.