echo '' ;

Category Archives: Embedded

ESP8266 Arduino-Core Cayenne – Get Start with Cayenne MyDevice

What is Cayenne MyDevice?

myDevices Cayenne allows you to quickly design, prototype, and visualize IoT solutions. You can use Cayenne as a tool to visualize real-time and historical data, sent over to The Things Network. Let’s discuss “ESP8266 Arduino-Core Cayenne – Get Start with Cayenne MyDevice

Cayenne is a platform for building IoT (Internet of Things) projects that provides tools for creating dashboards, monitoring devices, and controlling connected devices remotely. The Cayenne platform supports various microcontrollers and single-board computers, including the ESP8266, through the use of Cayenne MQTT or Cayenne MQTT API.

Read more… →

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.

ESP32 NodeMCU Module – I2C Interface

The ESP32 NodeMCU module supports the I2C (Inter-Integrated Circuit) communication protocol. With its built-in hardware support for I2C, the ESP32 NodeMCU module can easily interface with various I2C devices such as sensors, displays, and other peripherals. This allows for efficient data exchange between the ESP32 and I2C devices, enabling a wide range of applications in IoT, robotics, automation, and more.

Read more: ESP32 NodeMCU Module – I2C Interface

Pr-Request to Lean


ESP32 NodeMCU Module I2C Functions

FunctionDescription
i2c.address()Send (SW) or queue (HWx) I²C address and read/write mode for the next transfer.
i2c.read()Read (SW) or queue (HWx) data for a variable number of bytes.
i2c.setup()Initialize the I²C interface for master mode.
i2c.start()Send (SW) or queue (HWx) an I²C start condition.
i2c.stop()Send (SW) or queue (HWx) an I²C stop condition.
i2c.transfer()Starts a transfer for the specified hardware module.
i2c.write()Write (SW) or queue (HWx) data to the I²C bus.
i2c.slave.on()Registers or unregisters an event callback handler.
i2c.slave.setup()Initialize the I²C interface for slave mode.
i2c.slave.send()Writes send data for the master into the transmit buffer.

Code of ESP32 I2C Scanner

  • In this code used to can the i2c Devices
  • Used Software i2c and GPIO-23 as SDA and GPIO-22 as SCL of I2C Device
  • Connected DS3231 Device and check i2c address of DS3231
-- setup
id  =   i2c.SW                      --  Software
pinSDA  =   23                      --  1~12, IO index
pinSCL  =   22                      --  1~12, IO index
speed   =   i2c.SLOW                    --  only i2c.SLOW supported

--Initialize
i2c.setup(id, pinSDA, pinSCL, speed)                --  Initialize the I²C module.

print("Scanning Started....")
for count = 0,127 do
  i2c.start(id)                         --  Send an I²C start condition.
  Status = i2c.address(id, count, i2c.TRANSMITTER)      --  Setup I²C address and read/write mode for the next transfer.
  i2c.stop(id)                          --  Send an I²C stop condition.
    if Status == true then
        print("Addrss - "..count.." Detected device address is  0x" .. string.format("%02x", count) .. " (" .. count ..")") 
    elseif Status == false then
        print("Addrss - "..count.." nil") 
    end
end
print("Scanning End")

Results

Scanning Started....
Addrss - 0 nil
Addrss - 1 nil
Addrss - 2 nil
Addrss - 3 nil
Addrss - 4 nil
Addrss - 5 nil
Addrss - 6 nil
Addrss - 7 nil
Addrss - 8 nil
Addrss - 9 nil
Addrss - 10 nil
Addrss - 11 nil
Addrss - 12 nil
Addrss - 13 nil
Addrss - 14 nil
Addrss - 15 nil
Addrss - 16 nil
Addrss - 17 nil
Addrss - 18 nil
Addrss - 19 nil
Addrss - 20 nil
Addrss - 21 nil
Addrss - 22 nil
Addrss - 23 nil
Addrss - 24 nil
Addrss - 25 nil
Addrss - 26 nil
Addrss - 27 nil
Addrss - 28 nil
Addrss - 29 nil
Addrss - 30 nil
Addrss - 31 nil
Addrss - 32 nil
Addrss - 33 nil
Addrss - 34 nil
Addrss - 35 nil
Addrss - 36 nil
Addrss - 37 nil
Addrss - 38 nil
Addrss - 39 nil
Addrss - 40 nil
Addrss - 41 nil
Addrss - 42 nil
Addrss - 43 nil
Addrss - 44 nil
Addrss - 45 nil
Addrss - 46 nil
Addrss - 47 nil
Addrss - 48 nil
Addrss - 49 nil
Addrss - 50 nil
Addrss - 51 nil
Addrss - 52 nil
Addrss - 53 nil
Addrss - 54 nil
Addrss - 55 nil
Addrss - 56 nil
Addrss - 57 nil
Addrss - 58 nil
Addrss - 59 nil
Addrss - 60 nil
Addrss - 61 nil
Addrss - 62 nil
Addrss - 63 nil
Addrss - 64 nil
Addrss - 65 nil
Addrss - 66 nil
Addrss - 67 nil
Addrss - 68 nil
Addrss - 69 nil
Addrss - 70 nil
Addrss - 71 nil
Addrss - 72 nil
Addrss - 73 nil
Addrss - 74 nil
Addrss - 75 nil
Addrss - 76 nil
Addrss - 77 nil
Addrss - 78 nil
Addrss - 79 nil
Addrss - 80 nil
Addrss - 81 nil
Addrss - 82 nil
Addrss - 83 nil
Addrss - 84 nil
Addrss - 85 nil
Addrss - 86 nil
Addrss - 87 Detected device address is  0x57 (87)
Addrss - 88 nil
Addrss - 89 nil
Addrss - 90 nil
Addrss - 91 nil
Addrss - 92 nil
Addrss - 93 nil
Addrss - 94 nil
Addrss - 95 nil
Addrss - 96 nil
Addrss - 97 nil
Addrss - 98 nil
Addrss - 99 nil
Addrss - 100 nil
Addrss - 101 nil
Addrss - 102 nil
Addrss - 103 nil
Addrss - 104 Detected device address is  0x68 (104)
Addrss - 105 nil
Addrss - 106 nil
Addrss - 107 nil
Addrss - 108 nil
Addrss - 109 nil
Addrss - 110 nil
Addrss - 111 nil
Addrss - 112 nil
Addrss - 113 nil
Addrss - 114 nil
Addrss - 115 nil
Addrss - 116 nil
Addrss - 117 nil
Addrss - 118 nil
Addrss - 119 nil
Addrss - 120 nil
Addrss - 121 nil
Addrss - 122 nil
Addrss - 123 nil
Addrss - 124 nil
Addrss - 125 nil
Addrss - 126 nil
Addrss - 127 nil
Scanning End
>

ESP32 NodeMCU I2C Interface: Code Explanation

This table format provides a structured breakdown of each section of the code along with its explanation.

SectionExplanation
Setup Section
idDefines the I2C interface as software-based.
pinSDASpecifies the GPIO pin used for the data line (SDA) of the I2C interface.
pinSCLSpecifies the GPIO pin used for the clock line (SCL) of the I2C interface.
speedSets the speed of the I2C communication to slow. Only i2c.SLOW speed is supported.
Initialization
i2c.setup()Initializes the I2C module with the specified parameters: interface ID, SDA pin, SCL pin, and speed.
Scanning for Devices
print(“Scanning Started….”)Prints a message indicating the start of device scanning.
Looping through device addressesIterates through device addresses from 0 to 127.
i2c.start()Sends an I2C start condition.
i2c.address()Sets up the I2C address and read/write mode for the next transfer.
i2c.stop()Sends an I2C stop condition.
Check StatusChecks the status of the address detection: If Status is true, prints the detected device address in hexadecimal and decimal format. If Status is false, prints “nil” for the address.
print(“Scanning End”)Prints a message indicating the end of device scanning.

Suggest


NEXT

NodeMCU Get Start
NodeMCU Build Firmware
NodeMCU Flash Firmware
NodeMCU IDE
ESP8266 NodeMCU Modules
NodeMCU Module–Firmware Info
NodeMCU Module – GPIO
NodeMCU Module – Node
NodeMCU Module – WiFi
NodeMCU Module – Timer
NodeMCU Module – I2C
NodeMCU Module – File
NodeMCU Module – NET
NodeMCU Module – HTTP
NodeMCU Module – MQTT
ESP8266 NodeMCU Interface
NodeMCU Interface LED
NodeMCU Interface Button
NodeMCU Interface 7 Seg
NodeMCU Interface LCD
NodeMCU Interface ADC
NodeMCU Interface DHT11
NodeMCU Interface MCP23008
NodeMCU Interface MCP23017
NodeMCU Interface ADXL345
NodeMCU Interface DS18B20
ESP8266 NodeMCU Tutorials
NodeMCU Tutorials Google Time
NodeMCU Tutorials WebServer
ESP8266 NodeMCU Projects
Imperial March Ringtone Play
WiFi Router Status Indicator
ESP8266 Home Automation
Others
NodeMCU All Post
Sitemap

Embedded Sensor – DHT11

Aosong DHT11 is a low cost humidity and temperature sensor with a single wire digital interface. The sensor includes a resistive sense of wet components and an NTC temperature measurement devices, and connected with a highperformance 8bit microcontroller. DHT11 uses a simplified single-bus communication. The sensor is calibrated and doesn’t require extra components so you can get right to measuring relative humidity and temperature.

           DHT11 output calibrated digital signal. It utilizes exclusive digital-signal-collecting-technique and humidity sensing technology, assuring its reliability and stability. Its sensing elements are connected with 8-bit single-chip computer. Every sensor of this model is calibrated in accurate calibration chamber and the calibration-coefficient is saved in type of programmer in OTP memory, when the sensor is detecting, it will cite coefficient from memory. for more details about data sheet of DHT11 sensor click here.

 


Read more… →

ESP32 Lua-RTOS – IDE Setup and Firmware Flash

Lua RTOS is an open-source real-time operating system (RTOS) designed to run Lua applications on microcontrollers and other embedded systems. It aims to provide a lightweight and efficient platform for developing embedded applications with Lua scripting capabilities.Here will discuss ESP32 Lua RTOS Flash Firmware tutorial.

Overall, Lua RTOS is a versatile and lightweight operating system that empowers developers to build embedded applications with Lua scripting capabilities. Its integration with popular microcontroller platforms and active community support make it a compelling choice for IoT and embedded systems development. We tested with EPSressif ESP-Wroom-32 Dev Board and ESP32 Core firmware with the ESPressif Flash tool.

Read more: ESP32 Lua-RTOS – IDE Setup and Firmware Flash

Overview of Lua RTOS

FeatureDescription
LanguageLua RTOS is built on Lua, a lightweight scripting language. Lua is known for its simplicity, ease of use, and flexibility, making it ideal for embedded systems development.
Real-Time Operating SystemLua RTOS provides a real-time operating system (RTOS) environment for embedded systems. It offers task scheduling, inter-task communication, and synchronization mechanisms.
Supported HardwareLua RTOS supports various microcontroller architectures, including ESP32, ESP8266, STM32, and others. It is highly portable and can be adapted to different hardware platforms.
MultitaskingLua RTOS enables multitasking, allowing multiple Lua scripts to run concurrently as separate tasks. Tasks can communicate and synchronize through message passing and semaphores.
File SystemLua RTOS includes a file system API for accessing files on external storage devices such as SD cards or SPI flash memory. It supports file operations like reading, writing, and listing.
NetworkingLua RTOS supports networking protocols such as TCP/IP, UDP, MQTT, and HTTP. It allows embedded devices to communicate over Ethernet, Wi-Fi, or other network interfaces.
Peripheral SupportLua RTOS provides APIs for interfacing with various peripherals such as GPIO, UART, SPI, I2C, ADC, DAC, and more. Developers can easily control and communicate with hardware components.
Development EnvironmentLua RTOS development can be done using lightweight text editors or integrated development environments (IDEs) with Lua support. It offers flexibility in choosing development tools.
CommunityLua RTOS has an active community of developers and users who contribute to its development, share knowledge, and provide support through forums, mailing lists, and social media.

This table summarizes the key features and characteristics of Lua RTOS, providing an overview of its capabilities and suitability for embedded systems development.

Setting up Lua RTOS

StepDescription
1. Obtain Lua RTOSDownload Lua RTOS from the official repository or source.
2. Install prerequisitesInstall any required dependencies, such as Git and GCC, according to Lua RTOS documentation.
3. Set up development environmentConfigure your development environment, including setting up a terminal and text editor.
4. Initialize project directoryCreate a new directory for your Lua RTOS project.
5. Write your Lua codeDevelop Lua scripts and application logic within the project directory.
6. Configure Lua RTOSCustomize Lua RTOS configuration files to match your project requirements.
7. Compile Lua RTOSUse the provided build system to compile Lua RTOS for your target hardware platform.
8. Flash Lua RTOSFlash the compiled Lua RTOS image to your target hardware using tools like esptool.py.
9. Test your applicationVerify the functionality of your Lua RTOS application on the target hardware platform.
10. Iterate and improveContinuously refine your Lua RTOS application based on testing feedback and requirements.

Firmware

Where to get Lua-RTOS firmware? (Pr-compiled binaries)


Flash Tool

The software and hardware resources required for downloading firmware to flash are
listed below.

  • Hardware:
    o 1 x module to which firmware is downloaded
    o 1 x PC (Windows 7 [64 bits], Windows 10)
  • Software:
    Download Tool: Flash Download Tool ESpressif Flash Download Tool,

This tool supports the following SOCs

  • ESP32 series
  • ESP8266 series
  • ESP32-S2 series
  • ESP32-C3 series
  • ESP32-S3 series
  • ESP32-C2 series
  • ESP32-C6 series
  • ESP32-H2 series

Steps to follow

Download the appropriate firmware for your ESP32 board from the provided link. Once you’ve downloaded the appropriate firmware, unzip the file anywhere on your machine. Similarly, download the Flash tool from the same link and unzip it. Next, open the flash tool designed for ESP32 and configure the following parameters:

  • Baud rate: 921600
  • Flash mode: “dio”
  • Flash frequency: “40m”

For flashing the firmware, use the following addresses:

  • Bootloader.WHITECAT-ESP32-N1.bin – Address: 0x1000
  • lua_rtos.WHITECAT-ESP32-N1.bin – Address: 0x10000
  • partitions_singleapp.WHITECAT-ESP32-N1.bin – Address: 0x8000

For flashing the file system, use:

  • spiff_image.WHITECAT-ESP32-N1.Bin

Once the flashing process is complete, you’re all set.

Note: Make sure to adjust the “esp-idf path” and “usb path” as per your requirements.


Connect to the Console

Connect any UART Serial Tool to your device and configure the following parameters:

  • Speed: 115200 bauds
  • Data bits: 8
  • Stop bits: 1
  • Parity: None
  • Terminal emulation: VT100

Ensure these settings are accurately configured for seamless communication between your devices.

after connecting esp32 to the PC you will see the following.

   /\       /\
  /  \_____/  \
/_____________\
W H I T E C A T

Lua RTOS beta 0.1 build 1479953238 Copyright (C) 2015 - 2017 whitecatboard.org
cpu ESP32 at 240 Mhz
spiffs0 start address at 0x180000, size 512 Kb
spiffs0 mounted
spi2 at pins sdi=012/sdo=013/sck=014/cs=015
sd0 is at spi2, pin cs=015
sd0 type II, size 1943552 kbytes, speed 15 Mhz
sd0a partition type 0b, sector 227, size 1943438 kbytes
fat init file system
fat0 mounted
redirecting console messages to file system ...

Lua RTOS beta 0.1 powered by Lua 5.3.4


Executing /system.lua ...
Executing /autorun.lua ...

/ >

ESP32 Lua RTOS Flash Firmware tutorial

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… →

Embedded Protocol – I2C

 I²C (Inter-Integrated Circuit) is a bi-directional two wires and serial data transmission communication protocol developed by  Philips (Now NXP Semiconductor) in 1982. I2C is a Half-duplex communication protocol  – (I2c can’t send and receive same time in the bus-data line). Multi-master can communicate with multi-salve. (Note: Communication is restricted between two masters; however, a single master can communicate with either a single slave or multiple slaves.) I2C is a Level Triggering. A device that sends data onto the bus is defined as a transmitter, and a device receiving data is defined as a receiver.

The bus must be controlled by a master device, responsible for generating the Start and Stop conditions. In contrast, certain devices such as LCDs, EEPROMs, and RTCs function as slaves. It’s important to note that both master and slave devices can operate as either transmitters or receivers. However, the master device plays a pivotal role in determining which mode is activated.

Read more… →