数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 9879|回复: 53

[综合] 老王7.5元智能插座接入贝壳物联,使用小程序控制

[复制链接]
发表于 2020-5-4 15:28:28 | 显示全部楼层 |阅读模式
本帖最后由 龙系小星2 于 2020-5-8 13:54 编辑

7.5元入手智能插座模块,型号

Vivitar 智能安全无线智能插头 USB 充电器白色 ha-1009-wg BQ

App在Google play 可下载,自行探索apk。

接下来实现接入贝壳物联

硬件部分。

TTL线一个,模块一个。

TTl线要正确安装驱动程序,插到电脑上有端口出现才行。

设备管理器端口设置里面波特率设为115200。
下图GPIO12板子上已经接好到了继电器,不用自己再接,图中有歧义,是指gpio12对应的是继电器
TX RX直接接到TTL TX RX就行了,不用反转,我标的是反转过的。




接好TTL,到设备管理器里面记住自己的端口号。

软件

下载好文件。



https://ww.lanzous.com/ic8rwhg



打开此路径中的ESP8266flasher


正确选择端口


选择路径ESP8266+贝壳物联+天猫精灵\Firmware\NodeMCU固件(含WiFi配置)\ nodemcu-master-13-modules-2016-04-09-04-21-48-float.bin




正确选择



选择好后,此时把上面焊的开关闭合,即将GPIO0连到GND,上电。

点击Flash,此时开始跑进度条,进度条完成后就代表固件刷完成了。开关闭合就是进入下载模式,断开模块正常工作。



写入程序
注:写程序之前,要把开关断开,重新上电。要不然会报错。

打开ESP8266+贝壳物联+天猫精灵\NodeMCU Studio 2015 Build20150403\nodemcu stdio 2015


点击File打开ESP8266+贝壳物联+天猫精灵\bigiotArduino\examples\ESP8266\NodeMCU\webconfig中的init.lua,点击download,下载完成之后会有提示




再次打开 ESP8266+贝壳物联+天猫精灵\bigiotArduino\examples\ESP8266\NodeMCU\kaiguan中的kaiguan.Lua




其中这两个需要修改,


此时打开浏览器搜索贝壳物联,来到官网,注册账号来到用户中心,点击智能设备


添加智能设备

名称说明和是否公开,自行选择,设备简介要写,随便写

完成后就会获得deviceID和APikey,将其修改进程序中


打开和写程序等过程中出现下列弹窗提示时,直接点确定就行了。



代码说明

该模块继电器连接的是GPIO12,由下面表可得,LED1=6,

进入到贝壳物联微信小程序里面时点击play输出高电平打开继电器,点击stop关闭继电器,LED2可自己自行扩展,看懂程序就能自己修改了。

修改完成,将程序下载进去。等待提示成功。

断电重启模块或者在下方输入栏内输入node.restart()按回车等待。

过一会手机搜索无线网,连接SetupGadget开头的无线网,进入浏览器中,访问192.168.4.1,输入要连接的2.4G无线网名称和密码,不可输错。5G wifi不支持。

连接完成后,该WiFi就会断开,不会被搜索到。等待到贝壳物联我的设备里面看看是否在线,注册账号的时候也可以进入微信里面搜索贝壳物联小程序,绑定自己的账号。设备在线了就可以进行测试了,点击play继电器打开,stop继电器关闭就代表成功了。

注:贝壳物联在路由器断电再上电之后,设备就不会上线,重启模块过一会设备就会在线。

一切使用过程都需要自行探索,不断学习,不懂就查。

此项过程设置项很多,有错误的时候就去搜索错误,独立解决。
NodeMCU此软件有错误,在上传LUA程序的时候有时候会报错,不定时抽风。此问题已解决,写程序之前,要把开关断开,重新上电。要不然会报错。
新增了几行代码,利用板子上的红蓝灯,开时蓝灯亮,红灯灭,关时红灯亮,蓝灯灭。我这个板子不知道是不是蓝灯坏了,怎么都不亮,不知道你们的行不行,有能力的自行探索吧,本来想利用板子上的按键的,无果,利用不起来,按键没反应,有能力的自行研究吧直接在上传程序的时候去掉原来的代码复制到kaiguan.lua文件里面。
--use sjson
_G.cjson = sjson
--modify DEVICEID INPUTID APIKEY
DEVICEID  = "要更改的"
APIKEY    = "要更改的"
INPUTID   = "36"
host      = host or "www.bigiot.net"
port      = port or 8181
LED1      = 6
Bluelight = 5
Redlight  = 2
isConnect = false
gpio.mode(LED1,gpio.OUTPUT)
gpio.mode(Bluelight,gpio.OUTPUT)
gpio.mode(Redlight,gpio.OUTPUT)
local function run()
  local cu = net.createConnection(net.TCP)
  cu:on("receive", function(cu, c)
    print(c)
    isConnect = true
    r = cjson.decode(c)
    if r.M == "say" then
      if r.C == "play" then   
        gpio.write(LED1, gpio.HIGH)
        gpio.write(Bluelight, gpio.HIGH)
        gpio.write(Redlight, gpio.LOW)   
        ok, played = pcall(cjson.encode, {M="say",ID=r.ID,C="LED1 turn on!"})
        cu:send( played.."\n" )
      end
      if r.C == "stop" then   
        gpio.write(LED1, gpio.LOW)
        gpio.write(Bluelight, gpio.LOW)
        gpio.write(Redlight, gpio.HIGH)  
        ok, stoped = pcall(cjson.encode, {M="say",ID=r.ID,C="LED1 turn off!"})
        cu:send( stoped.."\n" )
      end
    end
        if r.M == "say" then
      if r.C == "left" 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 == "right" 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
    end
  end)
  cu:on('disconnection',function(scu)
    cu = nil
    isConnect = false
    --停止心跳包发送定时器,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
  if isConnect then
    cu:send(s.."\n")
  end
  tmr.alarm(1, 60000, 1, function()
    if isConnect then
      cu:send(s.."\n")
    end
  end)
end
run()
注:贝壳物联网页和小程序不可同时打开设备界面,否则微信小程序的设备会显示离线,配置WiFi过程中,切记有的手机会自动切换到其他WiFi,并且配置的时候可能进不去WiFi配置界面。再次重连WiFi尝试。下次编辑帖子将会取消手动配置WiFi,等待更新。有问题的时候贝壳物联有帮助文档,可以去里面看看。
本次更新:无需手动配置WiFi了,脚本自动配置,是否连接上自己的WiFi,可在路由器配置界面查看
init.lua文件代码更改为
--init.lua
print("set up wifi mode")
wifi.setmode(wifi.STATION)
wifi.sta.config("要更改的","要更改的")
wifi.sta.connect()
tmr.alarm(1, 1000, 1, function()
if wifi.sta.getip()== nil then
print("IP unavaiable, Waiting...")
else
tmr.stop(1)
print("Config done, IP is "..wifi.sta.getip())
dofile("kaiguan.lua")
end
end)



本帖子中包含更多资源

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

x

打赏

参与人数 5家元 +112 收起 理由
网络虫子 + 12 優秀文章
aec + 10 謝謝分享
aacyxjz + 10
泥沙俱下 + 20
家睦 + 60

查看全部打赏

 楼主| 发表于 2020-5-6 22:01:51 来自手机浏览器 | 显示全部楼层
aec 发表于 2020-5-6 21:45
这个价格真便宜,一个esp8266也值这个价格了。

还有其他两款,价格也就便宜了1,2块,感觉买亏了,那两款没有继电器没有插座也没有USB,不过种类不同,可以学到更多
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 00:01:55 来自手机浏览器 | 显示全部楼层
ebeeb 发表于 2020-5-6 23:22
老王家店铺谁能给个网址呀

淘宝直接搜不就行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 00:02:27 来自手机浏览器 | 显示全部楼层
khxrmyyxsp 发表于 2020-5-4 20:22
看得晕糊糊,反正我这小白是看不懂了,还是膜拜下大神

还是得上手操作才行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 00:03:40 来自手机浏览器 | 显示全部楼层
satku 发表于 2020-5-4 21:01
7.5元.......老王在哪里?

这个支持断电记忆不?

淘宝直接搜隔壁论坛老王,断电记忆只有程序编好就行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 00:04:50 来自手机浏览器 | 显示全部楼层
wlhcq 发表于 2020-5-5 10:36
我也没看懂!

还是得上手操作才行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 00:05:23 来自手机浏览器 | 显示全部楼层
jitio 发表于 2020-5-6 16:03
谢谢分享,额,我也没看懂

还是得上手操作才行,买硬件回来自己搜教程
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 09:14:28 来自手机浏览器 | 显示全部楼层
longjunling 发表于 2020-5-7 09:09
为什么我的刷不进去,进度条不动的

板子上要焊接一个开关,上电时要闭合,进入烧录模式
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 13:54:12 | 显示全部楼层
longjunling 发表于 2020-5-7 10:52
开关也接了,上电时也打开了。

咱俩用私信聊,不用审核,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-8 11:17:21 | 显示全部楼层
fallstar2008 发表于 2020-5-7 21:45
买这个真的得看运气,我买了俩,上电连WiFi都搜不到,只能拆配件用了。

买这个就是为了二次开发啊,仔细看我的帖子就行了,问题已经解决了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-11 23:48:04 | 显示全部楼层
hbqclh 发表于 2020-5-9 14:14
要是有个外壳也好啊。你这个没看懂,是刷好后,可以用siri控制吗?

这个就是对ESP8266的二次开发,只要你会编程找到对应的平台就行了,我这是最简单的了,有的可以支持天猫精灵和小爱,手机的智能助手我不太知道。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-11 23:50:53 | 显示全部楼层
satku 发表于 2020-5-11 15:11
下载的直接用吗 还要不要按照帖子里的进行更改  配置WiFi部分

你是指APP吗?APP没下载,APP我估计悬。我这是二次开发,开发成符合我自己的要求,ESP8266可以自行百度下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-11 23:52:59 | 显示全部楼层
yihui2003 发表于 2020-5-11 15:19
有没有这个8266的引脚定义啊?谢谢

https://docs.ai-thinker.com/_med ... tasheet_cn_v6.1.pdf
这是芯片的定义,不是成品模块的,想找的引脚需要自己一个一个量出来。成品模块可以自己搜或者到安信可官网查询
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-12 16:58:13 来自手机浏览器 | 显示全部楼层
satku 发表于 2020-5-12 14:32
请教 这两处改成什么?



要更改的指导2.4G无线网名称和密码,注意不要打错以及错误删改符合,中文名称不支持
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-14 00:04:30 来自手机浏览器 | 显示全部楼层
satku 发表于 2020-5-13 10:13
图中标记处是GPIO 0 没错吧:



加QQ直接QQ聊天,看私信
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 07:58:44 来自手机浏览器 | 显示全部楼层
satku 发表于 2020-10-25 16:40
我的两个也是没有WIFI

不能联机刷固件。

这模块只能工具来刷。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-26 07:59:16 来自手机浏览器 | 显示全部楼层
ebeeb 发表于 2020-10-25 14:57
搞定了吗?我也是刷不进

什么错误提示呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-9 01:56 , Processed in 0.187200 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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