如何使用 Mongoose OS 构建物联网项目

微控制器入门,以及如何使用 Mongoose OS 构建物联网项目。
496 位读者喜欢这篇文章。
Open source network cable

Opensource.com

物联网 (IoT) 是关于将物理对象(“物”)连接到互联网。 从技术上讲,这是通过将计算机连接到“物”来完成的。 计算机以可以从物读取数据并报告给互联网的方式连接,并且它也可以接收命令并控制物的状态。 

通常,计算机直接连接到物,并且计算机 <=> 互联网连接可以是有线(例如,以太网)或无线(例如,蓝牙、Wi-Fi)。

计算机可以是什么?

Internet of Things

它可以是您的笔记本电脑或台式计算机——两者都昂贵、耗电且体积大。您很难在跑步时将笔记本电脑与健身追踪器一起使用。

它可以是像 Raspberry Pi 这样的小型单板计算机,价格约为 30 美元,BeagleBone 约为 60 美元,Intel Edison 为 70 美元,或其他类似设备。这些计算机通常运行 Linux。 这些适用于某些任务,例如作为网关设备,但同样它们也相当大、非常耗电,而且对于传感器、可穿戴设备和小型家用电器等设备来说太贵了。

它可以是微控制器(也称为 MCU 或 micro)。 市场上的微控制器种类繁多,专为各种需求而设计。 对于物联网,您可以选择各种廉价、低功耗、微小的微控制器。

微控制器

微控制器 是单个硅芯片上的小型计算机。 简单来说,它是一个带有许多电线(引脚)从小黑盒中伸出的盒子。 有用于为微控制器供电的引脚和用于连接外部物体的引脚,例如传感器、执行器、按钮等。 这些引脚称为 IO(输入/输出)引脚。 例如,要创建一个 Wi-Fi 互联网按钮,您需要获得一个支持 Wi-Fi 的微控制器,获得一个按钮,将按钮连接到 IO 引脚,并对微控制器进行编程,以便在按下按钮时向云后端发送消息,如下图所示

Wi-Fi-enabled microcontroller

在开发过程中,人们不直接使用 MCU,因为很难连接它们。 相反,他们使用模块和开发板。 这些模块使为 MCU 供电和连接外围设备变得容易。 我提供了一个 NodeMCU ESP8266 板的示例,您可以轻松地将其插入笔记本电脑

NodeMCU ESP8266

微控制器编程

微控制器的内存和处理能力不多,这就是它们如此便宜的原因。 例如,Nordic Semiconductor 的 nRF52 具有 64K RAM 和 512K 闪存。 流行的 ESP8266 具有大约 40K 可用 RAM,这意味着您无法在它们上面运行 Windows、Linux 或 Node.js 等软件。 因为这些小型计算机的资源如此有限,所以不能使用传统的工具和框架来编程它们。

有很多方法可以解决 MCU 开发,但总的来说,新手入门并不容易。 人们需要了解 C/C++ 并花费时间(有时是大量时间)来设置编程环境,但是可以使用简化该过程的工具。 Mongoose OS 就是这样一种工具,它是一个用于微控制器的操作系统,使新手和专业开发人员都可以轻松地对其进行编程。 借助 Mongoose OS,由于它提供的功能,设置编程环境所需的时间减少到一分钟或更短,包括

如何使用 Mongoose OS 构建物联网项目

首先,获取一个受支持的板,例如 ESP8266 NodeMCU,您可以 在速卖通上购买,将其连接到您的计算机,然后按照以下步骤操作

Installation of Mongoose OS

  • 安装完成后,单击“开始原型设计”以切换到文件管理器

Prototyping wizard

  • 单击 init.js 文件,将消息 Tick 更改为 Hello!,然后按“保存并重启设备”按钮。 您将在设备日志中看到一条新消息。

这个简单的流程演示了使用微控制器开发和 Mongoose OS 入门是多么容易。

这个来自 Mongoose OS 的两分钟安装操作视频涵盖了所有这些步骤。

在此处查找其他 使用 Mongoose OS 的项目

此外,查看使用 Mongoose OS、ESP8266 和 Seeed Studio Grove 传感器构建 原型是多么容易

有关更深入的介绍,请参阅 Mongoose OS 文档视频教程

有问题吗? 在我们的 开发者论坛 上提问或 给我们发送消息

Sergey Lyubka, Cesanta Co-Founder & CTO
Sergey Lyubka 是 Cesanta 的 CTO 和联合创始人。 他和他的团队致力于通过开发创新的物联网技术,将所有产品连接到互联网。 他认为,如果我们想在 2020 年实现 200 亿+ 连接设备的目标,那么物联网连接需要变得简单、安全和可扩展。 通过 Mongoose OS,他实现了这一愿景。

5 条评论

这可以在 Raspberry Pi 上运行吗?

目前支持的微控制器有:ESP32、ESP8266、TI CC3200、STM32 Nucleo F746ZG、STM32 Discovery F746G。
Mongoose OS 不支持 Raspberry Pi。

我可以在 Mongoose OS 中进行 Arduino 编码吗,例如使用 Arduino 库和函数? 如果可以,如何操作?

我们已经提供了一些 Arduino API 兼容性,因此您应该能够立即使用像 `digitalWrite` 这样的简单功能。 目前它相当有限,但我们计划扩展兼容性。 应该可以将 Arduino 驱动程序按原样添加到 Mongoose OS 固件目录中。

很想看到一些使用 STM32 Discovery 板的演示/视频。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.