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 problem.

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 deployments.

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.

The End

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

{gallery}2013-04-12 Road to Dharamsala{/gallery}