0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开源教程:基于ESP8266和机智云的智能雨林缸,成本低、高智能

机智云 2022-01-19 09:19 次阅读

智能雨林缸,顾名思义,是指在鱼缸内养雨林植物,与传统的水族缸不同的是智能雨林缸,具备的功能更多,能够自动调节光照、温湿度等环境因素,让植物生长的更好。

本次通过ESP8266机智云,进行PCB设计,以最低成本自己开发智能控制器,实现智能雨林缸智能监测温湿度,通过手机App远程控制照明、喷水、喷雾、风扇调节,与此同时还设有手机控制功能、自动调节功能,以便更好的照顾雨林植物。

一、硬件部分

可以自己购买4路继电器,及防水温度传感器DS18B20探头,ESP12S小系统板。

继电器:GPIO13(加热管)GPIO12(循环电机)GPIO16(喷淋电机)GPIO5(灯光)配网按键:GPIO14(按下低电平)温度传感器:GPIO4(传感器需要上拉电阻

ddf6c0de-787f-11ec-9437-dac502259ad0.png        

二、软件部分

1、在机智云自助开发平台创建“智能雨林缸”产品登录dev.gizwits.com,创建产品

de2a1790-787f-11ec-9437-dac502259ad0.png        

2、创建数据功能点。为后MCU代码移植、App控制提供基础。

de556e4a-787f-11ec-9437-dac502259ad0.png        

de88c754-787f-11ec-9437-dac502259ad0.png        

3、生成基于ESP8266 SOC方式的代码包,以便后续代码移植

debc9200-787f-11ec-9437-dac502259ad0.png    

三、APP开发

使用机智云进行APP开发有多种方式,诸如使用机智云开源框架、机智云代码自动生成工具,这两种方式涉及到Java语言或Swift语言,我未选用。

而是采用了机智云赛博坦工具,无代码,只需要进行在线配置就能开发出一款个性化的App。具体而言需要进行如下操作。

3.1 通过dev.gizwits.com 切换至机智云新版开发平台,创建【移动应用】

deff9fa0-787f-11ec-9437-dac502259ad0.png        

3.2 创建好移动应用后,关联设备到移动应用里面。其他参数根据自己需求进行更改

df31faea-787f-11ec-9437-dac502259ad0.png        

3.3 之后,回到机智云新版开发平台主页,选择自己创建“智能雨林缸”,然后进入如下页面。将【产品开发-模组信息】:配置成乐鑫模组,注意只需要修改模组就行,热点参数无需更改。

df5e40a0-787f-11ec-9437-dac502259ad0.png        

3.4 接下来,进入【应用页面-控制页面】:进行App页面修改,可以根据自己需求设置好控制模块的大小以及图标。其余参数根据自己的需求修改。注意:每个页面都需要保存。

df98be2e-787f-11ec-9437-dac502259ad0.png        

e004d79e-787f-11ec-9437-dac502259ad0.png        

3.5 App控制页面定义完成后,接下来需要进行参数配置,点击【构建应用】,进行应用【应用证书】配置,最后再进行【应用构建】 e02f918c-787f-11ec-9437-dac502259ad0.png        

当应用构建“成功”后,可以下载此App安装到手机上。这样一个个性化的“智能雨林缸”App就开发完成了。

四、ESP8266接入机智云

这是进行开发的最重要的步骤之一。为了让“智能雨林缸”的控制器具有联网功能,让App能够实现远程控制,需要对基于ESP8266 SOC方案生成的代码包进行移植,最后要将移植后的代码烧写至ESP8266上。

由于涉及的代码较多,我只进行简要说明,更具体的操作步骤、代码请参考博客 https://club.gizwits.com/thread-166412-1-1.html

先将ESP8266 SOC代码包进行解压缩,接下来进行移植

1、采用IDE方式进行开发编译:解压过后即可使用,路径不能有中文。2、修改编译参数:打开根目录下面的Makefile文件,然后修改23到27行的内容。3、按键部分无需修改,因为自动生成的代码就是gpio14按键长按短按进行网络配置。但继电器引脚的初始化我们写在按键函数的初始化里面, 初始化为输出模式。4、在gizwits_product.c和gizwits_product.h增加全局变量。5、在gizwits_product.c的gizwitsEventProcess函数里面对开关状态进行缓存。6、处理断电开机之后开关以及各项参数的初始化。主要是利用flash读取获取参数。数据状态存放在flash,后续教程及程序会有存储体现。初始化主要修改userInit函数。7、在gizwits_product.c新增DS18B20驱动函数、温度传感器的函数。8、在gizwits_product.c的userHandle函数里面对GPIO输出点,温度采集,flash存储以及逻辑控制进行编写。9、修改完代码之后ctrl+B进行编译固件编译。10、利用乐鑫烧录软件将生成的固件烧录到ESP8266里面。

参数参考下图,注意参数不能有错。

下载硬件接线如下表下载模式。

e073a1d8-787f-11ec-9437-dac502259ad0.png记住通电瞬间就要保持这个状态才是下载模式。

e0a0575a-787f-11ec-9437-dac502259ad0.png e0d6e554-787f-11ec-9437-dac502259ad0.png

11、程序烧录完成之后,通过按键长按触发airlink配网(或短按触发softap配网),在APP选择对应的配网进行网络配置及绑定设备。绑定后进入设备即可进行采集和控制。

e1159100-787f-11ec-9437-dac502259ad0.png        

作为水族圈的一员,养过观赏鱼、玩过自然水景,现在自己动手做一个“智能雨林缸”特别有成就感,机智云和ESP8266的改造成本又低,真是太棒了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16152

    浏览量

    177259
收藏 人收藏

    评论

    相关推荐

    ESP8266 太空人动画的 OLED 显示

    ESP8266 太空人动画的 OLED 显示
    的头像 发表于 10-08 15:06 201次阅读
    <b class='flag-5'>ESP8266</b> 太空人动画的 OLED 显示

    机智入门必备》手把手教你烧录GAgent固件

    本文《机智入门必备》将详细讲解GAgent固件的烧录过程,从基础设置到实际操作,将一步步带你完成每一个环节,确保你的设备顺利连接机智平台,实现
    的头像 发表于 09-12 08:04 292次阅读
    《<b class='flag-5'>机智</b><b class='flag-5'>云</b>入门必备》手把手教你烧录GAgent固件

    STM32 ESP8266阿里链接源码

    stm32F103C8T6 ESP8266 物联网电表 登录阿里
    发表于 08-29 14:21 5次下载

    esp32和esp8266代码共用吗

    本文将介绍ESP32和ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32和
    的头像 发表于 08-19 18:23 945次阅读

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理器和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理器,属于Xtensa架构。 ESP32 :使
    的头像 发表于 08-19 18:16 4039次阅读

    esp8266不烧录可以使用吗

    Systems推出的低成本、低功耗的Wi-Fi模块。它基于Tensilica L106微处理器,具有32位处理能力,最高频率可达160MHz。ESP8266具有丰富的外设接口,如GPIO、ADC、PWM等
    的头像 发表于 08-19 17:28 599次阅读

    esp8266wifi模块怎么连接手机

    ESP8266 WiFi模块连接手机主要可以通过两种方式实现: 通过路由器连接(STA模式)和直接作为热点连接(AP模式) 。以下是两种连接方式的步骤: 一、通过路由器连接(STA模式) 配置
    的头像 发表于 08-19 17:27 2014次阅读

    机智ESP8266开发板RGB彩灯控件

    随着智能家居技术的迅猛发展,RGB彩灯控件正逐渐成为现代家庭不可或缺的一部分。在这一潮流中,机智(Gizwits)的ESP8266开发板RGB彩灯控件以其先进的物联网技术和多样化的灯
    的头像 发表于 08-09 08:10 336次阅读
    <b class='flag-5'>机智</b><b class='flag-5'>云</b><b class='flag-5'>ESP8266</b>开发板RGB彩灯控件

    STM32F103 + ESP8266机智开发常见问题集锦:入门者必读!

    关于ESP8266模块的选择针对初学者,强烈建议选择带有串口的ESP8266开发板!这可以避免像我曾经遇到的烧录固件失败等问题。推荐直接购买已预装机智固件的模块,或者带有串口下载功能
    的头像 发表于 07-18 08:11 389次阅读
    STM32F103 + <b class='flag-5'>ESP8266</b>与<b class='flag-5'>机智</b><b class='flag-5'>云</b>开发常见问题集锦:入门者必读!

    如何在ESP8266上逐步进行智能配置?

    我没有找到有关如何使用 at命令逐步配置智能配置的相关文档。 我正在使用外部微控制器与ESP8266esp01 模块)通信。 我在微控制器中使用纯 C 编程(没有 arduino 硬件也没有
    发表于 07-15 07:40

    ESP8266网络天气时钟OLED显示

    基于ESP8266实现网络获取天气和时钟并OLED显示
    的头像 发表于 06-28 04:46 967次阅读
    <b class='flag-5'>ESP8266</b>网络天气时钟OLED显示

    国产低成本Wi-Fi SoC解决方案芯片ESP8266ESP8285对比差异

    ESP8266ESP8285对比差异 ESP8285相当于在ESP8266基础上多加了1/2MB Flash, ESP8285与
    的头像 发表于 05-17 11:44 1155次阅读
    国产低<b class='flag-5'>成本</b>Wi-Fi SoC解决方案芯片<b class='flag-5'>ESP8266</b>与<b class='flag-5'>ESP</b>8285对比差异

    确定ESP8266固件下载成功的方法

    在物联网设备的开发过程中,确定esp8266固件是否成功下载至设备十分关键。以下是一种简单有效的确认方法:机智物联网平台首先,确保你的ESP8266模块已经正确连接至计算机,并通过串
    的头像 发表于 05-16 08:10 490次阅读
    确定<b class='flag-5'>ESP8266</b>固件下载成功的方法

    使用Wi-Fi ESP8266方案模组接入平台

    ESP8266的模块芯片是基于无线通信协议的UARTWi-Fi透传模块芯片,支持802.11b/g/n的无线标准,并带有三种可选择的工作模式。ESP8266模块的控制是通过AT指令的形式控制,例如
    的头像 发表于 05-10 08:20 1707次阅读
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模组接入<b class='flag-5'>云</b>平台

    STM32、ESP8266与MQTT连接阿里物联网的串口通信异常解析

    STM32、ESP8266与MQTT协议连接阿里物联网平台时常见的串口通信异常介绍 在构建物联网应用时,STM32、ESP8266与MQTT协议的结合是实现设备与网络间稳定通信的关键。然而,在连接
    的头像 发表于 04-19 17:19 1352次阅读