Python has become a popular programming language, and it is one of the most used programming languages today. Python is a mult-purpose programming languages (due to its many extensions), examples are scientific computing and calculations, simulations, web development, Internet of Things (IoT), Artifical Intelligence (AI), etc.
Here you find some resources that gives an overview of the fundamentals within Python:
Below you find more Python resources within different topics like:
Fundamental Python Programming
Python for Science and Engineering
Python for Control Engineering
Python for Software Development
Raspberry Pi and Python Programming
Internet of Things with Python Programming
All the resources mentioned above can be found in Python Programming resources, including Videos, Textbooks, Tutorials, Code Examples and Exercises, etc.
MATLAB for Students
Published 2024.08.12 - Hans-Petter Halvorsen
Programming Software
In this MATLAB course you will learn basic MATLAB and how
to use MATLAB in Mathematics, Modelling, Simulation and Control applications. An
introduction to Simulink and other Tools will also be given. MATLAB is a tool for technical computing, computation and
visualization in an integrated environment. MATLAB is an abbreviation for MATrix
LABoratory, so it is well suited for matrix manipulation and problem solving
related to Linear Algebra, Modelling, Simulation and Control applications, etc.
The main goal with this introductory course:
To give a Practical Introduction to basic Programming and Simulation.
Learn to apply basic Math and Physics knowledge
To learn to use the MATLAB software within these Applications. MATLAB is very easy to learn and use compared to similar tools, so it is a good tool to start with for inexperienced users. When you have learned MATLAB, you may easily switch to similar programs.
The course is based on Flipped Classroom and Problem-Based Learning (PBL) principles. You follow videos, examples and doing practical exercises in your own pace.
Do you want to study to become a Master of Science withinIT and Automation at USN? Here you will learn about Digitalization, Data Communication and IT Systems, Software Engineering, Artifical Intelligence (AI), Machine Learning (ML), Internet of Things (IoT), Microcontrollers, Database Systems, Cloud Computing, Cyber Security and Automation.
You have 3 different options: (1) You can study full-time on campus, (2) part-time studies online or (3) be employed in a company (Industry Master) where you study part-time and work within a company at the same time.
Here you find a detailed overview of the IT and Automation study in English.
Here you find a detailed overview of the IT and Automation study in Norwegian.
LabVIEW DAQ and I/O Modules
Published 2024.02.08 - Hans-Petter Halvorsen
Programming SoftwareIndustrial ITAutomation
Data Acquisition (DAQ) is the process of collection data from different sensors into a computer. A DAQ System consists of 4 parts: Physical input/output signals, sensors, DAQ device/hardware, driver software and your software application (Application software).
LabVIEW is a graphical programming language, and it has powerful features for simulation, control and DAQ applications.
LabVIEW DAQ and I/O Modules (Website) - Here your will learn the fundamentals how to use DAQ and I/O Modules in LabVIEW.
LabVIEW Fundamentals
Published 2024.01.24 - Hans-Petter Halvorsen
Programming SoftwareIndustrial IT
Do you want to learn LabVIEW Programming?
LabVIEW is a graphical programming language, and it has powerful features for simulation, control and DAQ applications. LabVIEW is developed by NI/Emerson. They have Professional paid versions or a free Community version for personal, non-commercial, non-academic and non-industrial purposes.
LabVIEW Fundamentals (Website) - Here your will learn the fundamental parts of the LabVIEW programming language.
LabVIEW Fundamentals (YouTube Playlist) - This video series introduces all the key concepts and fundamental parts in LabVIEW.
Plotting Data in Windows Forms Applications
Published 2023.11.09 - Hans-Petter Halvorsen
Programming SoftwareIndustrial IT
Do you need to Plot your Data in your Windows Forms Application?
Plotting Data in Windows Forms is something you often want to do. The built-in Chart Control for Windows Forms is no longer supported by Microsoft in the latest .NET versions. So, we need to find and use alternative solutions. Many third-party Chart Tools exist. Most of these are commercial and costs money while others are free. This Tutorial will use ScottPlot, which is a free and open-source plotting library for .NET.
Do you need to use a DAQ device in Visual Studio and C#?
The purpose is to read and write data using a DAQ device where we use Visual Studio and C#. We will exemplify by using a DAQ device from NI (previously National Instruments). We will use a DAQ device called USB-6008 (which is part of the USB-600x low-cost series). DAQ devices from NI use the NI-DAQmx driver. Examples shown will work on all DAQ devices from NI that are using the NI-DAQmx driver. The principles used can also be applied on other DAQ hardware from other vendors.
Raspberry Pi Pico is a “downscaled” version of the original Raspberry Pi and is more comparable with Arduino compared to the original Raspberry Pi. You also need to use a downscaled version of Python, called MicroPython.
The Modbus Demo Software consists of the following Applications; Modbus Demo Server, Modbus Demo Client and Modbus Explorer, which you can use to test your own Modbus system or your own Modbus applications. The Applications is made using the LabVIEW Programming environment. The Applications are available as executable applications, but the source code can also be downloaded.
Modbus is a serial communications protocol. It is mainly used for connecting industrial electronic devices. Modbus is heavily used in the industry today. Many PLCs and other process equipment have built-in support for Modbus.
MQTT has become very popular today and espessially within Internet of Things (IoT) and Industrial Internet of Things (IIoT) because MQTT is efficient in terms of bandwidth, battery, and resources.
Introduction to MQTT with Practical Examples (YouTube Video):
In this MATLAB course you will learn basic MATLAB and how
to use MATLAB in Mathematics, Modelling, Simulation and Control applications. An
introduction to Simulink and other Tools will also be given. MATLAB is a tool for technical computing, computation and
visualization in an integrated environment. MATLAB is an abbreviation for MATrix
LABoratory, so it is well suited for matrix manipulation and problem solving
related to Linear Algebra, Modelling, Simulation and Control applications, etc.
The main goal with this introductory course:
To give a Practical Introduction to basic Programming and Simulation.
Learn to apply basic Math and Physics knowledge
To learn to use the MATLAB software within these Applications. MATLAB is very easy to learn and use compared to similar tools, so it is a good tool to start with for inexperienced users. When you have learned MATLAB, you may easily switch to similar programs.
The course is based on Flipped Classroom and Problem-Based Learning (PBL) principles. You follow videos, examples and doing practical exercises in your own pace.
Python for Science and Engineering
Published 2020.08.21 - Hans-Petter Halvorsen
Programming Software
Python has become a popular programming language, and it is one of the most used programming languages today.
Click on the textbook cover below in order to enjoy this free textbook where you can use the Python programming language for Science and Engineering applications.
In this MATLAB course you will learn basic MATLAB and how
to use MATLAB in Mathematics, Modelling, Simulation and Control applications. An
introduction to Simulink and other Tools will also be given. MATLAB is a tool for technical computing, computation and
visualization in an integrated environment. MATLAB is an abbreviation for MATrix
LABoratory, so it is well suited for matrix manipulation and problem solving
related to Linear Algebra, Modelling, Simulation and Control applications, etc.
The main goal with this introductory course:
To give a Practical Introduction to basic Programming and Simulation.
Learn to apply basic Math and Physics knowledge
To learn to use the MATLAB software within these Applications. MATLAB is very easy to learn and use compared to similar tools, so it is a good tool to start with for inexperienced users. When you have learned MATLAB, you may easily switch to similar programs.
The course is based on Flipped Classroom and Problem-Based Learning (PBL) principles. You follow videos, examples and doing practical exercises in your own pace.
Click on the cover image below in order to open the course manual:
Introduction to MATLAB
In part 1 of this course we will learn: The MATLAB Environment (IDE), MATLAB Basics, Vectors and Matrices, Plotting, Scripts (m-files), User-defined Functions, Flow Control (if...elseif...else, while, switch...case), etc.
Typically engineers often create simple LabVIEW VIs that eventually grow out of control, because they don't have the proper structure and best practices. The solution to this problem is organizing your code and data in a way that enables modularity, readability, and reuse.
Some examples are:
Intuitive GUI (Front Panels): Add Units, Use Controls and Indicators from the same Palette, Resizing the Window size, Don’t use “strong” Colors, etc.
Structured Code (Block Diagram): Make and use SubVIs, Avoid Spaghetti Code, Resizing the Window size, Use Labels, Always use Project Explorer, use State Machine, etc.
ASP.NET is an open source web framework, created by Microsoft, for building web apps and services using the .NET Framework or the .NET Core. We have both ASP.NET and ASP.NET Core. ASP.NET Core is the new approach built on .NET Core.
Create your first Hello World Application with ASP.NET Core:
Below you find the new textbook "Web Programming - ASP.NET Core". You can freely download (click on the cover image below in order to open the textbook) it as a PDF file.
Read more (Additional Videos, Resources and Downloads)
The Weather Station is located in Porsgrunn (Latitude 59.1386° N, Longitude 9.6555° E), see Google Maps.
Below we see an overview of the Weather System.
The Data from the Weather Station are then saved in different places:
SQL Server – Database System from Microsoft
Microsoft Azure - Cloud Platform from Microsoft
ThingSpeak (https://thingspeak.com) – Commercial IoT Platform from MathWorks, the vendor of MATLAB. ThingSpeak is available as a free service for non-commercial small projects
OPC UA Server
Excel Files
DMS Platform – The Data Management System developed by Hans-Petter Halvorsen
The Data are logged every 10 minutes, meaning we get 144 meeasurments every day (between 00:00 and 24:00).
This Web Application is programmed by using PHP, HTML5, Bootstrap, JavaScript and data are stored in a MariaDB Database.
The Data Logging Application is written in LabVIEW. See Figure below. The Data are retrieved from the Weather Station using Modbus TCP and XML Web Service. The data are then stored in the cloud in different ways (SQL Server, MariaDB/MySQL, OPC UA, etc.) and at different locations, such as Microsoft Azure, ThingSpeak, etc.
Python has become a popular programming language, and it is one of the most used programming languages today.
The way we create software today has changed dramatically the last 30 years, from the childhood of personal computers in the early 80s to today's powerful devices such as Smartphones, Tablets and PCs.
The Internet has also changed the way we use devices and software. We still have traditional desktop applications, but Web Sites, Web Applications and so-called Apps for Smartphones, etc. are dominating the software market today.
We need to find and learn Programming Languages that are suitable for this New Age of Programming.
We have today several thousand different Programming Languages, so why should we learn Python? I guess you will need to learn more than one Programming Language to survive in today's software market, but Python is easy to learn, so it it a good starting point both for new programmers and for more experienced programmers.
Below you find my latest textbook - Python for Science and Engineering. You can freely download (click on the cover image below in order to open the textbook) it as a PDF file. Enjoy!
Python for Science and Engineering
- This is a textbook in Python Programming with lots of Examples, Exercises, and Practical Applications within Science and Engineering topics like Mathematics, and Simulations, etc. The focus is on numerical calculations in mathematics, science and engineering. Necessary theory is presented in addition to many practical examples and exercises. This textbook is written in LaTeX.
You find Source Code and additional Examples below.
See also my first Python book Python Programming which gives an introduction to the Python programming language.
Python Programming
- This is a textbook in Python Programming with lots of Practical Examples and Exercises. You will learn the necessary foundation for basic programming with focus on Python. This textbook is written in LaTeX using Overleaf.com.
You find Source Code and additional Examples and Resources below.
In this MATLAB course you will learn basic MATLAB and how
to use MATLAB in Mathematics, Modelling, Simulation and Control applications. An
introduction to Simulink and other Tools will also be given. MATLAB is a tool for technical computing, computation and
visualization in an integrated environment. MATLAB is an abbreviation for MATrix
LABoratory, so it is well suited for matrix manipulation and problem solving
related to Linear Algebra, Modelling, Simulation and Control applications, etc.
The main goal with this introductory course:
To give a Practical Introduction to basic Programming and Simulation.
Learn to apply basic Math and Physics knowledge
To learn to use the MATLAB software within these Applications. MATLAB is very easy to learn and use compared to similar tools, so it is a good tool to start with for inexperienced users. When you have learned MATLAB, you may easily switch to similar programs.
The course is based on Flipped Classroom and Problem-Based Learning (PBL) principles. You follow videos, examples and doing practical exercises in your own pace.
The course consists of 3 different parts (click on the cover images below in order to open the diffferent course manuals):
Introduction to MATLAB
Contents: The MATLAB Environment (IDE), MATLAB Basics, Vectors and Matrices, Plotting, Scripts (m-files), User-defined Functions, Flow Control (if...elseif...else, while, switch...case)
Contents: Introduction to Simulink Combining Simulink & MATLAB(Data-driven Modelling), Debugging in MATLAB, More about functions, More about Plots, Using Cells in the MATLAB Editor, Importing Data, Structures and Cell Arrays.
My YouTube Channel (Industrial IT and Automation) has reached 1700+ Subscribers! Thank You!
Last month my YouTube Channel had more than 10.000 views. The last 365 days you spent about 416.000 minutes watching my videos.
In my YouTube Channel (Industrial IT and Automation) you find 100+ videos within Programming, Software Development, Software Enginering, Data Science, Industrial IT and Automation.
My most popular video is Introduction to OPC with Examples with 23.000+ views.
Other popular videos are:
Datalogging and Monitoring LabVIEW Project (19.000+ views)
Database Communication using LabVIEW (18.000+ views)
Python has become a popular programming language, and it is one of the most used programming languages today.
The way we create software today has changed dramatically the last 30 years, from the childhood of personal computers in the early 80s to today's powerful devices such as Smartphones, Tablets and PCs.
The Internet has also changed the way we use devices and software. We still have traditional desktop applications, but Web Sites, Web Applications and so-called Apps for Smartphones, etc. are dominating the software market today.
We need to find and learn Programming Languages that are suitable for this New Age of Programming.
We have today several thousand different Programming Languages, so why should we learn Python? I guess you will need to learn more than one Programming Language to survive in today's software market, but Python is easy to learn, so it it a good starting point both for new programmers and for more experienced programmers.
Below you find my latest textbook - Python Programming. You can freely download it as a PDF file. Enjoy!
Python Programming
- This is a textbook in Python Programming with lots of Practical Examples and Exercises. You will learn the necessary foundation for basic programming with focus on Python. This textbook is written in LaTeX using Overleaf.com.
You find Source Code and additional Examples and Resources below.
I am also working on several other Python textbooks at the moment within different areas such as "Python for Science and Engineering", "Python for Control Engineering" and "Python for Software Development". These textbooks are available as "Early Preview" editions.
I am proud to release 2 new Arduino textbooks. With these textbooks you will learn the basics about computers, basic electronics, sensor and measurement technology and programming. We will also learn how to combine software and hardware and how we can communicate with the outside world using computer programs and create simple prototypes. In these textbooks you will use Arduino to learn these things.
Here I will present some LabVIEW applications where I have used the "State-machine" principle to make the LabVIEW Block Diagrams. Using the "State-machine" principle makes it easier to create more complex LabVIEW Applications, it makes it easier to extend and maintain your application in the future. Even for small LabVIEW applications, the "State-machine" principle is easy to use.
Below you can download the code and use it as a template for your own application(s).
Here I will present 2 different LabVIEW Applications:
OPC UA Server, which is created with the LabVIEW OPC UA Toolkit. Optionally, the data can also stored in a SQL Server.
Control Application, which get data from a DAQ device (a USB-6008 has been used, but other DAQ devives can also be used), Controls a given process (or a simulator), sends the data to the OPC UA server, and optionally write data to a SQL Server Database and a Measurement File.
The LabVIEW Application Examples are presented in the Video below:
With Project Management System (PMS) your Team can easily keep track of the development of your project, from the early beginning to the end of the project. PMS is a modern and flexible Web Application that handles all aspects of your project, from Requirements Analysis, Task Mangement including Taskboard, Meetings (Notice of Meetings, Minutes of Meetings, etc.), Discussions, Status Reporting, Issue Tracking and Management. PMS is the only tool you need to handle all aspects of your Project Planning and Management. I use this tool for all my student projects at the university.
Below you see the start page for the Project Management System:
PMS is well suited for projects developing some kind of software, but it can be used for other projects as well. PMS follows modern Software Engineering principles using features from Agile and Scrum. See my page about Software Engineering for more resources.
Introduction to Project Management System:
PMS is made from scratch using HTML, JavaScript, CSS, Bootstrap, PHP and MariaDB (MySQL). See my page about Web Programming for more information about these technologies. Here you can read more about Database Systems. PHP is used to create dynamic web pages where data is typically stored in a database, like MariaDB (MySQL) or SQL Server. Another framework for creating dynamic web pages is ASP.NET. The system is hosted on an Apache HTTP Server, but other Cloud Hosting Services could have been used as well.
Are you busy and have lots of things to do? Do you struggle organizing your daily work? Workless is a modern Web Application where you can easily manage your personal daily Work.
Workless is made using HTML, JavaScript, CSS, Bootstrap, PHP and MariaDB (MySQL). See my page about Web Programming for more information about these technologies. Here you can read more about Database Systems. PHP is used to create dynamic web pages where data is typically stored in a database, like MariaDB (MySQL) or SQL Server. Another framework for creating dynamic web pages is ASP.NET. The system is hosted on an Apache HTTP Server, but other Cloud Hosting Services could have been used as well.
I have created Workless to illustrate how you can combine these techniques for creating powerful and userfriendly Web Applications in short time. See also my pages about Programming and Software Engineering.
With Workless you can:
Keep track of your Daily Work
Become more organized and be able to work more effectively
Create “To Do” Lists and mark Work as Done
Organize your Work into different Categories/Groups
Set Deadlines when the work should be finished
The main features in Workless are:
Work Today: List of Work that you should focus on at the moment
Work Manager: List of all your Work. You can easily move work between Work Today and the Work Manager.
Industrial IT and Automation are important fields today and will be even more important in the future with the new age of digitalization, Internet of Things, data security and the industrial and environmental challenges of tomorrow. Industrial IT and Automation are needed in all kind of industries today and in the future. Industrial IT and Automation are knowledge for the future. The future is now - Let's change it together!
Machine Learning uses the current Internet of Things (IoT) technology to generate "Big Data" that is analyzed using Statistics, Mathematical Models and Algorithms looking for Patterns.
Machine Learning has many applications and especially within Automation Systems it becomes very useful. The area of self driving cars, ships or so-called autonomous vehicles is in full development.
Industry 4.0 is the new buzzword for the combination of industry, automation and the current Internet of Things (IoT) technology.
Industrial Internet of Things (IIoT) is another word for Industry 4.0. You could say that IoT is consumer oriented with applications like Smart Home, Home Automation, etc., while IIoT has more industrial focus and applications. IIoT is Industrial use of IoT Technology.
The term "Industrie 4.0" was first used in 2011 in Germany. Industry 4.0 is also called the fourth industrial revolution.
Arduino is an open-source electronics platform based on easy-to-use hardware and software. It is a great start for beginners, but also for more advanced users.
Here you will learn basic concepts within technology and programming using the Arduino platform.
Development of Measurement Station for Environmental Public Health Information
Published 2017.04.19 - Hans-Petter Halvorsen
Programming Industrial ITIoT
This Environmental Public Health R&D project is a collaboration with local companies and industry in Grenland, Norway. The project is about development and maintenance of infrastructure and data system for gathering, acquiring and analysis of environmental and public health information data for Porsgrunn and Grenland (in Norway).
Here you find an announcement about the project in a local newspaper (In Norwegian):
Here you can search in almost hundred videos about technology and programming within different topics like LabVIEW, MATLAB, Visual Studio/C#, OPC, Database Systems, Industrial IT and Automation, Software Engineering, etc.
Arduino is an open-source electronics platform based on easy-to-use hardware and software. With Arduino you can read inputs from different sensors, like temperature sensors, etc.
LabVIEW Basics is a set of Video Tutorials explaining the basic functionality in LabVIEW.
Here you will learn to write a LabVIEW Program, The LabVIEW Environment, Controls and Indicators, Data Types, Loops and Plotting, Arrays , Clusters, Case Structures, Formula Nodes, Property Nodes, etc.
MATLAB is a tool for technical computing, computation and visualization in an integrated environment. MATLAB is an abbreviation for MATrix LABoratory, so it is well suited for matrix manipulation and problem solving related to Linear Algebra, Modelling, Simulation and Control applications, etc. With MATLAB Basics you will learn basic MATLAB programming. Here you will find a combination of Tutorials, Videos and Exercises for those who want to learn MATLAB from scratch.