echo '' ;

Archives

Embedded Sensor – BMP280

Bosch Sensortec developed the BMP280 as a barometric pressure sensor. It’s designed with high accuracy and precision to measure atmospheric pressure and temperature. The sensor is commonly used in various applications such as weather stations, altitude measurement, indoor navigation, and IoT (Internet of Things) devices.

Read more: Embedded Sensor – BMP280

The BMP280 sensor utilizes a MEMS (Micro-Electro-Mechanical Systems) pressure sensor to detect atmospheric pressure changes. Additionally, an integrated temperature sensor provides temperature measurements. These measurements enable the calculation of altitude and provide data for weather forecasting, environmental monitoring, and other applications.

This sensor communicates with microcontrollers or other devices via standard interfaces like I2C (Inter-Integrated Circuit) or SPI (Serial Peripheral Interface). Consequently, it’s easy to integrate into a wide range of electronic systems.

Where Buy this Sensor

  • Ebay
  • Amazon
  • Aliexpress

Data Sheet

  • BMP280 Pressure Sensor

Suggest to study

  • ESP8266 NodeMCU – Pressure Measurement using BMP280 Sensor

Uses

The BMP280 sensor finds applications in various fields due to its ability to measure barometric pressure and temperature accurately. Consequently, here are some common uses:

  • Weather Stations: These stations often employ this sensor to monitor atmospheric pressure and temperature, providing data for weather forecasting and analysis.
  • Altitude Measurement: Altimeters use it to determine altitude above sea level by measuring changes in atmospheric pressure with elevation.
  • Indoor Navigation: In combination with other sensors, this device contributes to indoor navigation systems by providing altitude and temperature data for positioning and orientation.
  • Drones and UAVs: These unmanned aerial vehicles (UAVs) use the BMP280 for altitude control and navigation, enabling precise altitude hold and flight stabilization.
  • Environmental Monitoring: Environmental monitoring systems use the sensor to measure atmospheric conditions in indoor and outdoor environments, including air quality assessment and pollution monitoring.
  • IoT (Internet of Things) Devices: Various applications integrate the BMP280 into IoT devices, including smart home automation, agricultural monitoring, and industrial control systems.
  • Automotive Applications: In automotive applications, the BMP280 can monitor cabin pressure, compensate for altitude in navigation systems, and control climate.

Embedded Interface – PCF8574 and PCF8574A I/O Expender

In this article we are discussing Embedded Interface – PCF8574 and PCF8574A I/O Expender.

The PCF8574 device provides general-purpose remote I/O expansion for most micro controllers
families by way of the I2C interface [serial clock(SCL), serial data (SDA)]. 8-bit 2.5- to 5.5-V I2C/SMBus I/O expander with interrupt

The device features an 8-bit quasi-bidirectional I/O port (P0–P7), including latched outputs with high current drive capability for directly driving LEDs. Each quasi-bidirectional I/O can be used as an input or output without the use of a data-direction control signal. At power on, the I/Os are high. In this mode,
only a current source to VCC is active.

Read more… →

Embedded Interface – LCD HD44780

  • HD44780 compliant controllers 16×2 Character LCD is a very basic and low-cost LCD module that is commonly used in electronic products and projects.
  • 16×2 means it contains 2 rows that can display 16 characters.
  • Its other variants such as 16×1 and 16×4 are also available in the market.
  • In these displays, each character is displayed using 5×8 or 5×10 dot matrix.

Experiments

  • Change Cursor Location Based on Key Input

LCD4 Bit Mode Functions

void Lcd4_Clear()   {    Lcd4_Cmd(0x00);    Lcd4_Cmd(0x01);    }    // clear screen 0x01

void Lcd4_DisplayOFF_BlinkON_CursorON()        {    Lcd4_Cmd(0x00);    Lcd4_Cmd(0x0B);    }    // 0x0B

void Lcd4_DisplayON_BlinkOFF_CursorOFF()    {    Lcd4_Cmd(0x00);    Lcd4_Cmd(0x0C);    }    // 0x0C

void Lcd4_DisplayON_BlinkOFF_CursorON()     {    Lcd4_Cmd(0x00);    Lcd4_Cmd(0x0D);    }    // 0x0C

void Lcd4_DisplayON_BlinkON_CursorOFF() {    Lcd4_Cmd(0x00);    Lcd4_Cmd(0x0E);    }    // 0x0E

//void Lcd4_Shift_Left()                      {   Lcd4_Cmd(0x01); Lcd4_Cmd(0x08); }   //  0x18

//void Lcd4_Shift_Right()                     {   Lcd4_Cmd(0x01); Lcd4_Cmd(0x0C); }   //  0x1C

 

 

Next Topic

Embedded Interface 7 Segment (Add Soon)
Embedded Interface ADC (Add Soon)
Embedded Interface Button (Add Soon)
Embedded Interface EEPROM (Add Soon)
Embedded Interface LCD (Add Soon)
Embedded Interface LCD HD44780 (Add Soon)
Embedded Interface LED
Embedded Interface MCP23017
Embedded Interface Motor (Add Soon)
Embedded Interface PCF8574 and PCF8574A
Embedded Interface RTC (Add Soon)
Embedded Interface Switch
Embedded Interface Touch Kypad
Embedded Interface RGB LED (Add Soon)

Embedded Protocol – UART

UART (Universal Asynchronous Receiver/Transmitter) is a standard communication protocol used for serial communication between devices. It’s commonly employed in embedded systems for communication between microcontrollers, sensors, and other peripheral devices.

In the context of embedded systems, UART is often used as a hardware communication protocol, enabling devices to transmit and receive data serially. The UART communication involves two pins: TX (transmit) and RX (receive).

  • It’s is full-duplex communication
  • UART contains a shift register
  • which is the fundamental method of conversion between serial and parallel forms.

  • Type of Communication: Asynchronous (No clock).
  • Rule: The transmitter and receiver should same baud rate. Data format and transmission speed are configurable.
  • UART Uses serial communication over a computer or peripheral device serial port. (Electronics Devices).
Read more… →

Embedded Protocol – SPI Communication

SPI is an abbreviation for Serial Peripheral Interface, which stands for Synchronous Serial Communication Interface. It is utilized for short-distance communication and was developed by Motorola in 1980, later becoming a de facto standard. SPI communication operates in full-duplex mode. It is also sometimes referred to as the Four-Wire Serial Bus (FWSB), distinguishing it from Three, Two, and One Wire Serial Bus protocols. The four-wire protocol includes SCL, SS, MISO, and MOSI. SPI operates as a single master protocol.

Read more… →

Embedded Protocol – MQTT

Message Queue Telemetry Transport (ISO/IEC PRF 20922), or MQTT, is a lightweight protocol designed for machine-to-machine (M2M) device communication using a Publish/Subscribe pattern. It was developed by Message Queue Telemetry Transport (ISO/IEC PRF 20922) and Lightweight protocol for (M2M) device communication using  Publish/Subscribe. It was Developed By  Andy Stanford-Clark (IBM) and Arlen Nipper (Eurotech; now Cirrus Link) in 1999. Unlike HTTP, which follows a request/response paradigm, It utilizes a publish/subscribe architecture. The central communication point in It is the Broker. It is available for implementation in C, C++, JavaScript, Lua, Python, and soon in C#.


Client functions

FieldDescription
HostAddress of the MQTT broker.
PortDefault: 1883.
ClientIDUnique client identifier.
UsernameUTF-8 encoded string for authentication.
PasswordClient’s password if flag set.
Keep AliveDuration client stays connected (seconds).
SSLIndicates SSL/TLS encryption usage.
Clean SessionIf set, session clears subscriptions and messages.
Last-will TopicTopic for “Last Will” message on disconnect.
Last-will QoSQuality of Service for “Last Will”.
Last-will RetainRetain status for “Last Will” message.
Last-will MessageContent of “Last Will” in case of disconnection.
TopicMessage destination hierarchy.
+ Plush signSingle-level wildcard in subscriptions.
# Hash SignMultilevel wildcard in subscriptions.
Publish QoSQuality of Service levels:
QoS(0) – At most once
QoS(1) – At least once
QoS(2) – Exactly once
RetainMessage retention by broker.
SubscriptionsList of subscribed topics.
MessagePayload data transmitted.
BrokerServer distributing messages.
ClientDevice or app connected to broker.
Quality of ServiceMessage delivery guarantee.
Retained MessagesBroker-stored messages for new subscribers.
Persistent SessionBroker-maintained session after client disconnects.
Last will and Testament and SYS topicClient’s “Last Will” message and system topics interaction.

PHP MQTT


Web Apps


WordPress Plugin

DIOT SCADA with MQTT By Ecava

Image Source

DIOT which stands for Decoupled IOT, has its SCADA functionalities decoupled into Host and Node for flexibility and scalability that catered for IoT era. This plugin functions as the SCADA Host to work with your device or system, which will be treated as SCADA Node. You just need to enter the broker/server into the configuration. You may then subscribe to the desired topic with a shortcode to display in any desired web page or post. [diot topic="building/floor/device/sensor"] Or, if you have a JSON content, you may add dollar sign as JSON root: [diot topic="building/floor/device/sensor$json.data"]. The content will be updated dynamically when the device publish any data. You may also choose to display your realtime data in trending chart. Check out Ecava DIOT online demo to see how easy things can be done now! For more see here : https://wordpress.org/plugins/ecava-diot-scada/

Image Source

WP-MQTT By Roy Tanck

Setting up Tthis is easy. Simply supply your MQTT broker’s details and configure which WordPress events should trigger messages. “MQTT is a machine-to-machine (M2M)/”Internet of Things” connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport.” (from mqtt.org) A number of events are predefined. Simply check the right checkbox and fill in the message’s subject and text.

  • Pageview
  • User login
  • Failed user login
  • Post published
  • Page published
  • New comment

Other events can be added using the “custom events” section. This allows you to use any WordPress hook (actions and filters) to trigger messages.

Image Source


Android App

Check this below name in Play-store

  • Dashboard
  • IOT Manager
  • IOT

Broker Service Supporter

The following list of brokers may be used online or locally also giving free and paid service

Adafruit IO (Online – Free)

  • Website : Adafruit IO
  • Adafruit supporting online free service.
  • You can use adafruit client libraries to Python, Node JS, Rubby and Arduino. see the client libraries section).
  • The following details are to connect a client to Adafruit IO.
    • Host : io.adafruit.com
    • Port : 1883 or 8883
    • Username : Your adafruit account username
    • Password : Your adafruit IO Key

CloudMQTT (Online -Free and Paid)

  • Website :
  • CloudMQTT
  • Online – Free Plans : Cute Cat and
  • Paid Plans : Keen Kola, Loud Leopard, Power Pug)
  • Using Amazon Web Service
  • Type : mosquitto

HiveMQ (Online -Free and Paid)

Connect to Public Broker

  • Dashboard
    • Broker: broker.hivemq.com
    • TCP Port: 1883
    • Websocket Port: 8000
  • Web socket Client : http://www.hivemq.com/demos/websocket-client/
    • Broker: broker.mqttdashboard.com
    • TCP Port: 1883
    • Websocket Port: 8000

Setup local instance

m2m

Free public broker service

  • q.m2m.io
    • Broker: q.m2m.io
    • Port: 1883.
    • Application : Facebook messenger

Mosquitto  (Local and Online free)

Eclipse Mosquitto™ is an open source v3.1/v3.1.1 Broker.

Free public Service

  • iot.eclipse.org
    • Broker: iot.eclipse.org
    • Port: 1883, 80(WebScoket), 443 (WebSockets+SSl)
  • mosquitto
    • Broker : test.mosquitto.org
    • Port:
      • 1883 : MQTT, unencrypted
      • 8883 : MQTT, encrypted
      • 8884 : MQTT, encrypted, client certificate required
      • 8080 : MQTT over WebSockets, unencrypted
      • 8081 : MQTT over WebSockets, encrypted
      • 80(WebScoket), 443 (WebSockets+SSl)

rabbitMQ

  • https://www.rabbitmq.com/
  • Install on windows

Free public broker service

  • dev.rabbitmq.com
    • Broker: dev.rabbitmq.com
    • Port: 1883,

SimpleML

  • Free MQTT service to evaluate Machine Learning models, documentation

Free public broker service

  • simpleml
    • Broker: mqtt.simpleml.com
    • Port : 1883 (MQTT), 8883 (MQTT +SSl), 80(REST), 80(WebSockets), 5683 (CoAP)

Other free public broker service

  • dioty.co
    • Broker : dioty
    • Port : 1883 (MQTT), 8883 (MQTT +SSl), 80(REST), 8080(WebSockets), 8880 (WebSocket +SSL)
  • swifitch.cz
    • Broker :mqtt.swifitch.cz
    • Port : 1883 (MQTT)

Interview Questions


Reference


Embedded Protocol – COAP

COAP, or Constrained Application Protocol, a specialized web transfer protocol, is designed for constrained devices and low-power, low-bandwidth networks commonly found in Internet of Things (IoT) and Machine-to-Machine (M2M) applications. CoAP is an application layer protocol similar to HTTP but optimized for constrained environments.

Read more: Embedded Protocol – COAP

This, designed to be simple and lightweight, is ideal for resource-constrained devices, operating over UDP instead of TCP to reduce complexity. It supports request/response interactions like HTTP and offers features such as multicast support and resource discovery. CoAP facilitates efficient communication between constrained devices and web servers, fostering the development of scalable IoT solutions.

Getting Started with Terminal by Br@y tool

  • Terminal is a simple serial port(COM) terminal emulation program
  • Used for communication with different devices (Modem, routers, embedded uC systems, GSM Phones. GPS Modules)
  • Very useful debugging tool for serial communication applications
Read more… →