『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 4266|回复: 11

[进阶教程] 咸鱼捡垃圾(智能插座)tasmota固件教程

[复制链接]

1

主题

8

帖子

69

积分

注册会员

Rank: 2

积分
69
金钱
61
HASS币
0
发表于 2022-6-24 22:32:03 | 显示全部楼层 |阅读模式
本帖最后由 hasslogin 于 2022-6-24 22:32 编辑

首先感谢前人提供了该插座ESPHOME固件,减少了不少开发工作量,再次表示感谢!
tasmota固件相对ESPHome固件刷机更简单,对新人很友好。

1.     准备好插座电路板和ESP模块的烧录器。
1.jpg

插座只有一颗螺丝,在标签纸下面。取下螺丝后,用力掰一下外壳,找一条缝,用撬棒基本可以无损打开。
2.jpg

ESP模块烧录器可以找一个USB TTL串口模块外加电路来改,但比较麻烦,推荐使用ESP-01的烧录器,在淘宝上面可以搜到很多。
3.jpg
[tr][/tr]
  





2.     ESP模块的引脚图,烧录使用到VCC、GND、TXD、RXD、RST和IO0脚,焊线接到烧录器的相应脚上。
9.png

其中BTN是板上的那颗按钮,对应GPIO27; GREEN是绿色的LED灯,对应GPIO26,RED是红色的的LED灯,对应GPIO25; RELAY是继电器,对应GPIO5。


3.     烧录器接上电脑识别出串口,使用提供的esptool工具来烧写固件。esptool可以自己去下载,但要找官方版本号高点的,要不然烧不成功。使用以下命令即可烧写完成,不会报错。

esptool.exe --chip esp32 --port COM3 --baud 460800 --before default_reset --afterhard_reset write_flash -z --flash_mode dout --flash_freq 40m --flash_sizedetect 0x00000 tasmota.bin

其中红色部分的“COM3”换成你机子认到的串口号,蓝色部分的“tasmota.bin”是提供的tasmota的最新版固件的文件路径。
5.png
运行后可以看到以下输出,表示刷机成功了。
esptool.py v3.0-dev
Serial port COM3
Connecting.....
Chip is ESP32-S0WD (revision 1)
Features: WiFi, BT, Single Core, VRefcalibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 80:7d:3a:ab:78:14
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 1430656 bytes to 972054...
Wrote 1430656 bytes (972054 compressed) at0x00000000 in 22.7 seconds (effective 503.2 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

4.     初次运行Tasmota需要先配网,模块会创建一个AP,名称类似tasmota_XXXXXX,红色部分是模块的MAC地址的后6位字符,每个模块的都不一样。打开手机找到类似的AP,连接上即可。
连接上后,大部分手机会自动打开浏览器打开无线配置页面,如果没有,可以手动打开网址http://192.168.4.1/
在页面里可以看到模块搜到的附近的AP,选择你想要连接的AP,输入密码,点击确定按钮,模块即会尝试连接AP,连接成功后会在页面上显示模块的IP地址。如果没看到,也可以通过扫描局域网的方式获得。
把手机连到模块相同的AP里,打开http://(模块的IP地址)/ 进入模块的配置页面。例如我的模块的IP是192.168.137.227,在浏览器打开http://192.168.137.227/,即可看到模块的配置界面。
6.png

5.接下来要配置模块的引脚,在首页点击“Configuration”,然后点击“Configure Module”可进入。大家可以参考我的配置来配,如果你熟悉tasmota,现在已经可以大展拳脚了。
7.png

6.关于说明书上的“充电保护”是原手机APP通过实时读取手机充电时的电量控制继电器来实现的。
8.png
手机APP不能用后这个功能就需要自己编程来实现。原理是写个APP通过Wifi或蓝牙连着模块,实时检测手机充电时的电量,发现电量满了就发一个信号给插座断开继电器。
如果没有能力写APP,也可以使用一些自动化APP,例如Tasker、Auto.js等等来实现。

tasmota固件链接: tasmota.rar (907.89 KB, 下载次数: 62)



评分

参与人数 3金钱 +35 收起 理由
sorrypqa + 5 膜拜大神!
jjcs + 10 高手,这是高手!
XCray + 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

2

主题

31

帖子

238

积分

论坛技术达人

积分
238
金钱
207
HASS币
10
发表于 2022-6-25 09:55:06 来自手机 | 显示全部楼层
支持大佬,感谢
回复

使用道具 举报

98

主题

2866

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11445
金钱
8514
HASS币
460

教程狂人突出贡献

发表于 2022-6-25 10:10:05 | 显示全部楼层
“App会利用蓝牙读取手机电量”——这样的厂家不倒闭简直没有天理呀!

这个垃圾插座虽然作为垃圾很超值,但设计上的缺陷也确实够明显的,USB不能独立控制、据说还可能会发热严重到自己重启。。。也不知道当初卖多少钱?有多少上当受骗的?

也许可以通过更换主控模块让它变得更好用
回复

使用道具 举报

41

主题

1295

帖子

5328

积分

论坛元老

Rank: 8Rank: 8

积分
5328
金钱
4028
HASS币
20
发表于 2022-6-25 12:57:26 | 显示全部楼层
XCray 发表于 2022-6-25 10:10
“App会利用蓝牙读取手机电量”——这样的厂家不倒闭简直没有天理呀!

这个垃圾插座虽然作为垃圾很超值, ...

感觉主控用esp32,已经很奢侈了,应该是外围电路没有设计好
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

2

主题

64

帖子

636

积分

高级会员

Rank: 4

积分
636
金钱
572
HASS币
0
发表于 2022-6-25 13:53:33 | 显示全部楼层
这14个引脚剩下那几个能说明一下吗?  左3,  由3,4,7 分别是什么?
回复

使用道具 举报

1

主题

8

帖子

69

积分

注册会员

Rank: 2

积分
69
金钱
61
HASS币
0
 楼主| 发表于 2022-6-26 01:24:47 | 显示全部楼层
XCray 发表于 2022-6-25 10:10
“App会利用蓝牙读取手机电量”——这样的厂家不倒闭简直没有天理呀!

这个垃圾插座虽然作为垃圾很超值, ...

原APP上蓝牙功能是可以用的,通过蓝牙检测电量就合情合理了
回复

使用道具 举报

98

主题

2866

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
11445
金钱
8514
HASS币
460

教程狂人突出贡献

发表于 2022-6-26 06:09:36 | 显示全部楼层
hasslogin 发表于 2022-6-26 01:24
原APP上蓝牙功能是可以用的,通过蓝牙检测电量就合情合理了

app不通过系统接口获取电量?获取谁的电量?

如果是app所安装运行的手机,蓝牙?

如果是别的手机,权限?

合情合理?
回复

使用道具 举报

16

主题

211

帖子

1710

积分

论坛技术达人

积分
1710
金钱
1499
HASS币
10
发表于 2022-6-29 10:34:01 | 显示全部楼层
楼主那几个没有标注的引脚,我看也接线了   是有其他作用吗
方便告知一下是哪几个脚吗。
我将接一个传感器
回复

使用道具 举报

0

主题

3

帖子

48

积分

新手上路

Rank: 1

积分
48
金钱
45
HASS币
0
发表于 2022-6-30 22:07:17 | 显示全部楼层
本帖最后由 gjy 于 2022-6-30 22:08 编辑

贴个armbian下刷机命令:
python3 esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset  write_flash -z --flash_mode dout --flash_freq 40m --flash_size detect 0x00000 tasmota.bin
--port 后面改成正确的usb to ttl,用ls /dev 查看一下。再次感谢楼主大神。
回复

使用道具 举报

2

主题

73

帖子

539

积分

高级会员

Rank: 4

积分
539
金钱
466
HASS币
0
发表于 2022-7-6 16:31:52 | 显示全部楼层
大佬,增加亮度传感器BH1750怎么玩。B站UP主一盏电灯有出视频但是不详细,问了页不会,搞不会
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-29 03:25 , Processed in 0.069666 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表