分享下自己基于OneNet物联网云平台的远程开关,可电脑 / 手机APP远程控制,亦可获取当前时间和近3日天气。

还有好多坑待填,开源仅作学习。

资源下载链接在文章末尾。stm32-FreeRTOS源码、原理图、AD-PCB。

实物展示

  • 上电自动联网,获取开关状态、时间、天气的过程:(5FPS)

  • OLED时间界面:(15FPS)

  • OLED整体界面:(15FPS)

  • 电脑控制远程开关:(15FPS)

  • 手机APP控制远程开关:(15FPS)

(现在的远程开关由于是HTTP GET的方式,每隔3S刷新一次,所以有时延)

  • 高清图:

设计概况

  • 硬件组成:

主控MCU:stm32F103c8t6

WIFI:ESP8266(ESP-12F/S)、EMW3080【选其一使用】

以太网:W5500

显示:SPI-OLED / SPI-TFT

运行系统:FreeRTOS

功率输出:两路250V/10A继电器、两路600V/6A可控硅(交流)

供电方式:USB / DC-5V / 18650锂电池(备用电源)

通信接口:CAN / RS485 / USB从机 / USB串口 / 2xTTL串口

传感器:红外发射(3W | 120°)、红外接收、APDS-9930(光强、接近)、DHT12(或其他I2C的温湿度传感器)

  • 特点:

全,硬件全面,CAN / RS485 / USB从机 / USB串口 / 2xTTL串口,红外发射/接收,满足 家居/轻工控需求。

全,周全,wifi连接 / 以太网连接均可。

全,安全,18650锂电备用电源,从容应对断电情况,亦可随手携带进行场外调试。

  • 设计初衷:

最开始只是想设计个远程开关,能放进防水盒可远程遥控,没想那么多功能。可一想打5公分的PCB也是打,打10公分的PCB也是打,干脆集成的东西多一点,可搭配出的功能也多一些。到手后发现,最重要的配网按键忘记搞了,虽然其他的方式也能弥补,例如用红外遥控器做触发,用光强做触发,但总感觉少了那个随心所欲的味道。于是搁置争议,先填好远程开关这个坑,其他功能留着以后有时间再完善。

  • 目前实现功能:

stm32F103 运行 FreeRTOS。

ESP8266(ESP-12F/S)wifi,HTTP 连接 OneNET、心知天气。

4路远程开关控制、北京时间、近3日天气。

OLED平移滚动界面:时钟界面、开关状态界面、近3日天气界面。

多种供电方式:USB / DC-5V / 18650锂电池(备用电源)。

  • 待填坑:

stm32代码RAM优化,目前已使用19.2KB。(好多其实都是可以省的)

温湿度传感器代码。(DHT12缺货,而其他I2C的温湿度传感器都比较贵。)

红外接收、红外发射代码,遥控记录功能。

CAN / RS485 / USB从机 代码。

APDS-9930代码。

W5500以太网代码。

阿里云物联网平台、MQTT连接。

  • 设计缺陷:

RTC晶振不起振,F103的老毛病了。(所以时间计时使用FreeRTOS的软件定时器+每10分钟联网校准)

温湿度传感器,一开始准备用DHT12的,后来发现DHT12缺货,而其他I2C的温湿度传感器都比较贵。

配网按键忘记加了。

备用电源切换方案待优化。(觉得备用电源也没什么用,毕竟要是外部断电了,wifi路由器也会断电。现在来看,只是方便携带,不必担心供电问题,放哪里都可以用)

开放代码、电路、资料:

  • 代码、电路、相关资料:

wifi密码修改、OneNet云平台账号、城市天气修改:wifi.h、onenet_http.h、seniverse_http.h 中的宏定义

OLED界面平移、滚动的实现:OLED界面平移滚动实现

OneNET云平台产品创建:OneNET云平台使用

心知天气产品创建:心知天气获取消息

GitHub源码仓库、电路:F103_IOT_DEV

字体、图片的取模方式:

https://blog.csdn.net/Mark_md/article/details/107930207

https://blog.csdn.net/Mark_md/article/details/107932293

stm32-FreeRTOS-ESP8266-OneNET物联网远程开关,心知天气网络时间,开源代码电路原理图altium-pcb相关推荐

  1. STM32使用ESP8266模块AT指令连接心知天气API获取天气信息

    由于之前使用STM32单片机来开发一些物联网的小项目,接触到了WIFI模块ESP8266,所以写下来记录一下.本文主要介绍的是STM32通过发送AT指令集来控制ESP8266 WIFI模块连接WiFi ...

  2. ESP8266+oled连接心知天气显示时间和实时天气

    因为时间比较仓促,目前存在许多问题没有解决. 首先进行aduino环境配置,具体方法可参考以下链接,若选错开发板型号编译会报错配置esp8266开发板的Arduino开发环境_交通运输怪味张的博客-C ...

  3. 分享一个stm32的OLED驱动,实现图像平移滚动滑动,esp8266-wifi物联网远程开关天气,开源代码电路原理图

    分享一个自己写的OLED驱动库,可实现平移,滑动,图像拼接等操作. 亦可使用 esp8266-wifi 交互OneNET物联网云平台实现远程开关,心知天气获取近3日天气. 先上图: 上面是单独的时钟界 ...

  4. STM32的oneNet物联网远程智能家居控制系统-思路分享

    设计了一款基于OneNET的物联网智能家居系统,用于家庭的智能控制系统.系统采用意法半导体公司的STM32F103C8T6作为控制单片机,果云科技的GA6作为物联网通信的载体.中国移动的OneNET作 ...

  5. stm32+esp8266 GET请求心知天气的简单方法

    文章目录 前言 一.ESP8266调试 二.代码部分 1.esp8266部分 2.单片机代码部分 总结 前言 因为之前学习stm32+esp8266请求心知天气时看的不是很懂,然后在成功调试出来之后发 ...

  6. 使用 Fiddler 调试 心知天气,stm32 esp8266获取天气api

    心知天气 - 免费用户的功能: 国内 370 个主要城市 天气实况,包括天气现象文字.代码和气温 3 项数据 未来 3 天天气预报,包括白天天气现象文字及代码.晚间天气现象文字及代码.当天最高温度和最 ...

  7. esp8266点灯LCD12864心知天气+农历+空气质量ArduinoJson6

    接上篇 esp8266 mixly blynk远程控制 + NTP+天气预报及一体 智能钟 时钟原理图见上篇文章 心知天气.农历API用的是ArduinoJson6解析.且采用的char* 变量 .上 ...

  8. ESP8266使用AT指令获取时间和心知天气

    一.硬件:ESP8266,USB TO TTL模块,软件:串口调试助手 二.在心知官网注册账号:心知天气 - 高精度气象数据 - 天气数据API接口 - 行业气象解决方案 三.连接esp8266和us ...

  9. STM32使用CJSON获取心知天气

    文章目录 1.程序配置 2.新建json数据 3.读取json数据 4.解析心知天气 5.ESP01S获取数据 6.STM32获取数据 本文是接着上一篇文章的后续来写,上一篇写的太长了后面太累了就没写 ...

最新文章

  1. 问卷星作答能不能检测到屏幕共享_云端检测,别样精彩——大厂回族自治县王必屯中心小学线上期末检测纪实...
  2. flink的savepoint实验-scala
  3. C#中await/async闲说
  4. 04_传智播客iOS视频教程_类是以Class对象存储在代码段
  5. PL/SQL Developer的错误提示弹框的文本显示乱码问题
  6. 09 | 自编码器:让模型拥有属于自己的表达和语言
  7. 英语计算机考研复试专业翻译题库,计算机专业英语题题库.doc
  8. 【大数据】Linkis是什么呢
  9. 【原】 可供测试的信用卡号 Test Credit Card Number
  10. 【Android】BLE:蓝牙低功耗基础
  11. FPGA之旅设计99例之第二十一例----VGA串口SDRAM显示图片
  12. 阴阳师服务器列表 修复,阴阳师服务器崩了修复了吗?阴阳师最新4月15日更新内容...
  13. mysql中一条update的执行过程
  14. 业务架构的定义、特性和方法
  15. 算法设计与分析学习笔记
  16. aruba 交换机 简单维护
  17. 计算机中运行Xbrowser,丢失msvcr110.dll
  18. 药品信息api 药品列表查询
  19. nodejs框架express之中间件的运用场景(初学)
  20. 采用空白文件目录结构管理磁盘空间,实现磁盘空间的分配和回收

热门文章

  1. exfat和ntfs和linux,EXFAT和NTFS哪个好
  2. 这些操作系统的概念你必须要知道
  3. 推荐 6 个上周 火火火 的开源项目
  4. 如何成为一名黑客 (英文原文 )
  5. 宠辱不惊,闲看庭前花开花落
  6. 迷你linux主机,2019迷你电脑主机推荐
  7. Android——摇一摇
  8. python超越方程_matlab简单的超越方程求解近似值
  9. java画八卦_Java实现太极八卦的绘制
  10. 计算思维不是计算机科学的核心素养,浅谈 对 信息技术学科核心素养 的理解...