无线嵌入平台(wbed)是TinyWSN无线模块的一种使用方式,用户程序(usr)和系统程序(sys)运行在同一处理器上,用户程序可以独立开发,动态下载,类似unix系统中多进程(multi-process)的模式,下面是wbed sdk的源码链接:
https://gitee.com/tinywsn/fw-stm32l1-wbed-usr
支持GCC和IAR两种开发环境,使用这种模式可以带来很多好处
- 共有同一硬件平台,系统更加精简,成本可以更低
- 用户程序和系统程序之间消息通信模式,更加简单和可靠
- 可以同步高效地工作,包括接收,发送,睡眠,唤醒等等节拍,系统功耗可以更低
- wbed sdk可以提供底层驱动以及各类常见传感器驱动
编程需注意的事项:
- 可使用的内存空间通过参数ctx传入,避免使用全局变量
- 使用可重入的库函数,对于STM32而言,使用LL_DRV,对于glibc,使用其中可重入版本 xxxx_r
- 使用异步消息模式,避免毫秒以上的轮询等待操作
具体实现可以参考下面的例程
接口消息定义和说明
http://www.tinywsn.net/wordpress/index.php/docs/manual/node/node-wbed/node-wbed-intf/
例1-简单的上下行数据的收发
http://www.tinywsn.net/wordpress/index.php/docs/manual/node/node-wbed/node-wbed-ex1/
例2-单总线DHT1X温湿度传感器
http://www.tinywsn.net/wordpress/index.php/docs/manual/node/node-wbed/node-wbed-ex2/
例3-模拟输出的光敏电阻传感器
http://www.tinywsn.net/wordpress/index.php/docs/manual/node/node-wbed/node-wbed-ex3/
例4-I2C总线AM2320温湿度传感器
http://www.tinywsn.net/wordpress/index.php/docs/manual/node/node-wbed/node-wbed-ex4/
例5-单总线DS18B20温度传感器
http://www.tinywsn.net/wordpress/index.php/docs/manual/node/node-wbed/node-wbed-ex5/
例6-I2C总线BH1750光照传感器
http://www.tinywsn.net/wordpress/index.php/docs/manual/node/node-wbed/node-wbed-ex6/
例7-I2C总线SHT2X温湿度传感器
http://www.tinywsn.net/wordpress/index.php/docs/manual/node/node-wbed/node-wbed-ex7/
更多传感器支持增加中…