MikroTik RouterOS’da ThingsBoard serverni container bilan o‘rnatish

⏱ O‘qish vaqti: 2 daqiqa

Qisqacha

  • Container rejimini yoqish
  • veth va bridge yaratish
  • NAT va port forward sozlamalari
  • ThingsBoard imidjini yuklab, ishga tushirish
  • MQTT brokerini qo‘shish

Ko‘plab IoT loyihalarida alohida server qurilmasi kerak bo‘ladi. MikroTik RouterOS 7.8+ versiyasida container funksiyasi yordamida bu serverni router ichida ishga tushirish mumkin. Bu maqolada ThingsBoard tb‑postgres imidjini MQTT/HTTP broker sifatida qanday o‘rnatish ko‘rsatiladi.

Talablar

  • RouterOS 7.8 yoki undan yuqori
  • container paketi o‘rnatilgan
  • kamida 8 GB disk va 1 GB RAM
  • x86 yoki arm64/amd64 arxitektura (arm32‑bit qo‘llab‑quvvatlanmaydi)
  • Administrator huquqi

Sozlash bosqichlari

1. Container rejimini yoqish

RouterOSda container funksiyasini faollashtirish uchun system/device-mode/update buyrug‘i ishlatiladi. Bu qadam container rejimini yoqadi va qurilmani qayta yuklash talab qilishi mumkin.

/system/device-mode/update container=yes

2. veth interfeysini qo‘shish

interface/veth/add buyrug‘i yordamida veth1 nomli virtual interfeys yaratiladi va 172.18.0.2/24 manziliga tayinlanadi. Bu interfeys container ichidagi tarmoq bilan bog‘lanadi.

/interface/veth/add name=veth1 address=172.18.0.2/24 gateway=172.18.0.1

3. Bridge yaratish va veth qo‘shish

interface/bridge/add bilan dockertb bridge yaratiladi, unga 172.18.0.1/24 IP beriladi, keyin bridge/port add orqali veth1 bridgega qo‘shiladi. Bu containerga lokal tarmoqni taqdim etadi.

/interface/bridge/add name=dockertb
/ip/address/add address=172.18.0.1/24 interface=dockertb
/interface/bridge/port add bridge=dockertb interface=veth1

4. NAT masquerade sozlamasi

ip/firewall/nat/add qoidasi srcnat chainda 172.18.0.0/24 manzilidan chiqqan trafikni maskalash uchun qo‘llaniladi, bu containerning internetga chiqishini ta’minlaydi.

/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.18.0.0/24

5. HTTP portini DNAT qilish

ip firewall nat add qoidasi orqali routerning lokal IP manzilida 9090 portini container ichidagi 172.18.0.2:9090 ga yo‘naltiriladi. Bu ThingsBoard veb‑interfeysiga mahalliy tarmoqdan kirish imkonini beradi.

/ip firewall nat add action=dst-nat chain=dstnat dst-address=192.168.88.1 dst-port=9090 protocol=tcp to-addresses=172.18.0.2 to-ports=9090

6. MQTT portini DNAT qilish

Xuddi shunday, 1883 TCP porti routerning lokal IP manzilidan container ichidagi 172.18.0.2:1883 ga yo‘naltiriladi, bu MQTT brokeriga ulanishni ta’minlaydi.

/ip firewall nat add action=dst-nat chain=dstnat dst-address=192.168.88.1 dst-port=1883 protocol=tcp to-addresses=172.18.0.2 to-ports=1883

7. ThingsBoard imidjini sozlash va ishga tushirish

Avvalo container/envs/add bilan TB_QUEUE_TYPE muhit o‘zgaruvchisi “in-memory” ga o‘rnatiladi, keyin container/mounts/add bilan ma’lumot va log kataloglari mount qilinadi, container/config/set orqali registry URL, tmpdir va ram-high limitlari belgilanadi. So‘ng container/add buyrug‘i yordamida thingsboard/tb-postgres:latest imidji veth1 interfeysiga, yaratilgan mount va env ro‘yxatiga ulanadi, logging yoqiladi. Oxirida container/start buyrug‘i bilan container ishga tushadi.

/container/add remote-image=thingsboard/tb-postgres:latest interface=veth1 root-dir=ThingsBoard mounts=mytb-data,mytb-logs envlist=tb_envs logging=yes

8. ThingsBoard MQTT brokerini qo‘shish

iot/mqtt/brokers/add buyrug‘i yordamida broker nomi tb, manzil 172.18.0.2, port 1883 va YOUR_TOKEN foydalanuvchi nomi bilan qo‘shiladi. Bu broker orqali RouterOS statistik ma’lumotlarini ThingsBoardga yuborish mumkin.

/iot/mqtt/brokers/add name=tb address=172.18.0.2 port=1883 username=YOUR_TOKEN

Tekshirish

Routerning lokal IP manzilida (masalan 192.168.88.1) brauzerda http://192.168.88.1:9090 manzilini oching – ThingsBoard boshqaruv paneli ko‘rinishi kerak. MQTT brokeriga ulanishni tekshirish uchun MQTT client bilan 172.18.0.2:1883 ga ulanib, tokenni foydalanuvchi nomi sifatida ishlating.

Diqqat:

  • 8 GB disk bo‘sh joy va kamida 1 GB RAM tavsiya etiladi; kamroq xotira bilan ishlashda muammolar yuzaga kelishi mumkin
  • ThingsBoard imidji faqat linux/arm64 va linux/amd64 arxitekturalarida mavjud, arm32‑bit qurilmalarda ishlamaydi
  • RouterOS 7.8‑dan eski versiyalarda container funksiyasi yo‘q; yangilash zarur
  • Mahalliy tarmoqdan tashqarida HTTP portini ochiq qoldirish xavfsizlikka tahdid soladi – HTTPS ga o‘tkazish va standart bo‘lmagan portlardan foydalanish tavsiya etiladi

Xulosa

Ushbu qadamlar orqali MikroTik routerda ThingsBoard MQTT/HTTP serverini container sifatida ishga tushirishingiz mumkin. Endi RouterOS statistik ma’lumotlarini IoT platformasiga uzatib, vizualizatsiya qilishingiz mumkin.

Manba: Container – ThingsBoard MQTT/HTTP server — help.mikrotik.com

0 0 ovozlar
Article Rating
Obuna boʻling
Xabar berish
guest

0 Comments
Eng avvalgi
Eng yangi Eng ko'p ovoz berilgan