Abstract:
A stand-alone portable alarm update tool includes a memory interface for receiving a computer readable memory; a serial port for interconnection to a security alarm panel, by way of a complementary port; a processor; and processor readable memory in communication with the processor, storing software adapting the processor to upload and download configuration files from a removable memory received by the memory port, to the alarm panel, by way of the serial port. Conveniently, the tool may be packaged in a hand-held casing, and which may also house a battery. In this way, the tool may be readily transported by an installer, without being unnecessary heavy or bulky.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims benefits from U.S. Provisional Patent Application No. 61/040,851 filed Mar. 31, 2008, the contents of which are hereby incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to alarm systems, and more particularly to a device facilitating the updating of alarm panels. In particular, the invention relates to an alarm update tool that allows simple on-premises panel configuration and updating. 
     BACKGROUND OF THE INVENTION 
     Home and business alarms have become commonplace. Such alarms (often referred to as “security systems” or “alarm systems”) typically include several sensors used to monitor unauthorized entry and other conditions at monitored premises, such as fire, smoke, toxic gases, high/low temperature (e.g. freezing) or flooding, at a premises. In response to sensing an alarm condition, one or more of these sensors provides a signal to an alarm panel that in turn may sound and notify the occurrence of the alarm to occupants of the premises and remotely signal a monitoring station or other third party. Modern alarm panels typically include a processor, under software control. 
     Typically the occurrence of an alarm is signalled to a remote monitoring station that may then dispatch capable authorities to intervene at the premises. For example, in the case of sensing an unauthorized entry to the premises, the monitoring station may dispatch security personnel, typically in the form of private security guards or police officers. 
     In order for the alarm system to properly signal the monitoring center, the system must be properly installed and configured. Installation requires installing the central panel; placing sensors; ensuring the sensors and panel are provided with a source of power; connecting the central panel with a communications network; pairing the sensors to the panel; and programming the panel to place a communication to the monitoring center in the case of an alarm. 
     In view of the complexity of properly installing and configuring a typical alarm system, errors are often made. To facilitate configuration of such system, modern panels—themselves small computing devices—may be interconnected to an external computing device, such as a laptop computer, to allow setting of configuration variables, and the loading of software. Commercially available software, such as for example the DSC® DLS-2002 download software (the “DLS software”) is suitable for programming panels, storing configuration files, and uploading and downloading such files. 
     Likewise, configuration files in the form of updated software/firmware loads often need to be installed in order to keep the panel up to date, with the most recent software firmware loads that often include bug fixes, firmware updates, and the like. Again such software/firmware updates may be accomplished using an external computing device. 
     Unfortunately, transporting a computing device to an install premises is often cumbersome. Installers are often loath to transport the weight and bulk of a full-fledged computing device to an installation premises. 
     Accordingly there is a need for a portable, light weight configuration and installation tool. 
     SUMMARY OF THE INVENTION 
     Exemplary of an embodiment of the present invention, there is provided a stand-alone portable alarm update tool. The tool includes a memory interface for receiving a computer readable memory; a serial port for interconnection to a security alarm panel, by way of a complementary port; a processor; and processor readable memory in communication with the processor, storing software adapting the processor to upload and/or download configuration files from a removable memory received by the memory port, to the alarm panel, by way of the serial port. Conveniently, the tool may be packaged in a hand-held casing, and which may also house a battery. In this way, the tool may be readily transported by an installer, without being unnecessary heavy or bulky. 
     In accordance with an embodiment of the present invention, a method of updating configuration files of an alarm panel, includes: i) loading a configuration file into a removable computer readable memory; ii) connecting the removable computer readable memory to a memory port of a handheld portable alarm update tool, the handheld portable alarm update tool comprising a memory port for receiving the removable computer readable memory and a serial port for interconnection to a security alarm panel, by way of a complementary port; iii) interconnecting the handheld portable alarm update tool to a complementary port of the panel; iv) executing processor executable instructions on the processor of the handheld alarm update tool, causing the alarm update tool to upload the configuration file to the panel, by way of the serial port. 
     Other aspects and features of the present invention will become apparent to those of ordinary skill in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In the figures which illustrate by way of example only, embodiments of the present invention, 
         FIG. 1  is a simplified block diagram of an alarm update tool, as used, exemplary of an embodiment of the present invention; 
         FIG. 2A  is a schematic block diagram of the update tool of  FIG. 1 ; 
         FIG. 2B  is a perspective view of an exemplary update tool, exemplary of an embodiment of the present invention; 
         FIGS. 3A ,  3 B and  4 - 5  are flow diagrams illustrating the operation of software controlling the operation of the update tool of  FIGS. 1 and 2 ; and 
         FIGS. 6A and 6B  are flow diagrams illustrating the flow of data and messages in the update tool of FIGS. I and  2   
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  illustrates an alarm update tool  10  and removable memory  14 , exemplary of an embodiment of the present invention, interconnected with a conventional alarm panel  18 .  FIG. 2A  is a schematic block diagram of update tool  10 .  FIG. 2B  is a perspective view of alarm update tool  10 , in an exemplary housing. 
     As illustrated, alarm update tool  10  includes at least one communication port  12 , and an interface  16  for a removable memory  14 . Communication port  12  allows alarm update tool  10  to be interconnected with an alarm panel update interface—typically in the form of a complementary serial port of a conventional alarm panel  18 . Existing alarm panels, such as panel  18 , typically include a serial port. The port may be an RS 232 port, a PC-link port, or a similar serial port, Infrared Data Association (IrDA)-compatible port. For example, a PC-link port is a four pin serial port—of which two pins are grounded (pins  2 , 3 ) and one pin (pin  1 ) acts as a transmit pin, while the remaining pin (pin  4 ) acts as a receive pin at a conventional alarm panel—such as a DSC® 1832, 1864 or the like. To this end, communication port  12  may take the form of a standard 4 pin PC-link connector for interconnection with the PC-link connector of alarm panel  18 . 
     Removable memory  14  may take the form of a universal serial bus (“USB”) flash memory key, interconnected with an interface  16 , in the form of a memory port—specifically a USB port, forming part of alarm update tool  10 . USB ports as well as the communications protocol used to read and write from USB memory are well known. In alternate embodiments, memory  14  could take the form of a flash memory card, such as a compact flash memory card, secure digital memory card, memory stick, or the like. 
     A block diagram of update tool  10  is depicted in  FIG. 2A . An example physical embodiment of update tool  10  is depicted in  FIG. 2B . As illustrated, update tool  10  includes port  12  and interface  16 , in communication with a processor—in the form of programmable microcontroller  20 . In the depicted update tool  10 , programmable microcontroller  20  may be a microcontroller having an integrated USB interface  16 . For example, microcontroller  20  may be an Amtel, Microchip, NetChip Tecnology, Motorola, Philips, or similar microcontroller. For example, microcontroller  20  may be an AT91 CAP Microcontroller. Microcontroller  20  also includes a programmable serial interface, acting as communications port  12 . Microcontroller  20  may further include suitable processor readable memory  22 , allowing loading of software controlling overall operation of update tool  10 . Memory  22  maybe a combination of random access memory, read-only-memory, firmware memory, or the like. 
     Conveniently, serial port  12  may be a low voltage serial port, operating between 3 and 5 Volts, and possibly at the same voltage as microcontroller  20 . As such, the low voltage serial port may be directly interconnected with a serial port, operating at a similar low voltage on panel  18 . 
     Alarm update tool  10  further includes one or more visual indicator(s)  24 , in the form of LEDs, an LCD panel, or the like used to indicate status and operating mode, interconnected with microcontroller  20 . One or more switches  26 —in the form of a push button or the like—may further form part of update tool  10 , to provide a simple user interface to allow selection of operating mode of update tool  10 , and selection of files, as detailed below. Switch(es)  26  may also be interconnected with microcontroller  20 , allowing their state(s) to be sampled by microcontroller  20 . Both switch(es)  26  and visual indicator(s)  24  may be interconnected with a parallel input/output (PIO) port  28  of microcontroller  20 , as illustrated in  FIG. 2A . 
     As will become apparent, software in the form of microcontroller program instructions within memory  22  allows alarm update tool  10  to read from memory  14 , and provide data from removable memory  14  and provide the data in serialized form to port  12  to an interconnected alarm panel. As such, software within memory  22  may support a suitable file transfer protocol, and include instructions allowing update tool  10  to read and write files by way of port  12 , using the supported protocol. For example software within memory  22  may support the X-modem; Z-modem; Kermit file transfer protocol; the ASCII dump protocol; the PC-link port protocol or the like. As will become apparent, panel  18  also supports the protocol, and thus communication and file transfer between update tool  10  and panel  18  are possible. 
     Conveniently, alarm update tool  10  may be packaged in a relatively small casing  40  ( FIG. 2B ) that may be light and portable. Conveniently it may be hand-held. An example casing  40  may be formed of injection molded plastic and have dimensions smaller than about 10 cm×5 cm×3 cm. Update tool  10  may be housed within this casing  40 , along with a suitable power supply (not shown)—in the form of a battery or the like. Alternatively, update tool  10  may be powered from an external source of power, such as AC adapter (not shown), or possibly from panel  18 . 
     In operation, instructions within memory  22  allow update tool  10  to operate in one or more modes. Example modes include i) uploading configuration files stored in memory  14  to an alarm panel (such as panel  18 ); ii) downloading of existing configuration files from an alarm panel  18  into memory  14 ; and iii) uploading of alarm panel  18  configuration files in the form of firmware files in memory  14  to an interconnected panel  18 . 
     Files to be uploaded from memory  22  may be pre-loaded onto memory  22 , in a conventional manner. For example, a file may be loaded into memory  14  by interconnecting the USB memory stick or card to a laptop or other computing device (not shown) and transferring the file onto the memory. The file may be an alarm panel configuration file, and may have been prepared using a text editor, or other software tool (such as DLS-2002 or similar alarm management software). The file should have an appropriate filename. In the illustrated embodiment, configuration files name may take the form “DCmodeIno_version_no.con”, such as “DC1832_V — 1.con”. Firmware files name may take the form “DCmodeIno.bin”, such as “DC1832_V — 1.bin”. Once the files are loaded onto memory  14 , memory  14  may be interconnected with tool  10 , through interface  16 . 
     Port  12  is also interconnected with a panel (e.g. panel  18 ,  FIG. 1 ) to be updated, through the panel&#39;s PC-link, RS-232 or similar port. Once connected to alarm panel  18 , microcontroller instructions within memory  22  cause microcontroller  20  to operate as illustrated in  FIG. 3A ,  3 B,  4  and  5 . Corresponding message and data flow are depicted in  FIGS. 6 and 6B . 
     As illustrated in  FIG. 3A , upon being connected to a source of power, and optionally turned on, instructions within memory cause microcontroller  20  to execute a conventional power-up routine in block S 302 . In block S 304 , the file system of memory  14  is queried, and the directory structure of the file system is provided by memory  14  to microcontroller  20 . The filenames of stored files may be temporarily stored within memory  22 . 
     A particular mode of operation for update tool  10  may be selected through switch(es)  26 . Feedback of a selected mode may be provided through indicators  24 . For example, indicators  24  may include three LEDs, and one corresponding to each mode may be illuminated. 
     As such, in block S 306  microcontroller  20  queries the state of switch(es)  26 , and waits for these switches to assume a state to initiate operation in modes (i); (ii) and (iii). 
     In mode (i), device  10  assumes that memory  14  has been pre-loaded with with one or more files including alarm panel update data, in a conventional manner. As noted, the file should have an appropriate filename. In the illustrated embodiment, configuration files name may take the form “DCmodeIno_version_no.con”, such as “DC1832_V — 1.con”. 
     Now, microcontroller  20  sends a suitable command to interconnected alarm panel  18  to place panel  18  in a programming mode in block S 308  ( FIGS. 3B ,  6 A). In block S 310 , microcontroller  20  receives an acknowledgement that alarm panel  18  is in program mode. The acknowledgment includes an identifier of the alarm panel (by model number) and optionally the alarm panel&#39;s serial number, and the version number of any existing configuration file(s) stored at panel  18 . 
     Next, in block S 312 , microcontroller  20  uses the panel model number to form a filename of a desired file. The formed file number may take the form “DCmodeIno*.con”. If the file is found in the directory structure now stored in memory  22 , microcontroller  20  places panel  18  into update mode, by sending a suitable command to panel  18  in block S 314 . In block S 316 , microcontroller  20  transfers the file having the filename DCmodeIno*.con from memory  14  to alarm panel  18 , using a file transfer (read) command identifying the file, from memory  14  and a file transfer (write) command to panel  18 . Upon completion, microcontroller  20  receives a transfer complete message from alarm panel  18  in block S 318 . In response, microcontroller  20  sends a command to exit programming mode to panel  18  in block S 320 . If all is successful, microcontroller  20  receives an operation complete message in block S 322 . Panel  18  may return to its normal operating mode. 
     Optionally, prior to transferring the file DCmodeIno*.con to panel  18 , microcontroller  20  may compare the version number returned in block S 310  to ensure that the version number in memory  22  supersedes the version number of the file at panel  18 . If not, the file need not be transferred. 
     In mode ii) instructions within memory  22  cause microcontroller  20  to operate as illustrated in  FIG. 4 ,  6 A and  6 B to transfer a configuration file from panel  18  to memory  14 . As illustrated, microcontroller  20  again sends a suitable command to interconnected alarm panel  18  to place panel  18  in a programming mode in block S 408 . In block S 410 , microcontroller  20  receives an acknowledgement that alarm panel  18  is in program mode. Next, in block S 412 , microcontroller  20  uses the panel model number to form a filename of a desired configuration file to download from panel  18 . The formed file name may take the form “DCmodeIno*.con”. In block S 416 , microcontroller  20  may transfer the file having the filename DCmodeIno*.con from alarm panel  18 , using a file transfer (read) command identifying the file, from panel  18  and a file transfer (write) command to memory  14 . Upon completion, microcontroller  20  receives a transfer compete message from alarm panel  18  in block S 418 . In response microcontroller  20  sends a command to exit programming mode to panel  18  in block S 420 . If all is successful, microcontroller  20  receives an operation complete message in block S 422 . Panel  18  may return to its normal operating mode. 
     In mode iii) instructions within memory  22  cause microcontroller  20  to operate as illustrated in  FIGS. 5 ,  6 A and  6 B to transfer a firmware file from memory  14  to panel  18 . In mode (iii), device  10  assumes that memory  14  has been pre-loaded with with one or more files including alarm panel update data, in a conventional manner. As noted, the file should have an appropriate filename. In the illustrated embodiment, frimware files name may take the form “DCmodeIno_version_no.bin”, such as “DC1832_V — 1.bin”. 
     As illustrated, microcontroller  20  again sends a suitable command to interconnected alarm panel  18  to place panel  18  in a programming mode in block S 508 . In block S 510 , microcontroller  20  receives an acknowledgement that alarm panel  18  is in program mode. The acknowledgment includes the identifier of the alarm panel (by model number) and optionally the alarm panel&#39;s serial number. Next, in block S 512 , microcontroller  20  uses the panel model number to form a filename of a desired firmware update file. The formed file number may take the form “DCmodeIno*.bin”. If the file is found in the directory structure now stored in memory  22 , microcontroller  20  places panel  18  into update mode, by sending a suitable command to panel  18  in block S 416 . That is, in block S 516 , microcontroller  20  may transfer the file having the filename DCmodeIno*.bin from memory  14  to alarm panel  18 , using a file transfer (read) command identifying the file, from memory  14  and a file transfer (write) command to panel  18 . Upon completion, microcontroller  20  receives a transfer compete message from alarm panel  18  in block S 518 . In response microcontroller  20  sends a command to exit programming mode to panel  18  in block S 520 . If all is successful, microcontroller  20  receives an operation complete message in block S 522 . Panel  18  may return to its normal operating mode. 
     If an error is detected at any time in blocks S 300 -S 522 , the error may be signalled by way of indicator(s)  24 . For example, indicator(s)  24  could be repeatedly flashed. 
     Conveniently, alarm update tool  10  allows in field updating of alarm panel configuration and firmware without a personal computer, such as a laptop or the like. The alarm update tool may be carried in a conventional toolbox, and may be pre-loaded with multiple configuration files allowing an installer to pre-load update tool  10  with install files for a day&#39;s worth (or more) of panels (i.e., a day&#39;s worth or more of install files). 
     The described alarm update tool  10  is capable of uploading files to panel  18 , and downloading files therefrom. A person of ordinary skill will easily appreciate an alarm update tool exemplary of an embodiment of the present invention, may be capable of only uploading without being capable of downloading, or may be capable of only downloading without being capable of uploading. Similarly, although memory  14  has been depicted as physically separate from tool  10 , as person of ordinary skill will readily appreciate that memory  14  could be integrated with tool  10 . Once memory  14  is integrated with tool  10 , a USB port could be used to upload software from an external computing device to memory  22 . 
     Of course, the above described embodiments are intended to be illustrative only and in no way limiting. The described embodiments of carrying out the invention are susceptible to many modifications of form, arrangement of parts, details and order of operation. The invention, rather, is intended to encompass all such modification within its scope, as defined by the claims.