一个不入流的联网时钟

我最近又是闲的蛋疼,开始折腾电子时钟了,这个电子时钟在电子界估计是属于难度倒数第二,倒数第一就是点灯啦,所以本文并没啥科技含量。今天的主角之一是Particle Photon,如图:

这是一块为物联网(IoT)而生的开发板,其板载了一个P0模块(P-zero),模块集成了一个M3内核MCU(STM32F205)和wifi芯片,板子的主要参数:Particle PØ Wi-Fi moduleBroadcom BCM43362 Wi-Fi chip802.11b/g/n Wi-FiSTM32F205RGY6 120Mhz ARM Cortex M31MB flash, 128KB RAMOn-board RGB status LED (ext. drive provided)18 Mixed-signal GPIO and advanced peripheralsOpen source designReal-time operating system (FreeRTOS)Soft AP setupFCC, CE and IC certified作为一块物联网开发板,它的使命就是联网,其板载wifi功能并不能证明他的强大之处,其真正强悍之处在于它提供一整套互联网平台,云端服务器和软件开发的框架。通过这套体系,我们只要连着网,就能通过手机app或者网页与板子进行通信,设备与设备之间也可以进行通信。其软件开发与Arduino类似,提供了一套易于使用的API,使开发者可以集中精力专注应用的开发。具体功能我就不啰嗦了,可以参考其官网:https://particle.io本文要实现的功能非常简单,就是一个显示时间和日期的时钟,不过这个时钟需要联网,主要硬件组成为:1. Particle Photon2. MSP430G25533. LCD模块(128*32)其实只要使用1和3便能完成这个功能,不过这块LCD在每次使用的时候,都需要接很多条线,接线麻烦浪费时间且容易出错,因此我打算把MSP430和它集成在一起,改造成一块串口LCD。首先来规划一下原理框图(绘图软件:fritzing):

不过在实际搭建的时候却成了这样:

经过集成整理后,清新多了:

Particle Photon的实现代码非常简洁,因为Photon需要联网,所以在联网的时候会同步时间,只要把板子的系统时间格式化一下就可以显示了:[C] 纯文本查看 复制代码?01020304050607080910111213141516unsigned long tick, pretick;void setup() {Serial1.begin(115200);Time.zone(+8);tick = 0;pretick = 0;}void loop() {tick = millis();if (tick - pretick >= 1000) {pretick = tick;Serial1.println(Time.format(Time.now(), "{1 %m-%d %H:%M:%S}"));}}本来是打算实现一些高级的功能来着,例如增加天气的显示,可以通过http的API接口来获取天气信息,但是都遇到了一些问题,比如https://darksky.net提供的API是https协议的,在单片机上实现https难度非常大,不过https肯定是未来的方向,而中国天气网注册账号需要填写申请,看了下申请单也明显不是针对普通老百姓的,所以放弃了。就写到这里吧,由于430的程序太乱了,我整理一下再发出来。————————————————————————————————————430的代码在这里:http://bbs.eeworld.com.cn/thread-527870-1-1.html

(0)

相关推荐