ESP8266-12E快速接入贝壳物联,实现控制四路继电器

作者:面包不好吃 | 更新时间:2019-07-02

首先我为什么要写这个呢,我已经轻松把ESP8266接入中移的onenet,和接入机智云,接下来是尝试接入贝壳物联,和天猫精灵连接。

如下是这一天中学到的,快速接入贝壳物联,实现控制四路继电器

链接:https://pan.baidu.com/s/1MoqGjNxcEor0fDWvWFYsuA 
提取码:3mbn 

这个是我们用到的软件 ,烧程序所用

接下来我们用的是烧录固件软件 

如下链接

链接:https://pan.baidu.com/s/18y5MjoS7v1NT7-mQM7q5iQ 
提取码:nbdz 

烧录 固件后,打开软件 

改动如上两个点,接下改另一个程序

 

两个程序修改完,直接 下载到你的ESP8266中  即可在线   即可控制 你的四路继电器。

简单实现控制 四路开关,接下就是接入天猫精灵,实现控制,如有问题,或获取 源码,请在下方回复 即可。

 

DEVICEID = "....0"
APIKEY   = "....."
INPUTID  = "....."
host     = host or "www.bigiot.net"
port     = port or 8181
LED      = 5
LED1     = 6
LED2     = 7
LED3     = 8
gpio.mode(LED,gpio.OUTPUT)
gpio.mode(LED1,gpio.OUTPUT)
gpio.mode(LED2,gpio.OUTPUT)
gpio.mode(LED3,gpio.OUTPUT)
local function run()
  local cu = net.createConnection(net.TCP)
  cu:on("receive", function(cu, c) 
    print(c)
    r = cjson.decode(c)
    if r.M == "say" then
      if r.C == "play" then   
        gpio.write(LED, gpio.HIGH)  
        ok, played = pcall(cjson.encode, {M="say",ID=r.ID,C="LED turn on!"})
        cu:send( played.."\n" )
      end
      if r.C == "play1" then   
          gpio.write(LED1, gpio.HIGH)  
          ok, played = pcall(cjson.encode, {M="say",ID=r.ID,C="LED1 turn on!"})
        cu:send( played.."\n" )
      end 
    if r.C == "play2" then   
        gpio.write(LED2, gpio.HIGH)  
          ok, played = pcall(cjson.encode, {M="say",ID=r.ID,C="LED2 turn on!"})
        cu:send( played.."\n" )
      end
     if r.C == "play3" then   
         gpio.write(LED3, gpio.HIGH)  
         ok, played = pcall(cjson.encode, {M="say",ID=r.ID,C="LED3 turn on!"})
        cu:send( played.."\n" )
      end
      if r.C == "stop" then   
        gpio.write(LED, gpio.LOW)
        ok, stoped = pcall(cjson.encode, {M="say",ID=r.ID,C="LED turn off!"})
        cu:send( stoped.."\n" ) 
      end
      if r.C == "stop1" then   
          gpio.write(LED1, gpio.LOW)
          ok, stoped = pcall(cjson.encode, {M="say",ID=r.ID,C="LED1 turn off!"})
        cu:send( stoped.."\n" ) 
      end
    if r.C == "stop2" then   
        gpio.write(LED2, gpio.LOW)
          ok, stoped = pcall(cjson.encode, {M="say",ID=r.ID,C="LED2 turn off!"})
        cu:send( stoped.."\n" ) 
      end
    if r.C == "stop3" then   
        gpio.write(LED3, gpio.LOW)
        ok, stoped = pcall(cjson.encode, {M="say",ID=r.ID,C="LED3 turn off!"})
        cu:send( stoped.."\n" ) 
      end
    end
  end)
  cu:on('disconnection',function(scu)
    cu = nil
    --停止心跳包发送定时器,5秒后重试
    tmr.stop(1)
    tmr.alarm(6, 5000, 0, run)
  end)
  cu:connect(port, host)
  ok, s = pcall(cjson.encode, {M="checkin",ID=DEVICEID,K=APIKEY})
  if ok then
    print(s)
  else
    print("failed to encode!")
  end
  cu:send(s.."\n")
  tmr.alarm(1, 60000, 1, function()
    cu:send(s.."\n")
  end)
end
run()

 

 


评论:共16条

贝壳物联 评论于:2019-07-01 22:48:41
谢谢分享,网站的文档里有接入贝壳物联的一些示例,也可以参考。
贝壳物联 评论于:2019-07-01 22:56:15
看了你分享的资料,只有两个下载软件,代码并未分享,想分享的话,也把代码连接放到下方,莫要调人胃口,也不要开篇就贬低一下你发表言论的平台,谢谢!
真心希望大家能够互相分享学习,这样建平台的初衷。
面包不好吃 回复于:2019-07-02 05:54:35
回复 @贝壳物联:抱歉,非常感谢贝壳物联提供的平台,也在平台有所收获,学到知识,并支持贝壳物联,以上是学习心得,对于我这个小白所言,如有对平台不敬,还望海涵。感谢贝壳物联,我会一直支持下去。
1197994757 评论于:2019-07-06 16:22:31
请问8pin是是不是VCC脚 会出事吗?
面包不好吃 回复于:2019-07-07 21:44:36
回复 @1197994757:8脚是VCC
1197994757 回复于:2019-07-08 00:16:42
回复 @面包不好吃:懂了 是15脚
17614713123 评论于:2019-07-08 09:50:47
源码在哪
面包不好吃 回复于:2019-07-08 11:48:12
回复 @17614713123:源码已经粘在下面了啊
张志新3013 评论于:2019-08-16 10:00:53
真是机智,捣鼓一天搞好,才发现有样板
w52694787 评论于:2019-09-07 22:22:09
你这是同时控制吧 不能单独控制吧
面包不好吃 回复于:2019-09-30 09:32:29
回复 @w52694787: 可以 单独控制,分析串口数据
wkl1940 评论于:2019-09-08 18:15:05
烧录工具及固件不能下载,能提供给我吗
面包不好吃 回复于:2019-09-30 09:32:46
回复 @wkl1940:可以 的
wkl1940 回复于:2019-10-01 08:42:27
回复 @面包不好吃:谢谢你的热心,我按照你提供的lua,已经仿制成功.
ASUS124 评论于:2019-09-24 11:35:29
大佬,如果要外接按键怎么写?
Brant 评论于:2019-10-07 23:32:30
学习了
评论支持使用[code][/code]标签添加代码
返回顶部