
你听说过IPFS项目了吗?它是一个开源项目,负责开发分布式文件系统。感觉像BitTorrent + Git一起粉碎,允许任何运行IPFS守护进程的人以对等(P2P)方式访问彼此的文件。
他们最近在IPFS平台上发布了一个实验性的pubsub功能。Pubsub基本上允许您“订阅”某个频道或主题,允许您从其他设备接收将消息“发布”到同一频道或主题的消息。
这让我想到了…… MQTT是最受欢迎的物联网消息传递协议之一。它也使用类似的pubsub模型。它的缺点是它需要云中或网络边缘的代理来管理消息传递。如果您可以以更具弹性的方式执行相同的操作,例如在分布式网络(IPFS)中,您的设备可以跨网络进行交互 – 即使没有云或DNS!
这是我的想法在行动中的快速,工作的概念验证!
视频网址: https://youtu.be/qLpM5pBDGiE
var ipfsAPI = require(‘ ipfs-api ‘); | |
var ipfs = ipfsAPI(‘ localhost ‘,‘ 5001 ‘,{protocol : ‘ http ‘ }); | |
const topic = ‘ general ‘ ; | |
var five = require(‘ johnny-five ‘); | |
五。董事会()。on(‘ ready ‘,function(){ | |
led = new five.Led(9); | |
控制台。log(‘ Ready ‘); | |
const receiveMsg =(msg)=> { | |
控制台。日志(MSG。数据。的toString()); | |
如果(MSG。数据。的toString()== “上”){ | |
领导。on(); | |
} else { | |
领导。off(); | |
} | |
} | |
ipfs。pubsub。subscribe(topic,receiveMsg); | |
}); |
您可以通过IPFS从世界上任何地方发布消息来打开/关闭Arduino LED。
> ipfs pubsub pub general on
> ipfs pubsub pub general off
您可以使用以下脚本轻松自动切换此LED以发布消息。
var msgSend; | |
var counter = 0 | |
setInterval(function(){ | |
msgSend = 新 缓冲液(计数器。的toString()); | |
ipfs。pubsub。发布(topic,msgSend,(err)=> { | |
if(错误){ | |
扔错了 | |
} | |
// msg被播出了 | |
}) | |
反++ | |
},3000); |
我相信IPFS在物联网领域具有巨大潜力。
点对点科技简介
点对点科技深耘IPFS与Filecoin技术,坚持区块链技术改变未来的信念。点对点 IPFS 数据中心是目前国内技术领先,性价比高、保障优的投资标的。自建杭州数据中心,合作数据中心分布于上海、宁波、河北、香港、斯德哥尔摩(瑞典)等地。点对点数据中心具有优秀的硬件配置与目前国内优质的网络节点资源。点对点科技力求将IPFS爱好者升级为IPFS领军者与受益者,让IPFS颠覆传统互联网,共同开启 WEB 3.0时代。
想了解更多区块链知识吗?关注我吧!
原创文章,作者:Eric,如若转载,请注明出处:http://ipfsdrop.com/tech/using-ipfs-for-internet-of-things-communication/