Saturday, January 5, 2019

Privacy Policy Alice

Privacy Policy

Finley delos Santos Dy built the Alice app as a Commercial app. This SERVICE is provided by Finley delos Santos Dy and is intended for use as is.
This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.
If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.
The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at Alice unless otherwise defined in this Privacy Policy.
Information Collection and Use
For a better experience, while using our Service, I may require you to provide us with certain personally identifiable information, including but not limited to contact phone numbers, client names, and stock keeping units (SKU). The information that I request will be retained on your device and is not collected by me in any way.
The app does use third party services that may collect information used to identify you.
Link to privacy policy of third party service providers used by the app
Log Data
I want to inform you that whenever you use my Service, in a case of an error in the app I collect data and information (through third party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics.
Cookies
Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.
This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.
Service Providers
I may employ third-party companies and individuals due to the following reasons:
  • To facilitate our Service;
  • To provide the Service on our behalf;
  • To perform Service-related services; or
  • To assist us in analyzing how our Service is used.
I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.
Security
I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.
Links to Other Sites
This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.
Children’s Privacy
These Services do not address anyone under the age of 13. I do not knowingly collect personally identifiable information from children under 13. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact me so that I will be able to do necessary actions.
Changes to This Privacy Policy
I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.
Contact Us
If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me.
This privacy policy page was created at privacypolicytemplate.net and modified/generated by App Privacy Policy Generator

Privacy Policy Loc

Privacy Policy

Finley delos Santos Dy built the Loc app as a Commercial app. This SERVICE is provided by Finley delos Santos Dy and is intended for use as is.
This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.
If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.
The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at Loc unless otherwise defined in this Privacy Policy.
Information Collection and Use
For a better experience, while using our Service, I may require you to provide us with certain personally identifiable information, including but not limited to contact phone numbers, and location data. The information that I request will be retained on your device and is not collected by me in any way.
The app does use third party services that may collect information used to identify you.
Link to privacy policy of third party service providers used by the app
Log Data
I want to inform you that whenever you use my Service, in a case of an error in the app I collect data and information (through third party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics.
Cookies
Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.
This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.
Service Providers
I may employ third-party companies and individuals due to the following reasons:
  • To facilitate our Service;
  • To provide the Service on our behalf;
  • To perform Service-related services; or
  • To assist us in analyzing how our Service is used.
I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.
Security
I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.
Links to Other Sites
This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.
Children’s Privacy
These Services do not address anyone under the age of 13. I do not knowingly collect personally identifiable information from children under 13. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact me so that I will be able to do necessary actions.
Changes to This Privacy Policy
I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.
Contact Us
If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me.
This privacy policy page was created at privacypolicytemplate.net and modified/generated by App Privacy Policy Generator

Monday, October 17, 2016

Flow: Fluid Consumption Balancer

A client had a problem about his company's consumption of a fluid.  This particular fluid is the essential for operations, so he got two suppliers for redundancy.  However, the two suppliers sell the fluid at different prices where the difference is at least 20% depending on the market.  Operationally, the lower priced supplier is the priority, but fluid from the more expensive one should still be consumed due to minimum purchase contract obligations.

First, they got the average total consumption of this fluid for the whole company.  They were able to determine that to achieve minimum consumption of the more expensive supplier's fluid, a ratio of 3:1 is comfortable to avoid penalties.

Before they commissioned the project, what the client did was to shift from one supplier to the other by manually closing, and opening valves from the suppliers' respective tanks.  This was done every other week.  In a month, that roughly translates to a 1:1 ratio (half from supplier A, other half from B).  However, this scheme does not maximize savings, because consumption from the more expensive supplier is way above minimum.

The client then commissioned the project to rebalance their fluid consumption favoring the cheaper supplier.  The solution was to find a way to monitor the fluid consumption per supplier.  Then, when a condition is met (3:1), one supplier's line is cut off, and the other one opened.  Of course, some form of intelligence is required by this setup.

What we did was to attach a flow meter, and a solenoid valve to each of the fluid lines.

The flow meter counts how much fluid is consumed, while the solenoid valve opens, or closes the line.  The flow meter solenoid valve combinations are wired to a microcontroller, in our case a Bluno, which is just an Arduino with built in bluetooth low energy.

The flow meters directly interface with the microcontroller, while the solenoid valves are connected to a single channel relay with the normally opened/closed port controlled by the microcontroller.


The firmware is very simple.  The microcontroller determines how much fluid from the cheaper supplier passes through.  When it senses that 30 liters from the cheaper supplier have passed, it shuts down the flow by closing the solenoid valve.  Shutting down the solenoid valve of the cheaper supplier is as simple as switching the relay to enable the normally opened port (expensive supplier's) instead of the normally closed (cheaper supplier's) port.  The more expensive supplier's solenoid valve opens, fluid flows, and is measured again by its own flow meter.  When 10 liters have passed, the microcontroller switches consumption back to the cheaper supplier's by opening its valve, and closing the other one.  The whole process is repeated.  So for every 30 liters consumed from the cheaper supplier, 10 liters is used from the more expensive one.

The setup itself has no way to show the user the status of the fluid lines (consumption, current line in use), because we thought that adding a LCD screen will complicate the apparatus, and we were targeting minimum cost.  What we did to show the status was to connect the microcontroller to an Android phone via bluetooth, and with an app (Flow), show consumption, and the currently used line, both in real time.  A second by second log entry, which contains time, consumption from both lines, and status is created every time the app connects to the apparatus, and this is written to a file in the Android phone.  The app also has a reset feature that sets consumption of both lines back to zero when billing is likewise reset.


The only limitation of this apparatus is the accuracy of the flow meters.  According to the supplier of the meters, they have an error of 3%, give or take.  Fortunately, the customer tolerates the flow meters' margin of error, which in our test shows that it is usually in his favor.  Since the apparatus is electronic, and it is setup to operate outdoors, it requires protection from the elements, so the electronic components are housed in a wooden case, and it is plastic wrapped for added protection.  The front of this setup is actually covered.

The client can now be assured that his consumption maximizes savings from the low priced supplier without human intervention.  Through the log file, he can monitor the company's fluid consumption, which can then be cross checked with the suppliers' bills.  And before he leaves the office, he can see if any of the fluid lines were left open, and take appropriate action.

Thursday, June 16, 2016

Cleverdog FAQs

1.  Does Cleverdog require the owner to register a domain name?
No.  The Cleverdog app is the only requirement to view video from the cameras.  The system is peer to peer, so the device connects directly to the camera without a "middleman".

2.  Does Cleverdog store video in the cloud?
No.  It stores video in its microSD card.  7 days worth of video fits into a 32GB capacity card, which is also the maximum capacity it accepts.  When the memory card is full, the camera overwrites old video.  For some people this is a lack in features, but others don't mind.  We have spoken to a shopkeeper in Hongkong, who uses a rival product that connects to the cloud to access the camera, and to playback video.  According to the him, the product is always at the mercy of the company that maintains the servers.  Often, the server is down.

3.  Can Cleverdog work without a microSD card?
Yes, but video cannot be recorded.  You may be able to stream real time video, but it will not be stored.

4.  Can Cleverdog work without an internet connection?
No.  This stumped us as well.  Cleverdog does not record video if there is no internet connection.

5.  Is Cleverdog like a CCTV camera, which should be mounted on walls, or ceilings?
Yes, and no.  It can be screwed on to a wall, or ceiling using the supplied tox, and screws.  Its mount has four mounting points.  It may also be placed on a flat horizontal surface, like a table.  Its mounting is not necessarily fixed.  What is important though, and this is where some clients have an issue with, is electrical power.  Wherever you mount it must have a  power source (110V/220V, USB).  Some clients are over eager to place their Cleverdog cameras at their strategic positions forgetting that it needs to be within reach of a power source.
Cleverdog package (includes USB cable, optional 32GB microSD card (P550), and USB power source (P100) sold separately)
6.  So how is Cleverdog powered?
You have two options.  You may plug it to an electrical outlet using a USB charger (not included), or you may place it near a device that has USB power (500mA).  We tested powering one using a modem's USB port, and using a powerbank.

7.  Can the videos be saved somewhere else, like a desktop?
Yes.  You may download the Cleverdog Windows app on the Cylan Cleverdog website to do this.  There is an "Export Video" options in its menu.   Sorry Mac users (like us), the developers only made a Windows version.

8.  Besides I, can anyone else use the Cleverdog camera?
Yes, you may share the use of a camera to another user, who also has a Cleverdog app.  For example, I am the main user of three cameras, one of which is at the office.  I can share that camera to my partner's Cleverdog account, so he can view the office as well.  What we cannot do though is to view the same camera at the same time, because there is no central server.

Sunday, June 12, 2016

Cleverdog: Low Cost CCTV Replacement Solution (Part 2)

One solution is the use of a wireless range extender.  But not a run off the mill range extender.  The project required a powerful outdoor type (27 dBm transmission power) to cover the whole plant in any weather condition.  I decided to shop around, and found that the best range extender for the client is TP Link's TL WA7210N, due to its compatibility with the client's current wireless router, which I would find out later on is irrelevant.  Since this was the first time we were going to cover an area this large, and the fact that I have no track record in using a range extender, I begged for time to finish the project.

Initially, to keep the setup simple, I wirelessly connected the main router to the range extender with the main router sitting behind a wall on the second floor office, and the range extender standing downstairs 2 meters off the ground, and around 30 meters away, no line of sight due to the wall.
Option 1:Range Extender mode 30 meters away without line of sight due to wall (pink Cleverdog is our sample unit)
However, we noticed that devices were having a hard time connecting to the range extender only after a few hours.  The devices connecting to the range extender were not being given IP addresses.  The workaround to the problem was to have someone just unplug/replug the range extender when this issue occurred.  However, this is an unacceptable solution.  Fortunately, I was able to recreate the problem with approximate conditions at home using a TP Link TL WR841N as a main router, and an old TP Link TL WR740N configured as a range extender.  At home, I was able to concentrate in finding a solution than I would have been at the client's plant.

The problem, apparently, was that the range extender itself was getting disconnected from the main router, because the signal it received was too weak given their placements.  The range extender required nearly full signal strength from the main router for it to work reliably.  Two out of four bars will not do.  A constant three to four bars (signal percent 80%, @RSSI range of 30 should be above 15dBm) of main router signal was required to avoid disconnection from the main router.

Upon consultation with the client, we decided to experiment with a wired setup with the range extender acting as an access point connected to the main router.  The experiment proved to offer a reliable connection, but since a short network cable was used, and the access point was placed just at an office window, the coverage was dismal.  Cleverdog cameras at the far end of locations #3, and #4 were not able to connect.  But the experiment showed that if the placement of the wired access point was improved, robust coverage can be achieved.  The next challenge was to select the best location of the access point.

A truss supporting roofing on an i beam post 17 meters away from the main router was selected.
Option 2:  Wired access point mode
The next challenge was wiring the access point from this location to the main router.  Luckily, the ceiling where the main router is situated has overhangs installed for the legacy security camera wires.  These overhangs were used to route the cable from the main router to the access point.  Total network cable length was 24 meters, which is well below the 100 meter limit for Cat5E.
24 meters cabling
Special mention to cabling practice must be mentioned here: color sequence as prescribed by T568A Straight Through Ethernet Cable must be strictly followed.  I had the displeasure of debugging unstable connection for a considerable amount of time, because I followed my own color sequence.  My theory is that since the Cat5E cable I used was unshielded, and more than 5 meters long, interwire noise becomes a critical factor in establishing connection.  I followed my own convention in the experimental stage, and it worked, but that instance used a shorter cable, in which noise would not have been an issue.  Another thing to note was our commitment to stick to a wired solution.  The distance of the access point's placement from the main router (17 meters) was half compared to its former location when it was a range extender (30 meters).  At this distance, I think a wireless solution (range extender) would be simpler, since no cabling is required.  However, we stuck with the wired access point option as we deemed it to be more robust, and reliable.  Should the range extender option fail again, it is absolutely unacceptable for the client's staff to climb up 15 meters to the device just to reboot it.
Access Point mount (rear)

Access Point mount (front, zoomed)
After fixing that problem, connection was established, and Cleverdog IP cameras went online.  The client can now monitor his business 24/7, and as an added bonus, the whole plant is now wifi enabled.  Another inventory tracking project commissioned by the client that requires connection of Android phones to a central server in his office is facilitated by this improvement in the plant's IT infrastructure.

Postscript:

In retrospect, I could have ordered a higher spec wireless access point rather than TP Link's TL WA7210N.  I ordered this model, because I thought its compatibility with the client’s router would be an important requirement.  However, we went for a wired solution, so its wireless compatibility with the main router (2.4GHz, 150Mbps) became irrelevant.  I should have chosen a 5GHz, 300Mbps model instead.

The client's two legacy 16 channel CCTV camera systems cost roughly P176,400.
DVR with 500GB HDD P25,000
16 CCTV cameras P1,450 x 16 = P23,200
Installation for a 1 ha. plant (transportation, labor, cable, equipment) P40,000
Total P88,200 each

The same number of Cleverdog IP cameras costs:
Cleverdog IP camera P1,700 x 32 = P54,400
Outdoor Wireless Access Point P4,000 (from PC Options)
MicroSD card  P500 x 32 = P16,000 (optional)
Installation P0 (client had his own maintenance staff set up the cables)
Total P74,400 excluding internet related costs (subscription, router), and cabling
Client's total device package excluding cabling, which he provided
Both systems have their innate advantages, and disadvantages, so it is up to the user to decide whether the trade offs justify the cost.  The two approaches are not mutually exclusive as proven by our client having both systems with fewer Cleverdog cameras than legacy ones, but placed in critical areas where he prefers on demand monitoring.

Cleverdog: Low Cost CCTV Replacement Solution (Part 1)

A client of my wife commissioned us to install Cleverdog wireless IP cameras around their manufacturing plant.  They decided to go wireless for many reasons.  The existing wired security camera setup was too expensive to maintain.  Since they are located north of Manila, repair costs P1,500 per visit whether there is only one camera to fix, or more.  Second, rats were chewing on the wires.  Unfortunately, the camera wires the rats chewed off were the ones in the plant's fringe, so the supplier was charging them upwards of P60,000 for rewires.  Another reason was the cameras used were getting obsolete (PAL video system), so replacements were hard to come by.  They were also lagging behind the real time monitoring features of current generation IP cameras, since their current system requires a large bandwidth that cannot be supported by their wireless internet connection (Globe Tatoo).

Although most of the legacy system's cameras were still working, the client wanted to augment it with Cleverdog IP cameras, so he can monitor his plant at any time of the day, since the plant has a night shift.

The nice thing about Cleverdog cameras is that they are very easy to setup.  As long as there is a decent internet connection, installation is a breeze with the app available on iOS, and Android.  Once set up, streaming video from Cleverdog does not require a large bandwidth, so it is perfect for our client's slow internet connection.  Others may argue that the video quality may not be HD, but for our client's use, video quality was enough, meaning he was able to recognize the persons on the video (one of the things he was after was to catch people smoking in the plant premises).  A couple of features also made Cleverdog attractive to our client besides the basic feature of recording.  The camera has a night mode, which illuminates the scene with infrared light, and this automatically kicks in whenever the camera detects low light.  It also has a motion detect feature that notifies the owner whenever movement is detected.  The only downside is that it only accepts up to 32GB microSD, so continuous video recording is only up to seven days.  The client did not mind, since for their use, when interesting incidents happen, they are reported within the hour, so having seven days of stored video is already too much.

It was apparent that what he was after was the real time monitoring of his business anywhere, anytime.

The client ordered a trial run of six Cleverdog units to be placed in strategic locations around the plant:
1.  1 camera for the security guard (the guard on duty often sleeps on duty)
2.  1 camera at the driveway (for him to see how many delivery trucks are present)
3.  2 cameras at the production area where there is a high risk of people smoking or slacking off
4.  2 cameras at another production area to monitor people on the evening shift

The challenge was that the plant sits on a one hectare lot, and the areas he wanted to cover were spread out into 4 separate locations that an off the shelf wifi router would not be able to cover entirely.  The security guard, and driveway cameras can connect to the router at the office, but the other two locations are too far from the office.  Location #3 was 95 meters from the office, while location #4 is 110 meters away.  The problem would have been simpler if there was a clear line of sight from the office to these areas, so the wifi signal would have no obstacles in reaching the cameras, but there were structures built in between that degrades communications between the router, and the cameras.

(continued on part 2)

Wednesday, June 8, 2016

Arduino Recess Alarm Bell

We have to remind our employees that break time is over, else they extend their recess.  Most of them do not wear wrist watches, and we do not have a clock hung on the common area's wall, so I did not blame them if they still hung around even when break time is through.  The time keeper then was our guard, who carried a metal pipe, and who would repeatedly hit the stair's hand rails to signal the start, or end of break time.

It was obvious that sounding the alarm can be done in a better way.

Fortunately, there was an Arduino Yun, and a relay shield lying around at home (bought way back 2013, but just saw action in a wireless light switch, a motion sensed photo recorder, and a remote temperature sensor).  For the hardware, a few things are needed, the Arduino Yun microcontroller, its relay shield, the bell, and electrical wires.

The design is very simple, the relay shield is attached to the microcontroller.  The trickiest part maybe is attaching the electrical wire to one of the relays.  What I did was to split one of the supply wires, and attach one end to the relay's normally open (NO) port, and the other to the common (COM) port.  The Arduino Yun should also be powered, so the micro USB cable does the job.



The design could be improved by using a single package relay, rather than a relay shield, which renders three relays unused.

The code is quite simple as well.  Here's the code with annotations:

#include <Process.h>

#define PIN_ALARM 13 //pin 13 controls relay switching
#define PIN_DEBUG 9  //pin 9 is the LED output pin to know the sketch is working
#define DELAY_GENERIC 1000 //1 second delay
#define DURATION_ALARM 1000*3 //alarm duration
#define DELAY_ALARM 1000L*60L //delay after sounding the bell "L" is for "long" data type

Process date;

int hours, minutes, seconds;

void setup() {
  pinMode(PIN_ALARM, OUTPUT);
  pinMode(PIN_DEBUG, OUTPUT);
  
  Bridge.begin(); //the bridge is needed to retrieve the time from Linio (embedded Linux)
}

void loop() {
  
  digitalWrite(PIN_DEBUG, HIGH); //turn on the debug LED

  //request the date/time from Linio
  date.begin("date");
  date.addParameter("+%T");
  date.run();
    
  if (date.available() > 0) {
    digitalWrite(PIN_DEBUG, LOW); //turn off the debug LED

    //parse the time start
    String timeString = date.readString();
  
    date.flush();
    
    int firstColon = timeString.indexOf(":");
    int secondColon = timeString.lastIndexOf(":");
    
    String hourString = timeString.substring(0, firstColon);
    String minString = timeString.substring(firstColon + 1, secondColon);
    String secString = timeString.substring(secondColon + 1);
      
    hours = hourString.toInt();
    minutes = minString.toInt();
    seconds = secString.toInt();
    //parse the time end

    //test time for debugging
    //if ((hours == 12) && (minutes == 3)) alarm();

    //alarm times
    //notice that alarm times are individual if statements
    //I could've made it one if else block, but
    //for some reason the microprocessor hung up when the times are in
    //an if else block
    if ((hours == 6) && (minutes == 0)) alarm();
    if ((hours == 7) && (minutes == 0)) alarm();
    if ((hours == 10) && (minutes == 0)) alarm();
    if ((hours == 10) && (minutes == 15)) alarm();
    if ((hours == 10) && (minutes == 30)) alarm();
    if ((hours == 12) && (minutes == 0)) alarm();
    if ((hours == 13) && (minutes == 0)) alarm();
    if ((hours == 14) && (minutes == 0)) alarm();
    if ((hours == 15) && (minutes == 0)) alarm();
    if ((hours == 15) && (minutes == 15)) alarm();
    if ((hours == 15) && (minutes == 30)) alarm();
    if ((hours == 18) && (minutes == 0)) alarm();
    if ((hours == 19) && (minutes == 0)) alarm();
  }

  //1 sec. delay for every loop run for reliability
  //I observed that the microprocessor hung up without this delay
  //1 second inaccuracy (i.e. the bell rings at say 12:00:01 instead of 12:00:00) is ok for us
  delay(DELAY_GENERIC);
}

void alarm() {
  //close the relay...
  digitalWrite(PIN_ALARM, HIGH);
  //...for 3 seconds
  delay(DURATION_ALARM);
  //open the relay
  digitalWrite(PIN_ALARM, LOW);
  //delay for a minute (for reliability as well, like the 1 sec. delay for every loop)
  delay(DELAY_ALARM);
}

When the setup is plugged, the microcontroller syncs its system time with the router, which gets its time from the Internet.  Then the bell briefly rings as part of the Yun's initialization procedure.  After another brief period, the debug LED starts blinking.  This signifies the sketch is running.  The bell rings on the specified times, give a few seconds.

I'm an engineer, not an artists, so pardon the "case", and its mounting.  Nothing special about the bell's mounting, which is away from the microprocessor to avoid excessive vibration, and electrical interference.


So now, the guard does not have to make a very unpleasant manual alarm everytime break starts, or ends.  We have a school bell that takes care of that.