Iot Unit-4
Iot Unit-4
RASPBERRY PI:-
Raspberry Pi model –
Specs of the Computer: – The computer has a quad-core ARM processor that doesn’t
support the same instruction as an X86 desktop CPU. It has 1GB of RAM, One HDMI
port, four USB ports, one Ethernet connection, Micro SD slot for storage, one combined
3.5mm audio/video port, and a Bluetooth connection. It has got a series of input and
output pins that are used for making projects like – home security cameras, Encrypted
Door lock, etc.
Versatility of Raspberry Pi: – It is indeed a versatile computer and can be utilized by
people from all age groups, it can be used for watching videos on YouTube, watching
movies, and programming in languages like Python, Scratch, and many more. As
mentioned above it has a series of I/O pins that give this board the ability to interact
with its environment and hence can be utilized to build really cool and interactive
projects.
Examples of projects: – It can be turned into a weather station by connecting some
instruments to it for check the temperature, wind speed, humidity etc… It can be
turned into a home surveillance system due to its small size; by adding some cameras
to it the security network will be ready. If you love reading books it can also become a
storage device for storing thousands of eBooks and also you can access them through
the internet by using this device.
Architecture of Raspberry Pi
ARM Cortex is a family of processor cores designed and licensed by ARM Holdings, used in a
wide range of devices from embedded systems to smartphones and tablets. They are known
for their energy efficiency, high performance, and adaptability, with different models
optimized for specific applications.
Here's a more detailed breakdown:
Key Features and Characteristics:
ARM's Processor Family:
Cortex processors are a core part of the broader ARM processor family, which is widely used in
various applications.
Microcontrollers (Cortex-M):
The Cortex-M series is specifically designed for microcontrollers, focusing on low cost, power
efficiency, and real-time performance.
Applications (Cortex-A):
The Cortex-A series is designed for applications that require a rich operating system and complex
software, like smartphones and tablets.
Real-time (Cortex-R):
The Cortex-R series is optimized for real-time processing and is used in applications where
deterministic performance is crucial, such as industrial automation.
Performance and Efficiency:
Cortex processors are known for their ability to deliver high performance while minimizing power
consumption.
Scalable and Adaptable:
The Cortex family offers a wide range of processors with different characteristics and capabilities,
allowing developers to select the most appropriate core for their specific needs.
Widely Used:
ARM Cortex cores are embedded in billions of consumer devices.
One of the most common electronic architectural designs in the market is Advanced
RISC Machine Architecture, even better than x86, which is very common in the server
market. ARM Architecture is widely used in smartphones, normal phones, and also in
laptops. Though x86 processors have optimized performance ARM Processor gives
cost-effective processors with small size, takes less power to run, and also gives better
battery life.
ARM Processor is not only limited to mobile phones but is also used in Fugaku, the
world’s fastest supercomputer. ARM Processor also gives more feasibility to designs of
hardware designers and also gives control to designer’s supply chains.
ARM x86
ARM uses Reduced Instruction Set Computing x86 uses Complex Instruction Set
Architecture (RISC). Architecture (CISC).
ARM processors require fewer registers, but they x86 processors require less memory, but
require more memory. more registers.
ARM processors use the memory which is already x86 processors require some extra
available to them. memory for calculations.
ARM processors are deployed in mobiles which x86 processors are deployed in Servers,
deal with the consumption of power, speed, and Laptops where performance and stability
size. matter.
Advantages of ARM Processor
ARM processors deal with a single processor at a time, which makes it faster and it
also consumes lesser power.
ARM processors work in the case of a multiprogramming system, where more than
one processor is used to process information.
ARM processors are cheaper than other processors, which makes them usable in
mobile phones.
ARM processors are scalable, and this feature helps it in using a variety of devices.
Disadvantages of ARM Processor
ARM processors are not stable with x86 processors, and due to this, they cannot
be used in Windows Systems.
ARM processors are not capable of very high performance, which limits them to a
variety of applications.
ARM processor execution is a little hard, which requires skilled programmers to use
it.
ARM processor is inefficient in handling Scheduling instructions.
ARDUINO AND INTEL GALILEO BOARDS:-
ARDUINO BOARDS:-
An Arduino board is a programmable circuit board that lets you build electronic projects. It's
an open-source platform that's popular with beginners and hobbyists.
Features
Microcontroller: Includes an Atmega microcontroller
Input/output: Has digital and analog pins that can connect to other circuits
Programming: Uses the Arduino IDE (Integrated Development Environment) to write and upload
code
Power: Can be powered by USB or a barrel connector
Arduino board types
Arduino Uno: A popular board with 14 digital I/O pins and 6 analog I/O pins
Arduino Nano: Can be powered by USB, or an external power supply
MKR Family: A series of boards that include radio modules for Wi-Fi, Bluetooth, and more
Arduino IDE
Uses a simplified version of C++
Runs on Windows, Macintosh OSX, and Linux
Is based on the Processing programming environment
The Intel® Galileo Gen2 supports shields that operate at either 3.3v or 5v. The board is designed
to be hardware and software pin-compatible with Arduino shields designed for the Uno R3. Digital
pins 0 to 13 (and the adjacent AREF and GND pins), Analog inputs 0 to 5, the power header, ICSP
header, and the UART port pins (0 and 1), are all in the same locations as on the Arduino Uno R3.
The Intel® Galileo Gen2 is programmed using the Arduino Software (IDE), our Integrated
Development Environment common to all our boards and running both online and offline. For more
information on how to get started with the Arduino Software visit the Getting Started page.
The Arduino Cloud Editor is hosted online, therefore it will always be up-to-date with the latest
features and support for all boards. Follow this simple guide to start coding on the browser and
upload your sketches onto your board.
This simple procedure is done selecting Tools menu, then Boards and last Boards Manager.
Select Arduino Certified
1as type and then click on the *Intel i586 boards by Intel*. Select the latest core and then Install.
When the process is completed, the Intel Galileo Gen2 board will be available in the boards list.
Connect the board to your PC
To avoid damage to your Intel® Galileo Gen2, always apply power to the board via the included
power supply before connecting to your computer via USB. Once the board is connected to power,
connect the Galileo to your computer with a microUSB cable.
Load the LED blink example sketch: File > Examples > 1.Basics > Blink.
You'll need to select the Intel® Galileo Gen 2 in the Tools > Board menu as shown below:
Select the serial device of the board from the Tools > Serial Port menu. The easiest way to find what
port the board is using is by disconnecting your board, restarting the IDE, and re-opening the menu;
the entry that disappears should be the Intel® Galielo Gen 2 board. Reconnect the board, restart the
IDE, and select that serial port.
On Windows
The port is likely to be COM3 or higher and is called "Intel Galileo Gen 2 Virtual Com Port" in the
Device Manager. It is NOT "USB Serial Port". COM1 and COM2 are usually reserved for hardware
serial ports:
On Linux
On Mac OS X
The port is likely to be /dev/cu.usbmodemxxxx. If you have multiple such devices, select any one of
them as they should all give the same results:
Click the Upload button in the upper left to load and run the sketch on your board:
You should see a Transfer complete message when it has uploaded. Now your built-in led should
blink.
RoweBots’ history includes the Unison RTOS used in military systems where
security and reliability are critical. This history includes traditional embedded
system practices involving porting and running the OS on a specific processor
architecture, adding drivers for board support packages (BSPs), and providing APIs
for embedded application development.
Over the last 10 years RoweBots has been working in the IoT space as well. “Our
OS products target MCUs and small microprocessors with a goal of creating an
efficient design," says Kim Rowe, CEO of RoweBots. "Real-time requirements have
diminished over time. Flash and RAM sizes have become a critical cost factor for
embedded and IoT designs.”
Rowe mentions two key areas of focus for their WearableOS:
1. Being able to do more in a small package. Support for lean product
development (LPD) is a cornerstone of RoweBots' IoT OSs (Figure 1).
2. Open APIs based on embedded Linux allow RoweBots OS products to
integrate libraries that match the functions needed and available resources
on the platform.
Figure 1. Lean product development (LPD) is a development methodology for reducing product
Perhaps the most interesting challenges relating to wearables and smart sensors
are the unique graphics and user interfaces (UIs). On larger systems there are lots
of capabilities and screen area for fancy graphics and user interaction. These
systems also tend to be very power hungry.
On the smaller end, for watch and wrist wearables, Rowe notes that the
WearableOS typically uses vendor-recommended packages or a third-party vendor
for ultra-low-power graphics and UI components. Not surprisingly, programming
wearables is a lot like traditional embedded system programming using application
libraries and the C/C++ programming language with an Eclipse variant or
embedded Integrated Development Environment (IDE).
BSD sockets network, file I/O, and embedded Linux and POSIX-compliant APIs
speed development in these builds. Kim mentioned cites an embedded Linux
application example that was been ported, run, and tested on the OS in 2 days
using these tools. Upon porting, benchmarking showed that the same application
running on their OS had a 50 percent increase in frame rate due to the
significantly lower overhead of the WearableOS versus embedded Linux.
1. Another exciting example of miniaturizing wearables with similar capabilities
involves an eSight technologies product. These are glasses that help people
with specific types of peripheral or myopic blindness conditions see
normally. eSight puts a camera on the bridge of your nose to do auto
exposure and compensation for your specific sight deficiency. On your hip
you have zoom and pan controls. The wearable puts the image up on a tiny
screen in front of your eye. This technology allows people with sight
problems to see normally and has literally changed liVES.