Interface and application programming

Introduction.

User interfaces allow displaying a series of graphic elements that give people a visual idea of the content, that is, graphically displaying outputs, after processing an input.
There are a variety of programming languages, some of them with libraries that make the writing of instructions that will be interpreted by the output device (computer, mobile device) more comfortable and easy.
With a programming language you can create interesting things from a 2d, 3d graph or very complex mathematical calculations that require a lot of processing and therefore computer equipment with large processing capacities and ram memory, as well as a hard disk that allows you to store large volume of information.
The most interesting thing is that you can program, for example, an html page and mount it on an electronic device.

individual assignment

Write an application that interfaces a user with an input &/or output device that you made.
My idea is to develop an application that allows displaying the temperature in real time on a web page, that is, showing graphically the values obtained from a temperature sensor, the idea is to show 50 values which will be obtained every 30 seconds from the sensor.
Available material:

  • Digital temperature Sensor Module


  • Nodemsu (Family esp8266)


  • To make the assignment it is necessary that the module is connected to the local area network so that the application can interact with the sensor.
  • Sensor pinout

    Digital temperature sensor Nodemsu
    GND GND
    VDD 3V
    DATA D4
  • Configure the arduino ide to recognize the nodemsu module, go to the file menu and choose preferences and write to the additional card url manager (textbox) http://arduino.esp8266.com/stable/package_esp8266com_index .json
  • Now in the tools menu select board and then card manager. Write esp8266 and install
  • Then in the tools menu select NodeMCU 1.0 to start programming.
  • I start programming using the arduino ide, so it will be necessary to download some libraries from the library manager.
  • The next step is to create the html code that will allow displaying the temperature data in graphical form. For this, the use of highcharts is necessary.
  • Finally, the html code must be integrated into the arduino code so that it is stored in the memory of esp8266 and does not depend on a web server.
  • Sensor operation on the esp8266 with wifi connection.
    To view the graph, I used the https://www.highcharts.com/, this site has a great variety of demos related to the representation of data in a graphical way. In the code you can see the use of javascript that is responsible for creating the graph and through a json function retrieves the data obtained from the sensor and is displayed in real time.
  • Recommendations:
    • In your modems assign a static ip to esp8266.
    • Do not store the javascript files for the graph on your local computer, which come from the creator's server as it was done in practice, this is to avoid saturating the memory of esp8266.

Group assignment.

Compare as many tool options as possible

C The C language remains popular, particularly for open source software and embedded programming.
C++ It is a programming language designed in 1979 by Bjarne Stroustrup. The intention of its creation was to extend to the programming language C mechanisms that allow the manipulation of objects. In that sense, from the point of view of object-oriented languages, C ++ is a hybrid language.
.Net It is a Microsoft framework that emphasizes network transparency, regardless of hardware platform and that allows rapid application development. Based on it, the company tries to develop a horizontal strategy that integrates all its products, from the operating system to the market tools.
C# C# is intended to be a simple, modern, general-purpose, object-oriented programming language.
  • The language, and implementations thereof, should provide support for software engineering principles such as strong type checking, array bounds checking, detection of attempts to use uninitialized variables, and automatic garbage collection. Software robustness, durability, and programmer productivity are important.
  • The language is intended for use in developing software components suitable for deployment in distributed environments.
  • Source code portability is very important, as is programmer portability, especially for those programmers already familiar with C and C++.
  • Support for internationalization is very important.
  • C# is intended to be suitable for writing applications for both hosted and embedded systems, ranging from the very large that use sophisticated operating systems, down to the very small having dedicated functions.
  • Although C# applications are intended to be economical with regard to memory and processing power requirements, the language was not intended to compete directly on performance and size with C or assembly language.
Java The runtime environment was relatively secure and major web browsers soon incorporated the ability to run embedded Java applets on web pages.
Java has undergone numerous changes since the original version, JDK 1.0, as well as a huge increase in the number of classes and packages that make up the standard library.
Python It is an interpreted programming language whose philosophy emphasizes the readability of its code.2 It is a multi-paradigm programming language, since it supports object orientation, imperative programming and, to a lesser extent, functional programming. It is an interpreted, dynamic and multiplatform language.
Javascript is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions. While it is most well-known as the scripting language for Web pages, many non-browser environments also use it, such as Node.js, Apache CouchDB and Adobe Acrobat. JavaScript is a prototype-based, multi-paradigm, single-threaded, dynamic language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles.
Arduino Is a free software and hardware development company, as well as an international community that designs and manufactures hardware development boards to build digital devices and interactive devices that can detect and control real-world objects. Arduino focuses on bringing and facilitating the use of electronics and embedded system programming in multidisciplinary projects.
Mysql Is a relational database management system developed under a dual license: General Public License / Commercial License by Oracle Corporation and is considered the most popular open source database in the world and one of the most popular.

Menu

  • Home
  • About me
    • About me
    • Student Agreement
  • Assignments
    • Principles and practices
    • 1. Project management
    • 2. Computer-aided design
    • 3. Computer-controlled cutting
    • 4. Electronics production
    • 5. 3D scanning and printing
    • 6. Electronics design
    • 7. Computer-controlled machining
    • 8. Embedded programming
    • 9. Input devices
    • 10. Applications and implications
    • 11. Output devices
    • 12. Interface and application programming
    • 13. Invention, intellectual property, and income
    • 14. Networking and communications
    • 15. Molding and casting
    • 16. Wildcard week
    • 17. Mechanical design, machine design
    • Project Development
  • Final project
  • Contact

Fab academy 2020.