Arduino+ESP32:MKR WiFi 1010 评测

相比树莓派,Arduino入门简单,更容易被众多电子专业的学生或者刚接触嵌入式开发的初学者接受,因此若论全球最容易的入门的开源硬件产品,非Arduino莫属。

MKR WIFI 1010

最近笔者拿到了Arduino公司推出的一款新品 MKR WIFI 1010,初看是一款带无线通信模块(WiFi/BLE)的拇指型开发板,非常适合正在寻求无线解决方案 或是想在自己项目中添加无线通信功能的用户评估使用,毕竟Arduino超易入门的开发工具和超完善的生态可以有助于用户无门槛的快速的进行评估。接下来具体看下MKR WIFI 1010到底是什么样的一款产品。

板子用泡棉固定用于保护缓震,内含一份上手指导说明。

MKR WiFi 1010板子真身如下,拇指型,板型和小脚丫FPGA挺像,尺寸为61mm*21.5mm。

板子3个主要的特点,U-BLOX的WiFi模块,带ECC508加密认证芯片以及板载SAMD21微控制器,这里特别要说下ECC508加密认证芯片,显然板子设计之初考虑的非常周全,物联网设备最重要的安全一环在MKR WiFi 1010开发板上也体现的淋漓尽致,板子虽小,但却安全可靠,非常适合重要的家居物联网设备开发验证。

板子背面有白色丝印标明了扩展IO口信号定义。

因为板型的关系,MKR WiFi 1010采用了不同以往的Arduino Uno R3接口,另外在扩展接口旁边还有两个白色的接口,如下是板子的引出的I2C接口,可以用于连接配套的传感器等外设。

白色接口为Li-Po电池供电接口,支持最小3.7V,700mAh(最高5V)。

当同时存在电池与USB供电的时候,会自动切换为USB供电,这主要依托于板子搭载了专用的电源管理芯片bq24195L,TI出品,这是一款高度集成的开关模式电池管理和系统电源路径管理器件,广泛应用于各类移动电源、平板电脑和其他便携式设备的单节锂离子和锂聚合物电池。

板载SAMD21微控制器,SAMD21系列是Atmel(现Microchip)2014年推出的新系列产品,集成了更加丰富的连接与通信功能,主要实现面向消费、工业和医疗市场的物联网应用的设计灵活性,这里主要用于板子的串口和调试功能。

MKR WiFi 1010板子联网的核心是基于U-Blox的WiFi模块NINA-W10系列,这个系列的WiFi模块细分为NINA-W101和NINA-W102系列,主要的差别在于是不是板载了天线。

从MKR WiFi 1010开发板上可以看到,这上面的模块是板载天线的,属于NINA-W102,模块核心是基于乐鑫的ESP32 WiFi/蓝牙芯片设计,所以很明显,板子除了WiFi功能,同时也具备、蓝牙、低功耗蓝牙功能。从下面的NINA-W10系列的硬件系统功能框图中能很明显看到不同系列之间的区别以及本身模块的功能特点。

除了以上几个重要的功能特点,MKR WiFi 1010也包含了一些常用的功能如RGB LED,复位按键等,适合初学者上手简单的小demo或者例程。

上电开发

Arduino的开发工具大家应该不陌生,官方推荐的Arduino IDE工具方便简单,即便是第一次接触的用户也能很快上手。而且目前Arduino官方推出了一个云端IDE工具(https://create.arduino.cc/),可以免除下载的麻烦,可以说更加人性化和更加方便用户的选择,甚至能在有网的地方随时随地进行Arduio的编程。

针对MKR WiFi 1010开发板,官方基本上只提供了WiFi的相关功能例程以及和原本Arduino兼容的一些功能例程,而NINA-W102模块支持的蓝牙功能部分,官方确没有多做什么说明,也基本没给相关的功能例程给用户验证。笔者也查询了不少资料,发现如果要使用蓝牙功能,就需要自己去折腾固件,而且折腾之后就需要把它完全当做一个esp32模块来使用,抛离了arduino的生态,所以会得不偿失,目前的解决办法就是等官方自己公布蓝牙的相关库功能,否则如果你想单纯的折腾esp32的蓝牙部分,那么放弃就MKR WiFi 1010,直接购买乐鑫的esp32的板子皆可,没必要绕一大圈子。

以下板子基于WiFi功能的演示:

  • 将MKR WiFi 1010作为一个station

从代码中配置连接自己手上的路由器,编译下载。

可以从串口看到相应的信号强度跟MAC地址以及IP地址,信息都没涂抹,不会有人来黑吧?

  • 将MKR WiFi 1010作为AP功能

通过电脑连接开发板的AP热点

成功连接到AP热点。

我们可以从web端访问去控制板子上的LED,这就可以实现类似智能家居或者物联网应用的远程控制应用。

控制输出结果,LED点亮。

做完这些实验,似乎有些理解官方特点为何WiFi而忽略蓝牙,毕竟在连接云端的物联网市场,WiFi才是目前主流的通信技术,而作为一款物联网应用的拇指型开发板,MKR WiFi 1010已经合格了,如果你真想要体验蓝牙部分的功能,那还不如索性直接购买乐鑫的esp32的板子即可,目前没必要在MKR WiFi 1010折腾蓝牙,因为失去Arduino生态,得不偿失。

小结

Arduino+ESP32的组合相信会是一次不错的尝试,虽说MKR WiFi 1010实际用下来也发现不少缺点,比如文中所说的目前没有相应的蓝牙的库;在硬件上扩展排针特软,在笔者“小心翼翼”地使用下还是没能幸免于被弄弯变形;板子板载的外设不多,主要还是靠“买”凑全;但最终是否能让用户买单还是要靠市场来验证。这里,笔者的意思是,如果你在意Arduino生态,想尝试的Arduino+ESP32的组合,想看看U-BLOX这个WiFi模块的表现如何,那就选它没错;但如果你在意WiFi功能或者蓝牙功能胜于Arduino生态,胜于去体验U-BLOX出品的esp32模组,那不如直接去购买基于ESP32的板子,国内也有好多,肯定比在MKR WiFi 1010上体验要好。

转自爱板网



坐沙发

发表评论