With the workshop closed out, the next two days were reserved for deployment and installation of the sensor nodes. The night before, I had modified the code the participants were using to harden it a bit for an actual deployment. The main thing I added in was a watchdog timer and protection against a few failure scenarios. The main ones I was concerned about were if the software hangs, if it fails to get an IP address, and if it fails to get a connection. I added in an 8 second watchdog timeout for code hangs and also would trigger a reset if the device failed to get an IP address or had a connection failure three consecutive times.
That morning, I had a short meeting with everyone to brief them on what the code changes were and how the deployment would go. I explained the changes I made to the code they worked with and why I made them. Unfortunately, we didnít have time in the labs to cover more advanced topics like watchdog timers, timestamping, and power management. That would need to be saved for future workshops. After the discussion, we packed up our supplies and headed out to the site.
The first deployment was onsite at Tibetan Childrenís Village, the same
place where the workshop was being held. It was a bit of a walk since
the school is huge. We trekked out to the location of the water storage
tank which was behind a temple at the top of a hill. Interestingly
enough, the Tibetan temple also housed a community radio station that
played Tibetan music. I thought that was kind of funny.
When we arrived at the location of the water storage tank, we were
denied access. That area is protected by a security guard since other
communities also use the water from that storage area, although from a
different tank. We had to wait about an hour for the guard to clear it
with the local authorities. In the meantime, we set up in a nearby
location to test if we could power up, sense, and send data to a server.
The trial runs outside the facility revealed one problem immediately.
The 8 second timeout I had would not allow DHCP to provision an address
correctly. For some reason, the router we were connected to out there
took a long time to give an IP address and so the watchdog would timeout
and reset the system. This was actually kind of good because everyone
could see exactly what the watchdog could do. It did give me a bit of a
scare since onsite deployment scenarios are always a bit freaky.
Anything could go wrong.
After a bit of tweaking, we discovered that DHCP just took longer than
normal so we modified the watchdog timer to handle it. From there, we
had no problems getting an IP address and the trial runs were concluded
successfully. We were finally granted entrance into the water storage
tank facility and immediately proceeded to set up. The sensing was no
problem and we soon had the sonar water level sensor connected and
measuring the water depth accurately. We ran into a problem though
because the organizers wanted us to use a wired connection. The only
devices with waterproof boxes were the wireless ones since I had thought
these would be used for sensing. Since we had no weatherproofed
protective enclosures for the ethernet devices, when the day was
finished, we couldnít keep the deployment intact. It would require a
separate deployment with large weatherproof boxes to hold the devices.
Luckily, it was at TCV and nearby so I donít think itíd be much of a
The first deployment was good because everyone could get a sense of what
it meant to deploy. Itís actually good that there were difficulties
because if everything went smoothly, it might have given everyone the
wrong impression. Deployments are actually a war against everything that
could possibly go wrong and itís usually difficult to fix problems.
With the first one under everyoneís belt as well as overcoming some
obstacles, it set the stage for the second deployment at Sarah, Tibetan
Center for Higher Learning.
The next morning, there was no briefing. I just told everyone to pack
things up and we brought all of our equipment out to Sarah near Lower
Dharamsala. It was about one hour by car away from TCV. A horrible
tragedy was narrowly avoided that morning. The participants went to
Sarah in a tourist van and had to go through windy, mountainous roads.
Once they reached Sarah and everyone had gotten off the van, the driver
turned the van around to drive off. At that time, the brakes failed and
the van hit a tree on the Sarah campus. Nobody was injured although the
van sustained damage. That incident freaked everyone out because if it
happened two minutes earlier, the consequences would have been very bad.
Dharamsala was smiling on all of us that day.
The deployment at Sarah consisted of three separate installations. There
would be ethernet connections and power at each of the sites which made
things much easier, however one of the sites was at the top of a water
tower. For Sarah, everyone already knew basically what to do so they
split up into three groups, each group handling one deployment. The
first two deployments were on the tanks at ground level and they went
quickly. I was impressed with everyone since I barely had to do
anything. The groups set up the nodes, wired them up, tested them, and
then fixed them inside the tank. This time, we had open pipes we could
put the sensors into and protective enclosures we could seal up the
outlets, cables, and nodes inside.
The water tower deployment was more difficult. The outlet that was
prepared could not reach the top of the water tower so the Air Jaldi
guys made a makeshift power-over-ethernet DC injector. They then
essentially ran a PoE line up to the top of the tower, broke out the DC
power, and connected it to the board. It was really ingenious and I
could tell the Air Jaldi guys had a lot of experience with their WiFi
Eventually the group got the water tower sensor in place and we had the
storage tanks online. We broke for lunch and all anyone could talk about
was how fun the actual deployment was. The guys that climbed the tower
were gushing about how they never knew how exciting engineering could be
and that it might require risking your life. Ha ha ha. A slight
overstatement, but yeah, I guess so.
The final part of the day was the workshopís closing ceremonies. This
consisted of presenting each participant with a certificate saying they
successfully completed the workshop and learned all the material that
was presented to them. Itís just a formality but required for most
workshops. The more important thing was that everyone got a chance to
make and install something with their own hands and see how it could
improve the life of others. Everyone was smiling on that last day and I
think we all realized that we achieved quite an accomplishment.
p.s. Here's a preliminary version of the slides, code, schematics, etc. I need to clean it up and also add more verbosity to it since it's mostly designed both at the last minute and with the assumption that I'm there to fill in any holes. That should come soon, hopefully but in the meantime, here's everything :)
2013-04-17 Dharamsala Materials