Week - 14
Interface and Application Programming
Assignment
Group Assignment
- Compare as many tool options as possible
Tool/Language/Deploy
Cloud
In cloud there are various option available like AWS, Azure, Google. AWS is the market leader on Cloud and have wide varities of services available.
AR/VR
In AR/VR there are Various games engine, Unity, Cloud Options like AWS Sumerian. Basically its Need programming background like C# for Unity, good for creating immersive experiences.
Programming Languages
Ther are some famous and mostly used programming languages are Python, Java, Scala, Node.JS. Python is most widely used programming language, Scala is quite difficult for a beginner level. Java is more object oriented and procedural language where Python is functional language. But now Node.js is widely framework for creating full stack applications.
Blynk
Blynk supports hardware platforms such as Arduino, Raspberry Pi, and similar micro-controller boards to build hardware for your projects. Blynk supports the following connection types to connect your micro-controller board (hardware) with the Blynk Cloud and Blynk personal server:
Ethernet
Wi-Fi
Bluetooth
Cellular
Serial
PyQt5
Qt is a set of cross-platform C++ libraries that implement high-level APIs for accessing many aspects of modern desktop and mobile systems. These include location and positioning services, multimedia, NFC and Bluetooth connectivity, a Chromium-based web browser, as well as traditional UI development. PyQt5 is a comprehensive set of Python bindings for Qt v5. It is implemented as more than 35 extension modules and enables Python to be used as an alternative application development language to C++ on all supported platforms including iOS and Android.
Processing
Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning and prototyping.
LabView
A bit difficult to learn but widely used in industrial applications.LabView does not interfaces directly with any other party hardwares such as Arduino, Raspberry Pi etc but since its a modular programming language it is able to program and read data from external party hardwares through VISA Modules.
MIT App Inventor
MIT App Inventor is a web application integrated development environment originally provided by Google, and now maintained by the Massachusetts Institute of Technology (MIT). It allows newcomers to computer programming to create application software(apps) for two operating systems (OS): Android (operating system)|Android, and iOS, MIT App Inventor is an intuitive, visual programming environment that allows everyone even children to build fully functional apps for smartphones and tablets. Those new to MIT App Inventor can have a simple first app up and running in less than 30 minutes.The MIT App Inventor project seeks to democratize software development by empowering all people, especially young people, to move from technology consumption to technology creation, HERE .
In creating App Inventor, Google drew upon significant prior research in educational computing, and work done within Google on online development environments.
Individual Assignment
- write an application that interfaces with an input &/or output device that you made
In this week we should need interface a micro-controller board with a PC or smart phone. Through interfacing the board with a computer, we can control and monitor the data. We have a lot of ways to do interfacing with the computer. There a lot of communication methods are used for interfacing the board with computer. The common methods is Serial communication. I chooses bluetooth communication to interfacing my board with android smart phone.
About MIT App inventor
App Inventor for Android is an open-source web application originally provided by Google, and now maintained by the Massachusetts Institute of Technology (MIT).It allows newcomers to computer programming to create software applications for the Android operating system (OS). It uses a graphical interface, very similar to Scratch and the StarLogo TNG user interface, which allows users to drag-and-drop visual objects to create an application that can run on Android devices. In creating App Inventor,for more details Click here For learning, how to make app i recommend this tutorials Link
Making App on Mit App Inventor
For start making app you have to visit Link and click on create app button it directed to another link where you have to create account using your gmail account , i started by making app at MIT App Inventor, by following steps directed in youtube tutorial video Link
Bluetooth Communication using MIT App Inventor
To start making your application, click on the Projects menu on the top left of the screen and select the Start new project and then give the name of your project.
To start making your application, click on the Projects menu on the top left of the screen and select the Start new project and then give the name of your project.
Select the ListPicker component from user interface. ListPicker is the button, which displays the list of available bluetooth devices and handle the selection.
You can change the text display on the listpicker to properties panel. You can also change the height, width, color using the same panel.
Click on the Layout from palette and select Horizontal arrangement. Horizontal arrangement component is to display a group of components laid out from left to right. We are using this component to display two buttons horizontally.
Now click on user interface and then select the two buttons for on and off.
Rename the buttons.
Click on connectivity from palette and select bluetoothClient.
Making blocks(building logic for app)
The Blocks Editor is where you program the behavior of your app. There are Built-in blocks that handle things like math, logic, and text with each components you have added.
Click on the list picker and select ListPicker Before Picking and After picking.
Again click on list picker and select ListPicker After Picking and set the status label to Connect your Device. Now user need to connect selected device to bluetooth App.
By clicking on the connect button, connection will be established between selected device and application.
Now Creating function for buttons
I need two buttons for operating the lock
The software will take the following step when this button is pressed. There are only two keys  one to toggle it on and other one to turn it off.
Go on build and select app(provide QR code for .apk )
Compiling the files
Then i download MIT app inventor 2 and scane QR code
click on scane QR code.
Connecting blueTooth
Programming Code
Connecting blueTooth