适合物联网开发者的五大VS Code扩展

译文
物联网
在本文中,我们将介绍一些基本的VS Code扩展,这些扩展将帮助您成为更有生产力的物联网开发人员。

【51CTO.com快译】在短短几年之间,Visual Studio Code(简称VS Code)就已经征服了众多开发人员的心智。随着它在Web开发社区中的迅速兴起,无论是运行在Linux、macOS还是Windows平台上,它都成为了Java、Python、以及C/C++开发人员的首选IDE(集成开发环境)。在Stack Overflow的最新一次针对开发人员的调查中(https://insights.stackoverflow.com/survey/2019),有九万多名开发人员给出了反馈,并认为VS Code已占有50%以上的市场份额。

无论是刚开始涉足物联网(IoT)技术,还是已经从事物联网相关解决方案一段时间了,您可能都会迅速地意识到“全栈开发人员(full-stack developer)”,这个术语也同样适用于物联网领域。您需要花费大量的时间,来开发和测试那些用C语言连接的嵌入式设备与固件。有时,您可能还需要调整一些可用于构建系统的Python脚本,或使用命令行工具,来检查目标物联网的后端服务是否已经启动,并正在运行。

在本文中,我们将向您介绍一些基本的VS Code扩展。这些扩展将能够帮助您成为更高效的物联网(IoT)开发人员。

Arduino的VS Code扩展

Arduino IDE是一个很棒的工具。它尤其适合于帮助新手人员开始使用Arduino的整个生态系统。不过,对于那些远不只是为了让LED闪烁,或是要运行某个基本程序的用户来说,Arduino能够提供的关键性功能还是略显欠缺了一些。如今,有越来越多的平台都能够与Arduino相兼容,其中包括:诸如ESP32之类的HiFive1 RISC-V开发者工具包,以及STM32 Nucleo系列。其他更多信息请参见:https://en.wikipedia.org/wiki/List_of_Arduino_boards_and_compatible_systems。

Arduino的VS Code扩展已被放置在了Arduino IDE的官网上。您只需要一次性安装,便可反复使用由它为您提供的所有功能。如下图所示,其中包括:浏览代码示例,以及监控自己的串行端口等。

在我看来,VS Code扩展的真正强大之处在于:它能够基于VS Code的C/C++工具进行构建,并且能够为您提供完善的智能感知(Intellisense)和实用的代码导航功能。

自从2010年我第一次接触与Arduino兼容的主板,到后续的Arduino生态系统,Arduino的VS Code扩展逐渐摆脱了“Serial.println”,而且越来越适用于相关的程序调试了。

在后台,该扩展程序利用了诸如CMSIS-DAP、JLink、以及ST-Link等常见的调试接口。如果您的设备已经具有实现了这些接口之一的板载调试芯片,那么您就可以马上开始工作了。当然,如果没有的话,您只需要考虑使用与自己芯片相兼容的外部连接器即可。

PlatformIO IDE

PlatformIO是一种开放源代码的命令行工具,它通过提供统一的工具链分配、代码库管理、以及调试等机制,来支持物联网和嵌入式开发工作。近年来,它越来越能够与VS Code紧密集成了。可以说,针对VS Code的PlatformIO IDE扩展现在已经是Visual Studio市场上最受欢迎的扩展工具之一。

目前,PlatformIO支持30多个平台,其中包括:Atmel AVR、Atmel SAM、ESP-32和8266、Kendryte K210、以及Freescale Kinetis等。同时它也能够支持诸如Arduino、ESP-IDF、Arm Mbed、Zephyr等20多种框架,以及750多个平台等不同主板。在上述这些平台上,该扩展将帮助您编写代码(包括:代码完成和代码导航等),管理依赖关系,构建与调试,以及使用串行端口监视器与自己的设备进行交互。

该扩展工具的另一个有趣功能是:能够将现有的Arduino项目转换为PlatformIO格式。据此,您可以更轻松地与同事(或他人)共享自己的代码,以利用PlatformIO的高级库管理功能(请参见https://docs.platformio.org/en/latest/librarymanager/index.html)。例如:它可以仅基于您包含在代码中的头文件,自动提取所用到的第三方代码库。

Azure物联网工具

Azure物联网工具针对VS Code的扩展实质上是一个扩展捆绑包。作为物联网的边缘扩展和设备工作台(Device Workbench),您只需单击Azure IoT Hub Toolkit即可完成安装。

当您想将设备连接到云端时,Azure IoT Hub为您提供了管理设备,收集设备遥测(telemetry),以及路由等所有必需的服务。使用Azure IoT Hub扩展所提供的IDE,您可以轻松地在Azure订阅服务中配置IoT Hub的实例,配置设备,以及监视它们发送的数据等方面。

另外,如果您有兴趣使用基于容器的架构,来构建智能化的物联网网关,那么IoT Edge一定能够助您一臂之力。凭借其专用的扩展,您可以轻松地构建出自定义的物联网边缘模块,并将其部署到那些连接着IoT Hub的边缘设备上。而且此类扩展并不限于设备是模拟运行在开发阶段的电脑上,还是真实的设备之上。

最后,Device Workbench可以帮助您快速启用各种真实的物联网设备。通过提供一整套工具,它能够帮助您构建出物联网的即插即用设备(请参见https://docs.microsoft.com/en-us/azure/iot-pnp/)。当然,Workbench也可以使用自带的多种案例,将Azure IoT部署到实际设备上。

而且,令人欣喜的是Azure 物联网工具的扩展程序会每隔几周推出一些不错的更新与新功能。具体请参见:https://devblogs.microsoft.com/visualstudio/tag/iot/。

远程开发扩展包

众所周知,物联网开发不仅仅是为嵌入式设备编写代码。通常情况下,您需要与位于远程的边缘网关,或是那些位于云端服务器容器中的文件夹进行交互。虽然您可以使用SSH、以及SCP来同步本地和远程的开发环境,但是该过程往往极为繁琐。

如上图所示,远程开发扩展包则能够允许您打开在容器中、或远程计算机上的任何文件夹,然后就像处理本地资源一样去使用各种VS Code。

REST Client

为了测试REST API,我们往往需要创建和测试相应的REST、SOAP或GraphQL请求。有时,您甚至需要将查询保存到云端,以方便与同事共享。

REST Client扩展可以将任何扩展名为.http或.rest的文件,转换为可执行记事本文件,以方便您在其中轻松地执行各种查询任务。

在构建端到端的物联网解决方案时,您很可能会依赖第三方的服务,并且使用某种形式的REST API去与之进行交互。例如:您可能需要依赖气象服务,作为自己预测性计算的一部分。以下是我与伙伴共享某些查询的一个示例。它展示了如何使用Azure Maps API计算处理路线,以及如何渲染地图中的图块。

下图展示了借助REST Client扩展,如何实现实时的查询效果。

原文标题:Top 5 VS Code Extensions for IoT Developers,作者:Benjamin Cabé

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:赵宁宁 来源: 51CTO
相关推荐

2013-09-10 09:35:53

移动开发者全能开发者技能

2018-04-10 04:01:17

2019-02-21 05:51:44

物联网用途IOT

2020-08-16 08:25:46

物联网安全物联网IOT

2021-07-12 09:52:10

物联网农业应用IOT

2021-08-02 09:23:35

物联网开发工具

2021-12-27 10:57:04

SwiftXcodeSSWG

2019-03-27 08:27:32

物联网IOT技术

2024-03-18 15:46:40

2019-12-02 09:11:24

物联网物联网平台工业物联网

2023-09-08 10:23:13

JavaScriptNPM模块

2013-08-06 14:20:51

Web

2022-08-17 17:05:57

物联网

2021-01-25 15:18:37

Python 开发编程语言

2021-01-26 02:29:04

VS CodePython开发

2019-04-28 15:30:48

物联网岗位IOT

2021-11-24 15:47:59

工业物联网IIOT物联网

2023-05-05 10:58:11

2021-11-18 22:34:04

物联网建筑技术

2015-12-18 16:57:06

点赞
收藏

51CTO技术栈公众号