İçeriğe geç
TREN
Atlıhan Harita

Lixel OpenAPI Kullanım Kılavuzu · C++

Hızlı Başlangıç

Bölüm 09.1 / 09Kılavuz sürümü v1.1.0Türkçe

Bu sayfa C++ için adım adım yol gösterir: ortamı hazırlama → derleme → projenize entegre etme → ilk isteği gönderme. C++ istemcisi yalnızca Linux üzerinde çalışır.

Gereksinimler

ÖğeSürümNot
İşletim sistemiLinuxUbuntu 22.04 üzerinde doğrulandı
CMake3.16 veya daha yeni3.22.1 ile test edildi
C++ derleyicisiC++14GCC 11.4 ile test edildi
git, ağ—sabitlenmiş bağımlılıkları almak için yapılandırma sırasında gerekir
OpenSSL geliştirme dosyaları—libssl-dev
lz4 geliştirme dosyaları1.9 veya daha yeniliblz4-dev, pkg-config ile bulunur

CMake, derleme sırasında iki bağımlılığı alır ve sabitler; elle kurulum gerekmez:

BağımlılıkSürümNeden
protobufv21.12 (3.21.12)üretilen kod ve çalışma zamanı aynı sürüm olmalıdır
paho.mqtt.cv1.3.13cihaz tarafının derlendiği sürüm

Sistem bağımlılıklarını kurun (Ubuntu):

sudo apt-get update
sudo apt-get install -y build-essential cmake git libssl-dev liblz4-dev pkg-config

Derleme ve test

Deponun kök dizininden:

cmake -S cpp -B cpp/build
cmake --build cpp/build -j
ctest --test-dir cpp/build --output-on-failure

İlk yapılandırma protobuf'u kaynaktan derler. Doğrulama yapılan makinede (Ubuntu 22.04) temiz bir derleme, 20 paralel iş ile yaklaşık 47 sn sürdü.

Not: Ubuntu 22.04, bu projenin gereksinimlerinin altında kalan protobuf 3.12.4 sürümünü içerir. Varsayılan AUTO seçeneği bunun yerine sabitlenmiş sürümü (3.21.12) otomatik olarak derler; sizin herhangi bir işlem yapmanız gerekmez.

Derleme çıktısı, cpp/build/examples/ dizininde 18 örnek içerir:

./cpp/build/examples/heartbeat --seconds 5                 # no key needed
./cpp/build/examples/device_info --key <provided by XGRIDS>
./cpp/build/examples/modeling --key <provided by XGRIDS> --project demo --watch 8

Projenize Entegre Etme

Henüz install veya CMake paket dışa aktarımı yoktur; cpp/ dizinini projenize add_subdirectory ile ekleyin (protobuf ve paho bu komutla indirilir):

set(LIXEL_OPENAPI_BUILD_TESTS OFF)
set(LIXEL_OPENAPI_BUILD_EXAMPLES OFF)
add_subdirectory(path/to/Lixel_OpenAPI/cpp lixel)
target_link_libraries(my_app PRIVATE LixelOpenApi::lixel_openapi)

İlk İsteğiniz

Cihaza bağlanın ve cihaz bilgilerini sorgulayın:

#include "lixel/openapi/client.h"
#include "openapi/aiot_msgs.pb.h"

lixel::openapi::ClientOptions options;
options.transport.host = "192.168.55.1";
options.openapi_key = "<provided by XGRIDS>";

lixel::openapi::Client client(options);
if (!client.Connect().ok()) return 1;

openapi::aiot_msgs::DeviceInfoRequest request;
openapi::aiot_msgs::DeviceInfoResponse response;
lixel::openapi::Result r = client.Request(
    "lixel/application/request/device_info", request,
    "lixel/application/response/device_info", &response);
// r.ok(): the device answered with a success code.
// r.code == Errc::DeviceError: the device answered with an error code (see r.device_code, r.desc), response is filled.
// r.code == Errc::RequestTimeout: no response arrived.

Request, header.seq, header.openapi_key ve header.device_id alanlarını isteğe otomatik olarak doldurur. Yanıt, cihazın geri kopyaladığı header.seq değeriyle eşleştirilir.

Sonraki Adımlar

Bu bölüm XGRIDS'in resmî kullanım kılavuzundan Türkçeye çevrildi; ekran görüntüleri ve arayüz adları özgün haliyle İngilizcedir. İngilizce aslı (yeni sekmede açılır) · Güncelleme:

XGRIDS Türkiye

Kurulumda ve Sahada Yanınızdayız

Atlıhan Harita; cihaz kurulumu, firmware güncellemesi, yazılım kullanımı ve saha uygulamalarında eğitim ve teknik destek verir. Sorunuzu iletin, uzmanımız size dönsün.

+90 216 546 0804