天天看点

利用以太坊管理物联网设备 - 论文及源代码

本文介绍一个利用以太坊区块链管理物联网IoT设备的身份识别、验证和声誉的IoT设备管理系统。该系统使用Web界面在以太坊智能合约中注册物联网设备,并通过密码学签名消息验证Iot设备对平台的

使用权。

以太坊教程链接: Dapp入门 | 电商Dapp实战 ERC721实战 Php对接 Java对接 Python对接 C#对接 Dart对接

1、区块链物联网设备管理系统的基本概念

__物联网/IoT设备的标识__:通过默克尔树(Merkle Tree)的利用,无需暴露设备的私有属性即可完成IoT设备的注册。使用公钥(或其衍生表示)作为IoT设备的标识ID。

利用以太坊管理物联网设备 - 论文及源代码

__物联网/IoT设备的消息签名与验证__:系统中的每个消息都需要由发送端的IoT设备签名,并在接收端的IoT设备处进行验证。

发送端IoT设备的消息签名生成:

利用以太坊管理物联网设备 - 论文及源代码

接收端IoT设备的消息签名验证:

利用以太坊管理物联网设备 - 论文及源代码

__物联网/IoT设备的固件指纹__:通过保存IoT设备的固件哈希,可以验证设备所运行的固件是否被非法篡改。

__物联网/IoT设备的信誉机制__:基于Web的信任原理,设备可以形成一个信任网络。一个IoT设备从其他

有信誉的设备得到越多的签名,该设备就越可信。

2、区块链物联网设备管理系统的整体说明

系统主要组成部分包括:实体、设备和IoT平台:

利用以太坊管理物联网设备 - 论文及源代码

系统开发基于以下技术栈:

  • Ethereum
  • Solidity
  • Truffle Framework
  • Web3.js
  • React

项目主要目录内容说明如下:

  • contracts - Solidity智能合约
  • frontend - Web前端,基于React开发
  • simulations - IoT设备和平台仿真

系统中IoT设备的配置文件示例如下:

{
    "identifier": "0xf34d4c8f79657f1086f55b817837439c303dff19",
    "metadataHash": "43af4ba721cd8c9ba432ed6aca9adb96d16f82c25ba76...",
    "firmwareHash": "b01d2af9ea9dd59dd9c8af3f1639da03c79b7ed28adaa...",
    "metadata": [
        "Olive grove",
        "45.0270,14.61685",
        "Espressif Systems",
        "00:0a:95:9d:68:16"
    ],
    "firmware": "333f14cdb0a8520199257479ba126a10bca96b229b7924085...",
    "address": "0xf34d4c8f79657f1086f55b817837439c303dff19",
    "publicKey": "d627bbb0a7c150f814a1960ebe69f0d8b4494e1033d9e72...",
    "privateKey": "48a2e48b2d178e7d1f1508f2964a89079f1f8a301ebb85a...",
    "curve": "secp256k1",
    "deviceId": 0
}           

3、区块链物联网设备管理系统的主要用户界面

网络状态界面:

利用以太坊管理物联网设备 - 论文及源代码

实体历史记录界面:

利用以太坊管理物联网设备 - 论文及源代码

IoT设备ID管理界面:

利用以太坊管理物联网设备 - 论文及源代码

元数据管理界面:

利用以太坊管理物联网设备 - 论文及源代码

IoT设备固件信息维护界面:

利用以太坊管理物联网设备 - 论文及源代码

IoT设备维护确认界面:

利用以太坊管理物联网设备 - 论文及源代码

配置下载界面:

利用以太坊管理物联网设备 - 论文及源代码

IoT设备列表界面:

利用以太坊管理物联网设备 - 论文及源代码

IoT设备ID维护界面:

利用以太坊管理物联网设备 - 论文及源代码

IoT设备历史数据查看界面:

利用以太坊管理物联网设备 - 论文及源代码

原文链接:

基于以太坊区块链的物联网/IoT设备管理 — 汇智网