使用Dragonboard 410c开发医疗物联网

dycbaba 北京天杉科技 CEO/董事长/总经理  2016-04-06 02:29:53
加精
使用Dragonboard 410c开发医疗物联网
##需求分析
随着社会事业的发展,医疗行业对各种仪器的需求越来越大,如生化仪,心电监护仪,呼吸机等等,这些设备目前使用两种通信方式和lis/pacs/中心监护系统接口

- 大多数采用串口作为数据接口,使用ASTM作为通信协议
- 使用以太网网络接口,以HL7作为通信协议
###协议解释
####HL7
HL7标准是建立在ISO标准组织之制定的OSI模型的最高层的应用标准,如下图所示:



HL7标准包含256个事件、116个消息类型,139个段,55种数据类型,408个数据字典,涉及79种编码系统。但在应用HL7标准时,并不一定需要涉及标准全部内容,可以选择自己需要应用的相关事件、消息类型和段就可以了。而在数据字典和编码系统方面HL7标准并没有进行强制的规定,可以允许用户选择。标准的内容作为推荐。由于HL7涉及非常广泛,且在开发过程中广泛接纳了最终用户、开发商、研究机构的各方面的意见,从另一个方面也可以将HL7标准理解为医学信息中的其他编码标准的一个总纲性质的索引。


####ASTM
ASTM的全称是American Society for Testing and Materials,美国材料与试验协会。它规定十几个类别,用途非常广泛,包含以下门类:


1、钢铁产品
2、有色金属产品
3、金属试验和分析方法。
4、建筑
5、石油与化工
6、染料和涂料
7、纺织
8、塑料
9、橡胶
10、电气与电子工业
11、水和环保技术
12、核能、太阳能与地热能
13、医疗器械和服务
14、通用方法和仪器。
15、通用产品和专用化学品

医疗行业用的是第13类 ,比如

ASTM E1394 等等



###目前现状
传统医院系统都是使用PC作为仪器服务器来接入的,体积大,价格贵,功耗也大,而且很不灵活,不同的仪器要不同的接口程序,这些接口程序使用Powerbuilder,delphi,C#编写,每次不同仪器参数和协议接口都需要重新编译部署实施调试,成本高,工期长。
###用Dragonboard 410c的方案
有鉴于此,我们决定采用Dragonboard代替PC来实现各种仪器接入,使用nodejs开发,带来的好处是明显的,价格远低于pc,而且灵活 不需要编译,而且nodejs本身在www.npmjs.org上提供了海量的模块库,其中就包括HL7的解析库,使用nodejs可以极大的降低开发工作难度,动态配置js脚本就可以对接相应的仪器,因此可以远程配置调试仪器,节省昂贵的差旅费。
#开始动手
##安装os

先下载img文件,这里我们选择debian,大家可以直接去linaro的网站下载
dragonboard410c_sdcard_install_debian-36.zip这个文件,不过这个网站经常断线,为了大家操作方便我就下载了并且共享了
http://pan.baidu.com/s/1migYRiC
把tf卡通过usb读卡器插入电脑,推荐使用class 10 的tf卡,8G以上。
使用sdformatter 格式化卡

然后使用win32diskimager把镜像烧录到tf卡。
把tf卡插入板子,启动 ,并把跳线位置设成如下模式



根据屏幕提示,选择intall ,然后等待几分钟 系统就安装好了,这时候去掉TF卡

(如果不去掉TF卡,下次启动还是从TF卡启动,或者你可以设置跳线,选择从EMMC启动,我为了图省事就拔掉了TF卡)重新启动
显示linaro登陆界面
密码和用户名都是linaro

为了以后操作方便,使用passwd建立root账号
用root登陆,然后在操作指令 就不需要输入烦人的sudo了

##安装nodejs
因为410c板子我已经装好了nodejs 我在另外一个板子上演示一下nodejs的安装过程
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
如果发现没有curl 可以用apt-get install curl 安装

安装完nodejs 运行node -v 就可以看到已经装好
##安装相应的模块
因为我们做的医疗网关需要支持HL7和ASTM协议,因此需要安装相应的模块
node-serialport和hl7模块

使用npm直接安装 npm install node-serialport
npm install hl7 因为每种仪器只会选择其中之一,因此我们装在不同的工作目录

...全文
1921 1 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
SuGuolin 2019-05-29
希望写出详细的教程
回复
line_us 2016-04-24
来个实物玩玩就好了
回复
业余草 2016-04-23
回复
伊航 2016-04-19
引用 8 楼 bi_jian 的回复:
推荐各位了解一下生物医学工程,走在科技最前沿。其下的一个方向就是医学仪器的开发。
希望了解。
回复
毕健 2016-04-18
推荐各位了解一下生物医学工程,走在科技最前沿。其下的一个方向就是医学仪器的开发。
回复
伊航 2016-04-18
这玩意学习周期有多长?回报如何?
回复
dycbaba 2016-04-13
白的是hdmi转DVI的头
回复
dycbaba 2016-04-13
http://pan.baidu.com/s/1hscxH3Y 不知道为啥图片传不上去,特意找个ie机器
回复
宁道奇 2016-04-08
楼主能不能多来几张图啊,你那个小白的东西是什么,来几个和DragonBoard410c的合体照看看。
回复
dycbaba 2016-04-06
实际模拟,使用我们自己的仪器数据和模拟器 ,真实连接我们自己的模拟器,数据保存到couchdb

可以看到数据被完整的保存进去了,使用nodejs 也可以方便的通过webhdfs等模块把iot数据保存进hadoop 或者通过其他相关的模块把心电监护数据保存到openTSDB或者infuxdb 等等,而这些代码加起来也不过千行,而且可以运行在嵌入式ARM板如龙板上,这是传统医疗软件开发手段如PB,C#,JAVA都很难做到的。
接下来我还会尝试octoprint控制3d打印等项目,本次测试dragonboard还有一个很重要的事,是希望能拿到dragonboard配套的那个HDMI转CSI的板子,很遗憾一直没有机会测试这个,这个可以用于超声内镜的采集,代替昂贵的采集工作站和笨重的采集卡。
接下来我还会尝试octoprint控制3d打印等项目,本次测试dragonboard还有一个很重要的事,是希望能拿到dragonboard配套的那个HDMI转CSI的板子,很遗憾一直没有机会测试这个,这个可以用于超声内镜的采集,代替昂贵的采集工作站和笨重的采集卡。
回复
dycbaba 2016-04-06
接下来我们测试HL7功能,在drgonboard 安装hl7测试包 npm install simple-hl7 然后进去到node_modules/simple-hl7/examples,可以看到有4个例子,我们运行tcp-server这个 node tcp-server.js 然后在pc上运行hl7模拟器 可以看到模拟器模拟发送的HL7 结果已经被龙版上运行的hl7 server接受到 稍微修改这个hl7 程序,把hl7转成json ,转换功能都是这个hl7包里面提供的,就可以直接保存到rest界面的数据库后端
回复
dycbaba 2016-04-06
#测试串口和ASTM协议 本来打算直接连接我们的ASTM仿真器的,但是Dragonboard 410c的IO是1.8v的,我怕直接接上我们设备的3.3v TTL 会烧掉,所以决定使用USB口转出来的串口解决这个问题 我们使用一个MICO开发板作为串口输入源,插入开发板在/dev/ 下可以看到一个设备ttyUSB1,编写一个测试程序lis.js var SerialPort = require("serialport").SerialPort, sp = new SerialPort("/dev/ttyUSB1", { baudrate: 115200 }, false); // this is the openImmediately flag [default is true] sp.open(function (error) { if (error) { console.log('failed to open: ' + error); return; } else { console.log('open'); } }); sp.on('data', function (data) { console.log(data.toString()); //sp.write("hello/r/n"); }); 说明串口可以正常工作,实际接入我们的仪器通信程序也可以通信的
回复
相关推荐
发帖
Qualcomm开发
创建于2013-11-25

437

社区成员

为移动开发者提供丰富的解决方案、全面的技术下载。本版以游戏、多媒体、高效能等三个技术为核心,为开发者营造一个轻松、高效的学习交流平台。
申请成为版主
帖子事件
创建了帖子
2016-04-06 02:29
社区公告
暂无公告