BeagleBoard/GSoC/2021 Proposal/blynk support DhruvaG

From eLinux.org
Jump to: navigation, search


Blynk_support_for_BeagleBone_Boards


About Student: Dhruva Gole
Mentors: Jason Kridner
Code: gsoc-application
Wiki: http://elinux.org/BeagleBoard/GSoC/ProposalTemplate
GSoC: GSoC entry

Status

This project is currently just a proposal.

Proposal

I have completed the requirements listed on the page and you can refer to PR#149 where I have submitted the pull request.

About you

IRC: dhruvag2000
Github: https://github.com/DhruvaG2000
School: Veermata Jijabai Technological Inst.
Country: India
Primary language : English, Marathi, Hindi
Typical work hours: 10AM - 7PM Indian Standard Time
Previous GSoC participation: I find embedded and IOT pretty interesting, given I have experience with ESP32, SIMCOM, ESP8266, Arduino UNO I think I will be able to excel in this project. This is the first time i am participating in GSoC.

About your project

Project name: Blynk Support for BeagleBone Black

Description

There are no good examples of Blynk with BeagleBone boards and there is no option for it in their mobile App right now. This project will change that and provide good visibility for BeagleBone boards with well-documented examples and How-To guides.
Blynk provides iOS and Android apps to control any hardware over the Internet or directly using Bluetooth. However, the current version of the app does not support BeagleBone Board. This Project aims to enable that support which will lead to more popularity of the beaglebone boards and also ease of usage will increase.
An example code will be prepared to be flashed on the Board in-order for it to support blynk operations, which requires installation of Blynk JavaScript Libs on the board.
We can use the blynk Smartphone App Emulator for creating and initial testing of custom Beaglebones support, and also port this on the beaglebones to see how well it works.
In-order to get support for the onboard sensors like 9 axis IMU (accels, gyros, magnetometer), barometer, thermometer, custom libraries will have to be written in Node.js for easier integration with the Blynk js framework. Libraries have been written like for example which we will first test on the BeagleBones to check if it works fine, and then move on to create further libraries as and if required for the other on-board sensors.
Once the above things start working on server level, focus can be shifted toward app development where we can add Beaglebones in the list of boards to choose from which will help encourage budding enthusiasts to try out beaglebone products for their IOT applications.

Timeline

Yet to be finalized

Mar 29 Applications open, Students register with GSoC, work on proposal with mentors
Apr 13 Proposal complete, Submitted to https://summerofcode.withgoogle.com
May 17 Proposal accepted or rejected
Jun 07 Pre-work complete, Coding officially begins!
Jun 17 Milestone #1,
  • Setting up PocketBeagle i.e flashing up to date Linux image and Testing led blink code :D
  • Running existing example codes from librobotcontrol
  • Install and test the blynk-library for BeagleBone Blue.
  • Develop a simple LED ON/OFF example on the blynk app.
June 24 Milestone #2,
  • Implementing the check_battery_8c-example
  • Display the voltage on the blynk App via it's Value Display Widget.
  • Display notification via the app if the battery voltage falls below a certain level.
June 30 Milestone #3,
  • Test the altitude example
  • estimate altitude on blynk app using it's Level V widget.
July 12 18:00 UTC Milestone #4, Mentors and students can begin submitting Phase 1 evaluations
July 16 18:00 UTC Phase 1 Evaluation deadline
  • Demonstration by running all above examples in blynk android app.
  • Finalizing and documenting everything done till now, submitting first report for evaluation.
July 23 Milestone #5

Integrate all the above examples into a single code at the hardware level, essentially creating a blynk library sort of for beagleboard blue.

July 30 Milestone #6
Aug 06 Milestone #7
August 10 Milestone #8, Completion YouTube video
August 16 - 26 18:00 UTC Final week: Students submit their final work product and their final mentor evaluation
August 23 - 30 18:00 UTC Mentors submit final student evaluations

Experience and approach

I have decent experience in C++, C and Python. I have done several projects involving embedded systems like ESP32, Arduino UNO, ESP8266 and am well-versed with freeRTOS. I recently did a project on ESP32, in which I used the DHT11 sensor to display humidity and temperature on a local HTML server . Other than that I have developed firmware for a 3 DOF arm based on a ESP32 custom board. I did an internship with a embedded device startup where I developed IOT node solutions for them using the ESP32 MCU, and SIMCOM 7600IE where I published local sensor data to the AWS IOT Core. I actively contribute to open source and do a lot of mini projects throughout the year, you can find my several more interesting projects at my github page

Contingency

I believe that if I get stuck on my project and my mentor isn’t around, I will use the resources that are available to me. this includes looking on online forums for support, trying approaches that have worked from previous experience and also getting in touch with professionals via IRC/other media for support.

Benefit

There are no good examples of Blynk with BeagleBone boards and there is no option for it in their mobile App right now. This project will change that and provide good visibility for BeagleBone boards with well-documented examples and How-To guides. -Deepak Khatri, Vedant Paranjape