- 什么是API,API有什么用?
- 1. OpenHAB REST API
- 2. Mozilla Web Things API
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7.家庭助理API
- 8.物联网API
- 9. ThingSpeak.io REST API
- 10. EdgeX铸造厂
在当今的互联世界中,瘦身互联网(IoT)不再是专家们经常谈论的话题。是真的!!可以在我们周围找到,改变生活,提供更好的服务,改善流程,提供新的机会并增加收入。
借助数十亿个尚未连接到互联网的新设备,物联网的影响必将通过物联网设备本身提供的数据来实现社会和商业增长,从而将其影响范围从物联网设备本身扩展到其他多个应用程序。这已经发生了,因为当今大多数未部署IoT解决方案的组织仍能够通过使用其他人的API访问其他人部署的设备生成的数据来从中受益。
什么是API,API有什么用?
API的缩写代表Application Programming Interface(应用程序编程接口),它们并不是一个新事物,并且仅限于IoT,它们已经在软件开发中使用了很长时间。 API有助于将不同的服务轻松集成到产品中,从而使用一种语言编写的应用程序可以用另一种语言编写的软件使用,从而有助于减少总体基础架构和产品开发所需的时间。这些相同的优势目前正在转移到IoT应用程序中,并且在各种应用程序中使用API来公开数据,从而使多个设备可以组合和连接以解决新的有趣的工作流程,从而揭示了围绕IoT的未知的可能性。
在注册新服务时(例如Spotify),我们通常会遇到“使用Gmail登录”或“使用Facebook登录”之类的选项。这些只是Google / Facebook提供给Spotify的API,以简化注册过程。在这里,API将与Spotify共享基本的用户详细信息,例如姓名,电子邮件ID,电话号码等,并帮助您节省注册过程的时间。同样,不同的API可用于不同的应用程序需求。
就像软件一样,有多种IoT API可用于完成不同的任务,但是其中大多数通常不是免费的。对于今天的教程,我们将研究排名前十的,非常有用(我们认为)的开源IoT API,以帮助您减少开发成本和时间。这些API是开放的,免费的(或具有免费软件包),不仅可以供专业人员使用,还可以由制造商,爱好者和几乎任何认为它们有用并且可以接受使用条款的人使用。这些API的排列顺序没有特别的规定,是在垂直行业中随机选择的,并且由于它们执行不同的任务而可能不具有可比性。
1. OpenHAB REST API
开放式家庭自动化总线(openHAB)是一种与技术无关的开源技术,可在一个地方帮助连接和控制智能设备和“非智能”家庭设备。它允许设备使用用户定义的信息和用户定义的工具执行用户定义的操作。为此,openHAB可以对某些功能和操作进行细分和划分,所有这些功能和操作都可以通过openHAB REST API进行访问。
通过openHAB REST API,用户可以访问与平台关联的所有设备,设备本身(事物)和绑定的数据,以及发出命令和操作以更改连接到openHAB的设备的状态,行为或属性。 。与API的交互基于HTTP协议; 因此,在使用时确保安全连接非常重要。根据openHAB网站,通过openHAB REST API可能进行的一些交互包括:
- 从外部应用程序检索openHAB数据
- 从外部应用程序(例如,某些运动检测器或监视摄像机)在openHAB中注入数据并触发事件
- 检查openHAB绑定/事物或项目,了解当前状态,参数或问题
- 与其他程序的openHAB交互;许多编程语言和自动化工具都可以轻松利用REST API
- 使用手机上的第三方软件(例如Tasker)打开车库门
可在OpenHAB的网站上找到有关API使用的文档,更多示例和详细说明。
与openHAB一起使用的Tasker之类的第三方应用程序很好地说明了API如何开放物联网经济,并为整个链上创造附加价值提供了机会。
2. Mozilla Web Things API
Mozilla是一家非营利性组织,其使命是捍卫自由和开放的网络,而Web Things API代表了其将其在网络上的参与扩展到IoT的努力。根据Web Things网站的说法,Web Things API允许用户向万维网上所有连接的设备提供唯一的URL,从而可以将其用作所有IoT设备的统一应用程序层。
与大多数其他IoT API一样,Web Things API也基于REST,并且允许用户进行操作;访问设备的属性,确定每个设备的当前状态,并发出命令以更改设备的状态或执行操作。WebThings API使得访问代表设备各个方面的资源变得容易,因为每个资源都是使用URL单独引用的。可以在Mozilla IoT网站上找到更多信息。
3. OpenWeatherMap
OpenWeatherMap是一项基于Web的服务,可为Web服务,移动以及最近的IoT应用程序的开发人员提供与天气相关的数据(温度,湿度,降雨量等)的访问权限,包括当前天气,天气预报和历史数据。通过OpenWeatherMap可获得的数据来自DIY气象站,气象广播服务,机场气象站等多种来源。我们已经讨论过如何将Openweather Map与Arduino结合使用,以使用ESP8266从互联网读取天气数据。
数据以如下方式进行处理和分类:通过OpenWeatherMap API,可以构建利用这些数据来通知和自动化任务的IoT解决方案。例如,可以将通过API的预测数据输入到警报系统/设备中,以警告农民可能发生的倾盆大雨以及其他几种可能性。
虽然OpenWeatherMap的大多数功能都是付费的,但免费软件包具有非常有用的功能,可以很好地服务于大多数IoT项目。有关API的文档和其他详细信息可以在openWeatherMap网站上找到。
4. EmonCMS API
EmonCMS是功能强大的开源Web应用程序,用于处理,记录和可视化数据。顾名思义,这是OpenEnergyMonitor小组努力通过分析环境数据来促进开源能源监视设备的产物。它本质上是一个数据可视化工具,其中来自多个能源监控的数据可以查看传感器。为了使开发人员易于访问平台,创建了连接API,以允许在本地主机(LAN)或通过Internet运行时与平台进行交互。EmonCMS API允许用户更新平台上能源设备的状态,从平台获取读数和其他指示设备状态(如果设备兼容)的参数以及其他一些功能。
想要在您的下一个基于能源的物联网解决方案中添加一些数据可视化?EmonCMS可能正是您需要的。可以在其网站上找到有关平台和API的更多信息。
5.粒子API
粒子API是由粒子开发的应用程序编程接口,使开发人员可以轻松地使用其平台。Particle.IO是业界真正的端到端IoT解决方案提供商之一,提供设备硬件,蜂窝通信,设备云和应用程序接口。以前,我们已将粒子云与Raspberry Pi一起用于家庭自动化。
通过Particle API,开发人员可以轻松访问Particle的全部功能并将其与其他应用程序和设备集成。根据粒子的说法,API允许开发人员将功能写入其设备的固件,然后将其实时调用以在应用程序端使用。一些示例API方法包括关闭和打开wifi,连接设备,切换设备状态,获取数据以及一般管理设备。
有关API的文档和其他详细信息可以在ParticleIO的网站上找到 。
6. Adafruit IO API
Adafruit是DIY电子产品世界中最受欢迎的品牌之一,其决定推出Adafruit IO平台以用于IoT解决方案的决定早已受到制造商/电子爱好者社区的欢迎。自那时以来,该平台一直在增长,并已为包括我在内的许多制造商服务。 Adafruit IO平台本质上是一个设备云,具有数据可视化功能,其中所有功能均由Adafruit IO API驱动。我们已经将Adafruit IO与PIC以及其他开发平台(如ESP和Raspberry Pi)一起使用。
根据Adafruit的说法,Adafruit IO HTTP API使用户可以从任何会讲HTTP的编程语言或硬件环境访问其Adafruit IO数据。这样,他们可以设计基于数据采取行动的系统,并通过向设备发送信息来影响设备中的更改。
Adafruit IO平台是最容易使用的平台之一,也是我最喜欢的DIY IoT项目之一。文档和更多详细信息可以在Adafruit IO的网站上找到。
7.家庭助理API
家庭助理是一个社区主导的开源家庭自动化系统,类似于openHAB。与其他平台一样,Home Assistant由Home Assistant Python REST API驱动,该API提供对Home Assistant控件服务的数据方法的访问。
它使用户能够编辑配置,返回有关Home Assistant实例的基本信息,返回引导所需的所有数据,返回事件对象的数组等等。该API仅接受并返回包含事件名称,侦听器计数等的JSON编码对象。它基于python 3,可帮助您轻松跟踪和控制所有已注册的家用设备,无论该注册是通过Web还是通过移动应用完成的。有关API的文档和更多详细信息,可以在Home Assistant的网站上找到。
8.物联网API
LoRa具有远距离,低功耗等特点,因此成为首选的通信渠道之一。物联网(TTN)是开源,社区推动的工作,旨在建立全球开放的LoRaWAN网络,以创建开放的基础设施,以促进基于LoRa的IoT解决方案的开发。这样,TTN提供了一组开放工具和一个具有最大安全性和可伸缩性的全局开放网络。如果您不熟悉Lora,请阅读有关LoRa和LoRaWAN简介的详细文章。
与TTN平台的交互由两个主要API驱动;TTN数据API和TTN应用程序管理器API。数据API允许您从设备接收事件和消息,以及向设备发送消息,通常与设备交换信息。另一方面,Application Manager API用于管理应用程序,网关和设备。数据API基于MQTT协议,并且可以通过SDK或直接与MQTT一起用于开发,而Application Manager API基于HTTP协议。可以在The Things Network的网站上找到有关这些API的更多信息。
9. ThingSpeak.io REST API
ThingSpeak被认为是用于物联网设备的最开源的云平台之一。它是处理设备数据的最佳平台之一,特别是由于几年前被Mathworks收购后与MATLAB集成在一起。它允许用户使用MATLAB上传,汇总,分析和可视化数据无需单独购买MATLAB软件。使用ThingSpeak API,上述所有操作都很方便。就像上面提到的大多数其他API一样,ThingSpeak API允许用户使用。收集和存储传感器数据,检索数据和已连接设备的当前状态,基于数据自动执行事件,基于IoT设备状态设置触发器,以及与诸如twitter之类的社交媒体平台集成等功能。要了解有关ThingSpeak的更多信息,请查看以前的IoT项目,其中ThingSpeak已与Arduino,Raspberry PI,ESP等许多不同的微控制器一起使用:
- 使用Arduino和ThingSpeak通过Internet进行实时温度和湿度监控
- 使用Arduino和ThingSpeak通过Internet进行心跳监测
- Raspberry Pi气象站:通过Internet监视湿度,温度和压力
- 使用ESP8266和Arduino的基于IoT的患者监护系统
ThingSpeak的一些功能会自动转换为使用其API的好处;
- 轻松的设备配置,可使用标准物联网平台将数据传输到ThingSpeak平台。
- 使用第三方源实时可视化传感器数据和数据聚合。
- 物联网分析基于计划或事件运行。
- MATLAB分析,RESTful和MQTT API。
- 无需任何服务器设置和Web软件安装即可实现IoT系统的原型设计和构建。
- 与Arduino和Raspberry Pi等流行开发平台的兼容性
- 自动处理数据并自动执行任务
- 与Twitter等第三方服务集成。物联网解决方案会自动发布鸣叫声,这是一个有用的例子。
除了免费的托管API之外,ThingSpeak API是开源的,可以在GitHub上下载以在私人服务器上下载。
10. EdgeX铸造厂
EdgeX Foundry是基于开源配置的IoT平台的开源生态系统。EdgeX Foundry API为服务提供了多个端点,包括客户端注册,计划和日志记录。该API具有REST架构,并使用OAuth 2.0进行身份验证。Edgex具有一系列微服务,这些微服务附加到连接到网络的每个设备上。
每个微服务都有几个重要的API调用可用于;
- 注册设备服务
- 设置设备
- 将数据从设备发送到Edgex平台,
- 从Edgex平台读取数据以用于其他应用程序
- 导出数据等。
可以在EdgeX Foundry网站上找到有关API的文档和更多详细信息。
那是我的清单!但是,此列表绝不是详尽无遗的,因为我想到了其他一些IoT-Plotter之类的API,以及可能添加到该列表中的其他API 。随意发表有关您使用过的Open IoT API的评论。您的评论可能会在帮助他人选择要在其项目中使用的API或平台方面大有帮助。
直到下一次。