- A smart system that gives users access to control and monitor connected home appliances (such as: lights and door) and even notifying users on certain events. Doesn’t it sound like J.A.R.V.I.S ? In Javanese accent (an Indonesian dialect), J.A.R.V.I.S. will sound like “Japri”, hence Japri.
- Jalur Pribadi (English translation: private lane/connection). This system is made with security kept in mind. It is made accessible only to authorized users. Hence, Japri.
Japri involves a web application and embedded system to work together to provide users real-time data such as sensors data and live streaming images from a browser. The web server is in the Raspberry Pi 3 that is housed under the kiosk screen, which is also why there are many cables coming in there.
Japri is an initiative I made after I graduated from Iowa State University to pursue my interest in learning new technologies, and create a product that will be useful for me and others. So far this has been very beneficial to me and my roommates. I am able to see when my package is delivered to my home when I am not there, I am able to know when a friend of mine comes knocking on my door when I am on my earphones, and many more!
I’ve been talking too much in text, and since a picture is worth a thousand words, here is Japri in action:
Get notified when you have your lights on during a bright day. Save up some electricity bills, yes!
Communicate with your roommate.. from your desk (without screaming).
Unlock your door by tapping a tag on the door. Cool, no more finding key hole at the dark.
Control your light… from a distant… I mean your bed.
Read essential information before leaving home through a kiosk screen.
Currently I use these APIs: Verse of the Day, Forecast, and Nextbus.
Don’t worry about your home :) Japri will notify you by email when it detects movement in front of your home. The attachment of the email is the important part. I decided to generate an animated GIF file that contains several images before and after the motion is detected.
These are the GIF frames dissected:
|Frame 1 Frame 2 Frame 3 Frame 4 Frame 5 MOTION DETECTED Frame 6 Frame 7 Frame 8 Frame 9 Frame 10|
The concept is like Apple’s Live Photos, I want to show moments before and after a motion is detected, this will give users a good perspective of what happened.
Have a house that listens to your needs. Yes, voice commands!
Japri has some useful voice commands such as:
“Turn on/off the lights”
“I feel blue” — we all have that one day…
and even “Open the door.”
Basically all of the commands in Japri can be hooked up with a voice command. Yay, modular design :)
- Text-to-speech. Japri may talk in the future
- Alexa Voice Service. Japri can be more intelligent with the help of Alexa
- Music player
The technologies I used to build the web application are:
Node.js: powers the web server and all of the logic to operate this smart home system
Socket.io: provides real-time data exchange
Angular.js: provides an Model View Architecture (MVC) architecture for the front-end
Japri also provides RESTful services. Pro: Reusability! When I make a native Android/iOS app, I can easily connect Japri’s REST API endpoints to other applications.
Before working on this project, I made a checklist containing all of the features I want to do. Most of them were new to me, but that did not stop me. I confronted many roadblocks while implementing those features, and I am happy they all have came to pass! So, never be afraid of diving into the unknown and learning new things.
In addition, be sure to plan and design before implementing your ideas. Spending more time in designing an application’s architecture will save you a lot of time in the future because you will not waste time redoing your works.
Don’t make holes on your apartment’s door if you still want to keep your deposit money.
If you have any question about the project or if you have a career opportunities for me, I am available to be contacted via email at email@example.com
I am looking for a job in Software Development area in the USA or Indonesia.
For more technical explanation, please visit my code repository: Github
At last, Javanese people will say “Matur nuwun” — Thank you for reading!