How Cloud Computing Can Benefit Small Businesses?

Hi there! Happy to see you around. Thank you for clicking this read. In this post today, I’ll cover how cloud computing can benefit small businesses.

Cloud computing is the new normal. Many small and medium-sized businesses use cloud computing to handle and store a large amount of data. But what does cloud computing mean? Even if they are using it, some people don’t understand this term. Don’t worry. I’m here to make it clear for you.

Cloud computing is the availability of computing resources over the internet; these resources include databases, servers, storage, processing power, and more. In simple words, it’s the process of storing, hosting, managing, and processing data on third-party hardware over the internet. The common third-party service providers include AWS (Amazon Web Service), Alibaba Cloud, and Google Cloud.

Earlier companies used to install and manage local data centers to store data. They would buy the software and host it on the local servers. In cloud computing, they can do the same on the online servers. Everything is managed and handled online and you can access computing resources from anywhere in the world. This removes the need for intricate hardware installation which would otherwise require capital investment and a team of experts to maintain it.

Curious to know more about how cloud computing can benefit small businesses?

Keep reading.

How Cloud Computing Can Benefit Small Businesses?

Cloud computing is a combination of hardware and software where your data stays. If you’re binge-watching Netflix, storing files on DropBox, or leveraging Facebook or Instagram, that’s all because of cloud computing. From data storage and disaster recovery to automatic software updates and mobility, cloud computing covers all.

The following are the 7 reasons how cloud computing can benefit small businesses.

1: Flexibility

Cloud computing gives companies the flexibility to improve their operational efficiencies. They can scale up or scale down the demand for computing resources as per their needs and requirement. Cloud service providers offer pay-as-you-go services which mean organizations only pay for the computing resources they use. Small businesses no longer need to spend huge capital investments on buying the entire hardware and software combination, instead, they can opt for subscription-based services and can customize computing resources as per their business needs.

2: Back-up and Disaster Recovery

Losing sensitive files can be devastating to small businesses. If they are using local servers they require time and money to recover files from the on-site servers. With cloud computing, recovering lost files is quick and easy. Since cloud service providers store the company data at multiple data centers from multiple locations. And if the sensitive file is lost from one location, companies can demand a copy of that file mirrored at different locations.

3: Automatic Updates

Based on a large amount of data to be stored and managed, picking cloud computing is a no-brainer. One of the top benefits that come with cloud computing is automatic software updates. If you’re managing data on local servers, you require an IT professional to manually update the system. While with cloud computing, everything is taken care of by the service providers and they do regular updates to ward off potential security threats.

4: Mobility

Mobility is another great benefit that comes with cloud computing. No matter the device (desktop, laptop, tablet, smartphone) you’ve got on hand, you can access cloud computing services from anywhere, anytime if you have a strong internet connection. This feature gives organizations offer their employees a work-life balance so they can do work from the comfort of their homes or remote locations.

5: Collaboration

Cloud computing streamlines collaboration. Every member of the team using cloud computing can edit, share and access documents from anywhere in the world. This gives employees opportunities to work as a team where they can update documents in real-time with seamless communication. The slack app is a great example of cloud computing.

6: Security

Data security is a talk of mainstream conversation. Especially for small businesses that want to create a footing in the competitive market. They want to convince customers that their data is in safe hands and they can share their information with confidence. The cloud service providers ensure and monitor the security of data of end-users which is practically very difficult to achieve for small businesses if they carry their workloads on their local servers. The service providers always strive to look for new threats, create modern encryption solutions, and monitor the potential intrusions into their servers, all to keep the data safe and secure from malicious actors.

7: Cost-Effective

Cloud computing offers a cost-effective solution to your business needs. And if you’re a small business looking to leave a footprint in the competitive market, you cannot compromise on your capital investment. Setting up local servers needs huge investment and a team of experts to install, manage, and upgrade data centers. With cloud computing, you only pay for the services you need to manage and store your company data. You no longer need to host the business data on the local servers, instead, you can host data on the online cloud servers which saves both time and money required to set up local data centers.

Conclusion

Whether you’re an established enterprise or are just starting, it’s wise to switch to a cloud model instead of funneling tons of money on building local data centers and a team of experts to properly maintain them.

Cloud computing secures your data, creates backup and data recovery, and is the most economical solution to meet your business needs. Since you don’t have physical data centers to maintain and upgrade, instead everything is maintained and hosted by the service providers.

As per the requirement of data storage, you can opt for customized computing resources that you can scale up or down as your business grows.

With cloud computing, you can access data from anywhere in the world. This remote access offers better productivity and helps employees create a work-life balance.

Taking more of your data to the cloud means you have a solid plan to properly function in a time of crisis and a team that can make educated decisions to handle and store your sensitive data.

That’s all for today. Hope you find this article helpful. If you’re unsure or have any questions, you can approach me in the section below. I’ll assist you the best way I can. Thank you for reading this post.

How to Control Raspberry Pi 4 from Laptop using VNC

This is the third tutorial in our Raspberry Pi programming course. In the previous chapter, we learned how to install Raspbian on our Raspberry Pi mini-computer. In this chapter, we'll learn how to use a VNC server to remotely control and see its desktop from our computer.

Where To Buy?
No.ComponentsDistributorLink To Buy
1Raspberry Pi 4AmazonBuy Now

What is VNC?

Computing over a network is known as "virtual network computing," or "VNC." To remotely control another computer, you can use this screen-sharing technology, which works on all major operating systems. As a result, a remote user can interact with a computer's display (screen, keyboard, and mouse) as if they were sitting right in front of it.

VNC takes advantage of the client/server concept. Rather than installing a VNC server on the distant device, users will instead use a VNC viewer or client on the device they wish to control. Use a tablet or a smartphone in place of one of the previously mentioned computers. As soon as a viewer and a server are connected, the server gives the viewer a screen copy of the computer on the other side of the world.

Thanks to the application, both the remote user and the connected user can see and control everything on the distant computer's screen using keyboard and mouse instructions from afar.

What’s a VNC Server?

Other programs (referred to as "clients") can access the resources on a computer server. The server can provide services to one or more clients, such as data or resource sharing, in what is known as the "client-server model." The advantage of this strategy is that a single server can service many clients, while a single client can make use of several servers. A server will respond to a request from a client by sending back a response.

When a computer has VNC Server software installed, it can be accessed and controlled remotely from another device. The software makes it possible to stream the device's desktop to another computer running VNC Viewer. Once a connection is established, users using VNC Viewer can view exactly what a person seated in front of the remote computer sees (with permission).

What’s a VNC Viewer?

A viewer is a piece of software that allows you to see the contents of a digital file in its entirety.

Remote control of local PCs and mobile devices is made possible through the usage of VNC Viewer. Using VNC Viewer software, a user can access and operate a machine from another place using a device such as a computer, tablet, or smartphone.

As a desktop sharing system, it delivers keystrokes, mouse clicks, and other input events to a remote computer running VNC Server so that you may control it from your mobile device once connected. It's as if you're sitting directly in front of the computer that you've accessed remotely.

What protocol is used by VNC?

VNC uses a protocol called remote framebuffer to share data between the client and server, which determines the type of data exchanged. Using this, clients can access and control another machine from afar. Because it's compatible with all windowing apps and systems, it may be used on any mainstream operating system, including Windows, macOS, Linux, and others.

User access to a computer's monitor, mouse and keyboard is provided via the RFB client or viewer (also known as a client). Framebuffer updates originate on the RFB server (as in the windowing system). A key goal of Remote Framebuffer is to run on a wide range of hardware and to simplify the process of building a client by requiring as little input from the client as possible.

File transmission, more advanced compression, and stricter security procedures have all been added to RFB since its inception as a basic protocol. When using VNC, clients and servers can agree on the appropriate RFB version to use, as well as the security and compression options that are supported by both parties. Cross-platform interoperability is made possible as a result of this.

Why use VNC?

There are times when you won't be able to use your Raspberry Pi. For instance, you might have forgotten about your Raspberry Pi while away, or it may be buried beneath your TV or other devices. Using Raspbian and the free VNC software, you can connect to your Raspberry Pi wirelessly from any other device running Raspbian. You have the option of connecting to the internet or to your home network.

Prerequisites

  • Raspberry Pi running Raspbian
  • A network connection
  • A VNC server and viewer

Configuring VNC on a local network

Enable VNC

Begin by ensuring that both computers involved are on the same local network.

Select Preferences > Raspberry Pi Configuration from the apps menu icon (raspberry) at the top-left of the screen.

The default password for Raspbian is 'raspberry,' which you should change right away. By clicking the Change Password option, you can set a new password. Select the Enabled radio button next to VNC on the Interfaces tab. OK when you're finished. Menu bar in upper right corner of screen has VNC button at end of menu bar VNC Server will be launched as soon as you click on it.

Note your Ip address for the next steps.

Open VNC Viewer

You can now link your Raspberry Pi to another computer. Instead of a Windows computer, you might use a Mac or Linux computer on the same network or even another Raspberry Pi.

With a web-based interface, VNC Viewer may be used on a variety of platforms including macOS, Linux, Android, and iOS. On the official website of realvnc, download VNC Viewer. To use the software, it must first be downloaded and then installed.

Connect to Raspberry Pi

In the "Enter a VNC Server address or search" box of the VNC Viewer, enter the Raspberry Pi's IP address (the four numbers displayed in VNC Server). RETURN is all that is needed to disconnect when a connection is established. If an error message appears, press the Enter key to proceed.

For security reasons, you'll need to log in with your Raspberry Pi's username and password. To remember your password and access Raspbian, select ‘Forgot Password’ and then OK.

Remote control

The Raspberry Pi window is shown on your windows computer. By dragging the mouse cursor around the screen, you can see the Raspberry Pi's mouse. Remote control of your Raspberry Pi is now possible thanks to this window.

When you hover your mouse over the top of the VNC Viewer window, a menu will appear. Enter The Full Screen option is located to the left of the Options and allows you to have the preview window take over your screen. Because your Raspberry Pi display may not be compatible with your PC display, choose Scale from the menu (such that it is set to Scale Automatically).

Your Raspberry Pi will provide you a desktop PC-like experience.

Looking at properties

Close the VNC preview window and use the VNC Connect menu bar to get to the properties. You can end a session from the drop-down menu.

To access your Raspberry Pi's desktop, simply open VNC Viewer from the Address Book. To reopen the connection, simply double-click on the icon and select Properties from the context menu that appears.

Enter 'Raspberry Pi' in the Name field. This will give your screen a more personal touch. After that, select Options. Automatic is the default setting for Picture Quality on your camera. The lower the setting, the better; if you have a fast connection, the higher it should be.

Make sure to check out the "Experts" section at the bottom. In this section, you'll find configuration options for pretty about everything on your computer. You can change the False to True option in the Fullscreen drop down box. In VNC Viewer, you can preview your Raspberry Pi in full-screen mode. After you've made your options, click OK to keep them.

Remote access in wide area network

You may access your Raspberry Pi from anywhere in the world with a RealVNC account.

Verify your identity in the upper left corner of VNC Viewer when it has been opened. Sign up if you don’t have an account. Set up a password for your account. Keep your password at least eight characters long and difficult to decipher. There is a RealVNC home page that you will be taken to. Verify your email address and you're done setting up.

Sign in

A single account must now be used to sign in to both of these applications.

You should be able to see the VNC Viewer Sign In window from the computer. Your Raspberry Pi must be running VNC Server before you can connect to the cloud.

Go back to the VNC Viewer application on your PC. In the Address Book area, you will find a Raspberry Pi Window, but you'll also notice a Team option immediately below it.

What exactly is the distinction between the two?

This account can be used from different networks and operates remotely.

Send files

Sending and receiving files is possible between the Pi and computer. We've created a new text file called test.txt in our Documents folder.

Connect to the Pi using VNC Viewer to send a file. An option to transfer files can be found in the VNC Viewer preview window's menu.

Sending files is as simple as clicking the Send Files button in the VNC Viewer's File Transfer window and the transfer will begin. Click Open after you've selected a file from your computer's file picker. On your Raspberry Pi's desktop, the file will be saved. The message "Download complete" will appear in the File Transfer window; close it.

Retrieve files

With VNC Viewer, it is possible to download files from your Raspberry Pi's SD card. VNC Server icon can be found in the Raspbian menu bar by right-clicking it. Select File Transfer from the VNC Server drop-down option to open the File Transfer window.

Your Raspberry Pi can now be accessed remotely. The screen and keyboard can now be removed from your Raspberry Pi and left connected to the network. The PC connection will be waiting for you when you're ready.

Connect with Android and iOS

Using your smartphone, you can also remotely connect to the Raspberry Pi. Download the VNC Viewer software from the app store, then, open your VNC Connect account and log in using your email address and password.

Your Raspberry Pi will be listed in the Team drop-down menu. Click it and input your Raspberry Pi's username and password.

On start up, you will have to go through the 'Control the computer' step. The 'How to control' window will open once you click Next. This screen shows you how to use movements like mouse clicks on the touchscreen. Start using Raspberry Pi from your phone by closing this window.

To move the cursor, make use of your smartphone's touchscreen. An on-screen keyboard can be accessed with a simple swipe of your finger on a key at the top of the app.

Even on your phone, you can now access your Raspberry Pi. Remote monitoring has never been easier.

Misconceptions about VNC and VNC Connect

When it comes to deploying new software and systems, there will always be some trepidation, and there is a lot of misinformation floating about that influences how people feel about doing so. However, this has the drawback of preventing individuals and organizations from reaping the full benefits of new technologies.

In this article, we'll debunk some of the most popular myths regarding VNC Connect, many of which can be traced back to VNC's open-source roots.

  1. VNC is open source. Open-source software is common among recent adaptations of the VNC protocol; however, this does not apply to all VNC-based software. As of 2016, VNC Connect, which uses RFB protocol version 6, is not open source.
  2. It is not safe to use VNC-based software. Out of the box, open source VNC-based remote access is vulnerable to attack. Secure connections are built into VNC Connect right out of the box, and remote PCs are secured by default with a password or system login credentials.
  3. VNC doesn't work with the cloud. The majority of open-source VNC-based applications is only available for use offline. Offline (commonly known as "direct") and cloud connections are also available through VNC connect, so you can select the one that best suits your company needs.
  4. The VNC protocol is out of date. VNC technology has been around for more than 20 years, but it has undergone a major transformation. VNC Connect is continually checked and updated to correct any faults that may arise and to meet the ever-changing needs of its users. The software roadmap is based on user feedback to ensure that it incorporates the designs and features that are most frequently requested.

Conclusion

Because buying two keyboards, monitors, and mice for your computer and Raspberry Pi would be prohibitively expensive, VNC is a great option to gain access to your raspberry pi remotely. The two computers can be used at the same time, and you don't have to switch between them. So far, we've learned how to set up our mini-computer for VNC and how to establish a remote connection to the VNC viewer. Our first project will be to use Python to control the GPIO pins of a Raspberry Pi 4, which we will cover in the next topic.

Installation of Raspbian in Raspberry Pi 4

Welcome to the second chapter of our beginner's course on the Raspberry Pi. In the previous tutorial, we learned about the components of this little computer. We also considered its uses, as well as the most important advantages and disadvantages. Let's get started with setting up our little computer to run the Raspbian operating system in this lesson.

Where To Buy?
No.ComponentsDistributorLink To Buy
1Raspberry Pi 4AmazonBuy Now

How to Install Raspbian using an imager

The next step is to make sure you have your board and SD card. The Raspberry Pi has an operating system because it is a full computer. For those who prefer a GUI desktop experience, a headless mode is still an option. Most people use Raspbian, a Debian-based operating system tailored specifically for the Raspberry Pi. However, there are other options. An excellent starting point is this operating system, which is likely to support other Linux packages that you are already familiar with.

Other means to install and run an operating system on the Raspberry Pi are also available. The imager installer is the most convenient method. As long as you're familiar with the operating system ISO, you may download it to your SD card, format your SD card and mount the ISO, and then boot the Pi. Follow the imager installation option if that's all gibberish to you.

Download imager

For this process, we will open our browser and navigate to the raspberry pi website and down to the software option, you will see a download for windows. This button allows you to download the imager for windows which in my case I am using. If you are using another operating system like mac and ubuntu there are also imagers for those particular operating systems.

The executable imager file will be downloaded to your computer as seen below.

This software allows us to flash our operating system into the micro-SD card which will be used in the mini-computer.

Flashing the operating system into the storage card

Connect the card reader with an sd card in it to your computer through USB or a regular card slot.

Launch the imager

On your computer, navigate to the location you downloaded the imager software and run it. In windows just double-click on it and it should startup.

Once the installation is done, go ahead and run the application:

Selecting the SD card

On the pi imager window, there are two options and when we click the choose storage, our SD card is detected since we plugged it into our pc.

If you have any other drive plugged into your pc, they will also appear on the window therefore be careful to select the right one otherwise you will override the wrong drive and lose your saved files.

Select the operating system

We will click on the other button "choose os" that is on the pi imager window to select the operating system we want to flash into our SD card. You will see different types of operating systems available for installation and we will go ahead and select the 32-bit raspberry pi os.

Write to SD card

Once all the required parameters are set, i.e., the os and storage, go ahead and click the write button. The flashing process begins and it takes a minimum of 5 minutes to complete.

How to Install Raspbian with etcher

NOOBS (New Out of the Box Software) is an automated installer provided by the Pi Foundation, but for this article, we're going to forego it for now.

To complete numerous projects, it is a good idea for you to learn about "flashing" the SD card yourself. Despite NOOBS's reputation as a beginner's tool, I found this one to be easier to use.

You'll need an image file and an application to put it to your SD card to install an operating system. However, you can use any operating system of your choice for this guide. For example LibreELEC for a media box; RetroPie for retro gaming; and so on.

Because it's accessible for Windows, macOS, and Linux, Etcher is my go-to tool for writing to the SD card. There may be partitions that aren't visible in Windows, but these may be cleaned out with diskpart if you've previously used the SD card in a Pi.)

The full Raspbian image with suggested software is what I'm running, so go ahead and download it if that's what your Pi model calls for. It will either be an IMG file or an IMG compressed into a ZIP file (which you don't have to do if you're using Etcher).

It's as simple as opening Etcher and clicking the Select Image button to select your downloaded file. Flash your SD card by selecting it as the target. Selecting a destination drive should only be done with extreme caution, as the operation will wipe whatever disk you select.

Once the SD card has been ejected, you can insert it into your Pi, connect the HDMI wire to a display or TV, and turn on the Pi by plugging it into the wall. Once you've landed on the Raspbian desktop, you can begin fiddling with your Wi-Fi and software installations with apt.

Booting the raspberry pi

Now that flashing is complete, with the pi powered off, we will go ahead and eject the storage SD from the pc and put it back to the raspberry pi SD slot. Then we will go ahead and plug the power cord back in and our mini computer should start. If you mouse, keyboard and screen go ahead in the previous tutorial and see how they are connected since they are necessary for this step.

The mini-computer boots up into the os and you will find a window with instructions on what to do. Follow through the graphical user interface, provide a password, location, screen, and Wi-Fi connection.

Then go ahead and install updates and the raspberry pi will reboot. A couple of issues will be solved when it boots up such as window dimensions and resolution.

We will do some more configurations in the terminal, therefore go ahead and start the terminal.

Configuration

Preferences on the menu can be found in the Configuration tool, which enables you to change most of your Pi's settings, including the password.

Several options are available, as illustrated in the screenshots below. We'll enable vnc and ssh for the time being. The Raspberry Pi's fundamental system settings can be modified in this area.

It's a good idea to change the factory default "raspberry" password for the pi user. When your Raspberry Pi boots up, choose between using Desktop or CLI (command line interface), and enable Auto Login.

You can set your Raspberry Pi to wait until a network connection is available before starting up, by selecting network at boot.

You can choose whether or not your Raspberry Pi boots up with a splash screen.

Interfaces

There are numerous ways to connect your Raspberry Pi to other devices and components. For your Raspberry Pi to recognize that a specific type of connection has been made to it, you must use the Interfaces tab to enable or disable the various connections.

To use the camera on the Raspberry Pi, you must first enable it.

A Raspberry Pi can be accessed remotely through SSH or VNC.

To enable the SPI, I2C, and Serial (Rx, Tx) GPIO pins, go to the SPI menu. To enable the 1-Wire GPIO pins, go to the 1-Wire menu. To enable the 1-Wire GPIO pin, go to the 1-Wire menu. To enable Remote GPIO, go to the Remote GPIO menu.

Performance

We can alter the performance settings of our Raspberry Pi on this tab if we need to do so for any specific project.

Caution: Changing the performance parameters on your Raspberry Pi could cause it to behave strangely or stop working altogether.

If you want to boost your computer's performance, you can overclock the CPU and adjust its voltage.

Localization

This enables you to customize your Raspberry Pi's settings based on where you live.

To configure your Raspberry Pi's locale, select the language, nation, and character set you want to use.

For example, you may want to change your time zone, or you may want to switch to a different type of keyboard layout.

Go ahead and finalize the configuration and reboot now that you've completed the setup.

Setting up remote connections

  1. On Windows, connecting to the Raspberry Pi via RDP is a straightforward process.

You don't need much more than a remote desktop program and the IP address of your Raspberry Pi to get started.

Open Remote Desktop Connection on your Windows computer to get started. The app will appear as seen in the image below.

In the "Computer:" field, type in the local IP address of your Raspberry Pi (1.), and then click the "Connect" button (2.).

  1. After connecting to your Raspberry Pi, the xrdp software will present you with this screen.

Enter the account's "username" and "password" from your Raspberry Pi.

If you're logging in as the default pi user, your username and password should be "pi" and "raspberry," respectively.

  1. You should now be able to connect to your Raspberry Pi using the Windows remote desktop program.

Have trouble connecting to the Raspberry Pi? Double-check that your IP address is accurate. TeamViewer or TightVNC are two other options.

I hope you can now access the Raspberry Pi's remote desktop using the tool of your choice.

Installing Python on the Raspberry Pi

Python will be installed on your Raspberry Pi, and you'll see how simple it is to do so. This can be accomplished in a few simple steps thanks to Python's default package repository.

  • We should check our package list and existing packages for updates before we install Python. The following instructions can be used to update both of these on your device. Let's go on to the next phase now that we've completed this one.
  • Next, we'll set up our Raspberry Pi with the Python package we downloaded earlier. Python 3 will be the focus of this guide because it is the most recent version that is still widely supported. Installing Python is as simple as running the following command.
  • Once this process completes, you will now have Python installed on your Raspberry Pi. This will provide you with the minimal essentials of Python, but that is all you will need for now. Later on, you will end up using package management such as pip to extend the capabilities of Python.

Using the Thorny Desktop IDE

Thonny, a Python IDE, is pre-installed on desktop versions of Raspberry Pi OS. It is much easier, faster, and more pleasant to write code when using an IDE. Open Thonny on your Raspberry Pi, and then learn a little bit of Python in the process.

  • The Thonny IDE must first be opened before we can proceed. On your computer's desktop, go to Start, and then click "Raspberry". Next, you'll need to click on the "Programming" option on the left-hand side of the page. Lastly, select the "Thonny Python IDE" option to launch the Python editor on your Raspberry Pi".
  • Since you're probably using Thonny for the first time, let's go through the basics of how it works.

The toolbar is located at the very top of the screen. All the buttons you'll ever need to work with the editor are right here. The "Save" and "Run" buttons are the only ones you'll need (1.)

It's time for the center box. All of your Python code can be written here. (2.)

Finally, the Python shell is at the bottom. You can use this to directly communicate with Python. The output of your code can also be found here (3.).

Conclusion

You should now have a better understanding of how to get started with Python on your Raspberry Pi. This instruction explains how to install the Raspbian operating system, configure its interface, and install the Python interpreter with a few basic command lines. On the Raspberry Pi, we also demonstrated how to start a Python code editor to develop code.

Visual Studio Code Installation for Raspberry Pi Pico Programming

Hello readers, I hope you all are doing great. This is the second tutorial of the Raspberry Pi programming series. In our previous tutorial, we discussed the basic features and hardware architecture of Raspberry Pi Pico.

In this tutorial, we will discuss the various available development environments for programming the Raspberry Pi Pico. Later, in this tutorial, we will also discuss the installation of Visual Studio Code for Pi Pico programming.

Fig. Raspberry Pi Pico

RP2040 supports multiple programming languages like C/C++, Circuit python, and MicroPython cross-platform development environments. Raspberry Pi Pico module consists of a built-in UF2 bootloader enabling programs to be loaded by drag and drop and floating point routines are baked into the chip to achieve ultra-fast performance.

There are multiple development environments to program a Raspberry Pi Pico board like Visual Studio Code, Thonny Python IDE and Arduino IDE etc.

We need to download and install some tools before installing the Visual Studio Code for programming Raspberry Pi Pico which includes:

  1. CMake
  2. ARM GCC embedded tool-chain package
  3. Python
  4. Git open source project
  5. Build tools for VS code

CMake

Fig. CMake

CMake is an open-source system developed/designed to fulfill the need of powerful cross-platform build environment which is responsible for managing the build process in a compiler independent manner and in an OS (operating system. It is designed to work in conjunction with the native build environment.

CMake is responsible for generating a build environment for compiling a source code, building executables, creating libraries and generating wrappers.

It also supports dynamic and static library builds. It can handle complex hierarchies and applications dependent on several libraries. CMake can also handle projects with multiple toolkits or libraries, where each library is further having multiple directories.

CMake is open-source tool which is easy to use and also having a simple yet extensible design which can be extended (as per the requirements) to support new features.

Installing CMake in Windows

Fig. 3 Windows 64-bit installer

  • Open the downloaded .msi file for installation.

Fig. 4 Press Next

  • Accept the terms and conditions and press next.

Fig. 5 Accept Agreement

  • Select the ‘Add CMake to the system path for all users’ option and press next to continue the installation process.

Fig. 6 Add path

  • Select the destination location and then press next.

ARM GCC Compiler

The GCC ARM tool-chain is compatible with devices that are based on 32-bit Arm Cortex-A, Cortex-M, Cortex-R processors.

Installing ARM GCC Compiler (in Windows)

Fig. 7 Downloading ARM GCC tool-chain

  • Install the “ARM GCC tool-chain” by double-clicking on the downloaded executable file.
  • Follow the default installation procedure to continue the installation process.
  • At the end select/check the “Add path to environment variable” and press the Finish button.

Python

Installing Python (Windows PC)

Fig. 8 Download Python

  • If the Python installation file is downloaded successfully start the installation process by double clicking in the downloaded file.
  • Enable/check the “Add Python 3.10 to Path” at the bottom and click on “Install Now”.

Fig. 9 Add path and install

  • Click ‘OK’ once it (python) is installed successfully.

Build Tools for Visual Studio Code

The next task is downloading and installing ‘Build Tools’ for Visual Studio Code. This tool is responsible for the command-line interface.

Fig. 10 Download Tool chain

  • Open the downloaded executable file to initialize the installation process.
  • During installation process, select Desktop development with C++ and also enable the “Windows 10SDK ” option from included tool list and click on install.

Fig. 11 select the necessary tool

  • The installation process will take some time as the installation is significantly large (1.85 GB).

Fig. 12 installation

 

Git

Git is an open-source tool responsible for code management. The main purpose of using Git is to track the changes in the source code or any set of files, which helps multiple developers work together on non-linear development. In simple words, we can say that Git makes a team of people or developers work together and that is too using common/same files. Toptal is a marketplace for top coders. Top companies and startups Hire Toptal’s freelance coders for their mission-critical software projects.

Download and Installing Git

  • To download Git, follow the given link: https://git-scm.com/download/win
  • Download the respective setup file i.e., the “ 64-bit Git For Windows setup” executable file.

Fig. 13 Download Git for Windows

  • Start the installation process by double clicking on the downloaded executable file.
  • Next task is selecting the necessary components.
  • All the necessary components are already checked so just press Next.

Fig. 14 Select necessary components

  • While adjusting the name of the initial branch in new respositories, select the “Let Git decide” option and press Next.

Fig. 15

  • Next, adjust the path environment.

Fig.16 Select the above highlighted choice

  • Next step in installation process is configuring the line ending conversion by selecting the “Checkout as-is, commit as-is.

Fig. 17 “configure line ending conversions”

  • Next, thing is to configure the ‘terminal emulator’, for that select the “Use Windows default console window”.

Fig. 18 configure terminal emulator

  • Next, select the “Enable file system cashing”

Fig. 19 “configure extra option”

  • Enable the “select experimental support for pseudo console” option and press install.

Fig. 20 “Experimental support for pseudo consoles”

Downloading Pico SDK

Once all the necessary tools (mentioned above) are successfully installed, we can download the Raspberry Pi Pico SDK and respective examples.

Before downloading the Pico SDK and Pico examples, we need to create a folder or directory to save the SDK and pico examples. So, we are creating a folder “RPi Pico” in C:\ drive.

  • Open the command prompt.
  • Next task is to create a new new directory in ‘C’ drive using “mkdir” command to download and save the SDK and pico examples.
  • To download/clone the raspberry pi Pico SDK type : “git clone –b master https://github.com/respberrypi/pico-sdk.git in the command prompt and press enter.
  • Make sure your system is connected to internet.

Fig. 21 download Pico SDK

  • After completing the cloning process, go to the ‘pico-sdk’ directory using ‘cd pico-sdk’ command and type “git submodule update –init” and press enter to add the tinyUSB submodule.

Fig. 22

  • Now got to the previous directory (where you downloaded the SDK) using command “cd ..” that is ‘RPi Pico’ in our case.
  • Download the raspberry pi Pico examples using “git clone -b master https://github.com/raspberrypi/pico-examples.git”.

Now we are ready to program Raspberry Pi Pico using Command Prompt.

Programming the Raspberry Pi Pico using Command prompt for Visual Studio Code

  • To program the Raspberry Pi Pico with Developer command prompt, click on Start button and search for Visual Studio 2022.
  • Click on the Developer Command Prompt for VS 2022.

Fig. 23 Developer Command prompt

  • Go to RPi Pico
  • Next thing to do is, to set the path for SDK use the following command; setx PICO_SDK_PATH "..\..\pico-sdk" and press enter key to set the path.

Fig. 24

  • After setting the path, exit from the command prompt.
  • Restart the same Developer Command Prompt for VS 2022.
  • In the RPi Pico directory create a new directory with name ‘build’.
  • Go to ‘build’ directory you just created.

Fig. 25 create build directory

Using CMake to build the Makefiles:

  • To create Makefiles use the command “cmake –G “NMake Makefiles” ..”.
  • Now we are ready to build projects using nmake The nmake command will build all the available projects and the process is time consuming.
 

Download and Install Visual Studio Code in Windows

Visual Studio Code is tool developed by Microsoft for source code editing.

  • Download Visual Studio Code
    • Follow the given links to download the Visual Studio Code https://code.visualstudio.com/
    • Download the installation setup for Windows by clicking on “Windows x64 User Installer”.

Fig. 26 Download Visual Studio Code

Installation of Visual Studio Code

  • Once the package is downloaded successfully, we are ready to install.
  • Start the installation process and the first step while installing the setup is to accept the agreement and press next.

Fig. 27 Accept the agreement

  • Select the destination location where you want to store the installed files.
  • Next, select the start menu folder.
  • In Additional Task, check the “Create a desktop icon” icon of you want to create one and then check the “Add to path” option (as shown below) and then press next.

Fig. 28 Add to path

  • Now we are all set to install the software. Press the install button.
  • Do not check the “Launch Visual Studio” icon, press finish.
  • To launch the Visual studio Code, go to Developer Command prompt.
  • Open the RPi Pico
  • Type code and press enter.

Fig. 29 Launch the Visual Studio code

  • Once the Visual Code studio is launched successfully, a “Get started- Visual Studio” screen will pop-up automatically, as shown below:

Fig. 30 Visual Studio Code launched successfully

 

Installing CMake in Visual Studio Code

After successfully installing the Visual Studio Code, the next thing to do is to install CMake in VS code.

Steps to install CMake in Visual Studio Code are:

  • Open the Visual Studio Code on the left menu list, click on.
  • Search for Cmake and install the tool.

Fig. 31

  • On the bottom left menu list, press Setting icon and select “Setting” option.

Fig.32 setting

  • Click on the Extension icon and select on the CMake Tool Configuration
  • Again the in User list expand Extension and select CMake
  • A new list will appear on right side of user list.
  • Scroll down to the list and click on the “CMake Configuration environment” and set item as “PICO_SDK_PATH” and Values as “..\..\pico-sdk” and press “OK”.

Fig. 33 CMake Configure Environment

  • Make sure your system is connected with internet.
  • Again go down in the list and click on “CMake: Generator” and fill the space with “NMake Makefiles” and close the settings window.

Fig. 34 CMake generator

  • Next, go to the Explore icon (top left of the screen) and select Open Folder
  • Search for pico-example by writing “:\RPi Pico\pico-examples\” in the search bar and then select the pico-example

Fig. 35 Open folder

Fig. 36 Select ‘pico-examples’ folder

  • Select the “GCC for arm-none-eabi” from the list.

Fig. 37 GCC fro arm-none-eabi

  • After this, the CMake tool will initialize building the Makefiles for all projects.
  • From the bottom blue menu tab, by selecting the build button, you can build other projects as well.
  • So now we are all set to upload a program into raspberry pi pico.

Before writing a program for Raspberry Pi Pico make sure you have all the necessary hardware components along with the software and compilers (installed) required to program the Pico board.

Components required to program Raspberry Pi Pico are:

  • The first thing required is a Micro-USB Cable, which allows the user to connect it to a computer or a Raspberry Pi for programming and powering up the Pico board.
  • Next component is the development environment required to compile and upload the program into the Raspberry Pi Pico development.
  • If you need to interface a peripheral with your Pico board using a breadboard then, you also need a set of Pico Headers.

Conclusion

This concludes the installation procedure for Visual Studio Code in Windows ( for Raspberry Pi Pico programming) which includes the installation of various tools and compilers necessary for programming Raspberry Pi Pico.

In our next tutorial, we will discuss the installation procedure of Python Thonny IDE for programming the Raspberry Pi Pico. We will also continue the programming part with Python Thonny IDE with MicroPython programming language.

I hope you found this tutorial of some help and also hope to see you soon with a new tutorial.

Getting Started with Raspberry Pi Pico

Hello readers, I hope you all are doing great. This is the first tutorial of our Raspberry Pi programming series. In this tutorial, we are going to provide a brief description of the Raspberry Pi Pico module designed and developed by the Raspberry Pi organization itself. We will also discuss various features, memory, peripherals interfacing capabilities, hardware architecture, programming techniques etc.

Before moving towards the detailed study of the Raspberry Pi Pico module, let’s first understand the traditional Raspberry Pi Computers.

What is Raspberry Pi?

Raspberry Pi is a single-board computer or a minicomputer. It was created with the goal of making computing knowledge more accessible to those who cannot afford laptops or desktop computers, as well as developing programming skills at a lower cost. The Raspberry Pi organization designed it.

The Raspberry Pi is a low-cost computer that includes some GPIOs (General Purpose Input-Output) for connecting to and controlling peripherals. Despite the fact that the Raspberry Pi's processing speed is much slower than that of desktop computers and laptop computers, it is still a computer with all of the processing and interfacing capabilities and low power consumption.

A Raspberry Pi can be used to create hardware, home automation, industrial applications etc.

There are various Raspberry Pi models available and Raspberry Pi Pico is one of them.

Fig. 1 Raspberry Pi Pico Vs Raspberry Pi Computer (Pi 0)

Raspberry Pi Pico

Raspberry Pi Pico is a completely different model or device than traditional Raspberry Pi models. Raspberry Pi Pico is not a Linux computer, but it is a microcontroller like various available Arduino boards.

It is a cost-effective development platform designed by Raspberry Pi which has enough processing power to handle complex tasks. It is a low-cost yet powerful microcontroller board with an RP2040 silicon chip.

Like the Raspberry Pi computer, Raspberry Pi Pico is also featured with a processing unit, GPIO (so it can be used to control and receive inputs from various electronic peripherals) etc. but it does not offer any wireless connectivity feature.

Other available Raspberry Pi boards like Raspberry Pi 0, Raspberry Pi 4, 3 etc. are similar to a traditional desktop computer. This means they have all the features to work as a computer like, an HDMI port to connect a monitor, USB ports for mouse and keyboard, SD card slot for OS etc.

But, Raspberry Pi Pico does not have any of the above features or capabilities, neither an HDMI port nor the USB for keyboard and mouse connectivity and instead of using an SD card for storage Pico model is featured with ‘Onboard flash memory’ to store programs.

So now you might have a doubt, that whether one can run a Raspberry Pi OS on a Raspberry Pi Pico or not? The answer is, NO. Unlike traditional Raspberry Pi modules, Raspberry Pi Pico doesn’t run a full desktop OS (operating system) but it runs code directly without a desktop interface.

If you have an Apple, Linux or Windows computer or even a different Raspberry Pi board (Pi 0, 4 or 3 etc.) then, you just need to plug the Raspberry Pi Pico into a computer to program the board for a specific task or project. Once the Pico is programmed successfully, it will run that code every time the board is powered ON.

So we can say that Raspberry Pi Pico is more like an Arduino board than a traditional Raspberry Pi model.

Features of Raspberry Pi Pico

Fig. 2 Raspberry Pi Pico development board

Some key features of the Raspberry Pi Pico board are:

  • Dual-core processor (ARM Cortex-Mo+), 133Mhz
  • DMA controller
  • It supports 16MB of Flash memory via QSPI bus
  • 264kB of on-chip static RAM(SRAM)
  • SP2040 microcontroller chip designed by Raspberry Pi organization
  • A micro USB (type B) port for powering and programming the board
  • AHB crossbar
  • 2 on-chip phase-locked loops or PLLs to generate USB and core clocks
  • Programmable on-chip LDO to generate a core voltage
  • 26 GPIO pins with 23 GPIO pins are digital-only and the rest 3 pins are having ADC capabilities
  • 3 pin ARM SWD (Serial wire debug) port
  • 2MB onboard QSPI Flash
  • Raspberry Pi Pico board operates at a range of 1.8 – 5.5V DC power supply.
  • Operating temperature: -20°C - +85°C
  • Raspberry Pi Pico board also supports drag-and-drop programming using mass storage over a USB.
  • RP2040 also offers on-chip floating-point libraries.
  • Built-in temperature sensor.
  • Multiple digital peripherals supported by RP20400 are:
    • 1 real-time counter
    • 2 UART channels
    • 2 I2C
    • 2 SPI (Serial Peripheral Interfaces) channels
    • 16 PWM (Pulse width Modulation) channels
  • High quality and performance at a very low price
  • It also supports low power sleep mode and dormant mode

This module also offers an onboard buck-boost SMPS (switch mode power supply), which provides a flexible option for powering the board via a micro USB port, batteries or external supplies.

Along with various available peripheral interfacing modules and data communication capabilities, the Raspberry Pi Pico also offers, 8 PIO state machines, a USB 1.1 controller.

The Raspberry Pi Pico development board has been designed to use either a soldered 0.1" pin-headers or can also be used as a surface-mountable device (SMD) or module, as the user IO (input/output) pins are also castellated.

Microcontroller (RP2040)

Raspberry Pi Pico comes with a dual-core microcontroller RP2040 chip, the chip is completely designed in-house at Raspberry Pi.

Fig. 3 RP2040 Microcontroller

RP2040 is the first microcontroller from Raspberry Pi. It is manufactured on a 40nm process node, which provided low power consumption capability and a variety of low power modes to offer extended duration operation on battery power.

The RP2040 microcontroller board consists of total of 36 GPIO pins but only 26 GPIO pins are exposed for control and interfacing.

Now let’s understand why this microcontroller is named so!

  • In RP2040, RP stands for Raspberry Pi.
  • The first digit ‘2’ represents the number of processing cores.
  • The second digit ‘0’ represents the type of processor i.e., Mo+
  • ‘4’ represents the amount of RAM, from the functional floor (log2 (RAM/16kB)
  • The last digit represents the amount of non-volatile storage and ‘0’ indicates no non-volatile storage.

Fig. 4 RP2040 microcontroller

Communication protocols

Some of the communication protocols or methods supported by the raspberry Pi Pico model are:

  1. UART ( It offers 2 UARTs)
  2. 2 SPI (Serial peripheral interface) controllers
  3. 2 I2C controllers

GPIOs

Like a Raspberry Pi computer, Raspberry Pi Pico also featured with GPIO pins to control & interface peripherals or to communicate data with peripherals and even to receive inputs and control signals from those peripherals.

Fig. 5 Raspberry Pi Pico Pin-out

The Raspberry Pi Pico pin-out reveals that it has 40 pins in total, including the power supply pins ( GND and VCC pins). PWM, ADC, UART, GPIO, SPI, I2C, debugging pins, and system control pins are the different types of pins.

Unlike the Raspberry Pi computer board series, the Pico board's GPIO pins serve multiple purposes and in total Raspberry Pi Pico has 26 multifunctional pins. These 26 multi-functional pins are marked as GP0, GP1, GP2 and so on. They can be used to perform both digital input and digital output functions.

For example, if we consider the GP4 and GP5 pins, they can be used as either a digital input or digital output, as can I2C1 (SDA and SCK pins) or UART1 (Rx and Tx). But, only one function can be used at a time by selecting a particular pin and providing the respective instructions in the code.

  • PWM pins: Raspberry Pi Pico has 16 PWM output channels. Actually, it has 8 PWM blocks and each PWM block provides two PWM outputs and hence a total of 16PWM channels.
  • ADC pins: Raspberry Pi Pico board has 4 ADC pins to read analog inputs from peripherals (sensors) out of which only 3 ADCs and usable.

A 12- bit ADC is supported by the RP2040 Pico board and thus the ADC range can go from 0 to 4095.

The MicroPython code, on the other hand, can scale the ADC values to a 16-bit range. As a result, we have a range of 0 to 65535. Because the microcontroller operates at 3.3 V, an ADC pin will return a value of 65535 when 3.3 V is applied to it or 0 when no voltage is applied. When the voltage applied or the input voltage is in the range of 0 to 3.3 V, we can obtain all of the in-between values.

  • UART pins: if you have previously worked with any microcontroller board or development board then you might have used this protocol because this is the most commonly or frequently used serial communication protocol. Raspberry Pi Pico module also offers two UART channels, namely UART0 and UART1 and dedicated GPIO pins are available to implement this protocol.

Fig. 6 Raspberry Pi Pico Communication protocols

  • I2C pins: I2C is a bidirectional serial bus (Two Wire) that is used to communicate data among I2C enabled devices but over a short distance. In raspberry Pi Pico there we have two I2C controllers, which are easily accessible via GPIO pins.
  • SPI pins: SPI stands for Serial peripheral interface and it is used to communicate data between SPI enabled devices over a dedicated or available GPIO pins. Raspberry Pi offers 2 SPI channels for peripheral interface.
  • Power Supply Pins: Some power supply pins are also available to power up the board:
  • SMPS: This pins is used to generate the 3.3V for the Pico board and its GPIOs
  • VSYS: This is the primary input voltage and can be varied in 1.8v to 5.5.V supply range.
  • VBUS: The micro USB input voltage connected to the pin1 of micro-USB port.
  • GND pin

Some other features of Raspberry Pi Pico are:

Labeling

The silkscreen labeling on the top side of the board provides an orientation for 40 pins, while a full pin-out is printed on the rear.

USB

Raspberry Pi Pico comes with a USB 1.1 controller. This USB port is used to power up the board and program the Raspberry Pi Pico.

Bootsel

A BOOTSEL button is available on the Raspberry Pi Pico development board which means Boot Select. This button is used to put the board into USB mass storage mode while powering up the Pico board. This allows the user to drag and drop programs into the RPI-RP2 mounted drive.

Debugging

An SWD which stands for Serial Wire Debug is provided for hardware debugging and letting the user quickly track the problems down in the program.

Programming the Flash

As we mentioned earlier, the Raspberry Pi Pico offers 2MB of on-board QSPI flash memory which can be programmed or reprogrammed via using either the SWD (or Serial Wire Debug) port or using a special USB mass storage device mode.

An Internal Temperature sensor

Raspberry Pi Pico module comes with an inbuilt temperature sensor. The sensor is internally connected to the ADC or analog to digital converter pins of the Raspberry Pi Pico board. These ADC pins, supports a range of values and that is determined by the input voltage applied to the pins.

Programming Raspberry Pi Pico(2040)

Fig. 7 Programming Raspberry Pi Pico

There are multiple development environments available that support different programming languages to program the RP2040 microcontroller.

But, before writing a program for Raspberry Pi Pico you should have all the software and hardware components required to program the board.

Components required to program Raspberry Pi Pico:

The first thing required is a Micro-USB Cable, which allows the user to connect it to a computer or a Raspberry Pi for programming and powering up the Pico board.

The next component is the development environment required to compile and upload the program into the Raspberry Pi Pico development.

If you need to interface a peripheral with your Pico board using a breadboard then, you also need a set of Pico Headers.

RP2040 supports multiple programming languages like C/C++, Circuit python, MicroPython cross-platform development environments. Raspberry Pi Pico module consists of a built-in UF2 bootloader enabling programs to be loaded by drag and drop and floating-point routines are baked into the chip to achieve ultra-fast performance.

There are multiple development environments to program a Raspberry Pi Pico board like Visual Studio Code, Thonny Python IDE and Arduino IDE etc.

In our next tutorial, we will discuss the installation of the development environment for Raspberry Pi Pico and get started with the respective development environment.

So, this concludes the tutorial. I hope you found this of some help and also hope to see you soon with a new tutorial on Raspberry Pi.

Getting Started with Raspberry Pi Programming Series

to our new beginner’s course on Raspberry Pi. This course is appropriate for anyone using either a traditional Raspberry Pi board or the new Raspberry Pi 400 board that includes an integrated keyboard and display. Learning how to code, building robots, and doing plenty of other strange and exciting things are all possible with this low-cost computer setup. The Raspberry Pi can do everything a computer can do, from surfing the web to viewing movies and music, and playing video games.

Raspberry Pi is much more than a modern computer. It`s created to educate young people on how to program in languages such as Scratch and Python, and it comes with all of the major programming languages pre-installed. The world is in desperate need of programmers now more than ever, and Raspberry Pi has sparked a new generation's interest in computer science and technology. Raspberry Pi is used by people of all ages to build intriguing projects ranging from old-school gaming systems to internet-connected weather equipment.

Where To Buy?
No.ComponentsDistributorLink To Buy
1Raspberry Pi 4AmazonBuy Now

What are the aims of this course?

In this course, we'll learn how to make games, build robots, or hack all kinds of fantastic projects. The Raspberry Pi 4 Model B will be covered in this course. In the event that you're working with a different model of Raspberry Pi, don't be worried. whatever is taught here can be applied to any other model in the family.

What is this mini-computer?

It is a small computer about the size of a credit card that can run the Linux operating system. It uses a "system on a chip," which combines the CPU, GPU, RAM, USB ports, and other components into a single chip.

To distinguish it from traditional computers that conceal their internal components behind a casing, the Raspberry Pi's ports and functions are fully exposed, a protective case is available to buy. If you want to know how different computer components work and where to put the various peripherals, this is a great resource.

Features

All Raspberry Pi models share one feature in common:

  • Software written for one model can be used on another, as they are interchangeable.
  • Raspberry Pi operating system can even run on a pre-release Model B prototype. Although it will take longer, still run.

With this, what are you able to accomplish?

Now you've got a little machine that runs a lot of free software, so that's good. Exactly what can you do with it? Fortunately, I've got a simple and fun Python project that I used to teach middle school children in a coding lesson.

  • It's possible to create a weather station, a calculator, a gaming gadget, and a lot more out of the same thing. If you have a Raspberry Pi, you can even make a customized espresso machine that is secure like a Raspberry Pi locked door lock, as this one.
  • Can be used as a game server
  • Controller for robots
  • Webserver
  • Cryptocurrency Mining

Advantages of using this mini-computer

  • Low price
  • High computing power in a small board
  • Numerous interfaces
  • Linux and Python are supported

Disadvantages

  • Windows cannot be installed on the computer.
  • Inconvenient to use as a Desktop PC.
  • There is no graphics processor.
  • Internal eMMC storage is not present.
  • We can't attach external RAM as in a normal computer.

Components in a Raspberry pi

The Raspberry Pi features a number of parts that can be used to control the Raspberry Pi as well as other devices. The following ports will be available on your Raspberry Pi:

  1. System-on-chip

The majority of the Raspberry Pi's system resides on an integrated circuit, which is what the term "system-on-chip" refers to. Included in this is the CPU, which is referred to as a computer's 'brain,' as well as the graphics processing unit (GPU).

  1. Random-access memory (RAM)

A brain is useless without memory, therefore you'll notice another chip to the side of the SoC, tiny and black plastic, like a cube where RAM is located. When you're working on a Raspberry Pi, the RAM stores your work; it's only when you save it to the microSD card that it's written to the microSD card. The volatile and non-volatile memories of the Raspberry Pi are made up of these components. When the Raspberry Pi is turned off, the volatile RAM loses its contents, however, the non-volatile microSD card retains them.

  1. Raspberry pi`s radio module

A metallic lid covers the Raspberry Pi's radio component, which allows it to communicate wirelessly with other devices. In actuality, the radio has two main functions. Wi-Fi and Bluetooth are built-in, so you can use them to communicate with your computer and other nearby smart devices, sensors or cellphones.

  1. power management integrated circuit (PMIC)

Just behind the middle row of USB ports, an additional black, plastic-covered chip is seen towards the board's bottom border. The USB controller manages the four USB ports. The network controller is positioned next to this chip. An integrated circuit (PMIC) is also located on the upper left side of this board. It is in charge of converting power from a USB port to the precise voltage that the Raspberry Pi needs.

  1. Ports for connecting USB devices

The circuit board contains a variety of ports, beginning with four ports in the right side of the bottom edge. You can connect any USB-compatible device to your Raspberry Pi using these ports, including keyboards, mice, digital cameras, and flash drives. One of the two types of USB ports is a USB 2.0 port, which uses version two of the USB standard; the other is a USB 3.0 port, which uses version three.

  1. Ethernet port

There is an Ethernet port. Using an RJ45 cable, a Raspberry Pi can be linked with a wired computer network via this port. You'll notice two LEDs at the bottom, which indicate the connection is operational.

  1. Raspberry Pi AV jack

There is a 3.5 mm audio-visual jack. Connecting to amplified speakers rather than headphone jacks improves sound quality, but the headphone jack can still be used. Audio and video signals can be transmitted using the TRRS (tip-ring-ring-sleeve) adapter, which connects the 3.5 mm AV jack with projectors, tv, and other displays that can receive composite video signals.

  1. Camera connector

The camera serial interface (CSI), or camera connector, as it is most commonly called, is located above the AV jack and has a strange-looking plastic flap that may be pulled up (CSI). This allows you to connect a camera, which you'll learn later in this course.

  1. micro-HDMI ports

There are two micro HDMI connections available, which are a scaled-down version of the connectors seen on gaming consoles, set-top boxes, and televisions. Multimedia denotes that it can transport both audio and video information, and high-definition indicates that the quality will be excellent. A computer monitor, television, or projector will be needed to connect the Raspberry Pi to these adapters.

  1. Type-C port

The port above the HDMI ports is where you'll plug in the Raspberry Pi's power supply. USB Type-C ports can be found on smartphones, tablets, and other mobile devices. Instead of a standard mobile charger, employ the certified Raspberry Pi USB Type-C Power Supply for the best results.

  1. Display connector (DSI)

There is a strange-looking connector at the top of the board, which appears to be the camera connector at first sight, but it's not. It is for usage with a Raspberry Pi Touch Display.

  1. Raspberry Pi’s GPIO header

In two rows of 20 pins each, you'll find 40 metal pins along the right edge of the board. To communicate with peripherals such as LEDs and buttons to temperature sensors, joysticks, and pulse rate monitors, the Raspberry Pi includes a function known as GPIO (general-purpose input/output).

  1. Raspberry Pi’s microSD card connector

The Raspberry Pi has one more port, the micro-SD connector, which is on the other side of the circuit board. The MicroSD card is inserted here and you'll find all the files you've saved and installed as well as the operating system that makes your Raspberry Pi work.

What can you expect from the Raspberry Pi?

  • 1GB of RAM, and dual-band 802.11ac wireless LAN
  • This device has a Bluetooth 4.2 connection; it also has four USB 2.0 connections, an HDMI port, a composite video port, and 40 GPIO pins.
  • 3D graphics, Camera interface (CSI), Display interface, and Micro SD card slot (DSI)

What operating system is it using?

Unfortunately, the Raspberry Pi lacks the ability to run either Macintosh or Windows. Instead, it uses Raspbian, a Linux distribution. Installing Raspbian on your own micro-SD card is also possible using the NOOBS installation. You'll see this loading screen when you insert in the microSD card with Raspbian installed and turn on the Raspberry Pi.

As you've seen, the desktop on your huge PC looks exactly like the one you are used to. A web browser, terminal, picture viewer, calculator, and a slew of other tools are all included by default.

Requirements before you begin

The Raspberry Pi is the heart of your project, but without a power supply or storage, it won't be able to go very far. To get started, you'll need the following:

  1. The Raspberry Pi

      1. A Power Supply

The power supply standard for the Raspberry Pi 4 has been upgraded from microUSB to USB-C, which is an improvement. Powering your Raspberry Pi is best done with a dedicated power adapter from the Raspberry Pi Foundation.

      1. MicroSD Card

The later Pi models use microSD cards instead of the normal SD cards that were used in the original Pi models A and B. However, not all SD cards function correctly, therefore it's preferable to acquire a pre-loaded operating system with the original Raspberry Pi microSD card or a tested suitable card, such as the SanDisk Ultra 32GB.

      1. Case

This is technically optional, but we strongly advise it. It is a good idea to use a case to protect your bare board rather than leaving it exposed. The FLIRC case has a built-in heatsink, making it an excellent choice for older models of the Raspberry Pi.

      1. Mouse, Keyboard, and HDMI Cable

You can control your Raspberry Pi using a keyboard and a mouse. Raspberry Pi can utilize almost any USB-connected keyboard and mouse, wired or wireless. However, don`t use 'gaming' keyboards with flashing lights since they consume too much power to be used successfully.

USB gamepads are also necessary when you are building consoles like a gaming rig, therefore, don't forget about them.

First time set up

We are now going to set up our minicomputer therefore follow these simple steps to get yours up and running:

  • An SD card should be inserted into the SD card slot on the pi board. For the time being, we strongly advise you to stick with Raspbian until you are more comfortable with its features.
  • Use one of the USB ports to connect a mouse and a keyboard to the system. When using 'gaming' mice or other high-end equipment that requires software and drivers, it might waste power and place additional strain on the system. Just use 'plug-and-play' equipment to keep things easy and hassle-free.
  • Using the HDMI port, connect a monitor. Connect the monitor to a wall outlet, and then turn the power on and off as necessary. If you turn on the Raspberry Pi right now, nothing will happen. Adapters for non-HDMI monitors that don't impede access to the USB ports should be used.
  • In order to use Ethernet instead of Wi-Fi, you will need to connect an Ethernet cable as well. The speaker or headphones should be plugged in as well if you wish to hear sound from the speakers. However, to get the Raspberry Pi up and running, you don't need either of these items.
  • Finally, insert the micro-USB cable into the power source and into the wall socket. The Raspberry Pi's red LED will light up, and you'll be able to see it booting up on the monitor. Once you get back to your computer, you'll see a desktop screen.

Congratulations! You've successfully assembled your Raspberry Pi! I hope you have something like this:

Conclusion

At this point in the course, we've learned about the Raspberry Pi computer and what each component does. Our minicomputer has now been set up, and in the next tutorial, we'll learn how to use the python programming language with the Raspbian operating system.

Reading Data from Firebase Database with ESP32

Internet of Things is a system of multiple inter-related computing devices. The factor ‘thing’ in IoT is designated to an entity capable of communicating data over a network (IOT), which can be a digital machine, sensor, human being, animals etc. Each component that is included in IoT network is assigned with an unique identity called UID and the ability to communicate data over IoT network without any external human or computer intervention.

Hello readers, I hope you all are doing great. In our previous tutorial, we discussed how to upload data to Firebase Real-time Database using ESP32. In this tutorial, we will learn how to read the data stored on the Firebase Database with ESP32.

We can access the data stored in Firebase database from anywhere in the world, which makes this preferable in IoT applications.

Where To Buy?
No.ComponentsDistributorLink To Buy
1ESP32AmazonBuy Now

Project overview

In our previous tutorial, we learnt how to upload an integer value (for demonstration) to Firebase real-time database. So, in this tutorial we will learn how to fetch or receive those integer values from Firebase database.

To access real-time data, we are using two ESP boards where one is used to upload/store the real-time data to the Firebase database and another to read the data stored on the firebase.

Although, it is not required to use two ESP boards, we can also access the previously saved data on the Firebase database with only a single ESP32/ESP8266 board.

We can use the same code for both ESP32 and ESP8266 but we need to make some changes like some of the libraries will be different for ESP8266 and the selection of ESP8266 development board while uploading the code with Arduino IDE.

Fig. 1 Reading data from firebase

Firebase

Google's Firebase real-time database is a development platform that includes a number of services for managing and authenticating data.

Firebase is a mobile and web app development platform (that also works well with Android APIs) that includes features such as Firebase Cloud, real-time data, and Firebase authentication, among others.

According to Firebase's official documentation (https://firebase.google.com/docs/database), when a user creates a cross-platform application using JavaScript SDKs for Android or Apple, all clients share a single database.

Fig. 1 Firebase Real-time database and ESP32

The following are the main features of the Firebase Real-time database:

  • Firebase applications remain responsive even when they are not connected to the internet. If any changes were missed while in offline mode, they will be automatically synchronized once connectivity is restored.
  • Unlike hypertext transfer protocol requests, Firebase RTDB uses data synchronization to update changes in the database within milliseconds, making it easier to access the database from a web browser or a mobile device.

Firebase in IoT:

The Internet of Things, also known as IoT, is the interconnection of physical objects or devices with sensors and software accessing capabilities in order to communicate data or information over the internet.

We need an interface medium that can fetch, control, and communicate data between sender and receiver electronics devices or servers in order to build an IoT network.

The Firebase real-time database gives you a place to store data from sensors on your level device. With Android APIs, Firebase performs admirably.

Firebase is especially useful for storing data from sensors and syncing it between users in real-time in data-intensive Internet of things (IoT) applications. For the sake of simplicity and clarity, we can say that it is a Google cloud service for real-time collaborative apps.

Components required:

  • ESP32 development board
  • Arduino IDE for programming
  • Firebase account
  • Firebase API key and project URL

Programming with Arduino IDE

We are using Arduino IDE to compile and upload code into the ESP32 module. You must have ESP32 board manager installed on your Arduino IDE to program the ESP32 module. To know more about Arduino IDE and how to use it, follow our previous tutorial i.e., on ESP32 programming series. The link is given below:

https://www.theengineeringprojects.com/2021/11/introduction-to-esp32-programming-series.html

Steps to add the necessary libraries in Arduino IDE:

  • Go to Tools >> Manage Libraries.

Fig. 2 manage libraries

  • Search for the Firebase ESP Client library in Library Manager and click Install.
  • We are attaching an image, where we are installing the Firebase ESP-Client (2.3.7 version) library.

Fig. 3 Install Firebase ESP Client Library

Firebase API key and Project URL

We have already posted a tutorial on our website on getting started with Firebase real-time database and how to post or upload data to Firebase database from ESP32. Where we discussed, how to create a project on Firebase real-time database, authentication, how to access the API key and project URL etc.

So now we do not need to create a new project, we are using the same project and hence same API key and project URL to read or download the data from Firebase real-time database.

  • To access the project API key, go to Firebase website and open the project you have created.
  • Go to left sidebar >> setting >> project setting and copy the Web API key.
  • Paste that API key in your Arduino IDE code.

Fig. 4 Project Setting

Fig. 5 Project API key

  • Got to Real-time database on left sidebar and copy the project URL.
  • Paste the project URL in your Arduino IDE code.

Fig. 6 Project URL

 

Code

//--add necessary header files

#include <WiFi.h>

#include <Firebase_ESP_Client.h>

#include "addons/TokenHelper.h" //Provide the token generation process info.

#include "addons/RTDBHelper.h" //Provide the real-time database payload printing info and other helper functions.

// Insert your network credentials

#define WIFI_SSID "ssid"

#define WIFI_PASSWORD "password"

// Insert Firebase project API Key

#define API_KEY "replace this with your project API key"

// ----Insert real-time database URL

#define DATABASE_URL "replace this with your project URL"

//Define Firebase Data object

FirebaseData fbdo;

FirebaseAuth auth;

FirebaseConfig config;

unsigned long sendDataPrevMillis = 0;

int read_data;

bool signupSuccess = false;

void setup() {

Serial.begin(115200);

WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

Serial.print("Connecting to Wi-Fi");

while (WiFi.status() != WL_CONNECTED) {

Serial.print(".");

delay(200);

}

Serial.println();

Serial.print("Connected to... ");

Serial.println(WiFi.localIP());

Serial.println();

// Assigning the project API key

config.api_key = API_KEY;

//Assign the project URL

config.database_url = DATABASE_URL;

/// check signup statue

if (Firebase.signUp(&config, &auth, "", "")) {

Serial.println("ok");

signupSuccess = true;

}

else {

Serial.printf("%s\n", config.signer.signupError.message.c_str());

}

// Assign the callback function for token generation task

config.token_status_callback = tokenStatusCallback;

Firebase.begin(&config, &auth);

Firebase.reconnectWiFi(true);

}

void loop()

{

if (Firebase.ready() && signupSuccess && (millis() -

sendDataPrevMillis > 8000 || sendDataPrevMillis == 0))

{

sendDataPrevMillis = millis();

if (Firebase.RTDB.getInt(&fbdo, "/test/int"))

{

if (fbdo.dataType() == "int")

{

read_data = fbdo.intData();

Serial.print("Data received: ");

Serial.println(read_data); //print the data received from the Firebase database

}

}

else

{

Serial.println(fbdo.errorReason()); //print he error (if any)

}

}

}

Code Description

  • The libraries we are using are:
    • The first one is h, which is used to enable the Wi-Fi module and hence wireless network connectivity.
    • Another library we are using is the h which is responsible for interfacing ESP32 and Firebase Real-time Database.

Fig. 7 Header files

  • We also need to add two helper libraries (required by the Firebase library).
  • The TokenHelper library is responsible for managing the token generation process.
  • On the other hand, the RTDBHelper library is responsible for providing helper functions to print data coming from the Firebase database.

Fig. 8 Helper libraries

  • Next, we need to insert the project API key obtained from the Firebase project setting page.

Fig. 9 Insert API key

  • Similarly, insert the RTDB (real-time database) URL.

Fig. 10 RTDB URL

  • Next, we are defining three firebase data objects, responsible for linking App to Firebase.

Fig. 11 Firebase Data Objects

  • Enter the network credentials in place of SSID and PASSWORD.

Fig. 12 Enter Network credentials

Setup

  • Initialize the serial monitor at 115200 baud rate for debugging purpose.
    • begin() function is used to initialize the Wi-Fi module with Wi-Fi credentials used as arguments.
    • The While loop will continuously run until the ESP32 is connected to Wi-Fi network.

Fig. 13 Initialize wifi module

  • If the device is connected to local Wi-Fi network then print the details on serial monitor.
  • localIP() function is used to fetch the IP address.
  • Print the IP address on serial monitor using println() function.

Fig. 14 Fetch/obtain the IP address

  • Here, we are assigning the API key to the firebase configuration.

Fig. 15 configuring API key

  • Similarly, the database URL is also assigned to firebase configuration

Fig. 16 configuring database URL

  • Next, we are checking or verifying the Firebase sign-up status.
  • In the signup() function the last two arguments are empty, indicating the anonymous user.
  • If you have enabled different sign-up methods during the Firebase authentication method like Google account, Facebook etc then you need to add the respective credentials as arguments.
  • The respective results of signup status will be printed on the serial monitor.

Fig. 17 sign up status

  • Next, you need to assign the callback function for token generation.

Fig. 18

Loop()

  • Once the signup is successfully done, we are ready to fetch the data stored on the Firebase real-time database in every 10 seconds.
  • RTDB.getInt() command is used to store the data in /test/int node. But before that we are checking the data type that is ‘int’(integer). If the data type of the message/data received from Firebase RTDB is ‘int’ only then the data will be stored inside the integer type variable i.e., “read_data”.

Fig. 19 Fetch data from Firebase RTDB

  • If the data type is other than integer then an error will be printed on the serial monitor.

Fig. 20

  • Similarly, we can read/fetch various types of data like float, string, array etc. from the firebase database.

Testing

  • Open your Arduino IDE and paste the above code.
  • Change the network credentials, that is the SSID and PASSWORD as per you network setup.
  • Compile and upload the code into ESP32 development board.
  • Before uploading the code make sure that you have selected the correct development board and COM port.

Fig. 21 Select development board and COM port

  • Once the code is uploaded successfully, open the Serial monitor and select the 1115200 baud rate (as per your code instructions).
  • Make sure Wi-Fi to which your ESP device is supposed to connect is ON.
  • Once your ESP device is connected with Wi-Fi, you should see the data fetched from Firebase, printing on the serial monitor with a particular delay (as per the code instructions).

Fig. 22 Data sent Vs Data Received

This concludes the tutorial. I hope you found this of some help and also hope to see you soon with a new tutorial on ESP32.

ESP32 Firebase

Hello readers, I hope you all are doing great. In this tutorial, we will learn how to access Firebase (a real-time database) to store and read values or data with ESP32.

It is Google’s mobile application development platform that can be used to can access, monitor and control ESP32 from anywhere in the world with its (firebase) real-time database.

Where To Buy?
No.ComponentsDistributorLink To Buy
1ESP32AmazonBuy Now

What is Firebase?

Firebase real-time database is a development platform provided by Google which included multiple services to manage and authenticate data.

Firebase is basically a mobile and web app development platform I as works great with Android APIs) that includes features like firebase cloud, real-time data and Firebase authentication etc.

As per Firebase’s official documentation (https://firebase.google.com/docs/database), whenever a user creates a cross-platform application like with Android, or Apple, JavaScript SDKs, all the clients share a single.

Fig. 1 Firebase Real-time database and ESP32

The main features of the Firebase Real-time database are:

  • Firebase applications remain responsive even in offline mode. If any changes are missed during the offline mode, then after the connectivity is reestablished those changes will be automatically synchronized.
  • Firebase Real-time database makes it easier to access the database from a web browser or a mobile device.
  • Unlike hypertext transfer protocol requests, Firebase RTDB uses data synchronization which makes it possible to update the changes in the database within milliseconds.

Role of Firebase Realtime Database in IoT

The IoT or Internet of Things is the interconnection of physical objects or devices with sensors and software accessing capabilities to communicate data or information over the internet.

To build an IoT network, we need an interface medium that can fetch, control, and communicate data between sender and receiver electronics devices or servers.

Firebase real-time database provides a platform to store data collected from sensors at the level device. Firebase works great with Android APIs.

Firebase is particularly useful in data-intensive Internet of things (IoT) applications to store from sensors and synch that data between users in real-time. For simplicity or better understanding we can say that it is a cloud service provided by Google for real-time collaborative apps.

Project Overview

  • In this tutorial we are going to create a Firebase project with real-time database to read and store data with ESP32. Steps included to achieve the target are; creating a firebase project, storing data from ESP32 to firebase real-time Database, Reading data from firebase real-time database with ESP32.

Prerequisites

  • ESP32 development board
  • Arduino IDE
  • Necessary Library (Firebase ESP Client)
  • A Google account to access Firebase
 

Getting Started with Firebase

  • Create a project

The steps involved in creating a Firebase project are:

Fig. 2 Get started

  • Click on Create a project.

Fig. 3 Create a project

  • Assign a name to your project and accept the terms and conditions then click on the continue

Fig. 4 project name

  • Disable the “Enable Google Analytics” option and click on real-time.

Fig. 5 Enabling Google Analytics

  • Now your project is ready click the

Fig. 6 Project Created successfully

Authentication

    • Next we need to set the authentication methods for the app.

As per the official firebase documentation at: https://firebase.google.com/docs/auth , the identity of a user is required by most online services or mobile applications or we can say , it handles authentication process and logging in (in this tutorial, the ESP32). Getting to know the identity of a user enables an application to save user data securely in the cloud and provide a consistent personalized service across all of the customer's devices (android phones, computers, applications etc).

  • Click on

Fig. 7 Authentication

  • You will be redirected to a new page, click on ‘get started.
  • There are multiple methods available to authenticate you account, as shown below.
  • Select any of the authentication method.

Fig. 8 Select authentication method

Next thing is creating a real-time database for the project.

  • Creating a Real-time Database
    • Click on the Real-time database given at the left sidebar.

Fig. 9 Real-time database

  • Then, click on Create Database.

Fig. 10 Creating database

  • Select your nearest location.

Fig. 11

  • Select the Start in test mode option and click on enable

Fig. 12 select location

  • Now your database is successfully created. You will be redirected to a new page containing the database URL.
  • Copy the URL and paste in your ESP32 code.
  • Now the next requirement is getting the API key.

Project API

    • Go to left sidebar and click on Project Overview and then project setting.

Fig. 13 Accessing project API key

  • Copy the web API key and paste in your ESP32 code.
  • That’s all about creating a Firebase account, project, and verification. Now, we are ready to interface the database and ESP32 module.

Programming with Arduino IDE

We are using Arduino IDE to compile and upload code into the ESP32 module. You must have the ESP32 board manager installed on your Arduino IDE to program the ESP32 module. To know more about Arduino IDE and how to use it, follow our previous tutorial i.e., on ESP32 programming series. The link is given below:

https://www.theengineeringprojects.com/2021/11/introduction-to-esp32-programming-series.html

Steps to add the necessary libraries in Arduino IDE:

  • Go to Tools >> Manage Libraries.

Fig. 14 manage libraries

  • Search for the Firebase ESP Client library in Library Manager and click Install.
  • We are attaching an image, where we are installing the Firebase ESP-Client (2.3.7 version) library.

Fig. 15 Install Firebase ESP Client Library

Arduino IDE Code ( To store data from ESP32 to Firebase Database)

//--add necessary header files

#include <WiFi.h>

#include <Firebase_ESP_Client.h>

#include "addons/TokenHelper.h" //Provide the token generation process info.

#include "addons/RTDBHelper.h" //Provide the real-time database payload printing info and other helper functions.

// Insert your network credentials

#define WIFI_SSID "replace this with your netwrok SSID"

#define WIFI_PASSWORD "replace this with your wi-fi password"

// Insert Firebase project API Key

#define API_KEY "replace this with your API key"

// ----Insert real-time database URL

#define DATABASE_URL "replace this with your project URL"

//----Define Firebase Data object

FirebaseData fbdo;

FirebaseAuth auth;

FirebaseConfig config;

int value = 10;

bool signupSuccess = false;

unsigned long sendDataPrevMillis = 0;

void setup()

{

Serial.begin(115200);

WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

Serial.print("Connecting to Wi-Fi");

while (WiFi.status() != WL_CONNECTED){

Serial.print(".");

delay(100);

}

Serial.println();

Serial.print("Connected with IP: ");

Serial.println(WiFi.localIP() );

Serial.println();

// Assign the api key ( required)

config.api_key = API_KEY;

// Assign the RTDB URL ( required)

config.database_url = DATABASE_URL;

// Sign up status

if (Firebase.signUp(&config, &auth, "", ""))

{

Serial.println("ok");

signupSuccess = true;

}

else{

Serial.printf("%s\n", config.signer.signupError.message.c_str());

}

/* Assign the callback function for the long running token generation task */

config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h

Firebase.begin(&config, & auth);

Firebase.reconnectWiFi( true);

}

 

void loop()

{

if (Firebase.ready() && signupSuccess && (millis() - sendDataPrevMillis >

10000 || sendDataPrevMillis == 0))

{

sendDataPrevMillis = millis();

if (Firebase.RTDB.setInt(&fbdo, "test/int", value))

{

Serial.println("PASSED");

Serial.println("PATH: " + fbdo.dataPath());

Serial.println("TYPE: " + fbdo.dataType());

}

else

{

Serial.println("FAILED");

Serial.println("REASON: " + fbdo.errorReason());

}

value++;

}

}

Before uploading the code in ESP32 board there are some changes you need to make which includes:

  • Adding network credentials
  • Inserting API key
  • Inserting Firebase project URL
  • Installing necessary library files

Code Description

  • The libraries we are using are:
    • The first one is h, which is used to enable the Wi-Fi module and hence wireless network connectivity.
    • Another library we are using is the h which is responsible for interfacing ESP32 and Firebase Real-time Database.

Fig. 16 Header files

  • We also need to add two helper libraries (required by the Firebase library).
  • The TokenHelper library is responsible for managing the token generation process.
  • On the other hand, the RTDBHelper library is responsible for providing helper functions to print data coming from the Firebase database.

Fig. 17 Helper libraries

  • Next, we need to insert the project API key obtained from the Firebase project setting page.

Fig. 18 Insert API key

  • Similarly, insert the RTDB (real-time database) URL.

Fig. 19 RTDB URL

  • Next, we are defining three firebase data objects, responsible for linking App to Firebase.

Fig. 20 Firebase Data Objects

  • Enter the network credentials in place of SSID and PASSWORD.

Fig. 21 Enter Network credentials

  • Next, we are defining some variables to store integer value, status of sign up to firebase account, and delay element etc.

Fig. 22 variable declaration

 

Setup

  • Initialize the serial monitor at 115200 baud rate for debugging purpose.
    • begin() function is used to initialize the Wi-Fi module with Wi-Fi credentials used as arguments.
    • The While loop will continuously run until the ESP32 is connected to Wi-Fi network.

Fig. 23 Initialize wifi module

  • If the device is connected to local Wi-Fi network then print the details on serial monitor.
  • localIP() function is used to fetch the IP address.
  • Print the IP address on serial monitor using println() function.

Fig. 24 Fetch/obtain the IP address

  • Here, we are assigning the API key to the firebase configuration.

Fig. 25 configuring API key

  • Similarly, the database URL is also assigned to the firebase configuration

Fig. 26 configuring database URL

  • Next, we are checking or verifying the Firebase sign-up status.
  • In the signup() function the last two arguments are empty, indicating the anonymous user.
  • If you have enabled different signup methods during the Firebase authentication method like Google account, Facebook etc then you need to add the respective credentials as argument.
  • The respective results of signup status will be printed on the serial monitor.

Fig. 27 sign up status

  • Next, you need to assign the callback function for token generation.

Fig. 28

Loop()

  • If, the sign up status is true (or Successful), then we are ready to send the data from ESP32 to Firebase Real-time database.
  • For demonstration purpose, we are sending integer value to the Firebase database. You can also send a string, float, array, sensor reading etc. as per your requirements.
  • senInt() command is used to send integer values. This command is passing three arguments first on is the firebase database object, the second argument is the database node path and the third one is the ‘value’ we are communicating to Firebase real-tie database.
  • Similarly, we can share string, float, or array etc.

Fig. 29 Loop() function

Testing

  • Open your Arduino IDE and paste the above code.
  • Change the network credentials, that is the SSID and PASSWORD as per you network setup.
  • Compile and upload the code into ESP32 development board.
  • Before uploading the code make sure that you have selected the correct development board and COM port.

Fig. 30 Select development board and COM port

  • Once the code is uploaded successfully, open the Serial monitor and select the 1115200 baud rate (as per your code instructions).
  • Make sure Wi-Fi to which your ESP device is supposed to connect is ON.
  • Go to https://console.firebase.google.com.
  • Select the project you have created.
  • Click on left sidebar and then click on Real-time Database.
  • A new page will open, containing the data uploaded from the ESP32.
  • We have attached an image below for your reference.
  • An integer value will be uploaded to the Firebase Real-time database in every 10 seconds.
  • In the image attached below, you can see three different values displaying. But only the integer value (in yellow color) is active and rest of the data is inactive.

Fig. 31 Result 1

  • The integer value is increasing by 1 in every 10 second.

Fig. 32 Result 2

  • Similarly, we can interface and upload sensor reading to the Firebase database.

This concludes the tutorial. I hope you found this of some help and also hope to see you soon with a new tutorial on ESP32.

ESP32 BMP280 sensor Interfacing with ThingSpeak WebServer

Hello readers, I hope you all are doing great. In this tutorial, we will learn how to interface the BMP280 sensor with the ES32 module to get temperature, pressure and altitude readings. Later, in this tutorial, we will also discuss how to upload these sensor readings to a web server.

Where To Buy?
No.ComponentsDistributorLink To Buy
1ESP32AmazonBuy Now

BMP280

BMP280 or Barometric pressure sensor is a module used to measure temperature pressure and altitude. The small size and low power consumption feature of this sensor makes it feasible for battery-powered devices, GPS modules and mobile applications etc.

Fig. 1 BMP280 Sensor

The BMP280 is the product of BOSCH which is based on Bosch’s proven Piezo-resistive pressure sensor technology featured with high accuracy, long term stability, linearity and high EMC robustness.

BMP280 is the successor of the BMP180 sensor and offers high performance in all the areas that require precise temperature and pressure measurements.

Emerging applications like fitness, indoor navigation, GPS refinement requires relative accuracy and BMP280 is perfect for such applications. Very low TCO (Temperature coefficient of Offset ) makes this module preferable over other available modules for temperature measurements.

We can also use a DHT11/DHT22 sensor for temperature and humidity measurements but the BMP280 sensor provides better accuracy (i.e., 0.01°C) than DHT sensors.

Technical specifications of BMP280

  • Operating voltage: 1.8 -3.3V DC
  • Communication protocols supported: SPI, I2C
  • Ultra low power consumption
  • Temperature accuracy: 1°C
  • Temperature range: -40 to 85°C
  • Absolute accuracy : 1 hPa

Components required:

  • ESP32 development board
  • Arduino IDE for programming
  • BMP280 sensor
  • Breadboard
  • Connecting wires

Interfacing BMP280 with ESP32

There are two methods of interfacing BMP280 sensor with ESP32 module:

  1. I2C protocol
  2. SPI protocol

In the bMP280 Sensor module, there are six interfacing pins including VCC and GND.

Fig. Interfacing BMP280 and ESP32

We are using the I2C protocol for interfacing the two (ESP and BMP280) so only SCL and SDA pins will be used with power pins for interfacing. The SDO and CSB pins will be used only if you are using the SPI protocol for interfacing.

Table 1

Programming with Arduino IDE

We are using Arduino IDE to compile and upload code into the ESP32 module. You must have ESP32 board manager installed on your Arduino IDE to program the ESP32 module. To know more about Arduino IDE and how to use it, follow our previous tutorial i.e., on ESP32 programming series. The link is given below:

https://www.theengineeringprojects.com/2021/11/introduction-to-esp32-programming-series.html

Steps to add the necessary libraries in Arduino IDE:

  • Go to Tools >> Manage Libraries.

Fig. 2 manage libraries

  • Search for the Adafruit BMP280 library in Library Manager and click Install.

Fig. 3 Install library

Getting I2C address

  • In order to interface your ESP32 with BMP280, you should know the I2C address of the sensor (BMP280).
  • To obtain the address of the I2C device, copy and paste the below attached code into your Arduino IDE.
  • Compile and upload the code.
  • Open the serial monitor at 115200 baud rate.
  • Now you should see the address of your I2C device printed on the serial monitor.
  • Copy the I2C address and paste in your final code (interfacing esp32 and BMP290 sensor).

#include <Wire.h>

void setup()

{

Wire.begin();

Serial.begin(115200);

Serial.println("\nI2C Scanner");

}

void loop()

{

byte error, address;

int nDevices;

Serial.println("Scanning...");

nDevices = 0;

for(address = 1; address < 127; address++ )

{

Wire.beginTransmission(address);

error = Wire.endTransmission();

if (error == 0)

{

Serial.print("I2C device found at address 0x");

if (address<16)

{

Serial.print("0");

}

Serial.println(address,HEX);

nDevices++;

}

else if (error==4)

{

Serial.print("Unknow error at address 0x");

if (address<16) {

Serial.print("0");

}

Serial.println(address,HEX);

}

}

if (nDevices == 0) {

Serial.println("No I2C devices found\n");

}

else {

Serial.println("done\n");

}

delay(5000);

}

Code (Interfacing and fetching sensor reading from BMP280 with ESP32)

#include <Wire.h>

#include <Adafruit_BMP280.h>

#define BMP_SDA 21

#define BMP_SCL 22

Adafruit_BMP280 bmp280;

void setup()

{

Serial.begin(115200);

Serial.println("Initializing BMP280");

boolean status = bmp280.begin(0x76);

if (!status)

{

Serial.println("Not connected");

}

}

void loop()

{

float temp = bmp280.readTemperature();

Serial.print("temperature: ");

Serial.print(temp);

Serial.println("*C");

float altitude = bmp280.readAltitude(1011.18);

Serial.print("Altitude: ");

Serial.print(altitude);

Serial.println("m");

float pressure = (bmp280.readPressure()/100);

Serial.print("Pressure: ");

Serial.print(pressure);

Serial.println("hPa");

Serial.println(" ");

delay(1000);

}

Code Description

  • The first task is adding necessary header files.
  • We are using two libraries:
    • The Wire.h is used to enable I2C communication/interfacing.
    • The second library we are using is, Adafruit_BMP280.h is to control the BMP sensor and access its respective function.

Fig. 4

  • As we mentioned earlier, we are using the I2C protocol for interfacing BMP280 with ESP32. So we need to define the I2C GPIO pins.
  • In the ESP32 DevKit V1 development board, the GPIO_21 and GPIO_22 are the SDA and SCL pins for I2C communication.
  • Then a bmp280 object is declared for interfacing the sensor.

Fig. 5

Setup()

  • In the setup() function, we are initializing the serial communication at 115200 baud rate for debugging purposes.
  • The BMP280 sensor is initialized with bmp280.begin() function where we are passing the I2C address of the module as an argument.
  • Next, we need to check the status of the interface and the respective result will be printed on the serial monitor.

Fig. 6

Loop()

  • The next task is getting the sensor readings.
  • Here we are measuring three parameters, temperature, humidity and altitude.
  • A float type variable “temp” is defined to store the temperature readings observed from BMP280 sensor using readTemperature() function.

Fig. 7

  • Next, the altitude is measured using bmp280.readAltitude function.
  • We need to adjust the altitude to the local forecast using the multiplying factor.

Fig. 8

  • The bmp280.readPressure() function is used to obtain the pressure using BMP280 sensor.
  • BMP280 sensor readings will be updated every time with a delay of 1 second.

Fig. 9

Testing

  • Open your Arduino IDE and paste the above code.
  • Compile and upload the code into ESP32 development board.
  • Before uploading the code make sure that you have selected the correct development board and COM port.

Fig. 10 Select development board and COM port

  • Once the code is uploaded successfully, open the Serial monitor and select the 1115200 baud rate (as per your code instructions).
  • Now you should see the readings obtained from barometric pressure sensor.

Fig. 11 Serial monitor output

Uploading BMP280 Sensor data to ThingSpeak server

Most of the industries and organizations these days are shifting to the efficient ways of operating things and the IoT internet of things is one of them.

Internet of Things is a system of multiple inter-related computing devices. The factor ‘thing’ in IoT is designated to an entity capable of communicating data over a network (IOT), which can be a digital machine, sensor, human being, animals etc.

Each component that is included in IoT network is assigned with an unique identity called UID and the ability to communicate data over IoT network without any external human or computer intervention.

Fig. 12 IoT

ThingSpeak is an open data platform for the Internet of Things applications. It is a MathWorks web service that allows users to send sensor readings and data to the cloud. We can also visualize and act on the data (calculate the data) that is sent to ThingSpeak by the devices. The information can be saved in both private and public channels.

ThingSpeak is frequently used for IoT prototyping and proof-of-concept devices that require data analysis.

Programming with Arduino IDE

Downloading and installing the required Library file:

  • Follow the link attached below to download the thingSpeak Arduino library:

https://github.com/mathworks/thingspeak-arduino

  • Open the Arduino IDE.
  • Go to Sketch >> Include Library >> Add .ZIP Library and select the downloaded zip file.

Fig. 13 Adding ThingSpeak library

To check whether the library is successfully added or not:

  • Go to Sketch >> Include Library >> Manage Libraries

Fig. 14

  • Type thingspeak in the search bar.

Fig, 15 Arduino IDE Library manager

  • The ThingSpeak library by MathWorks has been successfully downloaded.
 

Getting Started with ThingSpeak

  • To create and account or log in to ThingSpeak (operated by MathWorks) server follow the link: https://thingspeak.com/
  • Click on Get Started for free.

Fig. 16 Getting started for free

  • Enter the required details to create a MathWorks account as shown below:

Fig. 17 Create new account

  • If you have already created a MathWorks account, then click on Sign in.

Fig. 18 MathWorks Sign in

  • Create a channel by clicking on the New Channel

Fig. 19 New Channel

  • Enter the respective details in the channel.
  • Because we are measuring three parameters (temperature, pressure and altitude), hence we need to create three different fields in this channel.

Fig. 20 Creating channel and respective fields

  • Press “save” button.

Fig. 21 save the channel

  • After successfully saving the channel, a new window will open containing the channel details and Channel Stats.
  • In the same window, go to API Keys which contains the Write API keys and Read API keys.
  • Copy the Write API key and paste this in ESP32 Arduino code to upload the sensor readings on ThingSpeak server.
  • You can also customize the chart in Private View. Click on the icon present at the top right menu of Field Chart (in red box) to edit the chart.
  • Edit the details as per your requirements and click on save button to save the details.

Fig. 22 Field Chart Edit

  • Now your ThingSpeak channel is ready to communicate and save/store data.

Code (Arduino IDE)

// ------style guard ----

#ifdef __cplusplus

extern "C"

{

#endif

uint8_t temprature_sens_read();

#ifdef __cplusplus

}

#endif

uint8_t temprature_sens_read();

// ------header files----

#include <WiFi.h>

#include "ThingSpeak.h"

#include <Wire.h>

#include <Adafruit_BMP280.h>

#define BMP_SDA 21

#define BMP_SCL 22

Adafruit_BMP280 bmp280;

// -----netwrok credentials

const char* ssid = "public"; // your network SSID (name)

const char* password = "ESP32@123"; // your network password

WiFiClient client;

// -----ThingSpeak channel details

unsigned long myChannelNumber = 4;

const char * myWriteAPIKey = "9R3JZEVBG73YE8BY";

// ----- Timer variables

unsigned long lastTime = 0;

unsigned long timerDelay = 1000;

 

void setup()

{

Serial.begin(115200); // Initialize serial

Serial.println("Initializing BMP280");

boolean status = bmp280.begin(0x76);

if (!status)

{

Serial.println("Not connected");

}

//Initialize Wi-Fi

WiFi.begin(ssid, password);

Serial.print("Connecting to Wi-Fi");

while (WiFi.status() != WL_CONNECTED)

{

Serial.print(".");

delay(100);

}

Serial.println();

Serial.print("Connected with IP: ");

Serial.println(WiFi.localIP());

Serial.println();

// Initialize ThingSpeak

ThingSpeak.begin(client);

}

void loop()

{

if ((millis() - lastTime) > timerDelay )

{

float temp = bmp280.readTemperature(); //temperature measurement

Serial.print("temperature: ");

Serial.print(temp);

Serial.println("*C");

float altitude = bmp280.readAltitude(1011.18); //altitude measurement

Serial.print("Altitude: ");

Serial.print(altitude);

Serial.println("m");

float pressure = (bmp280.readPressure()/100); //pressure measurement

Serial.print("Pressure: ");

Serial.print(pressure);

Serial.println("hPa");

Serial.println(" ");

ThingSpeak.setField(1, temp );

ThingSpeak.setField(2, altitude);

ThingSpeak.setField(3, pressure);

// Write to ThingSpeak. There are up to 8 fields in a channel, allowing you to store up to 8 different

// pieces of information in a channel. Here, we write to field 1.

int x = ThingSpeak.writeFields(myChannelNumber,

myWriteAPIKey );

if(x == 200)

{

Serial.println("Channel update successful." );

}

else

{

Serial.println("Problem updating channel. HTTP error code " + String(x) );

}

lastTime = millis();

}

}

Code Description

We are describing only the ThingSpeak server part as the BMP280 and ESP32 interfacing part has already been discussed in the above code description.

  • The style guard is used at the beginning to declare some function to be of “C” linkage, instead of “C++”
  • Basically, it allows the C++ code to interface with C code.

Fig. 23 Style guard

  • Add the necessary header/library files.
  • We have already discussed above how to download and add the ThingSpeak library file to Arduino IDE.

Fig. 24 Libraries

  • Enter the network credentials (SSID and Password).

Fig. 25

  • A Wi-Fi client is created to connect with ThingSpeak.

Fig. 26

  • Define timer variables.

Fig. 27

  • Add the channel number and API (Write) Key. If you have created only one channel then the channel number will be ‘1’.

Fig. 28

Setup()

    • Initialize the Serial monitor with a 115200 baud rate for debugging purposes.

Fig. 29

  • Set ESP32 Wi-Fi module in station mode using mode() function.
  • Enable ESP32’s Wi-Fi module using begin() function which is using SSID and password as arguments.
  • Wait until the ESP32 is not connected with the wifi network.

Fig. 30

  • Initialize the ThingSpeak server using begin() function that is passing client (globally created) as an argument.

Fig. 31

 

Loop()

  • We are defining three float type variables to save temperature, altitude and pressure measurements respectively.

Fig. 32 Sensor readings

  • Setting up the ThingSpeak fields for respective sensor measurement. The various sensor readings are passed as arguments inside the ThingSpeak.setField() function with there respective filed number.

Fig. 33 setting respective Fields

  • writeFields() function is used to write data to the ThingSpeak server. This function is using the channel number and API key as an argument.

Fig. 34

  • Return the code 200 if the sensor readings are successfully published to ThingSpeak server and print the respective results on the serial monitor.

Fig. 35

Results

  • Open your Arduino IDE and paste the above code.
  • Compile and upload the code into the ESP32 development board.
  • Before uploading the code make sure that you have selected the correct development board and COM port.
  • Make sure the Wi-Fi network to which your ESP device is supposed to connect is active.
  • Open the serial monitor at a 115200 baud rate and press the EN button from ESP32 development.
  • Once your ESP32 is connected with the wi-fi network, open the channel you have created on the ThingSpeak server.
  • Now you see the sensor readings displayed on their respective fields.

Fig. 36 ThingSpeak server

  • You can also compare the data displayed on the server with the serial monitor.

Fig. 37 Sensor readings on the Serial monitor

This concludes the tutorial. I hope you found this of some help and also hope to see you soon with a new tutorial on ESP32.

Edge Computing vs Cloud Computing

Hi Friends! Glad to have you on board. Thank you for clicking this read. In this post today, I’ll walk you through Edge Computing vs Cloud Computing.

Cloud computing has been around for many years while edge computing, on the other hand, has just become the prime topic of mainstream organizations. But what is the key difference between both edge computing and cloud computing, how do they work, can we implement both in the IT model of any business? These are the main questions that arise every time someone tries to get a hold of these terms. Don’t worry. We’ll discuss them in detail so you know when to pick a cloud model and when to choose edge computing.

Keep reading.

Edge Computing vs Cloud Computing

Before we go further to describe the comparison between edge and cloud, know that, both these infrastructures are independent of each other and companies separately employ these models based on their business needs and requirements. Edge computing favors the IT model of the company at times, while cloud computing is the answer to handle some issues.

What is Edge Computing?

Edge computing is a distributed and decentralized computing infrastructure that brings computing power and storage near the edge of the network. Simply put, the data is handled or stored near the location where it’s produced. This reduces the bandwidth and removes the latency issues (latency is a time delay between actual action and processed action), requiring fewer data to be stored with improved quality. This phenomenon is ideally suited for applications that are time-sensitive and are dependent on the quick decisions to make. Know that the introduction of IoT devices for a variety of businesses is the main driving force of this edge computing development. Gartner predicts, “Around 10% of enterprise-generated data is created and processed outside a traditional centralized data center or cloud. By 2025, this figure will reach 75%.”

What is Cloud Computing?

Cloud computing, on the other hand, is a centralized computing infrastructure where computing is carried out at the cloud with data centers that are located miles away from the data source. This process takes time because you cannot make quick and on-spot decisions since the produced data move to the cloud for processing before you make decisions based on the processed data. In cloud computing produced data moves to the cloud for processing while in edge computing the cloud comes near the produced data.

For instance, vibration sensors are installed in the industry to monitors the metrics of vibration caused by machines. If the sensors are connected with the cloud and vibration levels go above the required readings, it takes some time to shut down the machines since the first data produced by the sensors will go to the cloud for the processing which causes time delay and the machine will take some time to shut down. While if those sensors are connected with the edge device near the location where data is produced, and if readings go above the required level, the machines will get shut down immediately since the edge device is installed near the data source and it doesn’t require time to move that data to the cloud.

How Do They Work?

Now we know what cloud and edge computing is, in this section, we’ll cover how these infrastructure work.

Three main components are used in edge computing:

  1. Cloud
  2. Edge device
  3. Device

In edge computing, an additional node is introduced between the device and cloud called edge device. This way no involvement of the cloud is required to manage, process, and store data. Instead edge device will serve this purpose.

It is important to note that, edge computing contributes to the cloud but it’s not a part of the cloud, and processing is done near the data source in the edge device. In cloud computing internet is necessary to maintain connectivity throughout the process to handle and store data in the data centers. While in edge computing, as the edge is not part of the cloud, you can still get results and process data without internet connectivity since the devices relying on edge infrastructure normally uses 5G or IoT (internet of things) technology to process data.

Two main components are involved in cloud computing:

  1. Cloud with data centers where is processed and stored
  2. Device (like a laptop, smartphone, tablet) where data is produced

Data is produced at the data source (device) and that data is then moved to the cloud with data centers where that data is being processed. Cloud computing takes more time to process data hence creating latency issues.

Advantages of Edge Computing

The following are the main advantage of edge computing.

1: Improved Performance and low latency:

As touched earlier, the computing power and storage bring near the edge of the network in edge computing, removing the need for cloud resources to process data. This significantly improves the performance of the system, allowing the machines to make quick decisions based on the processed data. Using this infrastructure, you are adding the intelligent computing power near the source of the data which keeps the latency low which means you’ll get processed data quickly with improved quality. Experts say edge computing combined with 5G will reduce the latency, if not zero, to 1 millisecond.

2: Better Control Over Data:

As you know, cloud infrastructure is completely owned and managed by the cloud service provided, giving you less control over the data to be managed and stored. While edge computing gives you better control over data since the data is managed and stored locally without the involvement of the cloud.

3: Reduced Cost:

Edge computing is less expensive compared to cloud computing since less bandwidth is required and no large amount of data needs to be stored. You only need the required data to make real-time decisions. Moreover, connectivity, data migration latency issues are pretty much expensive in cloud computing. Edge computing removes the requirement of enormous bandwidth since no large amount of data is stored in data centers. Nowadays companies prefer edge computing over cloud computing because of its low operational cost and improved and optimal system performance.

4: Data sovereignty:

Since data is stored and processed near the data source, it allows companies to keep their sensitive data within the local area network. It provides added advantage to companies obsessed with the security of their data.

5: Scalability:

The company’s requirement of IT models varies as the business grows over time. Purchasing dedicated cloud resources is not a wise move since you’re not sure what business requires as the customers' needs and requirements change. The main advantage of edge computing is its ability to scale it as per the activities of the business. Edge computing gathers and processes data locally with dedicated hardware called edge device, setting you free from depending on the software environment of data centers in cloud computing.

Advantages of Cloud Computing

The following are the main advantages of Cloud Computing:

1: Backup and Disaster Recovery

In cloud computing data is stored and processed in the cloud which means it creates the backup of your data. In case of emergency, if your data is deleted or compromised, you can collect a copy of the electronic file stored in data centers of the cloud. Organizations of every size use cloud computing to create a backup of their important data. As the company grows, the requirements of the data to process and store also grow which makes cloud computing an important part of the company’s IT infrastructure.

2: Low maintenance cost

If you store data in local data centers, you require capital expense to install, handle, maintain and scale those data centers. With cloud computing, you no longer need to handle and manage the separate data centers since your data is stored in the cloud globally managed and supported by data centers.

3: Pay-as-you-go service

The cloud service providers often offer pay-as-you-go packages which means you can customize the computing resources as per your requirement. As the business grows, the activities of the business also go complex, getting a customized package from the cloud service providers helps you vary the plan as per your exact needs and requirements.

4: Flexibility

Cloud computing offers more flexibility to businesses compared to organizations using traditional local data centers. You need to upgrade your IT infrastructure if you want more bandwidth to handle the onslaught of data, while with cloud computing you can request more bandwidth instantly. Still, it depends on the service provider you pick for cloud computing, not all providers are equal, some are better than others. So make sure you put the dedicated effort into figuring out which service provider will more efficiently complement your business.

5: Mobility

Cloud data is easily accessible to anyone around the world. Considering the growing usage of mobile devices like smartphones and tablets is a great advancement to make the data accessible for anyone anywhere in the world. This works for businesses working with freelancers and remote employees who are not part of on-site staff. It provides better work-life balance to employees and adds flexibility to the working environment of the company.

6: Automatic Software Update

Think about on-site IT infrastructure and drills it needs to routinely update and maintain local data centers. This is not the case with cloud computing since the software involved in this model updates themselves automatically, setting you free from the hassle of manual updating.

Edge Computing vs Cloud Computing – Which one is better?

If you’re still reading this post, it means you got to know what both edge and cloud models hold and their advantages. It’s too early to say which one is better since both models are different and are employed based on the business needs and requirements.

If you want the backup of your data and are not concerned about the time it takes to store and process that data, cloud computing is the solution. For the large volume of data to store and process, cloud computing is used. And if you’re concerned about the time it takes to process data, then edge computing is the solution. Using this infrastructure, you can make quick and better decisions for the activities that are time-sensitive. For example in the case of automatic cars you need to make an instant decision about the car’s fuel consumption and the route it takes to reach the destination. Similarly, to successfully use the facial recognition feature to unlock the mobile, you need instant data to be processed to unlock the screen. Here edge computing works far better than the cloud model since cloud computing takes a lot of time to process facial features to unlock the screen.

Latency is another issue that edge computing handles better. For instance, the live feed you record with surveillance cameras. If these cameras are connected with the cloud, it will increase the latency and you’ll get the processed video after some time. This is not the case in edge computing. If motion sensors are installed near the surveillance cameras, in this case, the monition sensor itself will work as an edge device, and it providers immediate feed of the live recording without time delay.

What the Future Holds?

More companies, no doubt, are adopting edge computing at an accelerated pace, still, it’s too early to say if this is the end of cloud computing. The Cloud model holds its values when it comes to storing a large amount of data. However, with the inception of AI and IoT devices, processing capabilities become the major concern instead of storing a large amount of data. This projects that cloud computing will remain relevant for the development of the company’s IT models, and it will work with edge computing to provide better and instant processing capabilities.

That’s all for today. Hope you’ve enjoyed reading this article. If you’re unsure or have any questions, you can reach out in the section below. I’d love to help you the best way I can. Thank you for reading this article.

Syed Zain Nasir

I am Syed Zain Nasir, the founder of <a href=https://www.TheEngineeringProjects.com/>The Engineering Projects</a> (TEP). I am a programmer since 2009 before that I just search things, make small projects and now I am sharing my knowledge through this platform.I also work as a freelancer and did many projects related to programming and electrical circuitry. <a href=https://plus.google.com/+SyedZainNasir/>My Google Profile+</a>

Share
Published by
Syed Zain Nasir