概述
这是物联网项目设计的完结篇,本来想今年上半年完成的,但是中间因为一些事情比较忙,耽误了。后来整个项目设计推倒重来,采用了新的技术栈。但是前面的开发经历也为我提供了不少经验,后面我采用rtthread物联网操作系统,极大的加快了开发进度,同时采用在线电路设计软件立创EDA,让我一个从来没画过电路图的人很快掌握了原理图和PCB的绘制,强推一波。辉光钟的制作网上有很多资料,我也参考了网上的很多资料,但是把辉光钟和物联网结合到一起我觉得是个不错的创意,于是就去做了。
下面我先给出本项目的代码和电路图,希望大家喜欢的话给我的github仓库一些小星星~
####演示视频
[视频](https://www.bilibili.com/video/BV1ir4y1c7zz
代码仓库
https://github.com/FranHawk/nixie_clock_rt_thread.git
电路工程文件
因为我用了两个板子拼到一起,所以有两个工程文件,打开网址就可以找到原理图和pcb
https://lceda.cn/FranHawk/nixie_testboard
https://lceda.cn/FranHawk/nixie_mainboard
一、项目创意
辉光管属于电真空器件,也就是电子管,玻璃外壳,通常为圆柱形,金属电极从底部引出管身外,内部有一个阳极电极,若干个阴极电极。辉光管内部并不是真空,充满着由氖气、氩气以及水银蒸汽等组成的混合气体,主要成分是惰性气体氖气。
辉光管属于多年前的古老工艺,本是被时代淘汰的产物,但是由于辉光管发出的橙黄色光芒十分美观,且对驱动电路的要求非常高,所以受到广大爱好者的喜爱。而物联网技术的发展势头正劲,将古老的辉光管和新兴的物联网技术相结合,制作出的物联网辉光管时钟,将使辉光管焕发出新的活力。同时也体现出一定的技术性,创意性和装饰性。
二、项目需求
1.完成辉光管显示功能,四个IN12辉光管显示小时分钟或者分钟秒
2.辉光管发光稳定,走时精确,掉电时时钟保持走时
3.自动连接wifi远程控制功能,完成网页访问物联网平台控制辉光钟显示
4.自动校时功能,联网自动校准辉光钟时间
5.系统可保持长时间运行,不发生崩溃
三、框图及整机概述
本项目分为硬件设备端完成主要功能和云服务器端完成人机交互和控制功能。
硬件设备端
1.STM32F103RCT6
使用stm32f103rct6作为主控芯片,48kB RAM,256kB ROM搭载RT-thread物联网实时操作系统.完成对各模块的通讯控制和多任务管理。
2.ESP8266 WIFI模块
使用ESP8266模块完成硬件设备的物联网功能,ESP8266在数据链路层使用WIFI协议,适用于家庭室内这种不需要经常移动的场合。ESP8266已完整封装TCP/IP协议,只需要通过AT指令连接WIFI网络,然后进入透传模式,主控MCU发送过来的MQTT消息包就会经ESP8266发送至互联网,完成设备之间的解耦。同时通过ESP8266访问NTP服务器完成时钟的校时功能,ESP8266模块通过串口与主控MCU完成通讯。
3.DS3231 实时时钟芯片
使用DS3231高精度实时时钟芯片完成自动走时功能。DS3231是一款高精度I2C实时时钟器件,具有集成的温度补偿晶体振荡器。该器件包含电池输入端,断开主电源时仍可保持精确计时。集成的晶体振荡器可提高器件的长期精确度。DS3231的寄存器能保存秒、分、时、星期、日期、月、年和闹钟设置等信息。少于31天的月份,可自动调整月末日期,包括闰年补偿。时钟的工作格式为24小时或带AM/PM指示的12小时格式。DS3231提供两个可编程日历闹钟和一路可编程方波输出。DS3231与单片机通过I2C双向串行总线传输地址与数据。通过使用DS3231芯片完成自动走时功能,并通过电池提供备用电力的方式,实现调电保持计时功能。
4.HV57708 高压驱动芯片
使用HV57708高压驱动芯片为辉光钟提供驱动信号。HV57708是一款可以承受高电压的串行输入转并行输出的驱动芯片,可完成4路输入转64路输出的功能,适用于驱动辉光管,大大节省了单片机的IO口,同时芯片高度集成,节省了PCB的面积。
5.MAX1771升压电路
使用以MAX1771为控制核心的BOOST升压电路,将直流12V输入高效率地转化为170V输出,将辉光管点亮。
整个系统电路部分使用立创EDA完成PCB的绘制,为了使设备整体美观紧凑,将元器件布置在两块PCB上,一块PCB放置主要控制和电源电路,另一块PCB放置辉光管插座。
云服务器端
云端服务全部使用阿里云平台的服务,阿里云的服务具有稳定性强,配置便捷的特点,方便部署物联网应用,云端总体应用架构如下
1.阿里云物联网平台
云端物联网平台使用阿里云物联网平台。阿里云物联网平台为设备提供安全可靠的连接通信能力,向下连接海量设备,支撑设备数据采集上云;向上提供云端API,服务端通过调用云端API将指令下发至设备端,实现远程控制。提供设备接入,设备管理,安全能力和规则引擎。其中规则引擎用来完成数据转发,负责沟通数据在设备间,设备与数据库间,设备与服务器间流转。
2.阿里云 云端服务器
Web服务器使用阿里云服务器ECS,云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器&