July 22nd, 2013, 09:07 PM
Assigned project. How to start?
Showing some interest in programming, my company asked me to start learning python a week and a half ago. I've been working on the "Python the Hard Way" site. Anyway they are already throwing me a project and I dont know where or how I should start.
We build solar panals. An array = 4 panals. There are we will say 12 arrays at a customers site.    
   
   
   
   
   
My company wants to barcode each panal and each array. assign 4 barcoded panels to its respective array and assign that array to a quadrent. The scanner will be an app on a pad or smartphone. the app will then need to send that info to a computer which will store and arrange the data in I'm thinking a database that will basically let the user see a diagram similer to that above.
Over my head? Most probable. Any ideas, tips, or pointing me in a starting direction would be helpfull.
July 23rd, 2013, 12:09 AM
The coding necessary isn't very hard if you write a decent data model. Writing a decent model for this task isn't very difficult, either.
The real problem is how are you going to get a hold of the data from the reader devices? Is this on a laptop carried in the field connected to a barcode reader (and if so, which one?). Is it those blocky-looking codes that scanners on phones can read? etc. The interface-with-the-real-world part is the real hurdle here, since nothing is really known about it yet.
You could start the coding part anyway, though. Just make it a text interface for now where you can send a panel, quadrant or whatever code and get whatever response is appropriate. Then you can wrap that up in whatever magic is required for the hardware devices you'll be using.
If given enough time this project wouldn't be over your head, but if you have a lot of other work to do also, then I'd say it'll be quite a challenge.
July 23rd, 2013, 09:07 AM
Thank you for your reply.
I'm reserching USB hand scanners that can be attached to a small laptop in the field at the moment. I'm even looking into a small wireless one, that can send the data to laptop or tablet.
would I be looking at a script that would initially ask for an x_axis & y_axis for my grid.
0 1 2 3 4 5 6 like so. Then ask for input or scan af array A1.
a next verify A1 and ask for input or scan of panals,(A1A, A2A, A3A, A4A)
b it would continue on asking for array A2, ect.
would end up with something like--> 123xv4[ ] [ ]154dr
a1234 ( )
365hg3[ ] [ ]97fh3
or i was looking at MATPLOTLIB yesterday and thinking I may be able to incorporate that.
July 23rd, 2013, 09:09 AM
well when it posted it rearanged my example. it is supposed to be two sets of coded brackets on top and bottom with the coded array( ) in the middle.
July 23rd, 2013, 09:17 AM
Ask yourself some questions about how the data should be arranged first. What is the point of the data? Is the physical layout that is important, or the layout within the electrical grid that is important? Or are both important? Will you need to track a history of each panel as it is moved around, replaced, etc? That sort of need implies that you would want to have a record of the slot layout and an independent record of the components and maybe another independent record of the installation history of the components to slots.
So think through your requirements and the purpose of the system, and from that think what that means for the data before getting all crazy trying to come up with procedures, even the input procedures for scanner input. I mean, without a data model or knowing what the data is supposed to mean then we don't know what data we need. (Do we need to tag the slot and the component separately? Do the slot tags need to imply the grid layout as well as the physical layout, or might the physical layout be rearranged later?)
Hopefully that can get the wheels spinning a bit first. You can come up with a data representation from this. Depending on the nature of the data model either a simple heirarchy will suffice or a relational model will be needed, either way is easy to deal with but you need to get a grip on how your needs dictate your model before you can go further.