This is a very broad question, but I will try to give a few general pointers, hopefully useful to others, as well as you (so, please accept my apologies if I post things which you already know).
If you are asking about reading sensors, this is telemetry and not necessarily IoT. I have coded many projects where a standalone PC reads and displays some measurement.
If you also want to controller the attached hardware, this is SCADA. Again, it need not necessarily be connected to the internet.
Here's a diagram of SCADA, which gives a very good feel for the IoT in general. Note that the PLCs on the diagram are sensors and controls of IoT enabled devices.
You can ask for hardware commendations for sensors & controller at Hardware Recommendations.
And, once you have some code, you can get advice for problems at Stack Overflow.
Generally, IoT for industry involves the client/server model, with the client measuring/controlling hardware devices and reporting to/receiving commands from the server. The server also generally has a database, and allows for generation of reports for management and alarms (and may instruct the remote hardware to reconfigure/shutdown based on data received).
Phew! That’s the intro out of the way. Now to get our hands dirty.
If you want to get into the nitty gritty of coding, look at sockets, and understand the difference between TCP and UDP.
Fortunately, the decades have wrapped most of the trickier stuff in libraries, and you are probably best advised to read up on RESTful services. There are numerous free online tutorials, courses and videos, depending on your language; C is a traditional embedded language, with some using C++, but of course, use whatever you know/feel comfortable with. Python is hugely popular and simple to learn, as well as being the recommended language for the Raspberry Pi.
Personally, I prefer compiled languages to interpreted, as it is easier to get the bugs out, but the choice is entirely up to you. Just make sure that it has good support for accessing peripherals over USB, Ethernet and - still extremely common in industry – serial port.
To get started, I would recommend a Raspberry Pi (coding in Python or C).
And I * highly* recommend a sensor hat. This one is just an example, but it is not expensive and contains
- Gyroscope – angular rate sensor: +/-245/500/2000dps Accelerometer
- Linear acceleration sensor: +/-2/4/8/16 g
- Magnetometer - Magnetic Sensor: +/- 4/8/12/16
- Gauss Barometer: 260 – 1260 hPa absolute range (accuracy depends on the temperature and pressure, +/- 0.1 hPa under normal conditions)
- Temperature sensor (Temperature accurate to +/- 2 degC in the 0-65 degC range)
- Relative Humidity sensor (accurate to +/- 4.5% in the 20-80%rH range, accurate to +/- 0.5 degC in 15-40 degC range)
- 8x8 RGB LED matrix display
- Small 5 button joystick
That will allow you gather some data and report it to your server. You might be able to find a free service online to receive and display your data. I have seen some on other S.O site, but forget where.
But, you probably want to code your own server. I would recommend PHP as programming language. For Linux, you are well provided with LAMP (Linux, Apache, Mysql & PHP). For Windows, you have to install a WAMP (Windows … etc).
You can take your pick. I have used XAMPP in industrial applications for over a decade. You don’t have to use Mysql, Sqlite can serve just as well (shaless plug for my own S.O question of 6 years ago, “Sqlite or MySql? How to decide?“). You will also have to learn about CRUD.
Based on the data received from the client/sensor, you might want to send a command back, even just a simple (display : "temperature too high", which might translate to closing a valve in an industrial system).
You might want to raise alarms in real time (send email saying that the temperature is too high).
And, you might also want to think about generating reports. Start with a table showing data received. The consider a chart, or something fancier. Add an option to export to Comma Separated Values (CSV) which allows the end user to import the data into a spreadsheet for further analysis and manipulation.
If you do decide that you want fancy reporting, you can do it in PHP, but, after a few decades of that I have now moved to doing much of the report stuff client side, in the browser.
For generally principles, get an overview of Single Page Applications and AJAX. I, personally, did a lot of research and chose Google’s AngularJS as my programming language (there are lots of tutorials & great support), but you are free to use plain JS, Jquery, etc, as you please.
If you do decide to code browser stuff too, and you might be as well to use NodeJs on the server side, so that you only have to learn one new programing language.
Too many choices? Sorry :-(
I hope that this has given you some advice, but feel free to ask questions, and let me know if there is any general advice missing here.