You don't need to be an 'investor' to invest in Singletrack: 6 days left: 95% of target - Find out more
If you wanted someone to program a Pi (or other mini computer) and build a user interface to control it, where would you go?
Google searches are providing little help as its all a bit DIY. I could do it myself but I'm unwilling to put in the time and effort as this has the potential to be a commercial product and I want it done properly.
So without knowing what the Pi will be doing I will make the assumption that it will connected to a network. If this is the case then the simplest to create and maintain would be a web based interface running from an imbedded web server (such as say CherryPy) and some Javascript. This approach will be simple but look good (if done right) and not required anything more than a web browser to use. Also if you need to integrate it with other stuff or automate tasks then you can also have a REST API so that scripts can talk to it for bulk commands or data upload etc.
Sounds like you know what's what but where would I go to get this done?
There seems to be lots of website builders and app builders but this is something a bit different .
PS. Was sure I'd put this in the chat forum.
There's lots of one man band companies that would take this on for you. Probably best to find one locally. If you are anywhere near south wales a friend of mine does this sort of thing: http://www.darkgreen.media
A friend and previous colleague has gone freelance and does this sort of thing: http://www.michaelwood.me.uk
Sheffield based but I'll drop them a line anyway. Thanks
Agree with nickjb and rossburton that this sounds perfect for a good independent/freelance developer. Make sure you get the source code for any work done mind.
Yep one man band development area really. Still not cheap as days mount up. It's one of the type of thing I do but I have enough private work for the foreseeable future.
Its been finding the local freelance guys thats been difficult, its hard when you know what you want as a finished product but not really who you'd need to get there.
Difficult as you say, even if you know a developer most only know people who do their type of development!
Control it to do what?
and what kind of user interface?
console / web / desktop / voice contol / actual real physical knobs and dials
Fruit based interface?
I would not get too hung up on getting someone local unless you have a real need to have someone work on site due to access to hardware etc.
The normal problem with stuff like this is people tend to underestimate how much developing software costs 🙂
Bazzer
Basics are: use your phone to write and / or execute a programme that makes individual LEDs come on and go off. And yes I know this'll cost but if the market I think is there then I'll happily pay.
So you need a mobile application developer for the phone app.
You can use something like GPIOZero and Python to light up LEDs on a Raspberry Pi.
After that you just need the phone to be able to talk to your Raspberry Pi.
Not sure what value that adds instead of programming the Pi directly?
Don't get hung up on having a mobile developer. Any decent developer who can do the pi side can do a basic mobile app. If it carriers on and gets to be a bigger projects you can have separate developers for each section.
Individual leds on what, what sort of power (5v, 240v etc), how many leds, how far apart.
Would the control of the leds be within the house, or farther afield?
You could do a lot of this with something like an ESP8266, spinning up a webpage over wifi with buttons to activate GPIO's.
Employing a developer will be fine but do you know how much that will cost?
[b]curiousyellow[/b] wrote:
So you need a mobile application developer for the phone app.
No, as above he needs a web developer to make a web page to control the LEDs. Been there, done that, by far the easiest way to control a Pi from a mobile phone is using a browser to open a web page. In fact this is exactly the sort of thing I've done - sadly I don't have any good video, but I did all the electronics for this http://www.worcesternews.co.uk/NEWs/15241058.Is_this_Worcester_s_best_ever_St_George_s_day_dragon_/ - it has LEDs down each side of the body split into 4 sets on each side (so it can do sequences) along with LED eyes and also a mini smoke machine and audio. All connected to GPIO on a RPi, with a webpage using javascript and PHP to either directly switch things on and off, or to control C code for the sequences. I was controlling it directly from my phone using the webpage and it worked perfectly (was amused at one point to overhear somebody say "apparently it's all being controlled from a phone" as I was standing next to them controlling it). Though actually I'm not really a web developer - but you do need to be able to do javascript and PHP (or some other server side scripting, there are various options) to develop that rather than just being a RPi developer.
You can use something like GPIOZero and Python to light up LEDs on a Raspberry Pi.
Personally I use pigpio/pigpiod http://abyz.me.uk/rpi/pigpio/ nowadays - I tend to code in C if I need something more than can be done in PHP, because that's what I have most experience with - though if you're just switching things on and off then PHP is all you need.
Not sure what value that adds instead of programming the Pi directly?
The control via phone? It allows you to turn things on and off rather than just having a set sequence.
[b]thepodge[/b] wrote:
Basics are: use your phone to write and / or execute a programme that makes individual LEDs come on and go off. And yes I know this’ll cost but if the market I think is there then I’ll happily pay.
If that really is the entirety of the spec, then that's really simple - the only thing I can imagine needing much work is making it look nice. From a tech POV I could knock a webpage and scripts up in a couple of hours (TBH I'd just reuse my existing code).
I can't think what the market opportunities (which haven't been done already) are for something which just does that though...
aracer its not that simple though is it. Yes if you are going to serve the web page from the pi and your on the same network it might be.
What if he wants it controlled from anywhere with a GSM/4G connection?
Are you going to make them open up a port on their router or use some sort of IOT service to push events to the PI
These things are rarely simple.
Edited to add, even when the customer thinks its simple 🙂
What connection - Bluetooth, WIFI ?
This seems like a waste for a minicomputer if its just going to turn on LED's
Id use a microcontroller - Arduino or similar for prototyping - use something like the esp8266 as mentioned for . Using free Library code this could probably be knocked up in a day or so if that.
+1 overkill for a Pi
Probably even overkill for a PiZero. It does make serving a webpage a lot easier for someone who hasn't worked with microcontrollers though. Also has a nice range of PHATs and solder free headers to work with for not very much money. If you want to mass produce and prototype then that's a different ball game, but for prototyping it's hard to beat a Pi.
I'm assuming this is a consumer at home device he's after. In which case it'd be as simple as serving up a webpage on the Pi which drives the GPIO pins via a Python script to turn on the LEDs based on user input on the webpage. Forward the port the Pi is listening to on your home router and it will work across the internet. Assuming you've used a mobile friendly web design then you'd not need even need a web app.
I think you could use something like the Blue Dot application for some of this on Android if you really wanted a phone app?
OK, lot to get through since I last checked here.
Thats not my entire spec up there, its a lot more involved but that is basically what I want from the unit.
Maybe Pi is overkill, maybe I want wifi not bluetooth, maybe a webpage is better than an app, maybe...thats why I want to find someone that I can have a sit down and chat about it all.
[b]bazzer[/b] wrote:
What if he wants it controlled from anywhere with a GSM/4G connection?
Are you going to make them open up a port on their router or use some sort of IOT service to push events to the PI
You're into a world of complication however you choose to do it if you're wanting to control something on your home network from anywhere though. The easiest way is to open up a port on the router (for security by obscurity you can pick something other than 80) and have the webpage as above, though of course you then have the issue of a non-static IP address. Otherwise you're going to have to get the RPi (or whatever) to call home.
[b]curiousyellow[/b] wrote:
+1 overkill for a Pi
Probably even overkill for a PiZero. It does make serving a webpage a lot easier for someone who hasn’t worked with microcontrollers though. Also has a nice range of PHATs and solder free headers to work with for not very much money. If you want to mass produce and prototype then that’s a different ball game, but for prototyping it’s hard to beat a Pi.
Overkill? Maybe - but given a ZeroW is £9 you won't get anything else suitable for much less (not in small quantities) - and it's also just as small. As you say it makes actually hosting a webpage a lot easier - the thing is, whilst you might be able to do it on the other devices suggested, doing it on a RPi is likely to be a lot more reliable as you're using the standard Linux libraries. Also makes for easier dev as you just open an SSH terminal and build on the RPi (personally I usually connect a shared directory so I can edit source files on my laptop, but otherwise all dev is native on the RPi).
Micropython runs on a lot of devices these days. Could use an ESP8266 board and a breakout if you need network connectivity and a way to drive LEDs. I agree PiZeros are super cheap and would be a great way to prototype though.
Anyway, there are probably a million ways to do it, but OP is playing his/her cards close to their chest.
In startup school they tell you not to be afraid to talk about your ideas. Maybe I'm being naive though. Not like I'm Eduardo Saverin or anything.
As I wrote, you could certainly do it on other platforms - the advantage of the RPi is that it is an all in one platform and you're using standard libraries on standard Linux, which are reliable and maintained. Simpler dev tends to result in more reliable code which is easier to maintain.
[b]curiousyellow[/b] wrote:
In startup school they tell you not to be afraid to talk about your ideas. Maybe I’m being naive though. Not like I’m Eduardo Saverin or anything.
I can understand the stance though, given a few of us on here probably could knock something up ourselves in less time than it would take the OP to find somebody suitable - I'm assuming there isn't significant original IP in the software algorithms as otherwise the spec for a developer would be somewhat different.
Yeah tell us what your idea is!!!
We wont copy it honest 😁
For sure, if I was going to do it I'd use an RPi. I've got some lying around and prototyping would be super easy.
Which Linux libraries do you think OP would benefit from running on an RPi?
So far, the requirements we know are:
- Needs to drive LEDs.
- Wants to use a phone to connect to whatever is driving the LEDs.
The sad truth is most people lack the motivation to actually follow through with building something once they have an idea.
