【训练营_进阶班】基于stm32f1的物联通讯板

1个月前

简介:物联网通讯演示板

开源协议: GPL 3.0

  • 358
  • 2
  • 0

描述

(手动狗头)忽略下继电器和走线不规范,这块板子只是调试一下数据传输,继电器部分没打算真用hhh。

bilibili演示链接:演示链接

最后面app的界面丑不能怪我,理(ge)直(zi)气(zhi)壮(wang),没错,就这样,反正他能用。


一、功能介绍

1.1硬件端:

本系统为物联网提供多协议的通讯接口,满足多种网络环境的通讯需要。

设计标准针对家庭物联网环境,通过web、app、pc多端显示数据和控制设备。

1.2服务器端:

系统架设在阿里云服务器,系统为centos7,利用docker分隔各应用,确保稳定运行、便捷重装与备份。

服务器支持mqtt、tcp、http等多种协议;

已安装并实际应用了emqtt、nodered、mysql等软件,未来准备增加thingsboard。

1.3软件端:

由于时间关系,暂时只在app、web、pc三端展示初步的实时消息。


App:
采用Android studio编程,mqtt协议连接至emqtt,后转发到nodered汇总处理。

可实现数据显示及设备控制。


Pc:
在vs2019采用c++编程,暂只支持串口通信,显示收集到的数据。

注:配套无线串口接收器,可直连电脑。


Web:
利用nodered系统,支持tcp、websocket、http、mqtt多协议外接。

Web端可接收硬件数据并转发至各个平台、并存入mysql数据库。

网页内置数据实时显示和设备控制。


1.4板载资源:

时间有限,全部采取插接模块方便替换。

主控采用STM32F1系列,价格低廉,工作稳定;

本地网络采用NRF24L01,可实现一收多发;

利用eps01模块以tcp协议接入服务器(也可支持mqtt);

板载一路继电器,仅示范作用,可以自由扩展;

板载2路可编程按键、单色led与rgb led灯,根据需要自由使用;

后期网络模式下可接入小爱音箱控制(通过blink),
后期支持iap远程更新。

二、作品介绍
这套系统的研发目的是为了整合硬件,可以令家中的老电器智能化,购入的各种新设备协议统一化,做到单平台管理,客制化实现功能。

三、选型介绍
3.1协议介绍:

3.1.1串口协议:

2.4g内网传输及串口采用自定义协议。

3.1.2联网协议:
Tcp:tcp协议较为常用,时间所限,采用安信可官方固件

Mqtt:mqtt专为小数据设计,低功耗、较稳定、应用便捷。

Cjson:联网部分移植cjson库传输数据,内容整齐,可读性高且被多平台兼容。

支持外扩:http、websocket等
可发送邮件提醒。

3.2硬件选型:

3.2.1无线部分:

esp01s:

理由:乐鑫的这款芯片可以说是物美价廉,支持多固件刷入,自由选择官方环境开发或lua、mpython等。 应用方式:安信可官方固件tcp连接至部署在服务器上的nodered系统。


NRF24L01:

理由:常用2.4g通讯芯片,支持一发多收、一收多发,灵活性高成本很低,延迟低至ms级。


USB:

板载jdy-40模块串口透传,有配套ttl转usb无线接收器,可无线使用,位置安放灵活。
理由:jdy-40支持AT指令,配置简单且成本低。

RTC:

RTC采用stm32内置时钟。
理由:家庭环境wifi网络稳定,芯片可自主校时。

QQ截图20200810191131.pngScreenshot_2020-08-10-19-31-38-188_com.evan.demo..jpg

文档

PCB_2020-08-06_21-36-55

在编辑器中打开

BOM

ID Name Designator Footprint Quantity
1 6pF C4,C5 C0603 2
2 32.768KHz Y2 3215 1
3 SW-PB S1 轻触开关 1
4 10K R1 R0603 1
5 100nF C3 C0603 1
6 CLK DIO SWD1,POWER HDR-M-2.54_2X2 2
7 1μF/50V C10,C12 0603_C_JX 2
8 10μF/10V C11 C0603 1
9 AMS-1117 U5 AMS1117 1
10 8M Y1 8MHZ_5032_5032 1
11 22pF C2,C1 C0603 2
12 STM32F103C8T6 U2 LQFP48-7*7 1
13 TX RX USART1 1X2P-2.54 1
14 K2-3.6×6.1_SMD KEY1,KEY2 KEY-SMD_2P-L6.2-W3.6-LS8.0 2
15 LED-0603_R RELAY1,LED1,LED2,POWER_STA,ESP_CONF1,JDY_CONF1 LED0603_RED 6
16 ESP-01S U4 WIFIM-TH_ESP-01S 1
17 104 C9,C8,C7,C6 C0603 4
18 4PIN RGB1 SPI4 1
19 OLED OLED1 6PIN SPI OLED DISPLAY 1
20 NRF24L01 U3 MOD-NRF24L01 1
21 TYPE-C 6P(073) USB1 TYPE-C-SMD_TYPE-C-6P 1
22 1k R7,R2,R3,R4,R6,R5 R0603 6
23 DA-02BP SW1 SW-TH_4P-L6.9-W8.8-P2.54-LS2.5 1
24 HF3FF-012-1ZS K1 RELAY-TH_HF3FF-XXX-1ZS 1
25 JDY-40-IO14 U1 JDY-40-IO14 1

展开

工程成员

登录注册之后才可以进行评论操作
工程所有者当前已关闭评论
征集令发布者当前已关闭评论
全部评论 2

luckydarcy

兄弟,为何你这么666!

2020-08-09 23:30:23
回复

Eric6666

大胸弟你这个项目完整度非常好,涉猎面很广,墙裂推荐你将服务器搭建相关部分简单分享一下,比如架构选择,简单的组件介绍。
硬件上,感觉有点杂。产品设计的时候定位一定要清晰,要什么功能一定是确定的,而不是方便以后拓展。以我多年来实践,自己预留的接口250%都没有用上,每次都是重新打样测试。
建议你将通信控制和传感器和控制器分开,通过某种通信连接在一起,这样你的硬件架构就可以灵活拓展了。

2020-08-07 11:25:43
回复

服务时间

周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 立创EDA微信号

    easyeda

  • QQ交流群

    664186054

  • 立创EDA公众号

    lceda-cn