WEEK-16
Interface and Application Programming
Assignment
Group Assignment
- compare as many tool options as possible
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
- write an application that interfaces with an input &/or output device that you made
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
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/