Thus begins the journey. My samples have arrived! While ironing out some of the details of this project, I was looking for parts to use for it. Turns out that this company makes a really cool Zigbee compatible radio transceiver that also has a Cortex M0 Micro-controller in it! Bonus! I was thinking I would have to use two separate parts... I know Zigbee modules are available all over the net, but I thought that in the interests of form factor and power consumption, it would be better to roll my own. The aforementioned company also includes a software stack when you use their parts, and I already use and own a lot of their tools for working with arm based parts, so it was a natural fit! Several companies make parts that fit this bill, but none seem to offer the stack and the IDE like this one does...
Well, now that some of the parts have come, it is time to finish up system level design and get to schematics. I am in the process of creating a block diagram to explain the overall system function, and hope to be shooting a video here soon to introduce the project. I hope to be introducing my collaborator soon who will be helping with some of the Web programming (That is what he is good at) as I am more of an embedded and hardware kind of guy.
NOW, for the evil plan: Project Apollo will have four main phases of development that will follow the basic outline given below:
- Phase 1: This phase will include sensor node design and testing. This includes schematics, boards etc. This is probably one of the most difficult parts of the project because the code developed here will be a starting point for the low level base station control code, so it is important to get it right. The base station basically builds on the functionality of a sensor node, combining radio with extra system management functions. It is estimated that this will take about 1-1.5 months to complete.
- Phase 2: Raspberry Pi Hat development. The raspberry Pi will be the WEB 'brains' so to speak, running python and whatever else is needed to communicate with the internet. The Hat will need to incorporate GPS, power management(Run by a Cortex M0+Radio part), timekeeping, cell connectivity (unless USB is used), and any other essential functions related to low level control of the base station. The end goal is a driver package that can be loaded by the raspi using the HAT protocol and specification developed by the Raspberry Pi Foundation, in the name of making this easy for anybody to build and reproduce. This phase will include Boards, schematics and some code for both the raspi and the micro present on the HAT. Testing will also be done to verify connectivity between the hat and some sensor nodes. It is estimated that this also will take about 2-2.5 months to complete, simply due to the scope of work involved.
- Phase 3: Web Back-end development. This phase will be the real turning point in this project. This is where the whole thing starts to come together. The server side application will be created and tested, as well as the client side application. As mentioned before, we plan to use python or something similar to make the network code. Not the most efficient, but there are tons of libraries available, and python is relatively easy to use, so we hope it will make the code more accessible. We estimate this part will take under a month.
- Phase 4: If we are still on schedule at this point, we hope to be able to deploy one of these things and get some real world results with it. We may try to work with local agencies to secure a spot where the device can be tested for a limited time, to prove feasibility, work out bugs etc. This will take the balance of the time left at this point, whatever it happens to be, based on the results of the previous phases.
Here we go! Its gonna be a wild ride!