---
title: "IKB"
canonical: https://wavect.io/zh/case-studies/ikb/
language: zh
description: "IKB（因斯布鲁克市政公司）是奥地利因斯布鲁克的市政供应方，水、能源、废弃物、通信。他们的智慧城市项目已经在推进，需要的是能帮着把它推到城市级规模的工程人手。"
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

[← 所有案例研究](/zh/case-studies/)

![IKB logo](/img/clients/bak/ikb.png)

案例研究

IKB

# 因斯布鲁克全城物联网项目的工程。基础设施、设备、编解码器。完整交接，至今随叫随到。

IKB（因斯布鲁克市政公司）是奥地利因斯布鲁克的市政供应方，水、能源、废弃物、通信。他们的智慧城市项目已经在推进，需要的是能帮着把它推到城市级规模的工程人手。

ENTERPRISE 物联网基础设施 上线

速览

项目类型 物联网基础设施

行业 [物联网 / 智慧城市 / 公共部门](/zh/industries/public-sector-smart-city/)

阶段 企业

项目规模 时薪

年份 2019-2023

技术栈

Kubernetes LoRaWAN Docker JavaScript Node.js Linux

状态 上线

实例 [www.ikb.at](https://www.ikb.at/)

## 概览

IKB（因斯布鲁克市政公司）是奥地利因斯布鲁克的市政供应方，水、能源、废弃物、通信。他们的智慧城市项目已经在推进，需要的是能帮着把它推到城市级规模的工程人手。

## 挑战是什么？

协助把一个已在推进的智慧城市项目推到城市级规模。真实街道、真实厂商的真实设备，没有一个说同一种方言。Kubernetes 上的 LoRaWAN 骨干，要扩展并扩容。多厂商硬件要评估并集成。按设备解码上行/下行载荷。数据手册并不总与硬件一致。

## 我们做了什么决定？

### 每个设备，自带方言。每个设备，自带时钟。

> 我们进场时，IKB 的项目已经在推进。把 LoRaWAN 骨干扩展到生产规模是可控的。对着与手上硬件不一致的数据手册写编解码器不是。每家厂商对包的处理方式都不一样。有些设备每天说话、有些每季度、有些只在水表检测到漏水时才开口。一个字节写错就要花上整整一个周期才能验证。我们为每家厂商建了一套编解码工作台，抓下真实包，离线回放。

## 我们做了什么

我们加入了 IKB 已在推进的智慧城市项目，作为把它推到城市级规模的工程力量的一部分，对抗多厂商现实，没有两个设备说同一种方言。我们负责基础设施和设备：扩展承载 ChirpStack 的 Kubernetes 集群，对水表与货运自行车追踪器做现场测试，编写上行解码器与下行编码器。随后，我们把平台完整交接给 IKB 的内部团队，转为外部支持，继续处理新设备接入、Grafana 监控栈、现场连通性和厂商对接。

## 成果

### 完整 - 平台交接

### 多厂商 - 研究与集成

想让你的项目也拿到这样的成果？

范围固定。期限固定。已签 SoW。

[联系我们](/zh/contact/)

## 经验总结

城市级物联网本质上是一个伪装成硬件问题的协调问题。协议是可控的，数据手册不是。每家厂商的文档写法都略有不同，每种载荷格式都是它自己的方言。在整个技术栈上做紧密协调，是唯一行得通的做法。免费的 [LoRaWAN Payload Codec 测试器](/zh/tools/lorawan-payload-codec-tester/) 把这些设备方言所需的离线 fixture 流程做成了工具。

## 技术栈

- [Kubernetes](https://kubernetes.io/)
- [LoRaWAN](https://lora-alliance.org/)
- [Docker](https://www.docker.com/)
- [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- [Node.js](https://nodejs.org/)
- [Linux](https://www.kernel.org/)
- [ChirpStack](https://www.chirpstack.io/)
- [MQTT](https://mqtt.org/)
- [Grafana](https://grafana.com/)
- [PostgreSQL](https://www.postgresql.org/)

## 标签

- 物联网
- 智慧城市
- LoRaWAN

## 链接与资源

[IKB](https://www.ikb.at/) [Smart City Lab](https://www.ikb.at/smart-city-lab)

相关服务

- [物联网](/zh/services/internet-of-things/)
- [定制软件开发](/zh/services/software-development/)

客户引用与商标

Wavect 发布这些案例研究，讲述的是我们自己的工作。客户名称、标识和商标归各自所有者所有，在此仅用于标识相关工作，并不表示任何合作、赞助或背书关系。每个案例描述的是 Wavect 在一项更大工作中的自身贡献，客户自己的团队以及其他服务商也共同促成了这些结果。归属于客户的数据是该客户自行提供的数字。关于我们工作的数据来自我们在页面所示核查日期的记录，可按要求提供证据。评价均转载自各卡片所标注的平台，并链接至原始来源。我们不公开任何合作的商业条款，产品截图的权利仍属于所展示的客户。如果你被列在此处，希望更正、修改或撤下相关内容，请写信给我们，我们会处理： [office@wavect.io](mailto:office@wavect.io)

### [MyMerch](/zh/case-studies/mymerch/)

MyMerch 是一家位于德国基姆湖的商品定制与按需印刷品牌。他们通过 Shopify 在十多家店铺销售定制服装与品牌周边。

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/zh/case-studies/ikb/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-05-21",
      "inLanguage": "zh",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-21",
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".faq-question",
          ".faq-answer"
        ]
      },
      "url": "https://wavect.io/zh/case-studies/ikb/"
    },
    {
      "@id": "https://wavect.io/verified-claims.json#ikb-complete-handover",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/zh/case-studies/ikb/#webpage",
        "@type": "WebPage",
        "inLanguage": "zh",
        "url": "https://wavect.io/zh/case-studies/ikb/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-04",
      "identifier": "ikb-complete-handover",
      "inLanguage": "en",
      "text": "Wavect handed the IKB Smart City IoT platform over to IKB's in-house team completely and stayed on as external support."
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@id": "https://wavect.io/zh/case-studies/ikb/#case-study",
  "@type": "Article",
  "about": {
    "@id": "https://wavect.io/zh/case-studies/ikb/#project",
    "@type": "CreativeWork",
    "creator": {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ]
    },
    "dateCreated": "2019-01-01",
    "description": "物联网基础设施 engagement",
    "funder": {
      "@type": "Organization",
      "name": "IKB"
    },
    "name": "IKB",
    "subjectOf": {
      "@id": "https://wavect.io/zh/case-studies/ikb/#case-study",
      "@type": "Article"
    },
    "url": "https://www.ikb.at/"
  },
  "abstract": "协助把一个已在推进的智慧城市项目推到城市级规模。真实街道、真实厂商的真实设备，没有一个说同一种方言。Kubernetes 上的 LoRaWAN 骨干，要扩展并扩容。多厂商硬件要评估并集成。按设备解码上行/下行载荷。数据手册并不总与硬件一致。",
  "author": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "datePublished": "2019-01-01",
  "description": "IKB（因斯布鲁克市政公司）是奥地利因斯布鲁克的市政供应方，水、能源、废弃物、通信。他们的智慧城市项目已经在推进，需要的是能帮着把它推到城市级规模的工程人手。",
  "headline": "IKB, Wavect Case Study",
  "image": "https://wavect.io/img/clients/bak/ikb.png",
  "inLanguage": "zh",
  "isPartOf": {
    "@type": "CollectionPage",
    "name": "Wavect Case Studies",
    "url": "https://wavect.io/zh/case-studies/"
  },
  "keywords": "物联网, 智慧城市, LoRaWAN, Kubernetes, LoRaWAN, Docker, JavaScript, Node.js, Linux, ChirpStack, MQTT, Grafana, PostgreSQL",
  "mainEntityOfPage": "https://wavect.io/zh/case-studies/ikb/",
  "mentions": [
    {
      "@type": "DefinedTerm",
      "name": "Kubernetes",
      "url": "https://kubernetes.io/"
    },
    {
      "@type": "DefinedTerm",
      "name": "LoRaWAN",
      "url": "https://lora-alliance.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Docker",
      "url": "https://www.docker.com/"
    },
    {
      "@type": "DefinedTerm",
      "name": "JavaScript",
      "url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript"
    },
    {
      "@type": "DefinedTerm",
      "name": "Node.js",
      "url": "https://nodejs.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Linux",
      "url": "https://www.kernel.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "ChirpStack",
      "url": "https://www.chirpstack.io/"
    },
    {
      "@type": "DefinedTerm",
      "name": "MQTT",
      "url": "https://mqtt.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Grafana",
      "url": "https://grafana.com/"
    },
    {
      "@type": "DefinedTerm",
      "name": "PostgreSQL",
      "url": "https://www.postgresql.org/"
    }
  ],
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/zh/case-studies/ikb/"
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/",
      "name": "首页",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/case-studies/",
      "name": "案例研究",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/case-studies/ikb/",
      "name": "IKB",
      "position": 3
    }
  ]
}
```
