智能手表已成为穿戴设备中最重要的一项。我使用了mbed网页编译器。建议你也使用mbed网页编译器。
计划例如以下。
- WIZwiki-W7500 + OLED + bluetooth + 安卓手机
可是…时间值数据错误(从智能手机获取数据)
所以,我改变了计划。
WIZwiki-W7500 + OLED + Ethernet + NTPserver
系统操作
1. 初始化时,网络时间从NTPserver获取
2. 接下来,使用MCU中的RTC计时
3. 几秒后。就从小号的yy/mm/dd h/m/s变成了大号的 h/m
4. 当button连接到D3,就从大号的h/m变成了小号的 yy/mm/dd h/m/s
步骤1:零件
- WIZwiki-W7500 at WIZnet : WIZwiki-W7500
- OLED 128×64(SSD1306/i2c) at Adafruit :http://www.adafruit.com/products/326
- Easy module Shield at YWRobot(仅仅有中文网页) : YWRobot
- Jumper cable : 将 OLED 及 easy 模块插板连接
库文件
- SSD1306 驱动
- Ethernet库(来此WIZnet)
工具
- mbed 网页编译器:LINK
步骤2:硬件
WIZWIKI-W7500 | OLED | |
---|---|---|
SCL | PA_9 | SCL |
SDA | PA_10 | SDA |
GND | GND | GND |
VCC | VCC | VCC |
WIZWIKI-W7500 | |
---|---|
Button | PC_0 |
步骤3:实现智能时钟
1. 使用SNTP协议,网络时间能够从NTPserver上获取
2. RTC初始值写入数据
3. 时钟计时使用设置值
NTPserver地址是“time.nist.gov”,port为40。
步骤4:代码
代码基于bmed(C++)。
可是你使用SSD1306.h 文件(c)
SSD1306.h 文件和SSD1306库一样使用。
注意。!!
当rtc存储数据获得ntp时间,你须要计算一下ntptime(month) -1 and ntptime(year) – 1900
步骤5:Mbed网页编译器及CMSIS-DAP
你能够使用mbed网页编译器下载固件。
1. 当你给WIZwiki-W7500插上USB线时。PC被识别为一个可移动磁盘。可移动磁盘名称为MBED。
2. 你拖放或者复制硬件到可移动磁盘,固件写进程已完毕。
3. 完毕固件写入后。打开检查可移动磁盘。
4. 假设”fail.txt”文件在可移动磁盘中存在,这表明写固件失败。
5. 按下WIZwiki-W7500的Resetbutton(SW1)后。请从第二步開始反复一次。
步骤6:设计时钟
3D打印:链接
步骤7:确认操作
步骤8:源代码及參考网页
- 智能表源代码:链接
- Ethernet源代码:链接
- 3D打印:链接