一、M5Stack是什么,能吃吗
M5Stack是一种模块化、可堆叠扩展的开发板,每个模块均为5cmX5cm的尺寸,这也是M5Stack名字的由来。与常规的开发板不同,M5Stack更注重产品形态的完整性,更注重用户的应用场景和研发的简易性,不需要繁琐的开发流程,简简单单、轻轻松松地完成高质量的电子原型创作,不得不说,M5Stack吃起来真香!
M5Stack主要采用ESP32芯片体系,CORE主机内已集成了240M双核主频CPU、 WiFi、蓝牙、2.0寸彩色屏幕、喇叭、按键、TF卡、加速计陀螺仪以及内置电池。CORE基本满足一般的功能需求,功能模块则根据应用的情况选择,比如电机驱动、信号采集、通信等功能。另外,也会配备不同的应用底座及配件,方便用户做出高质量的研发,在结构方面能够很好的与自家的铝型材结构件配合使用,同时兼容乐高孔,方便用户快速搭建结构原型。除了Core系列主机外,还有迷你型主机可以选择,比如M5StickC/PLUS、M5StickV(K210),还有史上最小ESP32主机ATOM等等。随着大众对一体化主机越来越多的认可,新一代触摸屏主机Core2也即将横空出世。
二、M5Stack的开发环境
M5Stack的主机兼容乐鑫官方的ESP-IDF,Arduino及MicroPython,此外M5Stack还推出了图形化编程平台UIFlow,帮助新人学习编程。除此之外还有许多第三方平台对其进行了支持,你可以选择你最熟悉的语言和软件来进行开发。
三、M5Stack能做哪些有趣的事情
M5Stack的魔力在于可以千变万化的更换模块,借助这些模块你能完成许多事情,你可以尽情的发挥自己的创造力。
编程教学
作为一台上手简单的主机,借助UIFlow的图形化平台最适合没有接触过编程的小白用户入门,即使是小学生也能花10分钟学会编写一个简单的程序。UIFlow固件每两周更新一次,始终确保用户能用到最新的功能。用户无需关心底层处理,只需考虑上层应用逻辑,编程的难度大大降低。M5StickC小巧精致,价格不足三位数,孩子们可以用它来学习编程,了解物联网,想一想,眼泪就不争气的从嘴角流出来。
这是一个利用内置加速计控制演奏音符的示例,学生上手很容易。
消息看板
借助2.0寸的屏幕和内置的WiFi,你可以查看MQTT服务器发来的消息。提起MQTT服务,我们最常用的就是阿里云、百度云和中移物联网,官方使用文档介绍的很详细,甚至直接使用UIFlow就能完成配置。
或者你可以查看天气预报,你可以关注股票行情或者阅读新闻,你也可以外接传感器查看相关数据,总之你想看到的内容都会通过屏幕进行显示,一个有外壳的屏幕是不是颜值爆表?
比如这个比特币的价格看板,利用HTTP请求数据,在屏幕上进行绘制。
数据采集分析
利用M5Stack提供的AD引脚,可以采集传感器数据或电平信号,利用自带的显示屏查看非常方便,比如我们可以使用M5Stack做一个示波器,是不是很便携,手头临时应付测量一下没有任何问题。
利用WiFi分析信号质量
智能家居应用
连接Apple的智能家居平台HomeKit,ESP32官方支持使用ESP-IDF进行HomeKit开发,但是对于大多数非从业爱好者来说门槛过高,有玩家就移植了部分功能做成Arduino库,大大简化了以往需要搭建HomeAssistant,HomeBridage等复杂环节,现在直接简化到在Arduino上修改部分代码。
工业控制应用
借助PoE和RS485/RS232可以做到工业控制器的远程数据通讯,甚至你可以去GitHub找Modbus库直接用ModBus协议传输数据。如果你不会编程,那也没关系,UIFlow已经集成了ModBus协议,简单的拖拽几行积木块就能实现你想要的功能。比如你可以通过网页来控制另一端连接的设备运动。以下示例在M5Stack上搭建了一个建议的WebServer服务器,通过浏览器或其他支持HTTP协议的设备访问服务器的html页面,在页面向M5Stack发送数据,M5Stack接收到数据后对串口进行转发,串口转发再经过RS485协议最终实现设备控制。
无线通讯与数传
M5Stack有丰富的通讯模块可以搭配不同的使用场景,比如可以借助GSM模块来打电话发短信
或者你可以利用GPS模块定位,在屏幕上进行显示
就算你没有GPS模块,没关系,我们可以用WiFi进行基站定位啊,参考这位日本用户的代码,使用谷歌地图就能通过接入的IP进行定位,经度纬度显示的明明白白。
也许你也有低功耗远距离数传的需求,只需要换上LoRa/LoRaWAN模块就立刻能实现。LoRa和LoRaWAN到底有什么不同呢?简单说,LoRa仅包含链路层协议,并且非常适用于节点间的P2P通信,没有对电池寿命、网络安全以及链接稳定性做进一步优化;同时,LoRa模块也比LoRaWAN便宜一点。LoRaWAN包含网络层,因此可以将信息发送到任何已连接到云平台的基站。只需将正确的天线连接到其插座,LoRaWAN模块就可以以不同的频率工作,LoRaWAN在设计时以自底向上的方式优化了LPWAN(低功耗广域网络)的电池寿命、容量、范围和开销。
DIY
你是不是身边有许多旧的电器不舍得扔但是又嫌弃不够智能化,没关系,只需花最少的成本用ATOM/AOTM Matrix进行改造就能实现。比如我想做个智能的万能遥控器,做个可自由编程的氛围灯,做个最小的控制器,这些都没问题。
使用ATOM玩8bit游戏_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili或者用AtomEcho来发送微信,拿来改造一下做个微信对讲门铃
其实说这么多,下面该介绍一下目前的产品线,产品分为主机类,模块类,传感器单元,配件等等,更多详细信息可参考文档。
主机类
主机主要分为M5Core系列,M5Stick系列,M5Atom系列。其中主机系列主要面向工业化应用,接口众多可扩展性强,同时扩展配件丰富。M5Stick主要针对有特定功能需求,追求空间同时对功能扩展有一定要求的场景。ATOM主要追求小巧,高性价比,功能单一化的使用需求。有两款比较特别的主机,StickV是主打AI视觉的K210主机,可用于视觉识别。Atom Echo是一款主打智能语音的主机,内置了麦克风和扬声器,可实现语音方面的智能化处理。主机的各项参数对比如下
Module类
以下模组主要用于M5Core,根据不同的使用需求使用不同的功能模块,所以M5Stack可以应用到不同的使用场景,比如想驱动步进电机,可以选择SETPMOTOR Module;想DIY属于自己的Module可以选择PROTO,想使用NB-IoT可以用NB-IoT Module。
如果你需要在应用程序中频繁输入数据,那么可以选择理想的输入面板,它能大大加快输入效率。
不仅模块可以更换,底座也是可以更换的,不同的底座有不同的接口功能,根据不同的连接设备可以选择不同的底座以满足使用需求。常用的有LAN,可接入以太网。BASE15和BASE26属于可DIY的底座,用于用户自行焊接电路,自由发挥。
Unit类
摄像头系列才用的依然是ESP32方案,其中UNIT-V基于K210开发的主打AI的视觉传感模块,可配合UIFlow或V-Training实现智能识别功能
下列各单元是一些常见的I/O外设和传感器,采用HY2.0 4P接口,适用于各型号主机。
HAT系列是适配M5StickC和M5StickC-PLUS的一系列I/O外设和传感器
应用类
基于M5Stack主机产品开发的一系列应用产品
配件类
主机周边配件如连接线,转换接口,舵机配件等等。
结构类
M5Stack除了电子产品外还有一系列的铝型材结构件,可以方便的进行结构搭建。
原文链接:https://zhuanlan.zhihu.com/p/170166633
MQTT协议是一个应用层协议,他要求使用的传输层协议能提供有序的,可靠的双向字节流传输服务。
ESP32的DAC函数可以实现真正的模拟输出。
ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。
本文学习如何使用ESP32开发板来进行多线程的开发。
ESP8266有三种工作模式,分别为:AP,STA,AP混合STA
ESP32有四个SPI外设,分别为SPI0、SPI1、HSPI和VSPI。