jorwick
Member
Hi All,
I am in the process of re-writing my TARDIS code. On reflection , and having other projects come up, I have decided to make my new code as generic as possible. (as such I am having difficulty in deciding where to list this posting, and will cross post a bit, hopefully not to the irritation of the admins)
The general theory behind the code is that I am building a frame work for looking for events ( i.e things that happen) and then responding with an effect ( some combination of lights, motors, servos, sounds, telephone control (cause what police box doesn't have a phone?) It is all implemented in node.js. Not the fastest. But in wide use and well suited to the asynchronous nature of the task
Hardware is a Raspberry Pi, and various "bonnets" or "hats" that simply stack upon it. It can be done more cheaply with discrete components - but not by much ,and the bonnets just plug into the pi without the need for soldering ( or much soldering)
A raspberry Pi Zero can be had for about $15 US. to this you can add various "bonnets" - my initial intention is to add support for adafruit's servo bonnet ($12), motor bonnet ($20) , and any ALSA compatible sound ($12-20) .
The system will run Asterisk 13 ( Current version is 20, but I am running into problems compiling it on Pi zero) and allow voice dial, IVR , and off hook playback using a grandstream ATA device ( around $40 US)
The BASIC system is a Pi Zero, with a motor hat and sound hat - allowing control of up to 4 light and/or motors with a max current of 1.2 amps. This will run about $60 US. With some light soldering ( just pins) you can expand this to 4 motors at 1.2 amps, and 4 lights at 10amps using external boards that cost about $4 more.
If you want to control a "modern" phone, you need an ATA ( I recommend grandstream at around $40 US) to convert you "plain old telephone service" into a VoIP phone the asterisk will work with . If you have an antique phone.. ringers may require a special circuit I can work with you on. Otherwise, the ringer will just work , and with an English cadence. The grandstream can auto magically dial a number on off hook - so you can be connected to an "operator" - at that point the sound file you can provide is the limit. Imaging a deep fake tom baker saying -anything you like- the moment you lift the receiver. Imagine dialing 1 , and the TARDIS "taking off"-- you get the idea
Plus, this is expandable:
One can also use a $12 servo board to provide PWM and drive up to 16 lights at over 10amps on each channel ( about $1 per channel) The code will also let you use this $12 board to drive individual H-bridge boards (for motors) if you need to drive something over 1.2 amps ( a motor that moves a center console) but only 4 of them. Both the 1.2 amp motor had and PWM serveo board are "stackable" allowing you to add up to 4 of the 1.2amp boards with 4 motors each , and a ridiculous number of (922 PWM outputs/servos) if you need them. For a "motor" you need fake two of the pwms as "control" ( left or right) and one to control the speed. But you will need to do some very basic ( and easy ) soldering to make that work - you need a $20 US soldering kit.
So as far as inputs
Any logic ( 1 vs 0) sensor (motion, temperature, light level , on too long, off too long etc)
any button (or webpage based button)
any REST (web based post) message
Specific text in syslog
Specific Asterisk event ( off hook, on hook, dialed number etc)
Repeat at interval ( a "cron" job)
Repeat at random ( do at random interval between A and B seconds)
AND different events together within an interval
Effects are driven by a file - do this for x seconds. do Y or z seconds. Wait for other output to stop then do Z and so on.
There will be a priority system, such that effect with priority 1 can run, and when over, fall back to effect at priority 2
You can also establish when an effect will happen ( i.e between 6am and 10pm) so the thing does nothing when you are trying to sleep.
But the general idea is to give you a spreadsheet, you fill out what runs when, and you save it as a CSV file ( everything exports as csv) and you don't need to know anything else about the code. (okay, if you want some complicated phone stuff.. you should learn some basic asterisk scripting which is only a slight more effort than filling out as spreadsheet)
So the upshot is for about $120-150 US outlay, you can completely control your TARDIS Phone, the lights, the sounds, - even unlock the door at the right word (and with the right servo) , and just fill out a spread sheet to do it. The PI is small. It will fit in to a 2" x1" x 3" space roughly - one can also wire it to be flatish and use different configurations. So this could be used in console and other props as well.. but I admit it won't be easy to get into a sonic screwdriver..but not impossible either. .
Is there interest in this? Or should I just focus on what I need Mine do to?
Is there a functionality you wish you could have in that $60 to $120 price range?
My TARDIS covers a well , so I am doing temperature monitoring - and I will call myself (VoIP if the well is about to freeze, or if the pump keep running too often) I will have the takeoff, landing and cloister bell effects. The box will de-materialize at dawn, materialize at dusk , run a cloister bell with flashing lights on command or when in "distress" ( well too cold. ) - and chime the hour with engine noises, and light.. what would you have yours do?
Add your feedback now and it will happen out of the box. I am writing this code for me and as a thank you to the community. If I can implement your request easily - I will. If I can't, I will provide you a framework where you can write your own code - for input or output - pretty easily.
I am in the process of re-writing my TARDIS code. On reflection , and having other projects come up, I have decided to make my new code as generic as possible. (as such I am having difficulty in deciding where to list this posting, and will cross post a bit, hopefully not to the irritation of the admins)
The general theory behind the code is that I am building a frame work for looking for events ( i.e things that happen) and then responding with an effect ( some combination of lights, motors, servos, sounds, telephone control (cause what police box doesn't have a phone?) It is all implemented in node.js. Not the fastest. But in wide use and well suited to the asynchronous nature of the task
Hardware is a Raspberry Pi, and various "bonnets" or "hats" that simply stack upon it. It can be done more cheaply with discrete components - but not by much ,and the bonnets just plug into the pi without the need for soldering ( or much soldering)
A raspberry Pi Zero can be had for about $15 US. to this you can add various "bonnets" - my initial intention is to add support for adafruit's servo bonnet ($12), motor bonnet ($20) , and any ALSA compatible sound ($12-20) .
The system will run Asterisk 13 ( Current version is 20, but I am running into problems compiling it on Pi zero) and allow voice dial, IVR , and off hook playback using a grandstream ATA device ( around $40 US)
The BASIC system is a Pi Zero, with a motor hat and sound hat - allowing control of up to 4 light and/or motors with a max current of 1.2 amps. This will run about $60 US. With some light soldering ( just pins) you can expand this to 4 motors at 1.2 amps, and 4 lights at 10amps using external boards that cost about $4 more.
If you want to control a "modern" phone, you need an ATA ( I recommend grandstream at around $40 US) to convert you "plain old telephone service" into a VoIP phone the asterisk will work with . If you have an antique phone.. ringers may require a special circuit I can work with you on. Otherwise, the ringer will just work , and with an English cadence. The grandstream can auto magically dial a number on off hook - so you can be connected to an "operator" - at that point the sound file you can provide is the limit. Imaging a deep fake tom baker saying -anything you like- the moment you lift the receiver. Imagine dialing 1 , and the TARDIS "taking off"-- you get the idea
Plus, this is expandable:
One can also use a $12 servo board to provide PWM and drive up to 16 lights at over 10amps on each channel ( about $1 per channel) The code will also let you use this $12 board to drive individual H-bridge boards (for motors) if you need to drive something over 1.2 amps ( a motor that moves a center console) but only 4 of them. Both the 1.2 amp motor had and PWM serveo board are "stackable" allowing you to add up to 4 of the 1.2amp boards with 4 motors each , and a ridiculous number of (922 PWM outputs/servos) if you need them. For a "motor" you need fake two of the pwms as "control" ( left or right) and one to control the speed. But you will need to do some very basic ( and easy ) soldering to make that work - you need a $20 US soldering kit.
So as far as inputs
Any logic ( 1 vs 0) sensor (motion, temperature, light level , on too long, off too long etc)
any button (or webpage based button)
any REST (web based post) message
Specific text in syslog
Specific Asterisk event ( off hook, on hook, dialed number etc)
Repeat at interval ( a "cron" job)
Repeat at random ( do at random interval between A and B seconds)
AND different events together within an interval
Effects are driven by a file - do this for x seconds. do Y or z seconds. Wait for other output to stop then do Z and so on.
There will be a priority system, such that effect with priority 1 can run, and when over, fall back to effect at priority 2
You can also establish when an effect will happen ( i.e between 6am and 10pm) so the thing does nothing when you are trying to sleep.
But the general idea is to give you a spreadsheet, you fill out what runs when, and you save it as a CSV file ( everything exports as csv) and you don't need to know anything else about the code. (okay, if you want some complicated phone stuff.. you should learn some basic asterisk scripting which is only a slight more effort than filling out as spreadsheet)
So the upshot is for about $120-150 US outlay, you can completely control your TARDIS Phone, the lights, the sounds, - even unlock the door at the right word (and with the right servo) , and just fill out a spread sheet to do it. The PI is small. It will fit in to a 2" x1" x 3" space roughly - one can also wire it to be flatish and use different configurations. So this could be used in console and other props as well.. but I admit it won't be easy to get into a sonic screwdriver..but not impossible either. .
Is there interest in this? Or should I just focus on what I need Mine do to?
Is there a functionality you wish you could have in that $60 to $120 price range?
My TARDIS covers a well , so I am doing temperature monitoring - and I will call myself (VoIP if the well is about to freeze, or if the pump keep running too often) I will have the takeoff, landing and cloister bell effects. The box will de-materialize at dawn, materialize at dusk , run a cloister bell with flashing lights on command or when in "distress" ( well too cold. ) - and chime the hour with engine noises, and light.. what would you have yours do?
Add your feedback now and it will happen out of the box. I am writing this code for me and as a thank you to the community. If I can implement your request easily - I will. If I can't, I will provide you a framework where you can write your own code - for input or output - pretty easily.