返回 登录
5

开源可穿戴开发套件 Hexiwear —— 为痴呆症患者和老年人建立健康追踪系统(二)

原文: HEXIWEAR DRIVE TEST – HEALTHCARE TRACKING SYSTEM FOR DEMENTIA PATIENTS AND ELDERLY (PART 2)
作者: Mehmet Bozdal
译者: 张新慧
寻求 IoT 报道或投稿、给文章纠错,请发送邮件至mobilehub@csdn.net。微信联系 jiaweidi1214,备注“姓名+公司+职位”(以便更快审核通过),加入“CSDN 物联网技术交流群”,与作者及更多专家、技术同行进行 IoT 技术交流。

上篇文章谈到了利用 Hexiwear 加速器和陀螺仪来判断病人是否晕倒,还提及了程序编写好帮手 mbed。而这篇文章是关于如何使 OLED 显示屏推送通知以及如何使用蓝牙联系急救人员的。除此之外,还会讲到用 Evothings 开发 Android 应用和如何连接智能手机和 Hexiwear。

Hexiwear 带有可编程的 1.1 英寸的彩色 OLED 显示屏,可为用户推送通知。要实现此功能,需添加 Hexi_OLED_SSD1351.h 库文件,启动驱动程序。下文所示代码设置文本属性、背景颜色和文本位置。设定好模板后,只用更改文本即可。

void initOLED()
 {
 char text[20]; /* Text Buffer */

 /* Get OLED Class Default Text Properties */
 oled_text_properties_t textProperties = {0};
 oled.GetTextProperties(textProperties);

 /* Turn on the backlight of the OLED Display */
 oled.DimScreenON();

 /* Fills the screen with solid black */
 oled.FillScreen(COLOR_BLACK);

 /* Change font color to Blue */
 textProperties.fontColor = COLOR_BLUE;
 oled.SetTextProperties(textProperties);

 /* Display Bluetooth Label at x=15,y=0 */
 strcpy((char *) text,"DesignSpark");
 oled.Label((uint8_t *)text,15,0);

  /* Display Text at (x=20,y=15) */
 strcpy((char *) text,"HexiCare");
 oled.Label((uint8_t *)text,20,15);

 /* Change font color to blue */
 textProperties.fontColor = COLOR_BLUE;
 oled.SetTextProperties(textProperties);

 /* Set text properties to white and right aligned for the dynamic text */
 textProperties.fontColor = COLOR_WHITE;
 textProperties.alignParam = OLED_TEXT_ALIGN_RIGHT;
 oled.SetTextProperties(textProperties);
 }

蓝牙跟 OLED 一样,也可添加现存的库来实现连接功能。库能简化编程,而 mbed 不仅支持大容量的库,而且带有硬件抽象层,能一定程度上减少处理基础硬件技术的麻烦,让开发者能专注做好软件算法。

#include "Hexi_KW40Z.h" // BLE
...
KW40Z kw40z_device(PTE24, PTE25); // BLE (UART TX, UART RX)
...
int main()
{
...
Thread txThread; // Thread to handle sending BLE
...
}
...
void txTask(void)
{
while (true)
{
// Send alarm data
kw40z_device.SendFaintAlarm(faintAlarmBLE);
Thread::wait(1000);
  }
}

上篇文章中关于判断晕厥的算法:当晕倒时,算法中 faintAlarmBLE 变量为 1,每秒种给手机传送一次信息。连续不断传送信息很耗电,但目前尚未设计出完整系统,设备无法确定信息已传送成功,只有不断发送才最保险。

接下来是开发 Android 应用。因为没有 Android 开发经验,所以我更青睐兼容 HTML 和 JavaScript 的混合系统工具,比如 Evothings。之所以选 Evothings,也是因为看过一个介绍用 Evothings 开发 Hexiwear 应用的网络会议视频。


Evothings 很实用,无需学习原生 Android,但也有缺陷。缺陷一:基于云端,需要等待服务器更新后才能开始编程,大大影响效率;缺陷二:无内置的 SMS 选项,当尝试添加此功能时,程序停止运行。

好在应用差不多要完成了,只需添加 SMS 或拨打号码选项即可。尽管 Evothings 无内置 SMS,但它支持 Cordova 插件。有一篇文章是说如何给 Evothings Studio 添加 SMS。若有原生移动开发经验,选择在 Evothings 上编程可能更好;如果想使用我的改良版本,请访问我的 GitHub 主页。


评论