完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有 4-5 个带有小型 OLED 和传感器读取数据的 ESP8266。在未来,带有传感器/屏幕的 ESP 的数量可能会增长到 12-15 个。
我想从单个集线器(Raspberry Pi 或 ESP32 仍待定)与这些 ESP 进行通信。从 ESP 到 Hub 的测量数据,从 Hub 到 ESP 的命令。 通信层方面,WiFi 不是一个选项,因此 ESP 将硬连线到中央集线器。 我不是一个大电子专家,我知道如何用传感器、显示器等装备我的 ESP,并使用 Arduino IDE 或 MicroPython 对它们进行编程。但是这种有线通信对我来说是新的。这是 I2C 或 SPI 可以发挥作用的地方吗? 任何关于我如何完成这项工作的帮助/指导都会很棒。 如果它可以与 MQTT 一起工作,作为顶层协议,那就更棒了。但是以任何结构发送/接收消息也很有帮助。 |
|
相关推荐
1个回答
|
|
首先,对于连接多个ESP8266到单个集线器的问题,您可以使用I2C或SPI总线来连接它们。这两种总线通信协议都支持多主机和多从机通信,并且可以通过芯片选择线(Chip Select)来选择与哪个从机设备通信。
对于Arduino编程,您可以使用Wire库来进行I2C通信和SPI库来进行SPI通信。在MicroPython中,您可以使用machine模块中的I2C和SPI类来进行通信。 有关将ESP与中央集线器连接的问题,如果您使用Raspberry Pi作为中央集线器,则可以使用GPIO引脚来进行I2C或SPI通信。如果您选择使用ESP32作为中央集线器,则它支持使用GPIO引脚进行I2C、SPI和串行通信。 关于从ESP到中央集线器的传感器数据传输和从中央集线器到ESP的命令传输,您可以使用一种基于文本的协议来传输数据。例如,您可以将数据和命令放入JSON字符串中,并在集线器和ESP之间进行传输。在Arduino中,您可以使用ArduinoJSON库来处理JSON字符串。在MicroPython中,您可以使用ujson模块来处理JSON字符串。 最后,您也可以考虑使用现成的物联网(IoT)平台,如AWS IoT、Google Cloud IoT或Microsoft Azure IoT,它们提供了基于云的集中式通信和大量的工具和服务来管理您的设备和数据。 |
|
|
|
只有小组成员才能发言,加入小组>>
1030 浏览 1 评论
562浏览 6评论
470浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
454浏览 5评论
454浏览 4评论
428浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:14 , Processed in 0.770579 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号