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)
-
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.
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.
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.
|
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. |