All Projects → cmbahadir → opcua-esp32

cmbahadir / opcua-esp32

Licence: MPL-2.0 license
Embedded OPC UA Server on ESP32 based on open62541 stack

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to opcua-esp32

esp32-ota
ESP32 OTA based on ThingsBoard Open-source IoT Platform
Stars: ✭ 45 (-45.12%)
Mutual labels:  esp32, esp-idf
esp-idf-vscode-boilerplate
Boilerplate for developing ESP-IDF applications using VS Code
Stars: ✭ 26 (-68.29%)
Mutual labels:  esp32, esp-idf
esp32-xbee
ESP32 XBee UART Interface
Stars: ✭ 48 (-41.46%)
Mutual labels:  esp32, esp-idf
Homekit
Homekit for ESP32 with Arduino framework
Stars: ✭ 80 (-2.44%)
Mutual labels:  esp32, esp-idf
esp-idf-w25q64
SPI Flash Memory W25Q64 Access Library for esp-idf
Stars: ✭ 12 (-85.37%)
Mutual labels:  esp32, esp-idf
esp32-e-paper-weatherdisplay
An ESP32 and 4.2" ePaper Display reads Dark Sky weather API and displays the weather using ESP-IDF
Stars: ✭ 110 (+34.15%)
Mutual labels:  esp32, esp-idf
esp32-ds18b20
ESP32-compatible C library for Maxim Integrated DS18B20 Programmable Resolution 1-Wire Digital Thermometer.
Stars: ✭ 61 (-25.61%)
Mutual labels:  esp32, esp-idf
ESP32-USB-Soft-Host
An Arduino wrapper to @sdima1357's usb_soft_host esp-idf example
Stars: ✭ 119 (+45.12%)
Mutual labels:  esp32, esp-idf
esp-idf-json
Example of JSON Serialize and Deserialize in ESP-IDF
Stars: ✭ 29 (-64.63%)
Mutual labels:  esp32, esp-idf
esp-idf-hal
embedded-hal implementation for Rust on ESP32 and ESP-IDF
Stars: ✭ 42 (-48.78%)
Mutual labels:  esp32, esp-idf
gfx demo
GFX Demo for Arduino and the ESP-IDF
Stars: ✭ 63 (-23.17%)
Mutual labels:  esp32, esp-idf
node-opcua-coreaas
An extension for node-opcua implementing CoreAAS Information Model
Stars: ✭ 19 (-76.83%)
Mutual labels:  opc-ua, opcua
esp32-epaper-display
Server and software to use an ESP32 as a connected display
Stars: ✭ 73 (-10.98%)
Mutual labels:  esp32, esp-idf
wireless-esp8266-dap
ESP8266 Wireless Debugger. Based on CMSIS-DAP v2.0.0. Optional 40MHz SPI acceleration, etc. ESP8266 无线调试器
Stars: ✭ 154 (+87.8%)
Mutual labels:  esp32, esp-idf
esp-idf-parallel-tft
8bit parallel TFT & 4-line resistance touch screen Driver for esp-idf using i2s paralell mode
Stars: ✭ 45 (-45.12%)
Mutual labels:  esp32, esp-idf
ESP32-LCD-I2S
Espressif ESP32 driving a controller-less monochrome lcd with parallel I2S bus
Stars: ✭ 54 (-34.15%)
Mutual labels:  esp32, esp-idf
MQTT VPN
IP over MQTT for ESP controllers and Linux
Stars: ✭ 95 (+15.85%)
Mutual labels:  esp32, esp-idf
esp32-freqcount
ESP32 Frequency Counter using Pulse Counter and Remote Control modules
Stars: ✭ 48 (-41.46%)
Mutual labels:  esp32, esp-idf
lis3dh-esp-idf
LIS3DH driver for ESP-IDF (ESP32)
Stars: ✭ 27 (-67.07%)
Mutual labels:  esp32, esp-idf
Arduino Esp32
Arduino core for the ESP32
Stars: ✭ 7,741 (+9340.24%)
Mutual labels:  esp32, esp-idf

OPC UA Server on ESP32

OPC UA server runnning on ESP32 board with a minimal information model to control on-board relays of ESP32-EVB development board from Olimex. Also with a temperature node reading over GPIO 4 from a DHT-22 sensor.

DHT22 Sensor : GPIO 4
RELAY 0      : GPIO 32
RELAY 1      : GPIO 33

It is tested with UAExpert and Matrikon Mobile IOS OPC UA Client. If you see any problems with other clients please open an issue.

Prerequisites

Getting Started

Blog post with more information: Selftronics

It is required to have ESP-IDF and configured in local.

git clone --recursive https://github.com/espressif/esp-idf.git <your-esp-idf-root-path>
cd <your-esp-idf-root-path>
./install.sh
source export.sh
cd <your-esp-idf-root-path>/examples/
git clone https://github.com/cmbahadir opcua-esp32
cd opcua-esp32
idf.py build

Open62541.c and open62541.h are amalgamated OPC UA C stack files. If you are interested more on the OPC UA stack, please check Open62541 project.

If you want to build open62541.c/.h/.lib from source, be sure to apply the changes in here to make it compatible with FreeRTOS and xtensa-toolchain.

  • I haven't analyzed these modifications in open62541.c/.h files, these are just a result of trial and error process, but open62541 project is still being developed to make it easier. I would suggest to follow this long but full of practical information thread to overcome the problems about compiling open62541's with FreeRTOS.

  • OPC UA stack: Open62541

Configuration

Type of connection, Wi-Fi SSID, password and static ip configuration can be set through esp-idf's menuconfig tool. Beware that static ip is only supported for ethernet-cable connection. Connection can be configured from under "Connection configuration" on configuration menu run by executing the command:

idf.py menuconfig

License

This project is licensed under the Mozilla Public License Version 2.0 which is inherited from Open62541 project - see the LICENSE.md file for details.

Attention

Please do not use this project in production or in unattended systems. Users are accoutable in case of any damage.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].