物联网开发与树莓派
树莓派(Raspberry Pi)是一系列小型单板电脑,售价仅为标准台式电脑的几分之一,广泛用于媒体中心、复古游戏机、低桌面电脑等。
不过,树莓派还配备了一套GPIO或“通用输入输出”引脚,使开发者能够连接和控制外部电子设备,如传感器、马达等。
引脚的确切数量和作用在不同的模型之间有所不同,但通常分为电源引脚、接地引脚和通用引脚。
电源和地脚是不可编程的。电源脚为电路提供恒定的3.3V/5V的电源,接地脚连接电路的阴极。
另一方面,通用的引脚是可编程的,可以在输出或输入模式下使用。当设置为输出模式时,引脚提供一个恒定的3.3V电源,可以打开或关闭。当设置为输入模式时,引脚读取电路提供的电流,并返回一个布尔值,指示是否接收3.3V电源。
当然,这些功能并不是新功能,开发人员可以通过微控制器(如Arduino或NodeMCU)广泛使用它们。然而,这些设备通常具有有限的内存和计算能力,需要使用特定的编程语言。
另一方面,Raspberry Pi支持更健壮的CPU,可以运行Linux,支持NodeJS,允许JavaScript开发人员使用他们现有的技能,相对容易地构建复杂的设备。
为了与GPIO引脚交互,我们使用了一个名为onoff的NodeJS模块,它提供了对各个引脚的简单访问。
在微控制器世界中,与“hello world”演示等价的是一个闪烁的led。下面示例中的大部分代码对JavaScript开发人员来说应该已经很熟悉了。
在需要模块之后,我们定义希望与之交互的引脚的角色。数字表示板上的引脚,然后决定引脚是用来读("in")还是用来写("out")。
在本例中,我们定义了一个名为led的引脚,将其分配给物理引脚17,并将其设置为写入模式("out")
现在剩下的就是让我们的led闪烁,创建一个500ms的间隔,并根据当前状态打开/关闭led。
假设我们不希望继续闪烁的LED无限期,我们也需要清理在年底。在本例中,我们将等待5秒钟,然后清除间隔、关闭led并释放其资源。
当然,树莓派的功能不仅仅是发光二极管。从无人机到树莓派(Raspberry Pi)滑板,开发人员什么都做过。虽然不是专门为JavaScript编写的,但您可以在Raspberry Pi网站上找到许多令人兴奋的各级项目的想法