CAN, short for Controller Area Network, was developed by Robert Bosch. This protocol facilitates half-duplex communication. In active voice, it would be: “It operates as a multi-master protocol, allowing it to connect multiple nodes.” This protocol utilizes a two-wire configuration, consisting of CAN H (H-High) and CAN L (L-Low). In active voice, it would be: This two-wire bus interconnects all nodes within the network. The wires typically constitute a twisted pair with a nominal impedance of 120 Ω. CAN supports communication over relatively short distances, typically up to 40 meters at speeds of 1 Mbps
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 – BMP280The 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.
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).
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.
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
Field | Description |
---|---|
Host | Address of the MQTT broker. |
Port | Default: 1883. |
ClientID | Unique client identifier. |
Username | UTF-8 encoded string for authentication. |
Password | Client’s password if flag set. |
Keep Alive | Duration client stays connected (seconds). |
SSL | Indicates SSL/TLS encryption usage. |
Clean Session | If set, session clears subscriptions and messages. |
Last-will Topic | Topic for “Last Will” message on disconnect. |
Last-will QoS | Quality of Service for “Last Will”. |
Last-will Retain | Retain status for “Last Will” message. |
Last-will Message | Content of “Last Will” in case of disconnection. |
Topic | Message destination hierarchy. |
+ Plush sign | Single-level wildcard in subscriptions. |
# Hash Sign | Multilevel wildcard in subscriptions. |
Publish QoS | Quality of Service levels: |
QoS(0) – At most once | |
QoS(1) – At least once | |
QoS(2) – Exactly once | |
Retain | Message retention by broker. |
Subscriptions | List of subscribed topics. |
Message | Payload data transmitted. |
Broker | Server distributing messages. |
Client | Device or app connected to broker. |
Quality of Service | Message delivery guarantee. |
Retained Messages | Broker-stored messages for new subscribers. |
Persistent Session | Broker-maintained session after client disconnects. |
Last will and Testament and SYS topic | Client’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
- Genral Download HiveMQ
- Arun Requested : Downloaded Link
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
- Download rabbit for windows :
- Installation guide
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
- hivemq
- wiki
- http://www.hivemq.com/ (Tutorials)
- https://github.com/mqtt/mqtt.github.io/wiki
- https://github.com/mqtt/mqttorg-graphics
- github
- http://mqtt.org/
- http://mosquitto.org/download/
- https://www.youtube.com/watch?v=fwb5YAPzPGk
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 – COAPThis, 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
You must be logged in to post a comment.