数码之家

 找回密码
 立即注册
搜索
查看: 1805|回复: 14

[综合] 超低成本智能家居方案 + 超级薅大羊毛

[复制链接]
发表于 2022-8-13 12:06:50 | 显示全部楼层 |阅读模式
哈哈哈,先和大家分享一个超级大的羊毛,4分钱买了7000多容阻。





前几天刷论坛发现关注的大佬@飞向狙沙 分享了个优惠活动,今天安全下车,特此感谢,帖子链接如下:

白嫖电子元件,拆个带灯开关 https://www.mydigit.cn/thread-329075-1-1.html
白嫖电子元件,拆个带灯开关 https://www.mydigit.cn/thread-329075-1-1.html
白嫖电子元件,拆个带灯开关 https://www.mydigit.cn/thread-329075-1-1.html

作为论坛资深跟风群众之一,看到便宜就想捡,
奈何眼高手低,设想的很多东西都没有做出来,




众多pos(拆电池了),


矿机控制板(亮了之后在吃灰),


空气果(摆件),


联想WiFi开关(还在吃灰)


安卓对讲机,随身WiFi。。。


但实际还是有智能家居的需求,其实就是懒得下床关灯,


之前用8266+继电器做过一个wifi开关,后面因为用的电源模块不行,炸了


然后淘宝发现一个小玩意,加上淘宝红包才不到4块钱,






单火线供电,拆解和讲解原理论坛里大把,就不多说了,


实际上这个就已经满足使用了,施工也简单,有手就行,


但是家里有四个灯,贴四个在床头有点酸爽,再加上一时技痒,


研究下原理,其实这个就是和卷帘门的那种遥控开关是一样的,用的是315/443MHZ的频率发送的,


那事情就简单了,




加上之前买的NodeMcu(实际上就是个8266,直接上arduino)




Duang~



接线就三根,一电源一地一数据,


代码直接用的库自带的demo+8266网页

  1. <font size="3" face="宋体">#include <ESP8266WiFi.h>
  2. #include <ESP8266WebServer.h>
  3. #include <RCSwitch.h>

  4. //WiFi设置
  5. const char* ssid = "wifi";
  6. const char* password = "mima";
  7. //开关引脚设置
  8. const int key = 5;
  9. const int key_next = 12;
  10. //数据初始化
  11. int key_state;
  12. int next_state;
  13. int pointer=0;
  14. int value;
  15. String html=String("hi , i'm switch.");
  16. int key_value[9] = {1111111,2222222,3333333,4444444,5555555,6666666,7777777,8888888,9999999};
  17. ESP8266WebServer server(80);
  18. RCSwitch mySwitch = RCSwitch();

  19. void get_index() {
  20.   server.send(200, "text/html", html);
  21. }

  22. void get_info(){
  23.   String body=String("")+"{"state":""+key_value[pointer]+""}";
  24.   server.send(200, "application/json", body);
  25. }
  26. void send_key(){
  27.   value = server.arg("id").toInt();
  28.   Serial.println(value);
  29.   mySwitch.send(value, 24);
  30.   String body=String("")+"{"state":""+value+""}";
  31.   server.send(200, "application/json", body);
  32. }
  33. void setup(void) {
  34.   //初始化串口
  35.   Serial.begin(9600);
  36.   Serial.println("");
  37.   Serial.println("串口已连接。");
  38.   //初始化网络
  39.   WiFi.mode(WIFI_STA);
  40.   WiFi.begin(ssid, password);
  41.   while (WiFi.status() != WL_CONNECTED) {
  42.     delay(500);
  43.     Serial.print(".");
  44.   }
  45.   Serial.println("");
  46.   Serial.print("WIFI连接成功,IP地址为:");
  47.   Serial.println(WiFi.localIP());
  48.   //初始化WebServer
  49.   server.on("/", get_index);
  50.   server.on("/info", get_info);
  51.   server.on("/send", send_key);
  52.   server.begin();
  53.   //初始化引脚
  54.   pinMode(key,INPUT);
  55.   pinMode(key_next,INPUT);
  56.   pointer = 0;
  57.   mySwitch.enableTransmit(4);
  58. }

  59. void loop(void) {
  60.   key_state = digitalRead(key);
  61.   next_state = digitalRead(key_next);
  62.   if (key_state){
  63.     while(key_state){
  64.       key_state = digitalRead(key);
  65.       mySwitch.send(key_value[pointer], 24);
  66.       Serial.println(key_value[pointer]);
  67.     }   
  68.   }
  69.   if (next_state){
  70.     while(next_state){
  71.       next_state = digitalRead(key_next);
  72.     };
  73.     if(pointer<8){
  74.       pointer++;
  75.     }
  76.     else{
  77.       pointer=0;
  78.     }
  79.     Serial.println(key_value[pointer]);
  80.   
  81.   }
  82.   //监听客户请求并处理
  83.   server.handleClient();
  84. }</font>
复制代码


俩开关作用一个是切换键码,一个是发送数据,


此处有几个需要注意的点,

  1.nodemcu和arduino引脚有对应关系

  2.nodemcu sd3(arduino gpio10)引脚不可用于输入



从此,就过上了用手机开关灯的生活。

改天闲了,再弄个服务器当gui

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 2家元 +82 收起 理由
家睦 + 66
飞向狙沙 + 16 認真發帖

查看全部打赏

 楼主| 发表于 2022-8-13 12:09:13 | 显示全部楼层
对了,大佬帖子里是有注册链接的,大家都用那个注册,支持一下,还有现在返款好像不能走微信了,得用支付宝。
回复 支持 反对

使用道具 举报

发表于 2022-8-13 12:15:15 | 显示全部楼层
wifi指令转码433遥控?

一般的433遥控有万能遥控或者学习遥控的没?
有个12V的遥控不灵敏了。
回复 支持 反对

使用道具 举报

发表于 2022-8-13 12:19:41 | 显示全部楼层
恭喜恭喜,没见到有人说下车,还担心别翻车了,安全下车就好

GUI的话直接搞页面,最方便的方式就是npm开发打包压缩成index.html.gz直接上传,也在看这块,大体流程是这样,还没搞明白实际是怎么操作的,可以一起研究学习下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-13 12:20:56 | 显示全部楼层
wznanan 发表于 2022-8-13 12:15
wifi指令转码433遥控?

一般的433遥控有万能遥控或者学习遥控的没?

买的时候顺带买了接收器,8266读下数据应该就可以了呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-8-13 12:29:20 | 显示全部楼层
飞向狙沙 发表于 2022-8-13 12:19
恭喜恭喜,没见到有人说下车,还担心别翻车了,安全下车就好

GUI的话直接搞页面,最方便的方式就是npm开发 ...

大佬来了, 其实搞了个homeassistant,但是接入要mqtt,嫌麻烦,8266开发页面也搞过,样式脚本全都用CDN,8266要处理的东西就很少了。
回复 支持 反对

使用道具 举报

发表于 2022-8-13 12:47:10 | 显示全部楼层
超级大羊毛
回复 支持 反对

使用道具 举报

发表于 2022-8-13 12:53:59 | 显示全部楼层

超级大羊毛
回复 支持 1 反对 0

使用道具 举报

发表于 2022-8-13 13:42:12 | 显示全部楼层
本帖最后由 茶壹杯 于 2022-8-13 13:44 编辑
caterxy 发表于 2022-8-13 12:29
大佬来了, 其实搞了个homeassistant,但是接入要mqtt,嫌麻烦,8266开发页面也搞过,样式脚本全 ...

大羊毛相当于p2p    mqtt 有点 b/s 的味道

会不会家里的电器被邻居别的遥控器给点着了?


回复 支持 反对

使用道具 举报

发表于 2022-8-13 14:32:40 | 显示全部楼层
好贵好贵啊。。。不过能返款就是香
回复 支持 反对

使用道具 举报

发表于 2022-8-13 14:32:41 | 显示全部楼层
本帖最后由 gl542400 于 2022-8-13 14:49 编辑

oneyac.com网页上说是6周年活动
回复 支持 1 反对 0

使用道具 举报

发表于 2022-8-13 16:03:30 | 显示全部楼层
还能有这么多着羊毛
回复 支持 反对

使用道具 举报

发表于 2022-8-19 08:31:22 | 显示全部楼层
不是淘宝,不清楚规则
回复 支持 反对

使用道具 举报

发表于 2022-8-20 21:36:03 | 显示全部楼层
超级大羊毛
回复 支持 反对

使用道具 举报

发表于 2022-8-21 00:49:55 | 显示全部楼层
做个记号,闲了玩玩。
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-7 05:45 , Processed in 0.327601 second(s), 15 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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