美文网首页NodeMCUESP8266 WIFI模块 & NodeMCU
使用 Nodemcu(Esp8266)开发板制作智能插排

使用 Nodemcu(Esp8266)开发板制作智能插排

作者: 鸡汤倾倒专家 | 来源:发表于2019-06-17 16:15 被阅读49次

        首先,准备好开发板,以下是某开发板的概念图。总之有继电器,有交流电源,有烧录程序接口即可。不做广告,大家可以自行搜索。

    准备好插座,典型的插座结构如下:

    三孔插座的基本结构

    实物图大概是这样的:

    插座实物图拆解

        拿到开发板,首先熟悉开发板的开发步骤

        其一,刷机的固件(firmware、rom) 应该由开发板开发商提供,或者自己在 https://nodemcu-build.com 构建(定制)自己需要的版本,需要注意的是要明白自己 开发板的 rom 容量,功能越多,库也越多,能用于写程序的空间就越少(是否运行效率,耗电之类的影响也许有,不确定)。

    种类繁多的功能库

        还有一点就是新版本和旧版的 firmware 编程语法也有很大差别,因此考虑自己应用的源代码版本,否则修改起来工作量也不小。比如这里提到的 timer 模块 和  wifi 模块,已经后面要用到的 mqtt 模块,几个版本还是有需要注意的区别的。

        然后刷固件注意几个参数,当然你也首先要明确自己的开发板 内存是多少,一般情况下很快就完成了,这里用一下厂家的图:

        其二,测试小程序,这个程序使用了定时器 (timer),无线连接(wifi) 的方法还有调试信息的方法,当然,这里没涉及的 mqtt 也请弄通学会,弄懂之后请继续。

    连接wifi 的 mqtt 程序 基本的 mqtt 连接程序

        然后 ,拆除插座,焊接插座,连接到开发板,改装后的插线板大概就是这个样子:

    修改后的结构

        然后编写程序,烧录其中,完整的程序截图(不需要照抄,要在理解的层面上修改)如下:

    基本配置和参数

        针对 mqtt 的注册与登录:你首先必须在mqtt 的服务器网站注册一个账户。然后使用用户名和密码进行登录。这个程序的功能是使用 mqtt 登录服务器之后,获得 mqtt 的参数,调整开发板上提供的三色灯的颜色,不过我增加了其中无间断(WiFi或者 mqtt 断线后续联,!!别用官方的自动重连参数!!)连接的部分。

        顺利连接服务器之后,你可以使用 Paho 进行测试:

    paho 测试

        当然,你也可以使用手机端的 mqtt 客户端程序。比如我自制的 mqtt 客户端的登录和使用,程序截图:

    自编的 mqtt 客户端

        烧录程序,自动值守。我们来看一下 mqtt 在使用过程中可能遭遇的四种状态:

    四种状态 核心程序-判断部分

        单独提出来讲这部分,是因为这部分才是耗时最多的,花了很久时间笔者才弄清楚怎么检查 mqtt 断线重连的状态,而且也不是本人原创 =)

        这个插座完成后,开发和测试时间应该有一两年了吧,我实际使用有半月有余,除极个别情况出现死机,整体效果尚可 ,项目完成。

    相关文章

      网友评论

        本文标题:使用 Nodemcu(Esp8266)开发板制作智能插排

        本文链接:https://www.haomeiwen.com/subject/lglkfctx.html