分享下自己基于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. 基于XMPP的IOS聊天客户端程序(XMPP服务器架构)
  2. Linux eval命令
  3. java反多态的代码_Java多态性代码详解
  4. Hibernate模糊查询
  5. [导入].net分布式事务例子
  6. TPC-H生成Spark测试用的伪数据集(转载)
  7. Android之常见面试题
  8. 转换文档参数_明明2秒可以搞定Word、Excel相互转换,你却用了半小时!真亏了...
  9. .html()和.text()及.val()的区别
  10. FileProvider的使用
  11. spring mvc 接收表单 bean
  12. 配置Https 和 HSTS
  13. nginx rtmp直播无延迟_Ubuntu中使用Nginx+rtmp搭建流媒体直播服务
  14. mega linux教程,LINUX 安装MegaRAID Storage Manager (MSM)安装使用教程.doc
  15. java有关继承与多态的初学者操作实验题------初学者学习多态专用
  16. 《管理学》第八章 领导
  17. JEECMS 自定义标签
  18. EMV规范(七)——持卡人验证(CVM)一
  19. 基于NSGA2算法的多AGV柔性车间调度多目标优化【附python源码】
  20. python编写猜大小游戏_python编写猜数字小游戏

热门文章

  1. 常见蛋白质种类_蛋白粉 你必须知道的五大知识
  2. PCB上面的元器件辨识方法
  3. WML语言基础(WAP建站)二(转)
  4. Python的len()函数
  5. 基于常见投票系统的作弊方法
  6. context:annotation-config vs context:component-scan 的区别
  7. ORA-20000:ORU-10027:buffer overflow,limit of 2000 bytes 解决办法
  8. ip 淘宝地址库 好东西
  9. 云计算虚拟化技术与开发-------虚拟化技术应用第二章内容(CPU虚拟机X86要解决的问题、VT-x、VMX、vCPU、EPT、VT-d)
  10. 统计推断 完备性与完备统计量的思想与历史渊源