We have classes all over campus and would sometimes misplace our bag. We wanted a way to know where our backpack is, since it holds so many important things. Being able to keep track of our laptop, phone, wallet, etc. is important and we developed SmartPack in order to allow us to find the backpack whenever we want. We then decided to add the DHT sensor so we can get even more information from the bag. If important papers are in your bag and its raining, we wanted to be able to know when the bag gets too wet, so that way it can inform us of any issues. We also have a temperature sensor to let people know if the interior's getting too hot, which can be important because of all the sensitive electronics inside. Lastly, we also forget to take our water bottles to class, so we added in the force sensor in order to get reminder in case our bag does not have it.
What it does
The SmartPack has an integrated temperature/humidity sensor, force sensor, SMS messaging service, and wifi-enabled GPS location service, making it a fully capable IoT device. It can tell you if your bag is getting too wet (e.g. when you're away from your bag, or when it's in the rain), whether your water bottle is in the bag or not, and the bag's exact GPS coordinates (if you lose it).
How I built it
The project was built using an ESP8266(at first), a DHT sensor, arduino uno(at first), an FSR sensor, the Google Cloud/Maps API, IFTTT API, and the NodeMCU AMICA board.
Challenges I ran into
We built into a lot of problems with getting WiFi to work. The ESP8266 wifi module was very finicky, and being able to download all the right libraries and get them to work well was difficult. We also had issues with burning the memory chip out on ESP8266 boards, which would cause the entire program to crash. Eventually we switched to an arduino that has a built in wifi module so that we can combine the two. This proved to be much more effective, and decreased the wire clutter in our device.
Accomplishments that I'm proud of
We are especially proud of making a true IOT device. There is a lot of buzz surrounding IOT and actually contributing to this field was really cool. We used IFTTT as well, which was cool since we could use the app on our phone for system control. We are also proud of implementing the Google Maps API since we both don't have too much experience with software development.
What I learned
We learned that WiFi interfacing is much more complicated and finicky than we expected. Using generic modules (i.e. the ESP8266) was extremely frustrating, as the part itself was cheap and low-quality--we learned that using branded/proprietary boards and components is much more reliable. We learned how to use the Google Cloud API and about its countless applications, and how GPS location can be obtained without a GPS module and only with WiFi. Finally, we learned about how supportive and brilliant the DIY/Arduino community is, as their detailed, sophisticated forum answers provided us invaluable insight into completing the project.
What's next for ESE 111 Final Project - Smart Backpack
We want to implement even more senors.