<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://openwsn.wetpaint.com/xsl/rss2html.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://openwsn.wetpaint.com/scripts/wpcss/wiki/openwsn/skin/autumnfire/rss" type="text/css" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>OpenWSN for Industry &amp; Research - Recently Updated Pages</title><link>http://openwsn.wetpaint.com/pageSearch/updated</link><description>Recently Updated Pages on http://openwsn.wetpaint.com</description><language>en-us</language><webMaster>info@wetpaint.com</webMaster><pubDate>Fri, 29 Feb 2008 00:17:11 CST</pubDate><lastBuildDate>Fri, 29 Feb 2008 00:17:11 CST</lastBuildDate><generator>wetpaint.com</generator><ttl>60</ttl><image><title>OpenWSN for Industry &amp; Research</title><url>http://www.wetpaint.com/img/logo.gif</url><link>http://openwsn.wetpaint.com</link><description>OpenWSN, An Open Wireless Sensor Networks Platform for Both Industry and Research</description></image><item><title>Home</title><link>http://openwsn.wetpaint.com/page/Home</link><author>openwsn</author><guid isPermaLink="false">http://openwsn.wetpaint.com/page/Home</guid><pubDate>Fri, 29 Feb 2008 00:17:11 CST</pubDate><description>&lt;br&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>note0008 libopen</title><link>http://openwsn.wetpaint.com/page/note0008+libopen</link><author>openwsn</author><guid isPermaLink="false">http://openwsn.wetpaint.com/page/note0008+libopen</guid><pubDate>Wed, 29 Aug 2007 02:46:24 CDT</pubDate><description>&lt;font size=&quot;2&quot;&gt;@author zhangwei on 20070412&lt;br&gt;@libopen&lt;br&gt;@modified by xxx on 200704&lt;br&gt;&lt;br&gt;LibOpen: The Interface/API To Sensor Networks&lt;br&gt;&lt;br&gt;Q: what&amp;#39;s LibOpen/libopen(libsink)&lt;br&gt;R: &lt;br&gt;libopen(libsink) is a API library that enable the developer to interact with the sensor networks easily. the develper can based their GUI worldview application or Internet-Sensor Networks gateway on libopen.&lt;br&gt;&lt;br&gt;libopen should be portable easily. thus it can run on a host computer or a embedded device. the low level operating systems can vary from Windows, uCLinux/Linux to other embedded RTOS. &lt;br&gt;&lt;br&gt;however, in the current implmentation, it can only run on Windows OS. but we introduced layer design and implementation so that it can be easily ported to other systems.&lt;br&gt;&lt;br&gt;&lt;br&gt;Q: architecture of libopen/libsink?&lt;br&gt;R:&lt;br&gt;libopen adopts layer design&lt;br&gt;&lt;br&gt;Top Layer: all kinds of applications(they are not part of libopen)(application layer)&lt;br&gt;Middle Layer: core logic of libopen (service layer)&lt;br&gt;Bottom Layer: abstraction layer (hal layer)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Application: [GUI Worldview] [Internet-Sensor Networks Gateway] [Others...]&lt;br&gt; ------------------------------------------------------------------------&lt;br&gt; |||||||||||||||&lt;br&gt;Middle Layer: [libopen services] &amp;lt;---- thread or evolve() driven &lt;br&gt; |||||||||||||||&lt;br&gt; ------------------------------------------------------------------------&lt;br&gt;Bottom Layer: [Simulated Driver] [Rs232 Driver] [USB Driver] [Socket Network Driver]&lt;br&gt; | | | |&lt;br&gt; Harddisk WSN WSN other libopen gateway&lt;br&gt;&lt;br&gt;&lt;br&gt;in the architecture design, libopen contains a simulated driver. this driver will generate random wsn data for testing use. thus you can develope/test your upper layers from &amp;quot;libopen&amp;quot; to even &amp;quot;worldview&amp;quot;. it can also replace the random data by loading data files from harddisk. these data files may from the real measurement of wsn or generated randomly.&lt;br&gt;&lt;br&gt;libopen service API include driver selection and configure, raw frame/packet read/write, binary xml data interpretation, data logging control. &lt;br&gt;&lt;br&gt;the Internet-Sensor Networks Gateway is a socket server running on the same device with libopen. so you can connect to this server in a remote host computer. while the &amp;quot;socket network driver&amp;quot; is a client helping to to connect &amp;quot;gateway server&amp;quot;. different to the other service API, the gateway server must solve the problem of concuurent visiting of libopen (i had not think more about it yet!). &lt;br&gt;&lt;br&gt;some one may want a web interface for wsn. the web interface should be based on the gateway server. &lt;br&gt;&lt;br&gt;&lt;br&gt;20070524&lt;br&gt;//----------------------------------------------------------------------------&lt;br&gt;// @author zhousongli&lt;br&gt;// @state developing&lt;br&gt;//&lt;br&gt;// @modified by zhangwei on 20070524&lt;br&gt;// the architecture of libopen&lt;br&gt;//&lt;br&gt;// TQueryEngine................................&lt;br&gt;// | load from Database or File&lt;br&gt;// TOpenNetwork..............TSimuNetwork-----&lt;br&gt;// | |&lt;br&gt;// |THostDrivenRouting.......Log to Database or File&lt;br&gt;// ---------------&lt;br&gt;// | |&lt;br&gt;// TSioComm TSioComm&lt;br&gt;// TUart TUsb&lt;br&gt;// &lt;br&gt;// there&amp;#39;re some key objects in libopen:&lt;br&gt;// o TUart&lt;br&gt;// exposed to application developer&lt;br&gt;// the user can use this object to configure the Rs232 parameter or Usb device&lt;br&gt;// parameter. generally, the user will not do this because we have already &lt;br&gt;// set their default configurations.&lt;br&gt;// o TUsb (not developed now)&lt;br&gt;// similar to TUsb&lt;br&gt;// o TSioComm&lt;br&gt;// on top of TUart&lt;br&gt;// provide frame assemble and disassemble. &lt;br&gt;// the payload in each frame can be mapped to an TQueryDataItem object.&lt;br&gt;//&lt;br&gt;// o TOpenRouter&lt;br&gt;// an libopen/host driven routing protocol. query based. &lt;br&gt;// this protocol enable you can communicate with remote nodes in the network &lt;br&gt;// by multi-hop forwarding.&lt;br&gt;//&lt;br&gt;// o TOpenNetwork&lt;br&gt;// exposed to application developer.&lt;br&gt;// provide an interface for the upper level developer to interact with the &lt;br&gt;// sensor network. it&amp;#39;s an abstraction of the whole network.&lt;br&gt;//&lt;br&gt;// o TQueryEngine&lt;br&gt;// exposed to application developer.&lt;br&gt;// on top of TOpenNetwork interface&lt;br&gt;// user query command interpretation and execution&lt;br&gt;//&lt;br&gt;// o TSimuNetwork&lt;br&gt;// exposed to application developer.&lt;br&gt;// has almost the same interface of TOpenNetwork&lt;br&gt;// used for simulation only&lt;br&gt;//&lt;br&gt;// there&amp;#39;re also some utility object&lt;br&gt;// o TBinaryXml &lt;br&gt;// ease the manipulation of payload data.&lt;br&gt;// o TQueryDataItem &lt;br&gt;// represents a data item. data item : packet = 1 : 1&lt;br&gt;// o TQueryDataSet&lt;br&gt;// is an list of the TQueryDataItem&lt;br&gt;//&lt;br&gt;//----------------------------------------------------------------------------&lt;br&gt;&lt;br&gt;&lt;br&gt;20070525&lt;br&gt;Q: how to learn/understand libopen fast if i&amp;#39;m a new developer?&lt;br&gt;R:&lt;br&gt;If you are new to &amp;quot;libopen&amp;quot; developing, you should aware that: &lt;br&gt;&lt;br&gt;libopen is essentially composed by four separate parts:&lt;br&gt; - TOpenNetwork ( related to TOpenRouter, TSioComm, TUart..)&lt;br&gt; it&amp;#39;s the core of libopen&lt;br&gt; - TQueryEngine&lt;br&gt; query parser and execution&lt;br&gt; it&amp;#39;s based on TOpenNetwork interface.&lt;br&gt; - TSimuNetwork&lt;br&gt; share the same interface with TOpenNetwork&lt;br&gt; you can configure the network object to &amp;quot;SIMULATION&amp;quot; mode.&lt;br&gt; - TBinaryXml&lt;br&gt; a utility help you assemble/disassemble data in payload buffer.&lt;br&gt; &lt;br&gt;you should review the following modules first:&lt;br&gt; svc_netnode, svc_network&lt;br&gt; svc_queryengine, svc_dataset &lt;br&gt; svc_netsimu&lt;br&gt; rtl_binaryxml&lt;br&gt;&lt;br&gt;&lt;br&gt;Q: interface design(maybe changed in the future. pls refer to the source code for updated)&lt;br&gt;R:&lt;br&gt;high level data service based on binaryxml&lt;br&gt;this interface enable the upper level application to query the sensor data of any time at any location and any time.&lt;br&gt;&lt;br&gt; svc_querynode( nodeid, sensor type, out sensor value (&lt;br&gt; svc_querylocation( location, sensor type, out sensor value, out probability )&lt;br&gt; svc_query( TQueryCondition * cond, TRangeData * data )&lt;br&gt;&lt;br&gt;high level data service such as binaryxml analyzing&lt;br&gt; svc_binaryxml_getfirst&lt;br&gt; svc_binaryxml_getnext&lt;br&gt; svc_binaryxml_getprev&lt;br&gt; svc_binaryxml_getlast&lt;br&gt;&lt;br&gt;raw data service interface&lt;br&gt; svc_create&lt;br&gt; svc_free&lt;br&gt; svc_construct&lt;br&gt; svc_destroy&lt;br&gt; svc_configure&lt;br&gt; svc_relation( driver )&lt;br&gt; svc_read&lt;br&gt; svc_write&lt;br&gt; svc_rawread&lt;br&gt; svc_rawwrite&lt;br&gt;&lt;br&gt; svc_dbgen generate a random data logging database file&lt;br&gt; svc_dbopen connect to a existed database file&lt;br&gt; svc_dbclose &lt;br&gt; svc_dbread read one data item from the database it&amp;#39;s usually a binaryxml format array&lt;br&gt; svc_dbwrite&lt;br&gt; svc_dbload load a database file into the memory for further processing&lt;br&gt; svc_dbsave &lt;br&gt;&lt;br&gt;driver manipulation interface:&lt;br&gt; svc_relation&lt;br&gt; svd_dm_create&lt;br&gt; svd_dm_free&lt;br&gt; svd_dm_read&lt;br&gt; svd_dm_rawread&lt;br&gt; svd_dm_write&lt;br&gt; svd_dm_rawwrite&lt;br&gt; &lt;br&gt; &lt;br&gt; xxx_create&lt;br&gt; xxx_free&lt;br&gt; xxx_read&lt;br&gt; xxx_write&lt;br&gt;xxx为driver缩写，包括rs232, usb, socket, webserv&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;MDP: OpenM2M / OpenWSN MAPI&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Section：MAPI和计算机监控程序参考实现&lt;br&gt;&lt;br&gt;所有前述工作只是描述node和网络的工作。但是在连接sink node的计算上，还有较大的工作量。我们需要在这里提供一套API，使得computer上的程序可以方便的访问M2M network的功能并进行监控。这套编程接口称之为M2M application programming interface (MAPI)。并在这套API基础上提供一个监控程序的参考实现。&lt;br&gt;&lt;br&gt;MAPI功能：&lt;br&gt; 下行数据发送（命令，配置数据和程序更新等）&lt;br&gt; 上行数据接收&lt;br&gt; 网络管理&lt;br&gt; 网络编程&lt;br&gt;&lt;br&gt;MAPI包含两个层次：&lt;br&gt; 底层：基本控制&lt;br&gt; 中层：PC Service（作为独立进程运行）&lt;br&gt; 高层：高层方便使用的API&lt;br&gt;&lt;br&gt;底层：&lt;br&gt; mhal_openusb/sio/Ethernet&lt;br&gt; mhal_close&lt;br&gt; mhal_read&lt;br&gt; mhal_write&lt;br&gt; mhal_rawread&lt;br&gt; mhal_rawwrite&lt;br&gt;&lt;br&gt;中层  m2m_service (可以运行在PC或embedded system)&lt;br&gt; 作为一个独立的进程运行，功能如下：&lt;br&gt;－ 将收到的所有数据都写入到本地database中，格式（location, timestamp, data）&lt;br&gt;其中，location可以是符号信息，可以是绝对位置，可以是nodeid&lt;br&gt;data则具有{attribute, value}形式&lt;br&gt;&amp;mdash; 提供callback机制，允许高层决定对收到的数据如何处理&lt;br&gt;－ 提供filter方式允许对收到的数据进行过滤，以减小数据量&lt;br&gt;该service要一直作为一个daemon或者system service运行，无GUI界面，且不论GUI界面启动与否都应运行。&lt;br&gt;&lt;br&gt;－ 提供从本地cache/database中读取数据的API，并且在读数据的时候也支持 filter模&lt;br&gt;式，以降低数据量&lt;br&gt;o 提供执行网络查询功能&lt;br&gt;o 提供设置网络filter功能&lt;br&gt;&lt;br&gt;高层：应用（不规定）&lt;br&gt; 以利用中层API为主，与中层主要是通过数据库进行交互。&lt;br&gt; 为了方便开发，也提供一套简单的API方便对数据库中的数据进行汇总输出，如query_cube, predict等，基本上以分析型API为主。&lt;br&gt; 可以构造特殊的命令包，发给中层service，令其执行之。这些命令往往会影响到网络的状态。&lt;br&gt; msvc_open&lt;br&gt; msvc_close&lt;br&gt; msvc_read&lt;br&gt; msvc_write&lt;br&gt; msvc_filter &lt;br&gt;&lt;br&gt;&lt;br&gt;主监控系统&lt;br&gt; 以地图的方式，提供位置轴(空间XYZ坐标和接点ID号)和时间轴供用户选择，让用户可以方便的选择某个区域在某个时间段内的数据。&lt;br&gt; 以查询方式向service查询最新收到的数据，并且显示在GUI画面上。查询周期可以设置，一般不小于0.5秒，以免得service负荷过重，影响了处理性能。&lt;br&gt; 由于采用网络通信手段，主监控软件和service可以运行在不同的device上，增加了灵活性，且可以运行多个主监控软件，同时连接到一个service上。如果service开放的是80或8080端口，则我们还可以在Internet上连接到service获取数据。这里不推荐web service方案，因为后者过于笨重，效率太低，所以我们宁肯将网络通信直接构建在socket通信基础上。&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>ema</title><link>http://openwsn.wetpaint.com/page/ema</link><author>openwsn</author><guid isPermaLink="false">http://openwsn.wetpaint.com/page/ema</guid><pubDate>Wed, 29 Aug 2007 02:11:31 CDT</pubDate><description>There is no abstract available for this page revision.&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>test2</title><link>http://openwsn.wetpaint.com/page/test2</link><author>openwsn</author><guid isPermaLink="false">http://openwsn.wetpaint.com/page/test2</guid><pubDate>Wed, 29 Aug 2007 02:05:13 CDT</pubDate><description>There is no abstract available for this page revision.&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item><item><title>test</title><link>http://openwsn.wetpaint.com/page/test</link><author>openwsn</author><guid isPermaLink="false">http://openwsn.wetpaint.com/page/test</guid><pubDate>Wed, 29 Aug 2007 02:02:41 CDT</pubDate><description>There is no abstract available for this page revision.&lt;hr size=&quot;1&quot;&gt;&lt;br/&gt;</description></item></channel></rss>