This section of the website is devoted to issues related to computer control. Various aspects of control via computer networks are considered here. In particular, we focus on the techniques used in the Internet of Things (IoT).
To become familiar with this topic, you need to know some issues from many fields of technology, e.g. electronics, computer construction, programming, and especially Internet technologies. We focus on programming, so one of the chapters is devoted to creating web applications. Of course, you can use these skills not only to control devices over the Internet.
How can the content presented here be helpful for you?
• I will give you some descriptions of various internet techniques. Not too many not to bore you. However, I hope you will learn a little about internet communication. So you will know how data is exchanged on the internet.
• Then the time will come to be able to apply this theoretical knowledge in practice. I was considering how to do it and I have the following suggestion for you.
At the beginning start developing various client applications. In the following chapters I explain what a client is and what is a server? You will need various server services for your applications. It is a time-consuming and difficult task to simultaneously develop server and client applications. So I took care of the proper server myself. In this way you have at least 50% less work.
The most important is that you now have access to a server with very simple databases. You can use these web databases to communicate with your devices or simply to communicate between any two client applications.
• I have also developed several tools so that you can test various presented here topics in practice. There are also virtual IoT devices. The tutorials on using my web databases and links to my tools can be found mainly in the Examples section. You will also find them in other sections, especially in short form in the API chapter.
In many places here you will find my encouragement to develop your own web applications
• In what development environment and programming language should you develop applications for yourself?
In general, the answer is simple: write the application code as you can. Once again I say, you can write your programs in any programming language that is convenient for you. There are many free Integrated Development Environments (IDEs) for online coding. For example, I like the IDEs available at this address: repl.it. Using this tool you can code in your browser in about 50 programming languages. I am sure you will find something for yourself there.
I mainly present examples written in HTML and JavaScript (click "start coding" on repl.it to immediately find a ready template for coding in HTML, CSS, JS). These presented applications can be run in web browsers and in this way they are able to function in various computer systems regardless of hardware and operating systems. These advantages will also be if you write your code in Java language.
If you start to construct real IoT devices (hardware and software), it will probably be useful to you the open-source Arduino IDE.
I do not present the source texts of my HTML and JavaScript programs because web browsers allow you to view the code, so you have the code whenever you want.
I have chosen HTML, CSS and JavaScript because then you can program without having almost anything. All you need is a browser (I use Chrome) and any text editor. However, I recommend you to use some editor dedicated for coding. I mentioned about online editors but you can install a sophisticated text editor for coding in your computer. There are a lot of such free editors. I like to use the wide known "Sublime Text" that supports many programming languages.
It's time for some hands-on exercises and you can try do a simple task now. You have a link to my very simple application LED. Run it in your browser and look at the source code of it. For this purpose select the source preview option in your browser - in Chrome you can use keyboard shortcut "Ctrl U". I think you are convinced it's simple.
To sum up, to make practical exercises on discussed issues, you only need a web browser, a text editor and of course willingness :)