FAB LAB Khairpur Sukkur IBA Sukkur IBA University
Merit, Quality, Excellence

Week - 14

Interface and Application Programming

Assignment

Group Assignment

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

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.



Programming

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.

Programming

Select the ListPicker component from user interface. ListPicker is the button, which displays the list of available bluetooth devices and handle the selection.

Programming

You can change the text display on the listpicker to properties panel. You can also change the height, width, color using the same panel.

Programming

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.

Programming

Now click on user interface and then select the two buttons for on and off.

Programming

Rename the buttons.

Programming

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.

Programming

Click on the list picker and select ListPicker Before Picking and After picking.

Programming

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.

Programming

By clicking on the connect button, connection will be established between selected device and application.

Programming

Now Creating function for buttons

Programming

I need two buttons for operating the lock

Programming

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.

Programming

Go on build and select app(provide QR code for .apk )

Programming

Compiling the files

Programming

Then i download MIT app inventor 2 and scane QR code

Programming

click on scane QR code.

Programming

Connecting blueTooth

Programming Code

Programming

Connecting blueTooth