Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Mengkonfigurasi sistem Linux untuk menyokong edge gateway dan pembangunan gateway IoT

Mengkonfigurasi sistem Linux untuk menyokong edge gateway dan pembangunan gateway IoT

王林
王林asal
2023-07-04 18:12:101664semak imbas

Konfigurasikan sistem Linux untuk menyokong edge gateway dan pembangunan gateway IoT

Dalam pembangunan Internet of Things, pengkomputeran tepi dan get laluan IoT memainkan peranan penting. Sebagai perisian tengah untuk penghantaran dan pemprosesan data, gerbang tepi menghubungkan peranti dan sistem awan untuk menyediakan perkhidmatan komunikasi yang cekap dan selamat untuk Internet of Things. Artikel ini akan menerangkan cara mengkonfigurasi sistem Linux untuk menyokong pembangunan gerbang tepi dan get laluan IoT.

1. Pasang sistem Linux
Pertama, kita perlu memasang pengedaran Linux yang sesuai pada peranti sasaran. Pengedaran Linux biasa termasuk Ubuntu, Debian, CentOS, dll. Pilih salah satu daripadanya dan pasangkannya mengikut dokumentasi rasmi.

2. Pasang pakej perisian yang diperlukan
Untuk menyokong pembangunan edge gateway dan IoT gateway, kami perlu memasang beberapa pakej perisian yang diperlukan. Buka terminal dan laksanakan arahan berikut untuk memasang pakej perisian:

sudo apt-get update
sudo apt-get install make gcc git

Ini akan memasang alat penyusunan dan alat kawalan versi untuk menyediakan persekitaran untuk pembangunan seterusnya.

3. Sediakan sambungan rangkaian
Gerbang tepi dan gerbang IoT perlu berkomunikasi dengan peranti dan sistem awan. Untuk mencapai matlamat ini, kita perlu menyediakan sambungan rangkaian. Ethernet ialah kaedah sambungan yang paling biasa.

    sudo vim /etc/network/interfaces
  1. Sila tukar Gantikan [Alamat IP Gerbang], [Subnet Mask] dan [Alamat IP Pelayan DNS] dengan nilai sebenar.
    Simpan fail dan keluar dari editor.
  1. Mulakan semula perkhidmatan rangkaian untuk menjadikan konfigurasi berkuat kuasa:

auto eth0
iface eth0 inet static
    address [网关IP地址]
    netmask [子网掩码]
    gateway [网关IP地址]
   dns-nameservers [DNS服务器IP地址]

4. Pasang edge gateway dan perisian IoT gateway
    Pembangunan edge gateway dan IoT gateway biasanya berdasarkan perisian sumber terbuka. Mengambil Eclipse Kura sebagai contoh, kami akan menunjukkan cara memasang Kura sebagai gerbang tepi dan perisian gerbang IoT:
  1. Buka terminal dan laksanakan arahan berikut untuk memuat turun pakej pemasangan Kura:
sudo systemctl restart networking


Nyahzip pakej pemasangan :

    wget https://github.com/eclipse/kura/releases/download/v4.3.0/kura_4.3.0_raspberry-pi-2-3.img.gz
  1. Gunakan perintah dd untuk membakar fail imej ke kad SD:
    gunzip kura_4.3.0_raspberry-pi-2-3.img.gz
  1. Sila gantikan /sdX dengan nod peranti kad SD, seperti /dev/sdb.
    Tunggu sehingga pembakaran selesai dan masukkan kad SD ke dalam peranti sasaran.
  1. Mulakan peranti dan sambungkan ke terminal, mulakan dan konfigurasikan mengikut dokumentasi rasmi Kura.

5. Membangunkan edge gateway dan aplikasi gerbang IoT
    Setelah pemasangan dan konfigurasi selesai, kami boleh mula membangunkan aplikasi edge gateway dan IoT gateway. Mengambil klien MQTT berdasarkan bahasa C sebagai contoh, kami akan menunjukkan cara menggunakan perpustakaan Paho MQTT untuk pembangunan:
  1. Buka terminal dan laksanakan arahan berikut untuk memuat turun perpustakaan Paho MQTT:
sudo dd bs=4M if=kura_4.3.0_raspberry-pi-2-3.img of=/dev/sdX conv=fsync


Masukkan direktori yang dimuat turun dan susun serta pasang pustaka:

    git clone https://github.com/eclipse/paho.mqtt.c.git
  1. Buat aplikasi klien MQTT dan tambah kod berikut:
    cd paho.mqtt.c
    make
    sudo make install
  1. Sila gantikan [alamat IP pelayan MQTT] dan [nombor port pelayan MQTT] dengan nilai berangka sebenar.
    Kompilasi dan jalankan aplikasi:
  1. #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <MQTTClient.h>
    
    #define ADDRESS "tcp://[MQTT服务器IP地址]:[MQTT服务器端口号]"
    #define CLIENTID "ExampleClientPub"
    #define TOPIC "test"
    #define PAYLOAD "Hello, MQTT!"
    
    int main(int argc, char* argv[])
    {
        MQTTClient client;
        MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer;
        int rc;
    
        MQTTClient_create(&client, ADDRESS, CLIENTID, MQTTCLIENT_PERSISTENCE_DEFAULT, NULL);
        conn_opts.keepAliveInterval = 20;
        conn_opts.cleansession = 1;
    
        MQTTClient_connect(client, &conn_opts);
    
        MQTTClient_message pubmsg = MQTTClient_message_initializer;
        MQTTClient_deliveryToken token;
        pubmsg.payload = PAYLOAD;
        pubmsg.payloadlen = strlen(PAYLOAD);
        pubmsg.qos = 0;
        pubmsg.retained = 0;
        MQTTClient_publishMessage(client, TOPIC, &pubmsg, &token);
    
        sleep(1);
    
        MQTTClient_disconnect(client, 10000);
        MQTTClient_destroy(&client);
    
        return rc;
    }
6. Ringkasan

Dengan mengkonfigurasi sistem Linux dengan betul, memasang pakej perisian yang diperlukan, menyediakan sambungan rangkaian, memasang edge gateway dan perisian IoT gateway, dan menggunakan pembangunan yang sepadan alatan dan perpustakaan Untuk pembangunan, kami boleh melaksanakan pembangunan gerbang tepi dan gerbang IoT dengan mudah. Ini akan memberikan keupayaan dan fleksibiliti yang lebih besar untuk aplikasi IoT.

    Di atas ialah artikel tentang mengkonfigurasi sistem Linux untuk menyokong edge gateway dan pembangunan gateway IoT. Dengan langkah ini, kami boleh mula membina aplikasi IoT yang selamat dan cekap dan menyumbang kepada pembangunan IoT. Saya doakan anda berjaya!

Atas ialah kandungan terperinci Mengkonfigurasi sistem Linux untuk menyokong edge gateway dan pembangunan gateway IoT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn