ESP8266-Wifi开关止步不前之单火供电

10 篇文章 0 订阅

用ESP8266做wifi开关,折腾这么久突然发现一个问题,家里的开关盒我还没打开看呢,还不知道有没有布零线,如果没有的话,就麻烦了。。。

打开一看,大失所望。。。。

果然没有零线,那么问题就多了,如果不进行线路改造,那么就需要 考虑单火供电问题。

线路改造成本太大,家里都装修完了。。。

而单火供电。。。。。好专业的其实。网上虽然有买单火供电模块,但是通常商家都不卖个人,好不容易找到一家能卖的,但看看参数,供电能力非常有限,倒不是说不能取太多电,而是当单火供电的时候,如果在线路导通状态,电路和电器是串联的,这个好办,模块直接取电,而当线路断开,单火模块需要取电,却还要不引起电路工作,比如不引起LED微亮,或者闪烁,那么只能让单火模块的耗电极低,或者说单火模块都有个支持的被控电器的功率,除了有上限,还有下限,就是因为被控电器如果功率太小,电路阻性大,对电流敏感。卖家提供的单火取电参考电流普遍在mA级别,也就是整体功耗控制在10mW内,这个就麻烦了,ESP8266在工作状态下都是几十毫安的水平,如果采用定时唤醒倒是可以减少平均电流,但是工作态的电流可能还是会引起电器的不适???此外附加的触摸按键模块也有功耗。市面上的智能开关一般采用433M遥控或者zigbee联网控制,功耗相对ESP8266低很多。

这只是其中一个问题,由于单火供电是非隔离的,整个电路通电后和火线几乎是相同的电位,那么安全性是个问题,整个电路将高电位暴露在开关盒,甚至触摸按键也是处于高电位,而且和人体只隔一个触摸假面板,由于认识到自己的业余,这块不敢贸然尝试,也不建议非专业的网友们自行探索,毕竟我们没有那个条件进行相关安全测试,还是很危险的。

所以,很遗憾,我的家居开关改造项目因单火线路布线而告终!。。。。。。以后装修肯定要预留零线!。。。。。。

### 回答1: 编写ESP8266驱动SPI屏幕的程序涉及以下几个步骤: 1. 引入必要的库文件:首先,需要引入ESP8266相关的库文件,例如ESP8266WiFiESP8266WiFiSPI等。 2. 配置SPI接口:根据SPI屏幕的规格,设置正确的引脚并初始化SPI接口。可以使用SPI.begin()函数初始化SPI接口,并使用SPI_SetFrequency()和SPI_SetDataMode()等函数设置频率和数据传输模式。 3. 设置SPI屏幕参数:根据SPI屏幕的规格,设置正确的分辨率、像素格式、亮度等参数。可以使用相应的命令或函数设置这些参数。 4. 编写显示函数:编写函数来显示图像、文本或其他内容。根据SPI屏幕的规格,使用合适的命令或函数来绘制像素、绘制图形或输出文本等。 5. 主程序中调用显示函数:在主程序中调用显示函数来更新屏幕内容。可以根据需要设置显示内容的更新频率,并通过函数来更新内容。 6. 添加时钟中断或使用延时函数:为了实现实时更新屏幕内容,可以使用时钟中断或延时函数来控制刷新频率。此外,还可以添加其他的控制逻辑,例如按键控制或传感器数据的显示。 以上是基本的编写ESP8266驱动SPI屏幕程序的步骤。根据具体的SPI屏幕型号和规格,可能还会有一些特定的设置和操作,需要参考相关的文档或资料。 ### 回答2: ESP8266驱动SPI屏幕的程序主要分为以下几个步骤: 1. 首先,需要包含相应的头文件和库文件,例如ESP8266WiFi.h、Adafruit_GFX.h和Adafruit_ILI9341_ESP8266.h等。 2. 在程序中定义SPI引脚的连接关系,包括CLK、MISO、MOSI和CS引脚的端口号。 3. 创建一个实例对象来初始化SPI屏幕,并设置屏幕的分辨率、字体、颜色等参数。 4. 在setup()函数中,连接WiFi网络,并调用begin()函数来初始化SPI通信和屏幕。 5. 在loop()函数中,可以利用指定的坐标和大小来绘制文本、图形和图标等。可以使用屏幕的提供的函数来绘制线条、填充矩形、绘制圆形等。 6. 如果要显示更多内容,可以使用scroll()函数来在屏幕上滚动显示文本或图像。 7. 最后,可以通过调用display()函数来更新并显示在屏幕上所绘制的内容。 需要注意的是,在程序编写过程中,需要根据具体的SPI屏幕型号和库文件的要求,进行相应的配置和调整。例如,需要确保引脚的连接正确,以及使用正确的屏幕绘制函数等。 总之,通过以上步骤,我们可以使用ESP8266驱动SPI屏幕,并在屏幕上显示文本、图形和图标等内容。 ### 回答3: ESP8266驱动SPI屏幕的程序可以通过以下步骤实现: 1. 引入SPI库:首先需要在代码中引入ESP8266的SPI库,以便可以使用SPI接口与屏幕进行通信。 2. 配置引脚:根据SPI屏幕的接口定义,选择合适的引脚用于SPI通信。通过GPIO库或ESP8266的专用引脚库,将这些引脚设置为对应的SPI时钟、数据输入和数据输出。 3. 初始化SPI:使用SPI库提供的函数,初始化SPI接口。设置SPI模式、数据位顺序和时钟速率等参数。 4. 驱动屏幕:使用SPI库提供的函数,向屏幕发送初始化命令,配置屏幕的初始化参数和显示模式。然后,使用SPI接口传输像素数据到屏幕缓冲区。 5. 显示内容:根据具体的需求,将需要显示的内容转换为对应的像素数据,并通过SPI接口发送到屏幕缓冲区。可以使用图形库或自定义绘图函数,将文本、图像等内容渲染成像素数据。 6. 刷新屏幕:在屏幕缓冲区的内容更新后,使用SPI接口将更新的像素数据传输到屏幕上,实现显示更新。可以根据需要设置刷新频率,以平衡显示效果和性能。 7. 支持触摸功能(如果需要):如果SPI屏幕支持触摸功能,可以在程序中添加对触摸事件的处理。通过读取SPI接口返回的触摸数据,实现对触摸事件的识别和处理。 以上是ESP8266驱动SPI屏幕的基本步骤,具体的实现细节会根据所使用的硬件和屏幕类型而有所不同。可以参考硬件供应商提供的技术文档和示例代码,或者查阅相关的ESP8266开发文档,以更好地了解和实现该功能。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值