这篇文章来源于DevicePlus.com英语网站的翻译稿。
Tierney – stock.adobe.com
目录
1. 简介
2. 大致规格
3. ESP32 硬件概述
4. 将固件加载到 ESP32
5. 运行!!
6. 选择您自己的集线器:主机即为Heart.local所在的位置
7. 构建Wi-Fi 开关
1 简介
物联网技术已经深入到了大众生活中。宇宙大爆炸带来了世间所有存在的事物,但是以智能方式将它们连接起来,使其在发生相互关联的同时发挥出作用,是最近才取得的进展。几次雷击后,细胞在地球海洋的原始泥浆中做到了这一点,氨基酸为第一个细胞的形成构成了物质基础。然后就开始与其他万物合作共赢了吗?不,完全不是。细胞缺乏更高的智慧,它们只想在无尽的变异迭代中延续自己的生命。就这样,逐渐进化成了人类,才有了现在正在阅读有关物联网文章的您。
物联网的发展一定是以一个明确的目标开展的,并且在设计时会考虑未来产品的迭代。当然,您没有办法永生,只能提出一个想法,然后也许用几个月的时间来设计出原型。接下来,就是PCB设计了。这样说也许您会感到喜悦:每一个人都为物联网的发展作出了贡献,就像黎明前一个细胞加入了另一个细胞那样,总有一天会迎来人工智能的全面开花,而人工智能也许会在未来选择消灭人类,也可能不会。人工智能是基于二进制计算的。那么我们继续!
在本文中,您将会学习如何使用MicroPython和ESP32来制作一个可用于物联网项目的Wi-Fi开关。
2 大致规格
我需要一个本地物联网Wi-Fi开关,用于两个230V交流负载,每个负载高达500-600W。该开关需要易于更改(在代码中),需要可以安装在家里的任何地方,并且在硬件方面,可以快速进行修改和扩展。这意味着我必须使用MicroPython,以及一个ESP32开发板!它的引脚可以提供约10mA的电流,并且只需要串联一个330欧姆的电阻器就可以对其进行保护。所有的输出电压都为3.3V,对于现如今的MOSFET来说很完美,甚至可以驱动更高电压的负载。只要您确保使用逻辑电平MOSFET。WiFi传输速度约为150Mbit/s(18.75MByte/s),并且使用Loboris的ESP32固件(可在此处获取)可以节省更多时间,因为它已经包含了用于mDNS的库以及所有其他所需内容了。
mDNS可以使您的ESP32在网络上被发现(对于Wireshark爱好者,可以多播到224.0.0.251),并让您告诉其他使用者每个设备提供了哪些服务。它的系统与提供流媒体的媒体中心和Chromecasts的系统相同。我使用它来找到我的Raspberry Pi集线器(HEART.local),并且只接受来自该集线器的指令。
当使用USB TTL适配器连接到您的ESP32的UART时,您可以随时使用CTRL+C跳出正在运行的程序,然后查看变量,调整内存使用情况(micropython.meminfo(1), esp.freemem()),释放内存(gc.enable(), gc.collect()),进入粘贴模式(CTRL+E,paste, CTRL+D),从而了解一个想法是如何实现的。
想要在Linux、Windows、 以及MacOS X上使用图形界面,可以使用ampy(“ampy –port COM4 –put boot.py”)、mpfshell(mpfshell -o ttyUSB0 -nc “put boot.py ; put main.py”)或简单的ESPlorer。也就是说,如果您不单单只使用WebREPL(( ‘import webrepl’, ‘webrepl.start()’)来实现上传/下载代码以及查看代码运行结果的话,会需要这些程序包。为简单起见,您可以进行搜索相关信息,然后将MicroPython板连接到您的网络上。
3 ESP32 硬件概述
ESP32 规格
• CPU 双核@ 160/240MHz,Xtensa(R) 32位 LX6 微处理器
• 性能: <=600 DMIPS
• 芯片 ESP32D0WDQ6 (版本1)
• Wi-Fi:802.11/b/g/n/e/i – 802.11n @ 2.4GHz 高达150Mbit/s
• 蓝牙
• RAM:
• 448KB ROM 用于启动及核心功能
• 520KB 片上SRAM 用于数据及指令
• RTC(RTC FAST MEMORY)中的8KB SRAM用于从深度睡眠模式中恢复
• RTC(RTC SLOW MEMORY)中的8KB SRAM用于深度睡眠模式下的协同处理
• 1Kbit eFuse(256位用于系统(MAC和芯片配置)),768位用于用户应用程序、闪存加密以及芯片ID
• 40MHz晶振,可输出40MHz PWM
• 可用SPIRAM进行扩张!最多4个16MB外置QSPI 闪存/SRAM芯片,最多8MB映射到CPU数据空间的外置闪存/SRAM,支持存取8位、16位、32位数据。该SRAM可以写入:
• 闪存: 4MB SPI 闪存(在GPIO6、 GPIO7、GPIO8、GPIO9、GPIO10上)
• 安全性: IEEE 802.11 标准安全机制:
• WPA/WPA2/WAPI
• 安全启动
• 闪存加密
• 1024位OTP,最终用户可达768位
• AES,SHA-2,RSA,椭圆曲线加密(ECC),随机数生成(RNG)的加密硬件加速
ESP32 数据表
双核CPU和520KB RAM相对于您可能已经习惯使用的Arduino atmega328p (例如Uno)的16MHz和2KB SRAM有了质的提升,可以为您提供足够的速度和空间来开发更高复杂程度的物联网系统。相比于它的能力范围,我的Wi-Fi开关只使用了其中很少的功能。但是,我在ESP32的两侧都添加了引脚公头,之后可以随时为我构建的产品添加更多的功能。
wifiswitch.zip
(3.31 MB, 下载次数: 0)
|