PDA

View Full Version : Remote firing system with Raspberry Pi



christopher.issler
01-06-2016, 03:02 AM
Hey all,

So, I’m working on a Proof of Concept to build out a firing system using Raspberry Pi. I’m sure someone somewhere has done this somewhere…
Here’s what I’ve done, without trying to being too long winded: Using a RPi, I’ve spent $~100 and built a wireless firing system using a cellphone, tablet, or tablet to initiate the fireworks. The system is enclosed in a case, with 16 cues, Off/Safe/Arm switches, 5v/12v voltage test display to check output, 12 and 5v voltage regulators, and 16 relay drive board. Funny side note, which is why I need a new box, is that I planned all this out, and never took a power supply into consideration. The system uses a WIFI network to communicate between console and module.

For those of you not familiar with RPi; it’s basically a computer the size of a credit card, it costs ~35$ for my version, but the company just released a 5$ version. It has a CPU, RAM, Storage, HDMI, 4x USB ports, 40 port Input/Output ports(fully programmable), and many other cool things. The schools in the US, especially in developing countries, use this as a way for kids to learn to program and have access to the internet, in places where PCs/Laptops would be too costly. My RPi is running a Linux environment, Raspbian Jessie v4.1 in particular. You can run almost all Operating Systems out there, I chose Jessie as one that would meet my needs (command line, programmable…not a fancy UI). The RPi and Raspbian combo is a very robust system, that is also running Apache(how the user interacts with the system, through HTML), SSL for encryption, JavaScript(how HTML calls PHP), PHP(to call the Python script), Python(which communicates with the relay driver board), SSH (for remote access and configuration).

Anyway, here’s what I’ve put together. I have a laundry list of issues, leanings, and changes to make to follow; but I wanted to show some progress…because I think this pretty cool.
Here’s what I’m working on or waiting for…
1. WIFI Dongle. The dongle will put the antenna on the outside of the box, which will give it ~800’ from the router in radius. With the box closed i get ~200 feet with the antenna in the box with not exterior antenna.
2. Larger box, 7x4 is a bit too small. Waiting for the next size up.
3. LED Matrix, for continuity test. I have everything, just waiting for a 3D printer to make me a fancy block to hold it all together.
4. I waited to buy a keyed (Off/Safe/Arm) till I knew how many poles/throws I needed…now that I know, I have ordered it.
5. Channel Up and Down buttons with display to show current channel. I only used 16 outputs, so I have a handful of inputs to use. Instead of preconfiguring the module, I would like to have the ability to change in the field the channel which would sync up with the Web.
6. Current relay driver board is using standard mechanical relays, and not Solid State Relays. I’ve reached out to the company to see if I could have a board with no relays OR a board with predetermined SSRs…worse comes to worse just need to desolder and resolder new relays on.
7. 18guage wire is too much for the driver board, especially when doubling up connections. Waiting for lower stranded wire(was using solid CAT6, that was a bad idea)…
8. The GPIO to driver cable was a nightmare, never be colorblind and try to match up cables and pinouts.
Anyone who has a concern with the security of the system, here’s some thoughts:
1. System requires a 40$ WIFI Access Point or Router to be setup and configured.
2. Router/AP should have a unique SSIS.
3. Router/AP should have a wireless encryption of WPA2-PSA.
4. Router/AP should have MAC filtering.
5. Router/AP should have SSIS non broadcasting.
6. Router/AP should have a new user defined username/password.
7. RaspberryPI would be running SSL encryption between “Remote” and Module.
8. Remote would be communicating via HTML calling Javascript scripts.

With all that said, hacking is not a concern.

Anyway, pictures and videos to follow. Please let me know your thoughts, gripes, grievances, concerns….
-Chris

christopher.issler
01-06-2016, 02:00 PM
Here's some pictures. I'm working on a video to show it working.

862

863

864

865

866

PyroJoeNEPA
01-06-2016, 06:57 PM
Looks like you have made a lot of progress in getting it "up and running". Looking forward to future updates on progress.

displayfireworks1
01-06-2016, 08:17 PM
Some people will do anything to save $100.00 on a firing system. I say that jokingly of course. I am always impressed with these types of things. I have video of a few people that created firing systems. I am sure it gives you great satisfaction when it all comes together. Please post a video when you make it. You sound very knowledgeable about how these things work. Thanks for sharing it is very impressive.

Pyrokarl85
01-11-2016, 09:39 PM
This is awesome wish I had the smarts to do something like this. Good job man

christopher.issler
01-11-2016, 10:21 PM
Thanks all...I got a little punchy with the backspace key this weekend(beer + programming=bad bad) and had to rewrite the AJAX and Javascript in the HTML file. Attached is the "Remote" page. It's very basic i know, when the user hits the image, the instructions are sent to the box and image turns to a black box. I'm working on writing up requirements and wireframes for the user admin side of the site. It works on Android, IOS, and windows. Tried a few browsers on each, the only one that is giving me trouble is Dolphin browser, the page works correctly, but the images are not proportional in a 4x4 grid.

I'm looking to go buy some fireworks this weekend to test this out, and post a video. I just got done building some 3in racks, so maybe this will be a good double test :)

869

christopher.issler
01-12-2016, 09:28 PM
Public service announcement: SAVE AND SAVE OFTEN!

I knew things were going too smooth. I was installing SQL and it required the OS to be updated. Being a slightly technical guy, I should have known to back up the source code, before performing a OS upgrade. Well, as it turns out, the OS upgrade failed and crashed....so now i have to start back from square one.

This will actually be a good opportunity to document the steps...not quite how i wanted to do this exercise, but oh well.

ilovecrackle
01-12-2016, 09:34 PM
Sorry to hear that. I know how you feel though. Many years ago I lost Important data one time because I failed to keep/make backups. Notice i said "one time". :p

christopher.issler
02-03-2016, 11:23 PM
Update: The system re-build has been completed. I've worked out how 'channeling' and multiple modules can be used, with a front end to manage the system. I am working with some friends who do Angular Javascript and Bootstrap. I wrote up functional specs and wire frames. They will have a very slick mobile version of the web site built out by the end of March. It will be very slick and user friendly...and optimized for mobile devices.

I am going to make this software open source. Hope maybe Dave will free up a few MB to host the downloadable build scripts. :)

Working on documentation is painful.

I will basically have a small batch file that the user downloads, after installing a version of Linux on a SD card. User then downloads the file, then executes a build script. The script will then ask some configuration settings, then build the system automatically.

I'm also working with a 3D printer to create a mounting system for the next size up box.

Video to come once the snow in PA melts.

JoeR
02-04-2016, 11:42 AM
hell yea!!

displayfireworks1
02-04-2016, 10:37 PM
Glad you still with us on this project. We look forward to the video. If you want to open source the software in the future, I can probably get my webmaster to get it somewhere where it can be downloaded. Take you time make the video when you are confident to show everyone. If you want a second system that is similar to the one you made let me know, I will give you a very good deal on the one in this video.
.

https://www.youtube.com/watch?v=gKuqETmEPNQ

christopher.issler
02-05-2016, 04:57 PM
Thanks Dave!!! I've actually expanded this from a 1 remote to 1 module to 1 remote to up to 254 modules.

I'm working on the user interface of the website on how to manage each module, and pair them together, both in the field with channel selectors as well as on the web. It's actually fairly straight forward...just need a slick site to make it happen.

Right now the prototype is just 1:1, but by next month I will have the first cut of the new website from my friends. In the mean time, I'm working on getting someone with CAD and a CNC router, so i can build out a dozen of these.

christopher.issler
02-06-2016, 11:01 PM
Actually, i want to clarify...the current system could handle 254 modules, but they would all be on the their own channel. So you could not sync multiple modules currently. You would currently have 1 webpage tab for each module. In the future, you will visit 1 page, and have the ability to manage multiple modules.

Npntransistor
02-16-2016, 11:38 PM
Go figure I find someone doing a similar project. Looks good! Im currently working on a arduino mega powered bluetooth controller. I think Im even using the same sainsmart relay module. Im driving 64 ques with 16 relays in an 8x8 grid with continuity leds. It will simply have to options to fire individual q's or a pre written script.

Here's a pick of the nearly completed q board.889 890

christopher.issler
02-17-2016, 10:29 PM
Go figure I find someone doing a similar project. Looks good! Im currently working on a arduino mega powered bluetooth controller. I think Im even using the same sainsmart relay module. Im driving 64 ques with 16 relays in an 8x8 grid with continuity leds. It will simply have to options to fire individual q's or a pre written script.

Here's a pick of the nearly completed q board.889 890
Nice! Multiplexing...i wanted to do this, but i decided for the first version, the User Interface and multiple module concept would require a lot of work. I'm excited to see how yours turns out. Dumb question, but is 64 overkill? Electric matches arent very long, and you would have a lot of splices and wire...thats why i stuck with the outofbox 16 relay board and did 1:1 cue to relay.

Excited to see how you make out.

Npntransistor
02-17-2016, 10:59 PM
64 may be a bit much. I don't have much room to spread out my displays. It was all of about 30 bucks to go from my original plan 16 to 64 so I said why not. Its more intended to be used with my 50 shot rack (tubes just shipped today!). I plan to single fire about half of those. So that cuts me down to around 40 ques right off the get go. Also if it works out well I can expand this system with more independently controlled slats, allowing for a more spread layout. Another consideration was not having to run initiators in parallel each one will have a home.

As far as user interface, in my application it will be very simple. Commands will be serial commands sent over bluetooth. It will be a simple text menu with selections (think dos command prompt). Next time I have the arduino hooked up for testing I will snap some pics.

Npntransistor
02-17-2016, 11:36 PM
I should also add I ordered the 3 meter talons, giving me an 18' diameter circle to setup in. Speaking of talons they are supposed to arrive tomorrow. Then I can find out if my math is correct on the current draw of the continuity circuit :rolleyes:. How are you setting up your continuity test?

displayfireworks1
02-17-2016, 11:50 PM
I moved this thread into this Miscellaneous category so it can be found easier. Sometimes those threads gets lost in that other part of the forums.

christopher.issler
02-20-2016, 07:21 PM
Haven't worked that out yet. Am looking to downsize the relay to a 4 or 8 relay, and implement multiplexing, then use the GPIO to read in continuity status...but that's phase 3. Need to get the UI and build script worked out...2017.

Npntransistor
02-20-2016, 07:45 PM
Gotcha. I went analog with the continuity check. Thought about using the controller to remotely check continuity. Ill probably impliment that feature in V2 ( if there is a v2 ). I am using a voltage regulator and current limiting resistor with the leds. I tested it yesterday with the talon ignitors, left it hooked up for 4 hours with no ill effects to the talon. Ill call that phase completed ��.

The way its setup now will be a momentary push button on the board to check continuity after all ignitors are installed.

QuesoJim
02-22-2016, 12:38 PM
I've actually already built a firing system with a raspberry pi last year. And I'm working on a new system that will have 80 queues on 16 channel rails over ethernet, using a grid system with the relays switching positive voltage and ground. I have a video of my original system on my youtube channel. www.youtube.com/quesojim Almost done building a UI for windows that reads CSV scripts and fire everything. Running a TCP server on the python side and a client on windows that receives data back. Full continuity checking through the pi with relay back to the computer, and wireless or ethernet connection.