如何在 React Native 项目中使用 MQTT

如何在 React Native 项目中使用 MQTT,第1张

React Native 是 Facebook 推出并开源的跨平台移动应用开发框架,是 React 在原生移动应用平台的衍生产物,支持 iOS 和安卓两大平台。React Native 使用 Javascript 语言,类似于 HTML 的 JSX,以及 CSS 来开发移动应用,因此熟悉 Web 前端开发的技术人员只需很少的学习就可以进入移动应用开发领域,同时 React Native 也提供了接近原生应用的性能和体验。

MQTT 是一种基于发布/订阅模式的 轻量级物联网消息传输协议 ,可在严重受限的硬件设备和低带宽、高延迟的网络上实现稳定传输。它凭借简单易实现、支持 QoS、报文小等特点,占据了物联网协议的半壁江山。

本文主要介绍如何在 React Native 项目中使用 MQTT,实现客户端与服务器的连接、订阅、取消订阅、收发消息等功能。

这里以创建一个名为 RNMQTTDemo 的项目为例,开发环境为 macOS,应用平台为 iOS,具体过程参考 Setting up the development environment 。

项目创建完成后,在项目根目录环境下,执行以下命令安装所需依赖:

react_native_mqtt 是一个在 React Native 项目中使用的 MQTT 客户端模块,支持 iOS 和 Android。

这里使用 EMQ 提供的免费公共 MQTT 服务器,该服务基于 EMQ 的 MQTT 物联网云平台 创建。服务器接入信息如下:

完整的 RNMQTTDemo 项目地址: >物联网中最常用的编程语言,即Java,C,C ++,Python,JavaScript和Go。
Java:物联网技术最流行的编程语言
Java有多个应用领域,从后端编程到Android的移动应用。根据 Eclipse基金会执行的2017年物联网开发者调查,Java首次提供了用于物联网开发的编程语言列表,专门用于网关和云。
使用Java进行物联网开发的一个主要好处是便携性。Java没有任何硬件限制,这意味着您可以在计算机上编写和调试Java代码,并将其部署到几乎任何运行Java虚拟机的设备上。出于这个原因,许多公司选择聘请Java开发人员进行物联网项目。
C:嵌入式设备的关键编程语言
C编程语言接下来成为物联网IoT堆栈最喜欢的语言。然而,根据Eclipse基金会的说法,它被认为是受限设备开发的领先技术。
该编程语言提供对低级硬件API的直接访问。由于其与机器语言的相似性,C非常快速且灵活,使其成为处理能力有限的物联网系统的完美选择。
C ++:Linux的第一语言
与其前身C一样,C ++已广泛用于嵌入式系统开发。但是,C ++的主要优势在于处理能力,在任务更加复杂时使其成为C的有用替代方案。
C ++最适合编写硬件特定的代码。它可与Linux,第一大物联网技术 *** 作系统配合使用。但是,与Java相比,它具有有限的可移植性。
Python:面向数据的物联网系统的解决方案
作为最受欢迎的网络编程语言之一,以及科学计算的前沿技术,Python在物联网开发中也获得了巨大的推动力。 对于数据密集型应用程序,Python是一个不错的选择,特别是在管理和组织复杂数据时。
JavaScript:事件驱动物联网应用的最佳解决方案
根据年度StackOverflow开发者调查显示,JavaScript是过去五年来最流行的编程语言之一,是现代Web开发中的核心技术。
在许多其他应用领域中,JavaScript是物联网编程语言中最常用的构建事件驱动系统。它可以管理连接设备的大型网络,并且在需要处理多个任务而无需等待其他任务完成时可以胜任。JavaScript对IoT的主要优势之一是非常节约资源。
Go:坚固的技术堆栈为复杂的物联网网络提供动力
Go是一款开源编程语言,由Google创建。尽管它不能像语言那样拥有同样广泛的用途,但我们之前专注于这一点,它是在您的物联网系统内建立通信层的强大技术。
Go语言关于物联网的主要优势是并发性和同时运行多个进程(数据输入和输出)的能力。这使得构建由多个传感器和设备组成的复杂IoT网络变得更加容易。

LwM2M是一套适用于物联网的协议。首先,EMQ君从整体上来带领大家来了解一下这个协议,看以下几个问题:

LwM2M的全称是Lightweight Machine-To-Machine,它的名称里面包含了这么两个重要含义:1)这个协议是轻量级的;2)这个协议适用于物联网设备。

LwM2M协议是由OMA(Open Mobile Alliance)提出并定义的。OMA这个组织专注于移动通讯以及物联网产业的标准开发,给自己的定位是“规范大工厂”。随着“万物皆可联”概念的兴起,物联网终端数目急剧膨胀,也不再局限于智能手机这样的强力大块头。有很多设备,要么电量有限,要么内存有限,要么可使用带宽有限,之前那些适于强劲终端设备管理的协议对它们来说有些太重了难以承受,因此,为了照顾到这些资源有限的小个子设备们,LwM2M协议在2013年底诞生了。目前的成熟版本号依然是10,OMA的专家们正在努力整11版。

概括地说: LwM2M是适用于资源有限的终端设备管理的轻量级物联网协议。

接着,我们从几个方面详细介绍LwM2M协议:

先看一下LwM2M协议的基本架构。

协议最主要的实体包括LwM2M Server和LwM2M Client。

此外,根据需要还可以加入LwM2M引导服务器(Bootstrap Server)或智能卡(SmartCard),对客户端完成初始的引导。

在这些实体之间,协议定义了4个接口,来实现预期的功能。

LwM2M协议有以下几个突出特点:

考虑到与时俱进,实现简洁易懂的风格,LwM2M协议采用了REST。

但由于协议的服务对象是资源有限的终端设备,传统的>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/13404938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存