SimpliciTI Sample Applications

 
Sample Applications 介绍了4个简单的示例应用程序来演示SimpliciTI的各种特性和功能.
  • Simple Peer-To-Peer :two linked End-Devices communicate directly with each other   (点对点)
  • Polling with AP – one End-Device sends data to another sleeping/polling End-
        Device via an Access Point (一个终端设备发送数据到另一个睡眠/轮询—终端设备通过一个AP)
  • Cascading End Devices – three un-linked End-Devices continually broadcast an
        alarm  (三个un-linked终端设备不断广播警报)
  • Access Point as Data Hub – two End-Devices send data to AP Data Hub, with 
    Frequency Agility  (AP 作为数据中心)
     
    每个应用程序都需要用户接入,通过两个逻辑按键,指示两个LED指示逻辑状态。
     

Simple Peer-to-Peer 
需要两个End-Devices,a Listener and a Talker,
   

1、ED2(Listener )等待一个链接消息,DE1(Talker)发送一个链接消息。

2、建立连接后,Talker定时发送2个字节信息给Listener 。

3、Listener 接收到数据后会回复Talker2个字节信息。

应用程序通过LED的周期性切换来显示Listener和Talker数据的切换过程。Listener 接收到的数据中携带Talker指定的LED,Listener 回复中携带让Talker的哪一个LED亮起的数据。

Listener和Talker的数据格式是相同的:

运行这个应用程序的步骤

第一步: 准备两个目标板,一个作为Talker下载 LinkTo程序另一个作为。 另一个作为Listener下载LinkListen的程序。

第二步:启动两个设备,LED1 and LED2点亮设备

第三步:按下Listener板上的按钮,监听一个链接信息,LED2亮起。

第四步:按下Talker板上的按钮,发送一个链接信息,两个LED同时熄灭表示链接成功,如果两个LED闪烁表明连接失败,重新启动设备,返回到第三步。

第五步:Talker 发送一个消息携带2个字节的数据帧到Listener。这个消息包含Listener切换显示的LED和任务ID(transaction ID)。transaction ID为每个新消息事务ID是递增。它是一个无符号数,达到最大值后为零。

Listener 接收到2字节的消息,立即执行LED显示。posts a semaphore to its main application, and returns to complete Rx interrupt processing.

The main application on the Listener device eventually runs and detects 
that the semaphore has been posted. This allows it to send a 2-byte reply to the Talker, indicating an LED for the Talker to toggle and the received transaction ID. 
Talker 接收到两个自己的回复,立刻切换LED,并返回。
第六步:一个变量的时间间隔后Talker 设备返回到第一步。
 
点对点的序列图

 
Access Point as Data Hub

     

首先,每个End-Device连接网络并且发送一个链接信息到AP。已经建立连接后,AP将接收End-Device携带的LED指示数据。(pressing button 1 toggles LED1 
and pressing button 2 toggles LED2). 
 
运行这个应用程序的步骤
第一步:下载程序到ED1  ED2 和AP
第二步:给AP上电,LED1,LED2亮起,AP将提供后续加入设备与网络的联系令牌(link token)。此外,它还监听链接框架中新加入终端设备,LED1和LED2将闪烁。LED一直闪烁直到收到一个新的End-Device的通道。
第三步:给End-Devices上电,LED1 和 LED2闪烁一次,表示已经成功加入网络。然后熄灭,表示成功与AP建立连接。
第四步:按下End-Devices上的一个按键,AP端的LED将切换一次。其次,End-Devices上的LED切换一次(来自AP的应答)。
第五步:操作另一个End-Devices和另外一个按键同上。

SimpliciTI APP的更多相关文章

  1. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  2. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  3. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  4. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  5. SQLSERVER走起 APP隆重推出

    SQLSERVER走起 APP隆重推出 为方便大家查看本微信公众以前推送的文章,QQ群里面的某位SQLSERVER重度爱好者开发了<SQLSERVER走起>的APP 以供大家一起交流 网页 ...

  6. 从中间件的历史来看移动App开发的未来

    在移动开发领域我们发现一个很奇怪的现象:普通菜鸟新手经过3个月的培训就可以拿到 8K 甚至上万的工作:在北京稍微有点工作经验的 iOS 开发,就要求 2 万一个月的工资.不知道大家是否想过:移动应用开 ...

  7. 搞个这样的APP要多久?

    这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...

  8. app开发外包注意事项,2017最新资讯

    我们见过很多创业者,栽在这app外包上.很多创业者对于app外包这件事情不是特别重视,以为将事情交给app外包公司就完事了,实际上不是的.无论是从选择app外包公司还是签订合同.售后维护等各方面都有许 ...

  9. 【Win 10 应用开发】在App所在的进程中执行后台任务

    在以往版本中,后台任务都是以独立的专用进程来运行,因此,定义后台任务代码的类型都要位于 Windows 运行时组件项目中. 不过,在14393中,SDK 作了相应的扩展,不仅支持以前的独立进程中运行后 ...

随机推荐

  1. 【selenium+python】自动化测试目录与文件结构

    一.首先,看一下完整的项目目录结构图,如下: ==================目录结构================== ==================目录结构============== ...

  2. Erlang节点重启导致的incarnation问题(转)

    转自霸爷的博客: 转载自系统技术非业余研究 本文链接地址: Erlang节点重启导致的incarnation问题 遇到个问题, =ERROR REPORT==== 10-Mar-2016::09:44 ...

  3. eclipse spring4 ehache2.10 整合

    http://blog.csdn.net/tonytfjing/article/details/39251507 http://my.oschina.net/duoduo3369/blog/17392 ...

  4. Spark源代码分析之六:Task调度(二)

    话说在<Spark源代码分析之五:Task调度(一)>一文中,我们对Task调度分析到了DriverEndpoint的makeOffers()方法.这种方法针对接收到的ReviveOffe ...

  5. CF459C Pashmak and Buses 打印全排列

    这题假设将终于的结果竖着看,每一列构成的数能够看成是k进制的数.一共同拥有d列,随意两列都不同样,所以这就是一个d位k进制数全排列的问题,一共同拥有k ^ d个排列.假设k ^ d < n,则打 ...

  6. 开始使用gradle

    前提配置gradle环境 每个gradle构建都是以一个脚本开始的.gradle构建默认的名称为build.gradle.当在shell中执行gradle命令时,gradle会去寻找为build.gr ...

  7. TP框架---thinkphp查询和添加数据

    查询 <?php namespace Admin\Controller; use Think\Controller; class MainController extends Controlle ...

  8. 关于 Delphi 中流的使用(7) 压缩与解压缩(TCompressionStream、TDecompressionStream)

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  9. 【BZOJ4908】[BeiJing2017]开车 分块

    [BZOJ4908][BeiJing2017]开车 Description 你有n辆车,分别a1, a2, ..., an位置和n个加油站,分别在b1, b2, ... ,bn .每个加油站只能支持一 ...

  10. d[k]=eval(k)

    lk = ['oid', 'timestamp', 'signals', 'area', 'building', 'city', 'name', 'floor', 'industry', 'regio ...