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

WEEK-16

Interface and Application Programming

Assignment

Group 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. Download website: is under this link.

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

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.

Individual Assignment

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

Designing App for controlling Heater

This screen has all visual component which you want in your app ,buttons ,sliders etc also you can select backgound color ,images etc. this is as simple as making graphic page



.

Making blocks(building logic for app)

For making app it is based on your algorithm , As here first we want first action is to set bluetooth connectivity , for which we set our elements to bluetooth client AddressAndNames than set buttons as to ON and OFF using bluetoothclint1 from button 1 and button 2 respectively



.

Testing App

For testing app you have to connect your mobile or test in emulator you can select this option from following mode



.

now connect the app using bar-code on screen as shown it will directly open that app on your screen for for checking its functionality you have to connect that app with bluetooth device or you can download app apk from build option.



.

Connection of Board with Bluetooth

In this i connected Rx and Tx pins of Bluetooth to Tx and Rx pins of my board.



.

After that i connected bluetooth with MIT app but i didn't send or receive any data, than i search on Google how to connect HC-05 bluetooth with arduino and i found the proper method to connect bluetooth with arduino.



.

Than i followed same method to communicate my board and success to communicate with my board.



.

Programing Code



.

Final Video of testing app

"Click here"to download all files of this week



Creative Commons License
Automatic Hot Water Dispenser by Tariq Ahmed Shaikh is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at http://fabacademy.org/2019/labs/khairpur/students/tariq-ahmed/