Outdoor, internet connected siren.

Hey all!

I'm working on a project with a friend who owns a weather company. The goal is to mount a siren on the top or side of a school building that can be reached via internet to sound the siren when lightning strikes within X miles of the school (think for sporting events).

I've never done an Arduino project before, but I'm a Sr. Backend Web dev and have also done a few low-requirements real world hacking projects (wiring LEDs, working with Phidgets, etc).

What I'm thinking so far is an Arduino with ethernet and a SPST switch attached to the siren. I'll write a web-service to do all the heavy lifting, I'll basically just want the Arduino to ping a given URL with a payload (UUID, essentially) every X seconds. If a "1" is returned the switch should close and sound the siren, if not, nothing happens.

I'm looking for a little guidance from y'all as to whether or not this sounds like a reasonable approach.

My one concern is getting the Arduino to access the internet. I'm not sure what different schools' networks will be like. What's the easiest way to find the Arduino and ensure it can get out to the net?

aarondfrancis:
What’s the easiest way to find the Arduino and ensure it can get out to the net?

I don’t know which one is the easiest but here are some options:

  1. Arduino Yun (Wifi and Ethernet)
  2. Arduino Uno w/ Ethernet Shield
  3. Arduino Ethernet

Have you thought about GSM? A solution could be sending an sms to Arduino from a webserver or manually.

I'm looking for a little guidance from y'all as to whether or not this sounds like a reasonable approach.

Doesn't sound like an amateur project as some may think the project will actually provide some level of safety for children/adults. If it doesn't work and somebody gets hurt, you might be sued for every thing you have. There are commercial companies that apparently make such devices that probably have better product liability insurance and certification.

There are basically two methods.

Either have your arduino act as a web server. This would be the easiest to implement if you were to have full control over the network you find yourself on. Unfortunately, as you probably realise, this would entail port forwarding on the gateway router to allow it to be accessed from the web. If you can get this configured though, all you’d need to do is look at the query string being requested by any client attempting to connect. If it has something like “alarm=true” then you could set off the alarm.

The other method would be to have the arduino act as a client. Making calls to a separate server somewhere out there on the net. This would probably be simpler (as far as getting the required configurations on any routers along the way). Then your arduino would need to make periodical requests for the current status.

Although this second method seems a bit more convoluted, it would have the benefit of having a central server that could keep many sites up to date fairly easily.

mart256: Have you thought about GSM? A solution could be sending an sms to Arduino from a webserver or manually.

I have not thought of that, but that's brilliant, and totally what I'm going to do. If I can use SMS as a transport mechanism, I don't have to worry about wifi reliability or wifi/ethernet hostility. This is perfect!

Arduino GSM + Twilio + web interface = internet controlled siren.

Thank you!

zoomkat: If it doesn't work and somebody gets hurt, you might be sued for every thing you have.

I'll be sure he's protected. Thanks.